summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-06-18 11:15:43 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-06-18 11:15:43 +0000
commitb2d27f47557970a504f95cc1e4ce9133fb6513f9 (patch)
tree54ba8e73027b29bea3d83a3526636ad638601e0f /Build/source/libs/harfbuzz
parente6efe57c67e9faa47eed598ac02527eac833f6c7 (diff)
harfbuzz 0.9.29
git-svn-id: svn://tug.org/texlive/trunk@34276 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/harfbuzz')
-rw-r--r--Build/source/libs/harfbuzz/ChangeLog5
-rw-r--r--Build/source/libs/harfbuzz/Makefile.am2
-rw-r--r--Build/source/libs/harfbuzz/Makefile.in5
-rwxr-xr-xBuild/source/libs/harfbuzz/configure32
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-machine.hh1824
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29-PATCHES/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28-PATCHES/ChangeLog)5
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29-PATCHES/TL-Changes (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28-PATCHES/TL-Changes)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/AUTHORS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/AUTHORS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/Android.mk (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/Android.mk)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/ChangeLog)483
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/Makefile.am)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/NEWS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/NEWS)12
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/README (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/README)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/THANKS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/THANKS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/TODO (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/TODO)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/autogen.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/autogen.sh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/config.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/config.h.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/configure.ac (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/configure.ac)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/gtk-doc.make (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/gtk-doc.make)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/harfbuzz.doap (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/harfbuzz.doap)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/Makefile.am)1
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-c-linkage-decls.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-c-linkage-decls.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-defs.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-defs.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-header-guards.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-header-guards.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-includes.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-includes.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-libstdc++.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-libstdc++.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-static-inits.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-static-inits.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-symbols.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-symbols.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/src/gen-arabic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/gen-arabic-table.py)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.29/src/gen-indic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/gen-indic-table.py)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/harfbuzz-gobject.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/harfbuzz-gobject.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/harfbuzz-icu.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/harfbuzz-icu.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/harfbuzz.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/harfbuzz.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-atomic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-atomic-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-blob.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-blob.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-blob.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-blob.h)5
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-json.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-json.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-json.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-json.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-text.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-text.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-text.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-text.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-serialize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-cache-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-cache-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-common.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-common.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-common.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-common.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-coretext.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-coretext.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-coretext.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-coretext.h)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-deprecated.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-deprecated.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-face-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-face-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-face.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-face.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-face.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-face.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-fallback-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-fallback-shape.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-font-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-font-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-font.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-font.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ft.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ft.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ft.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ft.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-glib.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-glib.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-glib.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-glib.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-enums.cc.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-enums.cc.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-enums.h.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-enums.h.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-structs.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-structs.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-structs.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-structs.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-graphite2.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-graphite2.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-graphite2.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-graphite2.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-icu.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-icu.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-icu.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-icu.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-mutex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-mutex-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-object-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-object-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-open-file-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-open-file-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-open-type-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-open-type-private.hh)23
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-font.cc)39
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-font.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-head-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-head-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-hhea-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-hhea-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-hmtx-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-hmtx-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-common-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-common-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gdef-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gdef-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gpos-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gpos-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gsub-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gsub-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gsubgpos-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gsubgpos-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-jstf-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-jstf-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-map-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-map-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-map.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-map.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-maxp-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-maxp-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-name-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-name-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-arabic-fallback.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-arabic-fallback.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-arabic-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-arabic-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-arabic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-arabic.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-default.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-default.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-hangul.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-hangul.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-hebrew.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-hebrew.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-machine.hh1732
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-machine.rl)19
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-private.hh)20
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-table.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic.cc)105
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-myanmar-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-myanmar-machine.hh)14
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-myanmar-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-myanmar-machine.rl)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-myanmar.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-myanmar.cc)8
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-sea-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-sea-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-sea-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-sea-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-sea.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-sea.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-thai.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-thai.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-tibetan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-tibetan.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-fallback-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-fallback-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-fallback.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-fallback.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-normalize-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-normalize-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-normalize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-normalize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-tag.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-tag.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-tag.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-tag.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-set-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-set-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-set.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-set.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-set.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-set.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape-plan-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape-plan-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape-plan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape-plan.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape-plan.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape-plan.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper-impl-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper-impl-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper-list.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper-list.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ucdn.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ucdn.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-unicode-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-unicode-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-unicode.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-unicode.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-unicode.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-unicode.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-uniscribe.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-uniscribe.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-uniscribe.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-uniscribe.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-utf-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-utf-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-version.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-version.h.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-warning.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-warning.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/main.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/main.cc)12
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test-buffer-serialize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test-size-params.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test-size-params.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test-would-substitute.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test-would-substitute.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test.cc)0
-rw-r--r--Build/source/libs/harfbuzz/version.ac2
151 files changed, 2417 insertions, 1941 deletions
diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog
index 8500f3a2e66..8addc050aba 100644
--- a/Build/source/libs/harfbuzz/ChangeLog
+++ b/Build/source/libs/harfbuzz/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import harfbuzz-0.9.29.
+ * version.ac: Adjust.
+
2014-04-29 Peter Breitenlohner <peb@mppmu.mpg.de>
Import harfbuzz-0.9.28.
diff --git a/Build/source/libs/harfbuzz/Makefile.am b/Build/source/libs/harfbuzz/Makefile.am
index c961d1af963..672ba111948 100644
--- a/Build/source/libs/harfbuzz/Makefile.am
+++ b/Build/source/libs/harfbuzz/Makefile.am
@@ -6,8 +6,6 @@
## gives unlimited permission to copy and/or distribute it,
## with or without modifications, as long as this notice is preserved.
##
-ACLOCAL_AMFLAGS = -I ../../m4
-
## We want to re-distribute the whole original harfbuzz source tree.
##
EXTRA_DIST = $(HARFBUZZ_TREE)
diff --git a/Build/source/libs/harfbuzz/Makefile.in b/Build/source/libs/harfbuzz/Makefile.in
index 71418d94274..4282c9a5f99 100644
--- a/Build/source/libs/harfbuzz/Makefile.in
+++ b/Build/source/libs/harfbuzz/Makefile.in
@@ -83,7 +83,7 @@ DIST_COMMON = $(srcdir)/../../am/reconfig.am \
$(srcdir)/../../am/rebuild.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(srcdir)/config.h.in \
- $(top_srcdir)/harfbuzz-0.9.28/src/hb-version.h.in \
+ $(top_srcdir)/harfbuzz-0.9.29/src/hb-version.h.in \
$(am__dist_check_SCRIPTS_DIST) \
$(top_srcdir)/../../build-aux/depcomp \
$(top_srcdir)/../../build-aux/test-driver ChangeLog \
@@ -623,7 +623,6 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-ACLOCAL_AMFLAGS = -I ../../m4
EXTRA_DIST = $(HARFBUZZ_TREE) $(HARFBUZZ_TREE)-PATCHES
HARFBUZZ_SRC = $(HARFBUZZ_TREE)/src
SUBDIRS = . include
@@ -778,7 +777,7 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
distclean-hdr:
-rm -f config.h stamp-h1
-hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.28/src/hb-version.h.in
+hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.29/src/hb-version.h.in
cd $(top_builddir) && $(SHELL) ./config.status $@
clean-noinstLIBRARIES:
diff --git a/Build/source/libs/harfbuzz/configure b/Build/source/libs/harfbuzz/configure
index 298206ed172..fc9f93ae1cc 100755
--- a/Build/source/libs/harfbuzz/configure
+++ b/Build/source/libs/harfbuzz/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.28.
+# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.29.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -580,12 +580,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='harfbuzz (TeX Live)'
PACKAGE_TARNAME='harfbuzz--tex-live-'
-PACKAGE_VERSION='0.9.28'
-PACKAGE_STRING='harfbuzz (TeX Live) 0.9.28'
+PACKAGE_VERSION='0.9.29'
+PACKAGE_STRING='harfbuzz (TeX Live) 0.9.29'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="harfbuzz-0.9.28/src/harfbuzz.pc.in"
+ac_unique_file="harfbuzz-0.9.29/src/harfbuzz.pc.in"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1324,7 +1324,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 harfbuzz (TeX Live) 0.9.28 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 0.9.29 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1395,7 +1395,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.28:";;
+ short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.29:";;
esac
cat <<\_ACEOF
@@ -1508,7 +1508,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-harfbuzz (TeX Live) configure 0.9.28
+harfbuzz (TeX Live) configure 0.9.29
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1915,7 +1915,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 harfbuzz (TeX Live) $as_me 0.9.28, which was
+It was created by harfbuzz (TeX Live) $as_me 0.9.29, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3838,7 +3838,7 @@ fi
# Define the identity of the package.
PACKAGE='harfbuzz--tex-live-'
- VERSION='0.9.28'
+ VERSION='0.9.29'
cat >>confdefs.h <<_ACEOF
@@ -4040,8 +4040,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags
HB_VERSION_MAJOR=0
HB_VERSION_MINOR=9
-HB_VERSION_MICRO=28
-HB_VERSION=0.9.28
+HB_VERSION_MICRO=29
+HB_VERSION=0.9.29
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -6408,14 +6408,14 @@ $as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h
fi
-HARFBUZZ_TREE=harfbuzz-0.9.28
+HARFBUZZ_TREE=harfbuzz-0.9.29
if test -f $srcdir/$HARFBUZZ_TREE/src/hb-version.h; then
as_fn_error $? "Sorry, you must remove the file $HARFBUZZ_TREE/src/hb-version.h" "$LINENO" 5
fi
-ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.28/src/hb-version.h.in"
+ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.29/src/hb-version.h.in"
cat >confcache <<\_ACEOF
@@ -6964,7 +6964,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 harfbuzz (TeX Live) $as_me 0.9.28, which was
+This file was extended by harfbuzz (TeX Live) $as_me 0.9.29, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7030,7 +7030,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="\\
-harfbuzz (TeX Live) config.status 0.9.28
+harfbuzz (TeX Live) config.status 0.9.29
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -7163,7 +7163,7 @@ do
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.28/src/hb-version.h.in" ;;
+ "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.29/src/hb-version.h.in" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-machine.hh
deleted file mode 100644
index 747315b7a2a..00000000000
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-machine.hh
+++ /dev/null
@@ -1,1824 +0,0 @@
-
-#line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
-/*
- * Copyright © 2011,2012 Google, Inc.
- *
- * This is part of HarfBuzz, a text shaping library.
- *
- * Permission is hereby granted, without written agreement and without
- * license or royalty fees, to use, copy, modify, and distribute this
- * software and its documentation for any purpose, provided that the
- * above copyright notice and the following two paragraphs appear in
- * all copies of this software.
- *
- * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * Google Author(s): Behdad Esfahbod
- */
-
-#ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
-#define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
-
-#include "hb-private.hh"
-
-
-#line 36 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
-static const unsigned char _indic_syllable_machine_trans_keys[] = {
- 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
- 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
- 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
- 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
- 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u,
- 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u,
- 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u,
- 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u,
- 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
- 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
- 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
- 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
- 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
- 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u,
- 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
- 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
- 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
- 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
- 4u, 14u, 5u, 7u, 5u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
- 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 1u, 16u, 13u, 13u, 4u, 4u, 6u, 6u,
- 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
- 6u, 6u, 16u, 16u, 1u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
- 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
- 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u,
- 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u,
- 3u, 10u, 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u,
- 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u,
- 6u, 18u, 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u,
- 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u,
- 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u,
- 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
- 1u, 18u, 3u, 31u, 3u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
- 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
- 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u,
- 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u,
- 3u, 10u, 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u,
- 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u,
- 6u, 18u, 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u,
- 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u,
- 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u,
- 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
- 4u, 14u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u,
- 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u,
- 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u, 5u, 10u,
- 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u, 3u, 10u,
- 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u,
- 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 6u, 18u,
- 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u,
- 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u,
- 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
- 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
- 4u, 14u, 3u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
- 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u,
- 3u, 31u, 4u, 31u, 1u, 18u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 18u, 8u, 18u,
- 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 18u, 3u, 18u, 8u, 18u,
- 3u, 10u, 8u, 10u, 3u, 18u, 3u, 18u, 3u, 18u, 3u, 18u, 4u, 18u, 5u, 18u,
- 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u,
- 6u, 18u, 3u, 18u, 1u, 18u, 4u, 31u, 4u, 18u, 3u, 31u, 3u, 31u, 1u, 18u,
- 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u,
- 1u, 18u, 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u,
- 1u, 18u, 1u, 18u, 3u, 31u, 3u, 31u, 1u, 18u, 1u, 18u, 1u, 18u, 1u, 18u,
- 1u, 18u, 3u, 31u, 1u, 31u, 3u, 31u, 1u, 31u, 4u, 18u, 1u, 18u, 3u, 31u,
- 3u, 31u, 4u, 31u, 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 10u,
- 8u, 10u, 3u, 31u, 3u, 31u, 1u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u,
- 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 5u, 18u, 3u, 18u, 4u, 18u, 8u, 18u,
- 3u, 18u, 3u, 18u, 8u, 18u, 3u, 18u, 3u, 18u, 1u, 18u, 3u, 10u, 8u, 10u,
- 5u, 10u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 0
-};
-
-static const char _indic_syllable_machine_key_spans[] = {
- 16, 1, 3, 3, 1, 3, 3, 1,
- 3, 3, 1, 3, 3, 1, 1, 1,
- 1, 4, 1, 1, 4, 1, 1, 4,
- 1, 1, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 16, 1, 3, 3,
- 1, 3, 3, 1, 3, 3, 1, 3,
- 3, 1, 1, 1, 1, 4, 1, 1,
- 4, 1, 1, 4, 1, 1, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11,
- 16, 1, 3, 3, 1, 3, 3, 1,
- 3, 3, 1, 3, 3, 1, 1, 1,
- 1, 4, 1, 1, 4, 1, 1, 4,
- 1, 1, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 16, 1, 3, 3, 1,
- 3, 3, 1, 3, 3, 1, 3, 3,
- 1, 1, 1, 1, 4, 1, 1, 4,
- 1, 1, 4, 1, 1, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 3, 3, 3, 3, 1, 3, 3,
- 1, 3, 3, 1, 16, 1, 1, 1,
- 1, 4, 1, 1, 4, 1, 1, 4,
- 1, 1, 31, 29, 29, 28, 18, 29,
- 29, 28, 18, 29, 29, 28, 18, 29,
- 29, 28, 18, 29, 29, 28, 14, 11,
- 6, 2, 2, 1, 6, 16, 16, 11,
- 8, 3, 16, 16, 16, 16, 15, 14,
- 16, 15, 14, 16, 15, 14, 16, 15,
- 13, 16, 18, 28, 15, 29, 29, 18,
- 18, 18, 18, 18, 29, 29, 18, 18,
- 18, 18, 18, 29, 29, 18, 18, 18,
- 18, 18, 29, 29, 18, 18, 18, 18,
- 18, 29, 29, 29, 29, 28, 18, 29,
- 29, 28, 18, 29, 29, 28, 18, 29,
- 29, 28, 18, 29, 29, 28, 14, 11,
- 6, 2, 2, 1, 6, 16, 16, 11,
- 8, 3, 16, 16, 16, 16, 15, 14,
- 16, 15, 14, 16, 15, 14, 16, 15,
- 13, 16, 18, 28, 15, 29, 29, 18,
- 18, 18, 18, 18, 29, 29, 18, 18,
- 18, 18, 18, 29, 29, 18, 18, 18,
- 18, 18, 29, 29, 18, 18, 18, 18,
- 11, 18, 29, 29, 28, 18, 29, 29,
- 28, 18, 29, 29, 28, 18, 29, 29,
- 28, 18, 29, 29, 28, 14, 11, 6,
- 2, 2, 1, 6, 16, 16, 11, 8,
- 3, 16, 16, 16, 16, 15, 14, 16,
- 15, 14, 16, 15, 14, 16, 15, 13,
- 16, 18, 28, 15, 29, 29, 18, 18,
- 18, 18, 18, 29, 29, 18, 18, 18,
- 18, 18, 29, 29, 18, 18, 18, 18,
- 18, 29, 29, 18, 18, 18, 18, 18,
- 11, 29, 11, 29, 29, 28, 18, 29,
- 29, 28, 18, 29, 29, 28, 18, 29,
- 29, 28, 18, 29, 29, 28, 14, 11,
- 6, 2, 2, 1, 6, 16, 16, 11,
- 8, 3, 16, 16, 16, 16, 15, 14,
- 16, 15, 14, 16, 15, 14, 16, 15,
- 13, 16, 18, 28, 15, 29, 29, 18,
- 18, 18, 18, 18, 29, 29, 18, 18,
- 18, 18, 18, 29, 29, 18, 18, 18,
- 18, 18, 29, 29, 18, 18, 18, 18,
- 18, 29, 31, 29, 31, 15, 18, 29,
- 29, 28, 6, 2, 2, 1, 6, 8,
- 3, 29, 29, 18, 16, 15, 14, 16,
- 15, 14, 16, 15, 14, 16, 15, 11,
- 16, 16, 11, 16, 16, 18, 8, 3,
- 6, 2, 2, 1, 6
-};
-
-static const short _indic_syllable_machine_index_offsets[] = {
- 0, 17, 19, 23, 27, 29, 33, 37,
- 39, 43, 47, 49, 53, 57, 59, 61,
- 63, 65, 70, 72, 74, 79, 81, 83,
- 88, 90, 92, 104, 116, 128, 140, 152,
- 164, 176, 188, 200, 212, 229, 231, 235,
- 239, 241, 245, 249, 251, 255, 259, 261,
- 265, 269, 271, 273, 275, 277, 282, 284,
- 286, 291, 293, 295, 300, 302, 304, 316,
- 328, 340, 352, 364, 376, 388, 400, 412,
- 424, 441, 443, 447, 451, 453, 457, 461,
- 463, 467, 471, 473, 477, 481, 483, 485,
- 487, 489, 494, 496, 498, 503, 505, 507,
- 512, 514, 516, 528, 540, 552, 564, 576,
- 588, 600, 612, 624, 641, 643, 647, 651,
- 653, 657, 661, 663, 667, 671, 673, 677,
- 681, 683, 685, 687, 689, 694, 696, 698,
- 703, 705, 707, 712, 714, 716, 728, 740,
- 752, 764, 776, 788, 800, 812, 824, 836,
- 848, 860, 864, 868, 872, 876, 878, 882,
- 886, 888, 892, 896, 898, 915, 917, 919,
- 921, 923, 928, 930, 932, 937, 939, 941,
- 946, 948, 950, 982, 1012, 1042, 1071, 1090,
- 1120, 1150, 1179, 1198, 1228, 1258, 1287, 1306,
- 1336, 1366, 1395, 1414, 1444, 1474, 1503, 1518,
- 1530, 1537, 1540, 1543, 1545, 1552, 1569, 1586,
- 1598, 1607, 1611, 1628, 1645, 1662, 1679, 1695,
- 1710, 1727, 1743, 1758, 1775, 1791, 1806, 1823,
- 1839, 1853, 1870, 1889, 1918, 1934, 1964, 1994,
- 2013, 2032, 2051, 2070, 2089, 2119, 2149, 2168,
- 2187, 2206, 2225, 2244, 2274, 2304, 2323, 2342,
- 2361, 2380, 2399, 2429, 2459, 2478, 2497, 2516,
- 2535, 2554, 2584, 2614, 2644, 2674, 2703, 2722,
- 2752, 2782, 2811, 2830, 2860, 2890, 2919, 2938,
- 2968, 2998, 3027, 3046, 3076, 3106, 3135, 3150,
- 3162, 3169, 3172, 3175, 3177, 3184, 3201, 3218,
- 3230, 3239, 3243, 3260, 3277, 3294, 3311, 3327,
- 3342, 3359, 3375, 3390, 3407, 3423, 3438, 3455,
- 3471, 3485, 3502, 3521, 3550, 3566, 3596, 3626,
- 3645, 3664, 3683, 3702, 3721, 3751, 3781, 3800,
- 3819, 3838, 3857, 3876, 3906, 3936, 3955, 3974,
- 3993, 4012, 4031, 4061, 4091, 4110, 4129, 4148,
- 4167, 4179, 4198, 4228, 4258, 4287, 4306, 4336,
- 4366, 4395, 4414, 4444, 4474, 4503, 4522, 4552,
- 4582, 4611, 4630, 4660, 4690, 4719, 4734, 4746,
- 4753, 4756, 4759, 4761, 4768, 4785, 4802, 4814,
- 4823, 4827, 4844, 4861, 4878, 4895, 4911, 4926,
- 4943, 4959, 4974, 4991, 5007, 5022, 5039, 5055,
- 5069, 5086, 5105, 5134, 5150, 5180, 5210, 5229,
- 5248, 5267, 5286, 5305, 5335, 5365, 5384, 5403,
- 5422, 5441, 5460, 5490, 5520, 5539, 5558, 5577,
- 5596, 5615, 5645, 5675, 5694, 5713, 5732, 5751,
- 5770, 5782, 5812, 5824, 5854, 5884, 5913, 5932,
- 5962, 5992, 6021, 6040, 6070, 6100, 6129, 6148,
- 6178, 6208, 6237, 6256, 6286, 6316, 6345, 6360,
- 6372, 6379, 6382, 6385, 6387, 6394, 6411, 6428,
- 6440, 6449, 6453, 6470, 6487, 6504, 6521, 6537,
- 6552, 6569, 6585, 6600, 6617, 6633, 6648, 6665,
- 6681, 6695, 6712, 6731, 6760, 6776, 6806, 6836,
- 6855, 6874, 6893, 6912, 6931, 6961, 6991, 7010,
- 7029, 7048, 7067, 7086, 7116, 7146, 7165, 7184,
- 7203, 7222, 7241, 7271, 7301, 7320, 7339, 7358,
- 7377, 7396, 7426, 7458, 7488, 7520, 7536, 7555,
- 7585, 7615, 7644, 7651, 7654, 7657, 7659, 7666,
- 7675, 7679, 7709, 7739, 7758, 7775, 7791, 7806,
- 7823, 7839, 7854, 7871, 7887, 7902, 7919, 7935,
- 7947, 7964, 7981, 7993, 8010, 8027, 8046, 8055,
- 8059, 8066, 8069, 8072, 8074
-};
-
-static const short _indic_syllable_machine_indicies[] = {
- 1, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1,
- 0, 3, 0, 4, 4, 5, 0, 6,
- 6, 5, 0, 5, 0, 7, 7, 8,
- 0, 9, 9, 8, 0, 8, 0, 10,
- 10, 11, 0, 12, 12, 11, 0, 11,
- 0, 13, 13, 14, 0, 15, 15, 14,
- 0, 14, 0, 16, 0, 17, 0, 18,
- 0, 19, 13, 13, 14, 0, 20, 0,
- 21, 0, 22, 10, 10, 11, 0, 23,
- 0, 24, 0, 25, 7, 7, 8, 0,
- 26, 0, 27, 0, 28, 4, 4, 5,
- 0, 0, 0, 0, 0, 0, 28, 0,
- 28, 4, 4, 5, 0, 0, 0, 0,
- 0, 29, 28, 0, 30, 4, 4, 5,
- 0, 0, 0, 0, 0, 0, 30, 0,
- 30, 4, 4, 5, 0, 0, 0, 0,
- 0, 31, 30, 0, 32, 4, 4, 5,
- 0, 0, 0, 0, 0, 0, 32, 0,
- 32, 4, 4, 5, 0, 0, 0, 0,
- 0, 33, 32, 0, 34, 4, 4, 5,
- 0, 0, 0, 0, 0, 0, 34, 0,
- 34, 4, 4, 5, 0, 0, 0, 0,
- 0, 35, 34, 0, 36, 4, 4, 5,
- 0, 0, 0, 0, 0, 0, 36, 0,
- 36, 4, 4, 5, 0, 0, 0, 0,
- 0, 37, 36, 0, 39, 40, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 39, 38, 41, 38, 42,
- 42, 43, 38, 44, 44, 43, 38, 43,
- 38, 45, 45, 46, 38, 47, 47, 46,
- 38, 46, 38, 48, 48, 49, 38, 50,
- 50, 49, 38, 49, 38, 51, 51, 52,
- 38, 53, 53, 52, 38, 52, 38, 54,
- 38, 55, 38, 56, 38, 57, 51, 51,
- 52, 38, 58, 38, 59, 38, 60, 48,
- 48, 49, 38, 61, 38, 62, 38, 63,
- 45, 45, 46, 38, 64, 38, 65, 38,
- 66, 42, 42, 43, 38, 38, 38, 38,
- 38, 38, 66, 38, 66, 42, 42, 43,
- 38, 38, 38, 38, 38, 67, 66, 38,
- 68, 42, 42, 43, 38, 38, 38, 38,
- 38, 38, 68, 38, 68, 42, 42, 43,
- 38, 38, 38, 38, 38, 69, 68, 38,
- 70, 42, 42, 43, 38, 38, 38, 38,
- 38, 38, 70, 38, 70, 42, 42, 43,
- 38, 38, 38, 38, 38, 71, 70, 38,
- 72, 42, 42, 43, 38, 38, 38, 38,
- 38, 38, 72, 38, 72, 42, 42, 43,
- 38, 38, 38, 38, 38, 73, 72, 38,
- 74, 42, 42, 43, 38, 38, 38, 38,
- 38, 38, 74, 38, 74, 42, 42, 43,
- 38, 38, 38, 38, 38, 75, 74, 38,
- 77, 78, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 77,
- 76, 79, 76, 80, 80, 81, 76, 83,
- 83, 81, 82, 81, 82, 84, 84, 85,
- 76, 86, 86, 85, 76, 85, 76, 87,
- 87, 88, 76, 89, 89, 88, 76, 88,
- 76, 90, 90, 91, 76, 92, 92, 91,
- 76, 91, 76, 93, 76, 94, 76, 95,
- 76, 96, 90, 90, 91, 76, 97, 76,
- 98, 76, 99, 87, 87, 88, 76, 100,
- 76, 101, 76, 102, 84, 84, 85, 76,
- 103, 76, 104, 76, 105, 80, 80, 81,
- 76, 76, 76, 76, 76, 76, 105, 76,
- 105, 80, 80, 81, 76, 76, 76, 76,
- 76, 106, 105, 76, 107, 80, 80, 81,
- 76, 76, 76, 76, 76, 76, 107, 76,
- 107, 80, 80, 81, 76, 76, 76, 76,
- 76, 108, 107, 76, 109, 80, 80, 81,
- 76, 76, 76, 76, 76, 76, 109, 76,
- 109, 80, 80, 81, 76, 76, 76, 76,
- 76, 110, 109, 76, 111, 80, 80, 81,
- 82, 82, 82, 82, 82, 82, 111, 82,
- 111, 80, 80, 81, 76, 76, 76, 76,
- 76, 112, 111, 76, 113, 80, 80, 81,
- 76, 76, 76, 76, 76, 76, 113, 76,
- 115, 116, 114, 114, 114, 114, 114, 114,
- 114, 114, 114, 114, 114, 114, 114, 115,
- 114, 117, 114, 118, 118, 119, 114, 120,
- 120, 119, 114, 119, 114, 121, 121, 122,
- 114, 123, 123, 122, 114, 122, 114, 124,
- 124, 125, 114, 126, 126, 125, 114, 125,
- 114, 127, 127, 128, 114, 129, 129, 128,
- 114, 128, 114, 130, 114, 131, 114, 132,
- 114, 133, 127, 127, 128, 114, 134, 114,
- 135, 114, 136, 124, 124, 125, 114, 137,
- 114, 138, 114, 139, 121, 121, 122, 114,
- 140, 114, 141, 114, 142, 118, 118, 119,
- 114, 114, 114, 114, 114, 114, 142, 114,
- 142, 118, 118, 119, 114, 114, 114, 114,
- 114, 143, 142, 114, 144, 118, 118, 119,
- 114, 114, 114, 114, 114, 114, 144, 114,
- 144, 118, 118, 119, 114, 114, 114, 114,
- 114, 145, 144, 114, 146, 118, 118, 119,
- 114, 114, 114, 114, 114, 114, 146, 114,
- 146, 118, 118, 119, 114, 114, 114, 114,
- 114, 147, 146, 114, 148, 118, 118, 119,
- 114, 114, 114, 114, 114, 114, 148, 114,
- 148, 118, 118, 119, 114, 114, 114, 114,
- 114, 149, 148, 114, 150, 118, 118, 119,
- 114, 114, 114, 114, 114, 114, 150, 114,
- 150, 118, 118, 119, 114, 114, 114, 114,
- 114, 151, 150, 114, 113, 80, 80, 81,
- 76, 76, 76, 76, 76, 152, 113, 76,
- 111, 80, 80, 81, 0, 0, 0, 0,
- 0, 153, 111, 0, 154, 154, 155, 0,
- 6, 6, 155, 0, 156, 156, 157, 0,
- 158, 158, 157, 0, 157, 0, 159, 159,
- 160, 0, 161, 161, 160, 0, 160, 0,
- 162, 162, 163, 0, 164, 164, 163, 0,
- 163, 0, 165, 166, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 165, 0, 167, 0, 168, 0, 169,
- 0, 170, 0, 171, 162, 162, 163, 0,
- 172, 0, 173, 0, 174, 159, 159, 160,
- 0, 175, 0, 176, 0, 177, 156, 156,
- 157, 0, 178, 0, 179, 0, 181, 182,
- 183, 184, 185, 186, 81, 187, 188, 189,
- 190, 190, 152, 191, 192, 193, 194, 195,
- 180, 180, 180, 180, 180, 180, 180, 180,
- 180, 180, 180, 180, 196, 180, 198, 199,
- 200, 201, 5, 202, 203, 204, 197, 197,
- 37, 205, 197, 197, 206, 207, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 208, 197, 209, 199, 210, 210,
- 5, 202, 203, 204, 197, 197, 197, 205,
- 197, 197, 206, 207, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 208, 197, 199, 210, 210, 5, 202, 203,
- 204, 197, 197, 197, 205, 197, 197, 206,
- 207, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 208, 197, 211,
- 197, 197, 197, 18, 212, 197, 202, 203,
- 204, 197, 197, 197, 213, 197, 211, 197,
- 207, 197, 214, 215, 216, 217, 5, 202,
- 203, 204, 197, 197, 35, 218, 197, 197,
- 206, 207, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 208, 197,
- 219, 215, 220, 220, 5, 202, 203, 204,
- 197, 197, 197, 218, 197, 197, 206, 207,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 208, 197, 215, 220,
- 220, 5, 202, 203, 204, 197, 197, 197,
- 218, 197, 197, 206, 207, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 208, 197, 221, 197, 197, 197, 18,
- 222, 197, 202, 203, 204, 197, 197, 197,
- 213, 197, 221, 197, 207, 197, 223, 224,
- 225, 226, 5, 202, 203, 204, 197, 197,
- 33, 227, 197, 197, 206, 207, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 208, 197, 228, 224, 229, 229,
- 5, 202, 203, 204, 197, 197, 197, 227,
- 197, 197, 206, 207, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 208, 197, 224, 229, 229, 5, 202, 203,
- 204, 197, 197, 197, 227, 197, 197, 206,
- 207, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 208, 197, 230,
- 197, 197, 197, 18, 231, 197, 202, 203,
- 204, 197, 197, 197, 213, 197, 230, 197,
- 207, 197, 232, 233, 234, 235, 5, 202,
- 203, 204, 197, 197, 31, 236, 197, 197,
- 206, 207, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 208, 197,
- 237, 233, 238, 238, 5, 202, 203, 204,
- 197, 197, 197, 236, 197, 197, 206, 207,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 208, 197, 233, 238,
- 238, 5, 202, 203, 204, 197, 197, 197,
- 236, 197, 197, 206, 207, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 208, 197, 239, 197, 197, 197, 18,
- 240, 197, 202, 203, 204, 197, 197, 197,
- 213, 197, 239, 197, 207, 197, 241, 242,
- 243, 244, 5, 202, 203, 204, 197, 197,
- 29, 245, 197, 197, 206, 207, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 208, 197, 246, 242, 247, 247,
- 5, 202, 203, 204, 197, 197, 197, 245,
- 197, 197, 206, 207, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 208, 197, 242, 247, 247, 5, 202, 203,
- 204, 197, 197, 197, 245, 197, 197, 206,
- 207, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 208, 197, 18,
- 248, 197, 202, 203, 204, 197, 197, 197,
- 213, 197, 197, 197, 207, 197, 202, 203,
- 204, 197, 197, 197, 213, 197, 197, 197,
- 207, 197, 249, 197, 197, 250, 203, 204,
- 197, 203, 204, 197, 203, 251, 197, 203,
- 197, 249, 197, 197, 197, 203, 204, 197,
- 252, 197, 253, 254, 197, 202, 203, 204,
- 197, 197, 3, 197, 197, 197, 197, 207,
- 197, 2, 197, 197, 197, 197, 202, 203,
- 204, 197, 197, 197, 197, 197, 197, 197,
- 207, 197, 202, 203, 204, 197, 197, 197,
- 197, 197, 197, 197, 207, 197, 255, 197,
- 197, 197, 197, 202, 203, 204, 197, 202,
- 203, 204, 197, 252, 197, 197, 197, 197,
- 202, 203, 204, 197, 197, 197, 197, 197,
- 197, 197, 207, 197, 252, 197, 253, 197,
- 197, 202, 203, 204, 197, 197, 3, 197,
- 197, 197, 197, 207, 197, 18, 197, 256,
- 256, 5, 202, 203, 204, 197, 197, 197,
- 213, 197, 197, 197, 207, 197, 257, 27,
- 258, 259, 8, 202, 203, 204, 197, 197,
- 197, 213, 197, 197, 197, 207, 197, 27,
- 258, 259, 8, 202, 203, 204, 197, 197,
- 197, 213, 197, 197, 197, 207, 197, 258,
- 258, 8, 202, 203, 204, 197, 197, 197,
- 213, 197, 197, 197, 207, 197, 260, 24,
- 261, 262, 11, 202, 203, 204, 197, 197,
- 197, 213, 197, 197, 197, 207, 197, 24,
- 261, 262, 11, 202, 203, 204, 197, 197,
- 197, 213, 197, 197, 197, 207, 197, 261,
- 261, 11, 202, 203, 204, 197, 197, 197,
- 213, 197, 197, 197, 207, 197, 263, 21,
- 264, 265, 14, 202, 203, 204, 197, 197,
- 197, 213, 197, 197, 197, 207, 197, 21,
- 264, 265, 14, 202, 203, 204, 197, 197,
- 197, 213, 197, 197, 197, 207, 197, 264,
- 264, 14, 202, 203, 204, 197, 197, 197,
- 213, 197, 197, 197, 207, 197, 266, 18,
- 197, 267, 197, 202, 203, 204, 197, 197,
- 197, 213, 197, 197, 197, 207, 197, 18,
- 197, 267, 197, 202, 203, 204, 197, 197,
- 197, 213, 197, 197, 197, 207, 197, 268,
- 197, 202, 203, 204, 197, 197, 197, 213,
- 197, 197, 197, 207, 197, 18, 197, 197,
- 197, 197, 202, 203, 204, 197, 197, 197,
- 213, 197, 197, 197, 207, 197, 1, 2,
- 197, 197, 18, 248, 197, 202, 203, 204,
- 197, 197, 197, 213, 197, 1, 197, 207,
- 197, 242, 247, 247, 5, 202, 203, 204,
- 197, 197, 197, 245, 197, 197, 197, 207,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 208, 197, 242, 247,
- 247, 5, 202, 203, 204, 197, 197, 197,
- 245, 197, 197, 197, 207, 197, 241, 242,
- 247, 247, 5, 202, 203, 204, 197, 197,
- 197, 245, 197, 197, 206, 207, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 208, 197, 241, 242, 243, 247,
- 5, 202, 203, 204, 197, 197, 29, 245,
- 197, 197, 206, 207, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 208, 197, 239, 197, 269, 197, 256, 256,
- 5, 202, 203, 204, 197, 197, 197, 213,
- 197, 239, 197, 207, 197, 239, 197, 197,
- 197, 197, 197, 197, 202, 203, 204, 197,
- 197, 197, 213, 197, 239, 197, 207, 197,
- 239, 197, 197, 197, 197, 270, 197, 202,
- 203, 204, 197, 197, 197, 213, 197, 239,
- 197, 207, 197, 239, 197, 269, 197, 197,
- 197, 197, 202, 203, 204, 197, 197, 197,
- 213, 197, 239, 197, 207, 197, 239, 2,
- 197, 197, 18, 240, 197, 202, 203, 204,
- 197, 197, 197, 213, 197, 239, 197, 207,
- 197, 232, 233, 238, 238, 5, 202, 203,
- 204, 197, 197, 197, 236, 197, 197, 206,
- 207, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 208, 197, 232,
- 233, 234, 238, 5, 202, 203, 204, 197,
- 197, 31, 236, 197, 197, 206, 207, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 208, 197, 230, 197, 271,
- 197, 256, 256, 5, 202, 203, 204, 197,
- 197, 197, 213, 197, 230, 197, 207, 197,
- 230, 197, 197, 197, 197, 197, 197, 202,
- 203, 204, 197, 197, 197, 213, 197, 230,
- 197, 207, 197, 230, 197, 197, 197, 197,
- 272, 197, 202, 203, 204, 197, 197, 197,
- 213, 197, 230, 197, 207, 197, 230, 197,
- 271, 197, 197, 197, 197, 202, 203, 204,
- 197, 197, 197, 213, 197, 230, 197, 207,
- 197, 230, 2, 197, 197, 18, 231, 197,
- 202, 203, 204, 197, 197, 197, 213, 197,
- 230, 197, 207, 197, 223, 224, 229, 229,
- 5, 202, 203, 204, 197, 197, 197, 227,
- 197, 197, 206, 207, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 208, 197, 223, 224, 225, 229, 5, 202,
- 203, 204, 197, 197, 33, 227, 197, 197,
- 206, 207, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 208, 197,
- 221, 197, 273, 197, 256, 256, 5, 202,
- 203, 204, 197, 197, 197, 213, 197, 221,
- 197, 207, 197, 221, 197, 197, 197, 197,
- 197, 197, 202, 203, 204, 197, 197, 197,
- 213, 197, 221, 197, 207, 197, 221, 197,
- 197, 197, 197, 274, 197, 202, 203, 204,
- 197, 197, 197, 213, 197, 221, 197, 207,
- 197, 221, 197, 273, 197, 197, 197, 197,
- 202, 203, 204, 197, 197, 197, 213, 197,
- 221, 197, 207, 197, 221, 2, 197, 197,
- 18, 222, 197, 202, 203, 204, 197, 197,
- 197, 213, 197, 221, 197, 207, 197, 214,
- 215, 220, 220, 5, 202, 203, 204, 197,
- 197, 197, 218, 197, 197, 206, 207, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 208, 197, 214, 215, 216,
- 220, 5, 202, 203, 204, 197, 197, 35,
- 218, 197, 197, 206, 207, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 208, 197, 211, 197, 275, 197, 256,
- 256, 5, 202, 203, 204, 197, 197, 197,
- 213, 197, 211, 197, 207, 197, 211, 197,
- 197, 197, 197, 197, 197, 202, 203, 204,
- 197, 197, 197, 213, 197, 211, 197, 207,
- 197, 211, 197, 197, 197, 197, 276, 197,
- 202, 203, 204, 197, 197, 197, 213, 197,
- 211, 197, 207, 197, 211, 197, 275, 197,
- 197, 197, 197, 202, 203, 204, 197, 197,
- 197, 213, 197, 211, 197, 207, 197, 211,
- 2, 197, 197, 18, 212, 197, 202, 203,
- 204, 197, 197, 197, 213, 197, 211, 197,
- 207, 197, 198, 199, 210, 210, 5, 202,
- 203, 204, 197, 197, 197, 205, 197, 197,
- 206, 207, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 208, 197,
- 198, 199, 200, 210, 5, 202, 203, 204,
- 197, 197, 37, 205, 197, 197, 206, 207,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 208, 197, 278, 279,
- 280, 281, 43, 282, 283, 284, 277, 277,
- 75, 285, 277, 277, 286, 287, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 288, 277, 289, 279, 290, 281,
- 43, 282, 283, 284, 277, 277, 277, 285,
- 277, 277, 286, 287, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 288, 277, 279, 290, 281, 43, 282, 283,
- 284, 277, 277, 277, 285, 277, 277, 286,
- 287, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 288, 277, 291,
- 277, 277, 277, 56, 292, 277, 282, 283,
- 284, 277, 277, 277, 293, 277, 291, 277,
- 287, 277, 294, 295, 296, 297, 43, 282,
- 283, 284, 277, 277, 73, 298, 277, 277,
- 286, 287, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 288, 277,
- 299, 295, 300, 300, 43, 282, 283, 284,
- 277, 277, 277, 298, 277, 277, 286, 287,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 288, 277, 295, 300,
- 300, 43, 282, 283, 284, 277, 277, 277,
- 298, 277, 277, 286, 287, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 288, 277, 301, 277, 277, 277, 56,
- 302, 277, 282, 283, 284, 277, 277, 277,
- 293, 277, 301, 277, 287, 277, 303, 304,
- 305, 306, 43, 282, 283, 284, 277, 277,
- 71, 307, 277, 277, 286, 287, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 288, 277, 308, 304, 309, 309,
- 43, 282, 283, 284, 277, 277, 277, 307,
- 277, 277, 286, 287, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 288, 277, 304, 309, 309, 43, 282, 283,
- 284, 277, 277, 277, 307, 277, 277, 286,
- 287, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 288, 277, 310,
- 277, 277, 277, 56, 311, 277, 282, 283,
- 284, 277, 277, 277, 293, 277, 310, 277,
- 287, 277, 312, 313, 314, 315, 43, 282,
- 283, 284, 277, 277, 69, 316, 277, 277,
- 286, 287, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 288, 277,
- 317, 313, 318, 318, 43, 282, 283, 284,
- 277, 277, 277, 316, 277, 277, 286, 287,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 288, 277, 313, 318,
- 318, 43, 282, 283, 284, 277, 277, 277,
- 316, 277, 277, 286, 287, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 288, 277, 319, 277, 277, 277, 56,
- 320, 277, 282, 283, 284, 277, 277, 277,
- 293, 277, 319, 277, 287, 277, 321, 322,
- 323, 324, 43, 282, 283, 284, 277, 277,
- 67, 325, 277, 277, 286, 287, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 288, 277, 326, 322, 327, 327,
- 43, 282, 283, 284, 277, 277, 277, 325,
- 277, 277, 286, 287, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 288, 277, 322, 327, 327, 43, 282, 283,
- 284, 277, 277, 277, 325, 277, 277, 286,
- 287, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 288, 277, 56,
- 328, 277, 282, 283, 284, 277, 277, 277,
- 293, 277, 277, 277, 287, 277, 282, 283,
- 284, 277, 277, 277, 293, 277, 277, 277,
- 287, 277, 329, 277, 277, 330, 283, 284,
- 277, 283, 284, 277, 283, 331, 277, 283,
- 277, 329, 277, 277, 277, 283, 284, 277,
- 332, 277, 333, 334, 277, 282, 283, 284,
- 277, 277, 41, 277, 277, 277, 277, 287,
- 277, 40, 277, 277, 277, 277, 282, 283,
- 284, 277, 277, 277, 277, 277, 277, 277,
- 287, 277, 282, 283, 284, 277, 277, 277,
- 277, 277, 277, 277, 287, 277, 335, 277,
- 277, 277, 277, 282, 283, 284, 277, 282,
- 283, 284, 277, 332, 277, 277, 277, 277,
- 282, 283, 284, 277, 277, 277, 277, 277,
- 277, 277, 287, 277, 332, 277, 333, 277,
- 277, 282, 283, 284, 277, 277, 41, 277,
- 277, 277, 277, 287, 277, 56, 277, 336,
- 336, 43, 282, 283, 284, 277, 277, 277,
- 293, 277, 277, 277, 287, 277, 337, 65,
- 338, 339, 46, 282, 283, 284, 277, 277,
- 277, 293, 277, 277, 277, 287, 277, 65,
- 338, 339, 46, 282, 283, 284, 277, 277,
- 277, 293, 277, 277, 277, 287, 277, 338,
- 338, 46, 282, 283, 284, 277, 277, 277,
- 293, 277, 277, 277, 287, 277, 340, 62,
- 341, 342, 49, 282, 283, 284, 277, 277,
- 277, 293, 277, 277, 277, 287, 277, 62,
- 341, 342, 49, 282, 283, 284, 277, 277,
- 277, 293, 277, 277, 277, 287, 277, 341,
- 341, 49, 282, 283, 284, 277, 277, 277,
- 293, 277, 277, 277, 287, 277, 343, 59,
- 344, 345, 52, 282, 283, 284, 277, 277,
- 277, 293, 277, 277, 277, 287, 277, 59,
- 344, 345, 52, 282, 283, 284, 277, 277,
- 277, 293, 277, 277, 277, 287, 277, 344,
- 344, 52, 282, 283, 284, 277, 277, 277,
- 293, 277, 277, 277, 287, 277, 346, 56,
- 277, 347, 277, 282, 283, 284, 277, 277,
- 277, 293, 277, 277, 277, 287, 277, 56,
- 277, 347, 277, 282, 283, 284, 277, 277,
- 277, 293, 277, 277, 277, 287, 277, 348,
- 277, 282, 283, 284, 277, 277, 277, 293,
- 277, 277, 277, 287, 277, 56, 277, 277,
- 277, 277, 282, 283, 284, 277, 277, 277,
- 293, 277, 277, 277, 287, 277, 39, 40,
- 277, 277, 56, 328, 277, 282, 283, 284,
- 277, 277, 277, 293, 277, 39, 277, 287,
- 277, 322, 327, 327, 43, 282, 283, 284,
- 277, 277, 277, 325, 277, 277, 277, 287,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 288, 277, 322, 327,
- 327, 43, 282, 283, 284, 277, 277, 277,
- 325, 277, 277, 277, 287, 277, 321, 322,
- 327, 327, 43, 282, 283, 284, 277, 277,
- 277, 325, 277, 277, 286, 287, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 288, 277, 321, 322, 323, 327,
- 43, 282, 283, 284, 277, 277, 67, 325,
- 277, 277, 286, 287, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 288, 277, 319, 277, 349, 277, 336, 336,
- 43, 282, 283, 284, 277, 277, 277, 293,
- 277, 319, 277, 287, 277, 319, 277, 277,
- 277, 277, 277, 277, 282, 283, 284, 277,
- 277, 277, 293, 277, 319, 277, 287, 277,
- 319, 277, 277, 277, 277, 350, 277, 282,
- 283, 284, 277, 277, 277, 293, 277, 319,
- 277, 287, 277, 319, 277, 349, 277, 277,
- 277, 277, 282, 283, 284, 277, 277, 277,
- 293, 277, 319, 277, 287, 277, 319, 40,
- 277, 277, 56, 320, 277, 282, 283, 284,
- 277, 277, 277, 293, 277, 319, 277, 287,
- 277, 312, 313, 318, 318, 43, 282, 283,
- 284, 277, 277, 277, 316, 277, 277, 286,
- 287, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 288, 277, 312,
- 313, 314, 318, 43, 282, 283, 284, 277,
- 277, 69, 316, 277, 277, 286, 287, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 288, 277, 310, 277, 351,
- 277, 336, 336, 43, 282, 283, 284, 277,
- 277, 277, 293, 277, 310, 277, 287, 277,
- 310, 277, 277, 277, 277, 277, 277, 282,
- 283, 284, 277, 277, 277, 293, 277, 310,
- 277, 287, 277, 310, 277, 277, 277, 277,
- 352, 277, 282, 283, 284, 277, 277, 277,
- 293, 277, 310, 277, 287, 277, 310, 277,
- 351, 277, 277, 277, 277, 282, 283, 284,
- 277, 277, 277, 293, 277, 310, 277, 287,
- 277, 310, 40, 277, 277, 56, 311, 277,
- 282, 283, 284, 277, 277, 277, 293, 277,
- 310, 277, 287, 277, 303, 304, 309, 309,
- 43, 282, 283, 284, 277, 277, 277, 307,
- 277, 277, 286, 287, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 288, 277, 303, 304, 305, 309, 43, 282,
- 283, 284, 277, 277, 71, 307, 277, 277,
- 286, 287, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 288, 277,
- 301, 277, 353, 277, 336, 336, 43, 282,
- 283, 284, 277, 277, 277, 293, 277, 301,
- 277, 287, 277, 301, 277, 277, 277, 277,
- 277, 277, 282, 283, 284, 277, 277, 277,
- 293, 277, 301, 277, 287, 277, 301, 277,
- 277, 277, 277, 354, 277, 282, 283, 284,
- 277, 277, 277, 293, 277, 301, 277, 287,
- 277, 301, 277, 353, 277, 277, 277, 277,
- 282, 283, 284, 277, 277, 277, 293, 277,
- 301, 277, 287, 277, 301, 40, 277, 277,
- 56, 302, 277, 282, 283, 284, 277, 277,
- 277, 293, 277, 301, 277, 287, 277, 294,
- 295, 300, 300, 43, 282, 283, 284, 277,
- 277, 277, 298, 277, 277, 286, 287, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 277, 288, 277, 294, 295, 296,
- 300, 43, 282, 283, 284, 277, 277, 73,
- 298, 277, 277, 286, 287, 277, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 288, 277, 291, 277, 355, 277, 336,
- 336, 43, 282, 283, 284, 277, 277, 277,
- 293, 277, 291, 277, 287, 277, 291, 277,
- 277, 277, 277, 277, 277, 282, 283, 284,
- 277, 277, 277, 293, 277, 291, 277, 287,
- 277, 291, 277, 277, 277, 277, 356, 277,
- 282, 283, 284, 277, 277, 277, 293, 277,
- 291, 277, 287, 277, 291, 277, 355, 277,
- 277, 277, 277, 282, 283, 284, 277, 277,
- 277, 293, 277, 291, 277, 287, 277, 74,
- 42, 42, 43, 277, 277, 277, 277, 277,
- 277, 74, 277, 291, 40, 277, 277, 56,
- 292, 277, 282, 283, 284, 277, 277, 277,
- 293, 277, 291, 277, 287, 277, 278, 279,
- 290, 281, 43, 282, 283, 284, 277, 277,
- 277, 285, 277, 277, 286, 287, 277, 277,
- 277, 277, 277, 277, 277, 277, 277, 277,
- 277, 277, 288, 277, 358, 184, 359, 359,
- 81, 187, 188, 189, 357, 357, 357, 191,
- 357, 357, 194, 360, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 196, 357, 184, 359, 359, 81, 187, 188,
- 189, 357, 357, 357, 191, 357, 357, 194,
- 360, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 196, 357, 361,
- 357, 357, 357, 95, 362, 357, 187, 188,
- 189, 357, 357, 357, 363, 357, 361, 357,
- 360, 357, 364, 365, 366, 367, 81, 187,
- 188, 189, 357, 357, 112, 368, 357, 357,
- 194, 360, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 196, 357,
- 369, 365, 370, 370, 81, 187, 188, 189,
- 357, 357, 357, 368, 357, 357, 194, 360,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 196, 357, 365, 370,
- 370, 81, 187, 188, 189, 357, 357, 357,
- 368, 357, 357, 194, 360, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 196, 357, 371, 357, 357, 357, 95,
- 372, 357, 187, 188, 189, 357, 357, 357,
- 363, 357, 371, 357, 360, 357, 373, 374,
- 375, 376, 81, 187, 188, 189, 357, 357,
- 110, 377, 357, 357, 194, 360, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 196, 357, 378, 374, 379, 379,
- 81, 187, 188, 189, 357, 357, 357, 377,
- 357, 357, 194, 360, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 196, 357, 374, 379, 379, 81, 187, 188,
- 189, 357, 357, 357, 377, 357, 357, 194,
- 360, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 196, 357, 380,
- 357, 357, 357, 95, 381, 357, 187, 188,
- 189, 357, 357, 357, 363, 357, 380, 357,
- 360, 357, 382, 383, 384, 385, 81, 187,
- 188, 189, 357, 357, 108, 386, 357, 357,
- 194, 360, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 196, 357,
- 387, 383, 388, 388, 81, 187, 188, 189,
- 357, 357, 357, 386, 357, 357, 194, 360,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 196, 357, 383, 388,
- 388, 81, 187, 188, 189, 357, 357, 357,
- 386, 357, 357, 194, 360, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 196, 357, 389, 357, 357, 357, 95,
- 390, 357, 187, 188, 189, 357, 357, 357,
- 363, 357, 389, 357, 360, 357, 391, 392,
- 393, 394, 81, 187, 188, 189, 357, 357,
- 106, 395, 357, 357, 194, 360, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 196, 357, 396, 392, 397, 397,
- 81, 187, 188, 189, 357, 357, 357, 395,
- 357, 357, 194, 360, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 196, 357, 392, 397, 397, 81, 187, 188,
- 189, 357, 357, 357, 395, 357, 357, 194,
- 360, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 196, 357, 95,
- 398, 357, 187, 188, 189, 357, 357, 357,
- 363, 357, 357, 357, 360, 357, 187, 188,
- 189, 357, 357, 357, 363, 357, 357, 357,
- 360, 357, 399, 357, 357, 400, 188, 189,
- 357, 188, 189, 357, 188, 401, 357, 188,
- 357, 399, 357, 357, 357, 188, 189, 357,
- 402, 357, 403, 404, 357, 187, 188, 189,
- 357, 357, 79, 357, 357, 357, 357, 360,
- 357, 78, 357, 357, 357, 357, 187, 188,
- 189, 357, 357, 357, 357, 357, 357, 357,
- 360, 357, 187, 188, 189, 357, 357, 357,
- 357, 357, 357, 357, 360, 357, 405, 357,
- 357, 357, 357, 187, 188, 189, 357, 187,
- 188, 189, 357, 402, 357, 357, 357, 357,
- 187, 188, 189, 357, 357, 357, 357, 357,
- 357, 357, 360, 357, 402, 357, 403, 357,
- 357, 187, 188, 189, 357, 357, 79, 357,
- 357, 357, 357, 360, 357, 95, 357, 406,
- 406, 81, 187, 188, 189, 357, 357, 357,
- 363, 357, 357, 357, 360, 357, 407, 104,
- 408, 409, 85, 187, 188, 189, 357, 357,
- 357, 363, 357, 357, 357, 360, 357, 104,
- 408, 409, 85, 187, 188, 189, 357, 357,
- 357, 363, 357, 357, 357, 360, 357, 408,
- 408, 85, 187, 188, 189, 357, 357, 357,
- 363, 357, 357, 357, 360, 357, 410, 101,
- 411, 412, 88, 187, 188, 189, 357, 357,
- 357, 363, 357, 357, 357, 360, 357, 101,
- 411, 412, 88, 187, 188, 189, 357, 357,
- 357, 363, 357, 357, 357, 360, 357, 411,
- 411, 88, 187, 188, 189, 357, 357, 357,
- 363, 357, 357, 357, 360, 357, 413, 98,
- 414, 415, 91, 187, 188, 189, 357, 357,
- 357, 363, 357, 357, 357, 360, 357, 98,
- 414, 415, 91, 187, 188, 189, 357, 357,
- 357, 363, 357, 357, 357, 360, 357, 414,
- 414, 91, 187, 188, 189, 357, 357, 357,
- 363, 357, 357, 357, 360, 357, 416, 95,
- 357, 417, 357, 187, 188, 189, 357, 357,
- 357, 363, 357, 357, 357, 360, 357, 95,
- 357, 417, 357, 187, 188, 189, 357, 357,
- 357, 363, 357, 357, 357, 360, 357, 418,
- 357, 187, 188, 189, 357, 357, 357, 363,
- 357, 357, 357, 360, 357, 95, 357, 357,
- 357, 357, 187, 188, 189, 357, 357, 357,
- 363, 357, 357, 357, 360, 357, 77, 78,
- 357, 357, 95, 398, 357, 187, 188, 189,
- 357, 357, 357, 363, 357, 77, 357, 360,
- 357, 392, 397, 397, 81, 187, 188, 189,
- 357, 357, 357, 395, 357, 357, 357, 360,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 196, 357, 392, 397,
- 397, 81, 187, 188, 189, 357, 357, 357,
- 395, 357, 357, 357, 360, 357, 391, 392,
- 397, 397, 81, 187, 188, 189, 357, 357,
- 357, 395, 357, 357, 194, 360, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 196, 357, 391, 392, 393, 397,
- 81, 187, 188, 189, 357, 357, 106, 395,
- 357, 357, 194, 360, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 196, 357, 389, 357, 419, 357, 406, 406,
- 81, 187, 188, 189, 357, 357, 357, 363,
- 357, 389, 357, 360, 357, 389, 357, 357,
- 357, 357, 357, 357, 187, 188, 189, 357,
- 357, 357, 363, 357, 389, 357, 360, 357,
- 389, 357, 357, 357, 357, 420, 357, 187,
- 188, 189, 357, 357, 357, 363, 357, 389,
- 357, 360, 357, 389, 357, 419, 357, 357,
- 357, 357, 187, 188, 189, 357, 357, 357,
- 363, 357, 389, 357, 360, 357, 389, 78,
- 357, 357, 95, 390, 357, 187, 188, 189,
- 357, 357, 357, 363, 357, 389, 357, 360,
- 357, 382, 383, 388, 388, 81, 187, 188,
- 189, 357, 357, 357, 386, 357, 357, 194,
- 360, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 196, 357, 382,
- 383, 384, 388, 81, 187, 188, 189, 357,
- 357, 108, 386, 357, 357, 194, 360, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 196, 357, 380, 357, 421,
- 357, 406, 406, 81, 187, 188, 189, 357,
- 357, 357, 363, 357, 380, 357, 360, 357,
- 380, 357, 357, 357, 357, 357, 357, 187,
- 188, 189, 357, 357, 357, 363, 357, 380,
- 357, 360, 357, 380, 357, 357, 357, 357,
- 422, 357, 187, 188, 189, 357, 357, 357,
- 363, 357, 380, 357, 360, 357, 380, 357,
- 421, 357, 357, 357, 357, 187, 188, 189,
- 357, 357, 357, 363, 357, 380, 357, 360,
- 357, 380, 78, 357, 357, 95, 381, 357,
- 187, 188, 189, 357, 357, 357, 363, 357,
- 380, 357, 360, 357, 373, 374, 379, 379,
- 81, 187, 188, 189, 357, 357, 357, 377,
- 357, 357, 194, 360, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 196, 357, 373, 374, 375, 379, 81, 187,
- 188, 189, 357, 357, 110, 377, 357, 357,
- 194, 360, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 196, 357,
- 371, 357, 423, 357, 406, 406, 81, 187,
- 188, 189, 357, 357, 357, 363, 357, 371,
- 357, 360, 357, 371, 357, 357, 357, 357,
- 357, 357, 187, 188, 189, 357, 357, 357,
- 363, 357, 371, 357, 360, 357, 371, 357,
- 357, 357, 357, 424, 357, 187, 188, 189,
- 357, 357, 357, 363, 357, 371, 357, 360,
- 357, 371, 357, 423, 357, 357, 357, 357,
- 187, 188, 189, 357, 357, 357, 363, 357,
- 371, 357, 360, 357, 371, 78, 357, 357,
- 95, 372, 357, 187, 188, 189, 357, 357,
- 357, 363, 357, 371, 357, 360, 357, 364,
- 365, 370, 370, 81, 187, 188, 189, 357,
- 357, 357, 368, 357, 357, 194, 360, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 357, 196, 357, 364, 365, 366,
- 370, 81, 187, 188, 189, 357, 357, 112,
- 368, 357, 357, 194, 360, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 196, 357, 361, 357, 425, 357, 406,
- 406, 81, 187, 188, 189, 357, 357, 357,
- 363, 357, 361, 357, 360, 357, 361, 357,
- 357, 357, 357, 357, 357, 187, 188, 189,
- 357, 357, 357, 363, 357, 361, 357, 360,
- 357, 361, 357, 357, 357, 357, 426, 357,
- 187, 188, 189, 357, 357, 357, 363, 357,
- 361, 357, 360, 357, 361, 357, 425, 357,
- 357, 357, 357, 187, 188, 189, 357, 357,
- 357, 363, 357, 361, 357, 360, 357, 361,
- 78, 357, 357, 95, 362, 357, 187, 188,
- 189, 357, 357, 357, 363, 357, 361, 357,
- 360, 357, 113, 80, 80, 81, 427, 427,
- 427, 427, 427, 152, 113, 427, 183, 184,
- 359, 359, 81, 187, 188, 189, 357, 357,
- 357, 191, 357, 357, 194, 360, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 357, 357, 196, 357, 113, 80, 80, 81,
- 427, 427, 427, 427, 427, 427, 113, 427,
- 429, 430, 431, 432, 119, 433, 434, 435,
- 428, 428, 151, 436, 428, 428, 437, 438,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 439, 428, 440, 430,
- 432, 432, 119, 433, 434, 435, 428, 428,
- 428, 436, 428, 428, 437, 438, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 439, 428, 430, 432, 432, 119,
- 433, 434, 435, 428, 428, 428, 436, 428,
- 428, 437, 438, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 439,
- 428, 441, 428, 428, 428, 132, 442, 428,
- 433, 434, 435, 428, 428, 428, 443, 428,
- 441, 428, 438, 428, 444, 445, 446, 447,
- 119, 433, 434, 435, 428, 428, 149, 448,
- 428, 428, 437, 438, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 439, 428, 449, 445, 450, 450, 119, 433,
- 434, 435, 428, 428, 428, 448, 428, 428,
- 437, 438, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 439, 428,
- 445, 450, 450, 119, 433, 434, 435, 428,
- 428, 428, 448, 428, 428, 437, 438, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 439, 428, 451, 428, 428,
- 428, 132, 452, 428, 433, 434, 435, 428,
- 428, 428, 443, 428, 451, 428, 438, 428,
- 453, 454, 455, 456, 119, 433, 434, 435,
- 428, 428, 147, 457, 428, 428, 437, 438,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 439, 428, 458, 454,
- 459, 459, 119, 433, 434, 435, 428, 428,
- 428, 457, 428, 428, 437, 438, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 439, 428, 454, 459, 459, 119,
- 433, 434, 435, 428, 428, 428, 457, 428,
- 428, 437, 438, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 439,
- 428, 460, 428, 428, 428, 132, 461, 428,
- 433, 434, 435, 428, 428, 428, 443, 428,
- 460, 428, 438, 428, 462, 463, 464, 465,
- 119, 433, 434, 435, 428, 428, 145, 466,
- 428, 428, 437, 438, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 439, 428, 467, 463, 468, 468, 119, 433,
- 434, 435, 428, 428, 428, 466, 428, 428,
- 437, 438, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 439, 428,
- 463, 468, 468, 119, 433, 434, 435, 428,
- 428, 428, 466, 428, 428, 437, 438, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 439, 428, 469, 428, 428,
- 428, 132, 470, 428, 433, 434, 435, 428,
- 428, 428, 443, 428, 469, 428, 438, 428,
- 471, 472, 473, 474, 119, 433, 434, 435,
- 428, 428, 143, 475, 428, 428, 437, 438,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 439, 428, 476, 472,
- 477, 477, 119, 433, 434, 435, 428, 428,
- 428, 475, 428, 428, 437, 438, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 439, 428, 472, 477, 477, 119,
- 433, 434, 435, 428, 428, 428, 475, 428,
- 428, 437, 438, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 439,
- 428, 132, 478, 428, 433, 434, 435, 428,
- 428, 428, 443, 428, 428, 428, 438, 428,
- 433, 434, 435, 428, 428, 428, 443, 428,
- 428, 428, 438, 428, 479, 428, 428, 480,
- 434, 435, 428, 434, 435, 428, 434, 481,
- 428, 434, 428, 479, 428, 428, 428, 434,
- 435, 428, 482, 428, 483, 484, 428, 433,
- 434, 435, 428, 428, 117, 428, 428, 428,
- 428, 438, 428, 116, 428, 428, 428, 428,
- 433, 434, 435, 428, 428, 428, 428, 428,
- 428, 428, 438, 428, 433, 434, 435, 428,
- 428, 428, 428, 428, 428, 428, 438, 428,
- 485, 428, 428, 428, 428, 433, 434, 435,
- 428, 433, 434, 435, 428, 482, 428, 428,
- 428, 428, 433, 434, 435, 428, 428, 428,
- 428, 428, 428, 428, 438, 428, 482, 428,
- 483, 428, 428, 433, 434, 435, 428, 428,
- 117, 428, 428, 428, 428, 438, 428, 132,
- 428, 486, 486, 119, 433, 434, 435, 428,
- 428, 428, 443, 428, 428, 428, 438, 428,
- 487, 141, 488, 489, 122, 433, 434, 435,
- 428, 428, 428, 443, 428, 428, 428, 438,
- 428, 141, 488, 489, 122, 433, 434, 435,
- 428, 428, 428, 443, 428, 428, 428, 438,
- 428, 488, 488, 122, 433, 434, 435, 428,
- 428, 428, 443, 428, 428, 428, 438, 428,
- 490, 138, 491, 492, 125, 433, 434, 435,
- 428, 428, 428, 443, 428, 428, 428, 438,
- 428, 138, 491, 492, 125, 433, 434, 435,
- 428, 428, 428, 443, 428, 428, 428, 438,
- 428, 491, 491, 125, 433, 434, 435, 428,
- 428, 428, 443, 428, 428, 428, 438, 428,
- 493, 135, 494, 495, 128, 433, 434, 435,
- 428, 428, 428, 443, 428, 428, 428, 438,
- 428, 135, 494, 495, 128, 433, 434, 435,
- 428, 428, 428, 443, 428, 428, 428, 438,
- 428, 494, 494, 128, 433, 434, 435, 428,
- 428, 428, 443, 428, 428, 428, 438, 428,
- 496, 132, 428, 497, 428, 433, 434, 435,
- 428, 428, 428, 443, 428, 428, 428, 438,
- 428, 132, 428, 497, 428, 433, 434, 435,
- 428, 428, 428, 443, 428, 428, 428, 438,
- 428, 498, 428, 433, 434, 435, 428, 428,
- 428, 443, 428, 428, 428, 438, 428, 132,
- 428, 428, 428, 428, 433, 434, 435, 428,
- 428, 428, 443, 428, 428, 428, 438, 428,
- 115, 116, 428, 428, 132, 478, 428, 433,
- 434, 435, 428, 428, 428, 443, 428, 115,
- 428, 438, 428, 472, 477, 477, 119, 433,
- 434, 435, 428, 428, 428, 475, 428, 428,
- 428, 438, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 439, 428,
- 472, 477, 477, 119, 433, 434, 435, 428,
- 428, 428, 475, 428, 428, 428, 438, 428,
- 471, 472, 477, 477, 119, 433, 434, 435,
- 428, 428, 428, 475, 428, 428, 437, 438,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 439, 428, 471, 472,
- 473, 477, 119, 433, 434, 435, 428, 428,
- 143, 475, 428, 428, 437, 438, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 439, 428, 469, 428, 499, 428,
- 486, 486, 119, 433, 434, 435, 428, 428,
- 428, 443, 428, 469, 428, 438, 428, 469,
- 428, 428, 428, 428, 428, 428, 433, 434,
- 435, 428, 428, 428, 443, 428, 469, 428,
- 438, 428, 469, 428, 428, 428, 428, 500,
- 428, 433, 434, 435, 428, 428, 428, 443,
- 428, 469, 428, 438, 428, 469, 428, 499,
- 428, 428, 428, 428, 433, 434, 435, 428,
- 428, 428, 443, 428, 469, 428, 438, 428,
- 469, 116, 428, 428, 132, 470, 428, 433,
- 434, 435, 428, 428, 428, 443, 428, 469,
- 428, 438, 428, 462, 463, 468, 468, 119,
- 433, 434, 435, 428, 428, 428, 466, 428,
- 428, 437, 438, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 439,
- 428, 462, 463, 464, 468, 119, 433, 434,
- 435, 428, 428, 145, 466, 428, 428, 437,
- 438, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 439, 428, 460,
- 428, 501, 428, 486, 486, 119, 433, 434,
- 435, 428, 428, 428, 443, 428, 460, 428,
- 438, 428, 460, 428, 428, 428, 428, 428,
- 428, 433, 434, 435, 428, 428, 428, 443,
- 428, 460, 428, 438, 428, 460, 428, 428,
- 428, 428, 502, 428, 433, 434, 435, 428,
- 428, 428, 443, 428, 460, 428, 438, 428,
- 460, 428, 501, 428, 428, 428, 428, 433,
- 434, 435, 428, 428, 428, 443, 428, 460,
- 428, 438, 428, 460, 116, 428, 428, 132,
- 461, 428, 433, 434, 435, 428, 428, 428,
- 443, 428, 460, 428, 438, 428, 453, 454,
- 459, 459, 119, 433, 434, 435, 428, 428,
- 428, 457, 428, 428, 437, 438, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 439, 428, 453, 454, 455, 459,
- 119, 433, 434, 435, 428, 428, 147, 457,
- 428, 428, 437, 438, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 439, 428, 451, 428, 503, 428, 486, 486,
- 119, 433, 434, 435, 428, 428, 428, 443,
- 428, 451, 428, 438, 428, 451, 428, 428,
- 428, 428, 428, 428, 433, 434, 435, 428,
- 428, 428, 443, 428, 451, 428, 438, 428,
- 451, 428, 428, 428, 428, 504, 428, 433,
- 434, 435, 428, 428, 428, 443, 428, 451,
- 428, 438, 428, 451, 428, 503, 428, 428,
- 428, 428, 433, 434, 435, 428, 428, 428,
- 443, 428, 451, 428, 438, 428, 451, 116,
- 428, 428, 132, 452, 428, 433, 434, 435,
- 428, 428, 428, 443, 428, 451, 428, 438,
- 428, 444, 445, 450, 450, 119, 433, 434,
- 435, 428, 428, 428, 448, 428, 428, 437,
- 438, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 439, 428, 444,
- 445, 446, 450, 119, 433, 434, 435, 428,
- 428, 149, 448, 428, 428, 437, 438, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 428, 428, 428, 439, 428, 441, 428, 505,
- 428, 486, 486, 119, 433, 434, 435, 428,
- 428, 428, 443, 428, 441, 428, 438, 428,
- 441, 428, 428, 428, 428, 428, 428, 433,
- 434, 435, 428, 428, 428, 443, 428, 441,
- 428, 438, 428, 441, 428, 428, 428, 428,
- 506, 428, 433, 434, 435, 428, 428, 428,
- 443, 428, 441, 428, 438, 428, 441, 428,
- 505, 428, 428, 428, 428, 433, 434, 435,
- 428, 428, 428, 443, 428, 441, 428, 438,
- 428, 441, 116, 428, 428, 132, 442, 428,
- 433, 434, 435, 428, 428, 428, 443, 428,
- 441, 428, 438, 428, 429, 430, 432, 432,
- 119, 433, 434, 435, 428, 428, 428, 436,
- 428, 428, 437, 438, 428, 428, 428, 428,
- 428, 428, 428, 428, 428, 428, 428, 428,
- 439, 428, 181, 182, 183, 184, 507, 359,
- 81, 187, 188, 189, 190, 190, 152, 191,
- 357, 181, 194, 360, 357, 357, 357, 357,
- 357, 357, 357, 357, 357, 357, 357, 357,
- 196, 357, 198, 508, 200, 201, 5, 202,
- 203, 204, 197, 197, 37, 205, 197, 197,
- 206, 207, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 208, 197,
- 211, 182, 183, 184, 509, 510, 81, 511,
- 203, 512, 190, 190, 152, 513, 197, 211,
- 194, 514, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 196, 197,
- 113, 80, 80, 81, 202, 203, 204, 197,
- 197, 152, 515, 197, 197, 197, 207, 197,
- 516, 2, 357, 357, 357, 426, 357, 187,
- 188, 189, 357, 357, 357, 363, 357, 516,
- 357, 360, 357, 517, 365, 518, 519, 81,
- 511, 203, 512, 197, 197, 153, 368, 197,
- 197, 194, 514, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 196,
- 197, 520, 365, 370, 370, 81, 511, 203,
- 512, 197, 197, 197, 368, 197, 197, 194,
- 514, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 197, 197, 196, 197, 365,
- 370, 370, 81, 511, 203, 512, 197, 197,
- 197, 368, 197, 197, 194, 514, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 196, 197, 521, 197, 197, 522,
- 203, 512, 197, 203, 512, 197, 203, 523,
- 197, 203, 197, 521, 197, 197, 197, 203,
- 512, 197, 524, 197, 197, 197, 197, 511,
- 203, 512, 197, 511, 203, 512, 197, 517,
- 365, 370, 370, 81, 511, 203, 512, 197,
- 197, 197, 368, 197, 197, 194, 514, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 197, 197, 196, 197, 517, 365, 518,
- 370, 81, 511, 203, 512, 197, 197, 153,
- 368, 197, 197, 194, 514, 197, 197, 197,
- 197, 197, 197, 197, 197, 197, 197, 197,
- 197, 196, 197, 211, 197, 275, 113, 525,
- 525, 155, 202, 203, 204, 197, 197, 197,
- 515, 197, 211, 197, 207, 197, 526, 179,
- 527, 528, 157, 511, 203, 512, 197, 197,
- 197, 529, 197, 197, 197, 514, 197, 179,
- 527, 528, 157, 511, 203, 512, 197, 197,
- 197, 529, 197, 197, 197, 514, 197, 527,
- 527, 157, 511, 203, 512, 197, 197, 197,
- 529, 197, 197, 197, 514, 197, 530, 176,
- 531, 532, 160, 511, 203, 512, 197, 197,
- 197, 529, 197, 197, 197, 514, 197, 176,
- 531, 532, 160, 511, 203, 512, 197, 197,
- 197, 529, 197, 197, 197, 514, 197, 531,
- 531, 160, 511, 203, 512, 197, 197, 197,
- 529, 197, 197, 197, 514, 197, 533, 173,
- 534, 535, 163, 511, 203, 512, 197, 197,
- 197, 529, 197, 197, 197, 514, 197, 173,
- 534, 535, 163, 511, 203, 512, 197, 197,
- 197, 529, 197, 197, 197, 514, 197, 534,
- 534, 163, 511, 203, 512, 197, 197, 197,
- 529, 197, 197, 197, 514, 197, 536, 170,
- 197, 537, 197, 511, 203, 512, 197, 197,
- 197, 529, 197, 197, 197, 514, 197, 170,
- 197, 537, 197, 511, 203, 512, 197, 197,
- 197, 529, 197, 197, 197, 514, 197, 511,
- 203, 512, 197, 197, 197, 529, 197, 197,
- 197, 514, 197, 538, 197, 539, 540, 197,
- 511, 203, 512, 197, 197, 167, 197, 197,
- 197, 197, 514, 197, 166, 197, 197, 197,
- 197, 511, 203, 512, 197, 197, 197, 197,
- 197, 197, 197, 514, 197, 511, 203, 512,
- 197, 197, 197, 197, 197, 197, 197, 514,
- 197, 538, 197, 197, 197, 197, 511, 203,
- 512, 197, 197, 197, 197, 197, 197, 197,
- 514, 197, 538, 197, 539, 197, 197, 511,
- 203, 512, 197, 197, 167, 197, 197, 197,
- 197, 514, 197, 516, 166, 357, 357, 95,
- 362, 357, 187, 188, 189, 357, 357, 357,
- 363, 357, 516, 357, 360, 357, 542, 541,
- 541, 541, 541, 543, 544, 545, 541, 543,
- 544, 545, 541, 546, 541, 541, 547, 544,
- 545, 541, 544, 545, 541, 544, 548, 541,
- 544, 541, 546, 541, 541, 541, 544, 545,
- 541, 0
-};
-
-static const short _indic_syllable_machine_trans_targs[] = {
- 170, 197, 199, 202, 3, 205, 4, 6,
- 208, 7, 9, 211, 10, 12, 214, 13,
- 15, 16, 191, 18, 19, 213, 21, 22,
- 210, 24, 25, 207, 216, 221, 225, 228,
- 232, 235, 239, 242, 246, 249, 170, 277,
- 279, 282, 39, 285, 40, 42, 288, 43,
- 45, 291, 46, 48, 294, 49, 51, 52,
- 271, 54, 55, 293, 57, 58, 290, 60,
- 61, 287, 296, 301, 305, 308, 312, 315,
- 319, 322, 326, 330, 170, 356, 358, 361,
- 75, 364, 170, 76, 78, 367, 79, 81,
- 370, 82, 84, 373, 85, 87, 88, 350,
- 90, 91, 372, 93, 94, 369, 96, 97,
- 366, 375, 380, 384, 387, 391, 394, 398,
- 401, 405, 170, 437, 439, 442, 110, 445,
- 111, 113, 448, 114, 116, 451, 117, 119,
- 454, 120, 122, 123, 431, 125, 126, 453,
- 128, 129, 450, 131, 132, 447, 456, 461,
- 465, 468, 472, 475, 479, 482, 486, 489,
- 409, 505, 146, 508, 148, 511, 149, 151,
- 514, 152, 154, 517, 155, 520, 522, 523,
- 159, 160, 519, 162, 163, 516, 165, 166,
- 513, 168, 169, 510, 170, 171, 251, 331,
- 333, 408, 410, 351, 170, 353, 411, 407,
- 490, 491, 378, 526, 379, 170, 172, 174,
- 35, 250, 192, 170, 194, 248, 219, 200,
- 220, 173, 34, 175, 244, 0, 176, 178,
- 33, 243, 241, 177, 32, 179, 237, 180,
- 182, 31, 236, 234, 181, 30, 183, 230,
- 184, 186, 29, 229, 227, 185, 28, 187,
- 223, 188, 190, 27, 222, 218, 189, 26,
- 204, 193, 196, 195, 198, 1, 203, 201,
- 2, 206, 5, 23, 209, 8, 20, 212,
- 11, 17, 215, 14, 217, 224, 226, 231,
- 233, 238, 240, 245, 247, 170, 252, 254,
- 71, 328, 272, 170, 274, 329, 299, 280,
- 300, 253, 70, 255, 324, 36, 256, 258,
- 69, 323, 321, 257, 68, 259, 317, 260,
- 262, 67, 316, 314, 261, 66, 263, 310,
- 264, 266, 65, 309, 307, 265, 64, 267,
- 303, 268, 270, 63, 302, 298, 269, 62,
- 284, 273, 276, 275, 278, 37, 283, 281,
- 38, 286, 41, 59, 289, 44, 56, 292,
- 47, 53, 295, 50, 297, 304, 306, 311,
- 313, 318, 320, 325, 327, 170, 332, 106,
- 359, 334, 403, 72, 335, 337, 105, 402,
- 400, 336, 104, 338, 396, 339, 341, 103,
- 395, 393, 340, 102, 342, 389, 343, 345,
- 101, 388, 386, 344, 100, 346, 382, 347,
- 349, 99, 381, 377, 348, 98, 363, 352,
- 355, 354, 357, 73, 362, 360, 74, 365,
- 77, 95, 368, 80, 92, 371, 83, 89,
- 374, 86, 376, 383, 385, 390, 392, 397,
- 399, 404, 406, 170, 170, 412, 414, 142,
- 141, 432, 170, 434, 488, 459, 440, 460,
- 413, 415, 484, 107, 416, 418, 140, 483,
- 481, 417, 139, 419, 477, 420, 422, 138,
- 476, 474, 421, 137, 423, 470, 424, 426,
- 136, 469, 467, 425, 135, 427, 463, 428,
- 430, 134, 462, 458, 429, 133, 444, 433,
- 436, 435, 438, 108, 443, 441, 109, 446,
- 112, 130, 449, 115, 127, 452, 118, 124,
- 455, 121, 457, 464, 466, 471, 473, 478,
- 480, 485, 487, 143, 492, 493, 507, 498,
- 500, 525, 503, 494, 495, 496, 144, 506,
- 497, 499, 502, 501, 504, 145, 509, 147,
- 167, 156, 512, 150, 164, 515, 153, 161,
- 518, 158, 521, 157, 524, 170, 527, 528,
- 170, 530, 529, 532, 531
-};
-
-static const char _indic_syllable_machine_trans_actions[] = {
- 1, 2, 0, 0, 0, 2, 0, 0,
- 2, 0, 0, 2, 0, 0, 2, 0,
- 0, 0, 2, 0, 0, 2, 0, 0,
- 2, 0, 0, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 3, 2,
- 0, 0, 0, 2, 0, 0, 2, 0,
- 0, 2, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 2, 0, 0, 2, 0,
- 0, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 4, 2, 0, 0,
- 0, 2, 5, 0, 0, 2, 0, 0,
- 2, 0, 0, 2, 0, 0, 0, 2,
- 0, 0, 2, 0, 0, 2, 0, 0,
- 2, 2, 6, 2, 6, 2, 6, 2,
- 6, 2, 7, 2, 0, 0, 0, 2,
- 0, 0, 2, 0, 0, 2, 0, 0,
- 2, 0, 0, 0, 2, 0, 0, 2,
- 0, 0, 2, 0, 0, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 6, 8, 0, 2, 0, 2, 0, 0,
- 2, 0, 0, 2, 0, 2, 0, 0,
- 0, 0, 2, 0, 0, 2, 0, 0,
- 2, 0, 0, 2, 11, 2, 2, 6,
- 2, 12, 12, 0, 13, 0, 2, 2,
- 6, 2, 6, 0, 6, 14, 2, 2,
- 0, 2, 0, 15, 0, 2, 2, 0,
- 2, 2, 0, 2, 2, 0, 2, 2,
- 0, 2, 2, 2, 0, 2, 2, 2,
- 2, 0, 2, 2, 2, 0, 2, 2,
- 2, 2, 0, 2, 2, 2, 0, 2,
- 2, 2, 2, 0, 2, 2, 2, 0,
- 2, 0, 0, 0, 0, 0, 2, 0,
- 0, 2, 0, 0, 2, 0, 0, 2,
- 0, 0, 2, 0, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 16, 2, 2,
- 0, 2, 0, 17, 0, 2, 2, 0,
- 2, 2, 0, 2, 2, 0, 2, 2,
- 0, 2, 2, 2, 0, 2, 2, 2,
- 2, 0, 2, 2, 2, 0, 2, 2,
- 2, 2, 0, 2, 2, 2, 0, 2,
- 2, 2, 2, 0, 2, 2, 2, 0,
- 2, 0, 0, 0, 0, 0, 2, 0,
- 0, 2, 0, 0, 2, 0, 0, 2,
- 0, 0, 2, 0, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 18, 6, 0,
- 0, 6, 6, 0, 6, 2, 0, 6,
- 2, 6, 0, 6, 6, 6, 2, 0,
- 6, 2, 6, 0, 6, 6, 6, 2,
- 0, 6, 2, 6, 0, 6, 6, 6,
- 2, 0, 6, 2, 6, 0, 6, 0,
- 0, 0, 0, 0, 2, 0, 0, 2,
- 0, 0, 2, 0, 0, 2, 0, 0,
- 2, 0, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 19, 20, 2, 2, 0,
- 0, 0, 21, 0, 2, 2, 0, 2,
- 2, 2, 2, 0, 2, 2, 0, 2,
- 2, 2, 0, 2, 2, 2, 2, 0,
- 2, 2, 2, 0, 2, 2, 2, 2,
- 0, 2, 2, 2, 0, 2, 2, 2,
- 2, 0, 2, 2, 2, 0, 2, 0,
- 0, 0, 0, 0, 2, 0, 0, 2,
- 0, 0, 2, 0, 0, 2, 0, 0,
- 2, 0, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 0, 0, 8, 2, 0,
- 0, 2, 0, 2, 8, 8, 0, 8,
- 8, 0, 0, 0, 0, 0, 2, 0,
- 0, 0, 2, 0, 0, 2, 0, 0,
- 2, 0, 0, 0, 2, 22, 0, 0,
- 23, 0, 0, 0, 0
-};
-
-static const char _indic_syllable_machine_to_state_actions[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 9, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0
-};
-
-static const char _indic_syllable_machine_from_state_actions[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 10, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0
-};
-
-static const short _indic_syllable_machine_eof_trans[] = {
- 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, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39,
- 77, 77, 77, 83, 83, 77, 77, 77,
- 77, 77, 77, 77, 77, 77, 77, 77,
- 77, 77, 77, 77, 77, 77, 77, 77,
- 77, 77, 77, 77, 77, 77, 77, 77,
- 83, 77, 77, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 115, 77,
- 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, 0, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 278, 278, 278, 278, 278,
- 278, 278, 278, 358, 358, 358, 358, 358,
- 358, 358, 358, 358, 358, 358, 358, 358,
- 358, 358, 358, 358, 358, 358, 358, 358,
- 358, 358, 358, 358, 358, 358, 358, 358,
- 358, 358, 358, 358, 358, 358, 358, 358,
- 358, 358, 358, 358, 358, 358, 358, 358,
- 358, 358, 358, 358, 358, 358, 358, 358,
- 358, 358, 358, 358, 358, 358, 358, 358,
- 358, 358, 358, 358, 358, 358, 358, 358,
- 358, 358, 358, 358, 358, 358, 358, 358,
- 428, 358, 428, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 429, 429, 429, 429, 429, 429,
- 429, 429, 358, 198, 198, 198, 358, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 198, 198, 198,
- 198, 198, 198, 198, 198, 358, 542, 542,
- 542, 542, 542, 542, 542
-};
-
-static const int indic_syllable_machine_start = 170;
-static const int indic_syllable_machine_first_final = 170;
-static const int indic_syllable_machine_error = -1;
-
-static const int indic_syllable_machine_en_main = 170;
-
-
-#line 36 "../../src/hb-ot-shape-complex-indic-machine.rl"
-
-
-
-#line 98 "../../src/hb-ot-shape-complex-indic-machine.rl"
-
-
-#define found_syllable(syllable_type) \
- HB_STMT_START { \
- if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
- for (unsigned int i = last; i < p+1; i++) \
- info[i].syllable() = (syllable_serial << 4) | syllable_type; \
- last = p+1; \
- syllable_serial++; \
- if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
- } HB_STMT_END
-
-static void
-find_syllables (hb_buffer_t *buffer)
-{
- unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
- int cs;
- hb_glyph_info_t *info = buffer->info;
-
-#line 1646 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
- {
- cs = indic_syllable_machine_start;
- ts = 0;
- te = 0;
- act = 0;
- }
-
-#line 119 "../../src/hb-ot-shape-complex-indic-machine.rl"
-
-
- p = 0;
- pe = eof = buffer->len;
-
- unsigned int last = 0;
- unsigned int syllable_serial = 1;
-
-#line 1663 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
- {
- int _slen;
- int _trans;
- const unsigned char *_keys;
- const short *_inds;
- if ( p == pe )
- goto _test_eof;
-_resume:
- switch ( _indic_syllable_machine_from_state_actions[cs] ) {
- case 10:
-#line 1 "NONE"
- {ts = p;}
- break;
-#line 1677 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
- }
-
- _keys = _indic_syllable_machine_trans_keys + (cs<<1);
- _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
-
- _slen = _indic_syllable_machine_key_spans[cs];
- _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
- ( info[p].indic_category()) <= _keys[1] ?
- ( info[p].indic_category()) - _keys[0] : _slen ];
-
-_eof_trans:
- cs = _indic_syllable_machine_trans_targs[_trans];
-
- if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
- goto _again;
-
- switch ( _indic_syllable_machine_trans_actions[_trans] ) {
- case 2:
-#line 1 "NONE"
- {te = p+1;}
- break;
- case 15:
-#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p+1;{ found_syllable (consonant_syllable); }}
- break;
- case 17:
-#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p+1;{ found_syllable (vowel_syllable); }}
- break;
- case 21:
-#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p+1;{ found_syllable (standalone_cluster); }}
- break;
- case 23:
-#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p+1;{ found_syllable (avagraha_cluster); }}
- break;
- case 13:
-#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p+1;{ found_syllable (broken_cluster); }}
- break;
- case 11:
-#line 94 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p+1;{ found_syllable (non_indic_cluster); }}
- break;
- case 14:
-#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p;p--;{ found_syllable (consonant_syllable); }}
- break;
- case 16:
-#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p;p--;{ found_syllable (vowel_syllable); }}
- break;
- case 20:
-#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p;p--;{ found_syllable (standalone_cluster); }}
- break;
- case 22:
-#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p;p--;{ found_syllable (avagraha_cluster); }}
- break;
- case 18:
-#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p;p--;{ found_syllable (broken_cluster); }}
- break;
- case 19:
-#line 94 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {te = p;p--;{ found_syllable (non_indic_cluster); }}
- break;
- case 1:
-#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
- break;
- case 3:
-#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
- break;
- case 7:
-#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
- break;
- case 4:
-#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
- break;
- case 5:
-#line 1 "NONE"
- { switch( act ) {
- case 1:
- {{p = ((te))-1;} found_syllable (consonant_syllable); }
- break;
- case 5:
- {{p = ((te))-1;} found_syllable (broken_cluster); }
- break;
- case 6:
- {{p = ((te))-1;} found_syllable (non_indic_cluster); }
- break;
- }
- }
- break;
- case 8:
-#line 1 "NONE"
- {te = p+1;}
-#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {act = 1;}
- break;
- case 6:
-#line 1 "NONE"
- {te = p+1;}
-#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {act = 5;}
- break;
- case 12:
-#line 1 "NONE"
- {te = p+1;}
-#line 94 "../../src/hb-ot-shape-complex-indic-machine.rl"
- {act = 6;}
- break;
-#line 1796 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
- }
-
-_again:
- switch ( _indic_syllable_machine_to_state_actions[cs] ) {
- case 9:
-#line 1 "NONE"
- {ts = 0;}
- break;
-#line 1805 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
- }
-
- if ( ++p != pe )
- goto _resume;
- _test_eof: {}
- if ( p == eof )
- {
- if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
- _trans = _indic_syllable_machine_eof_trans[cs] - 1;
- goto _eof_trans;
- }
- }
-
- }
-
-#line 128 "../../src/hb-ot-shape-complex-indic-machine.rl"
-
-}
-
-#endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28-PATCHES/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.29-PATCHES/ChangeLog
index 033e1164576..e3d88bf79f2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28-PATCHES/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29-PATCHES/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported harfbuzz-0.9.29 source tree from:
+ http://www.freedesktop.org/software/harfbuzz/release/
+
2014-04-29 Peter Breitenlohner <peb@mppmu.mpg.de>
Imported harfbuzz-0.9.28 source tree from:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28-PATCHES/TL-Changes b/Build/source/libs/harfbuzz/harfbuzz-0.9.29-PATCHES/TL-Changes
index e815451f1f4..c004b338705 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28-PATCHES/TL-Changes
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29-PATCHES/TL-Changes
@@ -1,4 +1,4 @@
-Changes applied to the harfbuzz-0.9.28/ tree as obtained from:
+Changes applied to the harfbuzz-0.9.29/ tree as obtained from:
http://www.freedesktop.org/software/harfbuzz/release/
Removed:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/AUTHORS b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/AUTHORS
index c611d7d4769..c611d7d4769 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/AUTHORS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/AUTHORS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/Android.mk b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/Android.mk
index 757d136e509..757d136e509 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/Android.mk
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/Android.mk
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/ChangeLog
index 672fb06b14a..b845aba673a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/ChangeLog
@@ -1,3 +1,486 @@
+commit 5875ad9c467b39d00ad4d98fd425179c701e6fd0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 29 15:48:16 2014 -0400
+
+ 0.9.29
+
+ NEWS | 12 ++++++++++++
+ configure.ac | 2 +-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+commit 7977ca17aac34b9ab10622928bed8afa2177f16a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 29 15:34:26 2014 -0400
+
+ [indic] Allow decimal and Brahmi digits as placeholders
+
+ Tests: U+0967,0951 U+0031,093F
+
+ src/hb-ot-shape-complex-indic.cc |
+ 4 ++++
+ .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt |
+ 2 ++
+ 2 files changed, 6 insertions(+)
+
+commit e8b5d64039614ecce472eda1a7a603736da25d86
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 29 15:18:27 2014 -0400
+
+ [indic] Do NOT allow reph formation on placeholders
+
+ Only allow it on DOTTED CIRCLE. No effect on test numbers.
+
+ Test: U+0930,094D,00A0
+
+ src/hb-ot-shape-complex-indic-machine.rl |
+ 2 +-
+ .../in-tree/shaper-indic/indic/script-devanagari/misc/dottedcircle.txt |
+ 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit 52b562a6a058131c0103aaa5404d053e6465bb23
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 27 18:18:23 2014 -0400
+
+ [indic] Clean up a bit
+
+ No functional change intended.
+
+ src/hb-ot-shape-complex-indic.cc | 17 +++++------------
+ 1 file changed, 5 insertions(+), 12 deletions(-)
+
+commit 3bf652b90783e8244c153739585d95dc4162efb4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 27 18:07:26 2014 -0400
+
+ [indic] Treat U+002D and U+2010..2014 as placeholders
+
+ src/hb-ot-shape-complex-indic.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit e0de95f40244924cb8f9f7abca7f53117044a0eb
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 27 17:58:34 2014 -0400
+
+ [indic] Treat U+00D7 MULTIPLICATION SIGN as placeholder
+
+ src/hb-ot-shape-complex-indic.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit cf78dd483cbe1759a8ecb731879e041a53ba9bb3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 27 17:53:37 2014 -0400
+
+ [indic/myanmar] Rename OT_NBSP to OT_PLACEHOLDER
+
+ src/hb-ot-shape-complex-indic-machine.rl | 4 ++--
+ src/hb-ot-shape-complex-indic-private.hh | 6 +++---
+ src/hb-ot-shape-complex-indic.cc | 4 ++--
+ src/hb-ot-shape-complex-myanmar.cc | 2 +-
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+commit 186ece94c8838e95db240d3e7c3ce415da6be81e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 27 17:49:45 2014 -0400
+
+ [myanmar] Use OT_NBSP instead of OT_DOTTEDCIRCLE for OT_GB
+
+ No functional change.
+
+ src/hb-ot-shape-complex-myanmar-machine.rl | 2 +-
+ src/hb-ot-shape-complex-myanmar.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit cf71d28c380819cb0f7f0f22f6ff9e4aa881a2b8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 27 17:47:43 2014 -0400
+
+ [indic/myanmar] Refactor a few macros
+
+ src/hb-ot-shape-complex-indic-private.hh | 12 ++++++++++++
+ src/hb-ot-shape-complex-indic.cc | 10 ----------
+ src/hb-ot-shape-complex-myanmar.cc | 6 ------
+ 3 files changed, 12 insertions(+), 16 deletions(-)
+
+commit 2307268e01d27a999b56a2f573dfcee8b2a7949b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 27 17:39:01 2014 -0400
+
+ [indic] Treat U+0A72..0A73 like regular consonants
+
+ Unicode 6.x IndicSyllableCategory categorizes them as
+ placeholders, but they can subjoin.
+
+ src/hb-ot-shape-complex-indic.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit e9b2a4cfe593bdbe9288571635ba26ac42ede987
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri May 23 15:49:10 2014 -0400
+
+ [indic] Support U+1CED
+
+ src/hb-ot-shape-complex-indic.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit d19f8e85702a1e473efe2f02027984dcc127602a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri May 23 15:45:50 2014 -0400
+
+ [indic] Support U+A8F2..A8F7,1CE9..1CEC,1CEE..1CF1
+
+ src/hb-ot-shape-complex-indic.cc | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit ddbdfcbf1c10eed0a7b81b29fee99f1bd22113e5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri May 23 15:39:55 2014 -0400
+
+ [indic] Simplify grammar
+
+ No functional change.
+
+ src/hb-ot-shape-complex-indic-machine.rl | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 4e9b1f662b23966e67c548b86afeff2bec9b0eb7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri May 23 15:38:42 2014 -0400
+
+ [indic] Always start new syllable for Avagraha
+
+ In fact, the previous grammar was ambigious. No functional
+ change.
+
+ src/hb-ot-shape-complex-indic-machine.rl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9f9bd9bf31161660214b8b39a78cdafbb79db1be
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri May 23 15:33:13 2014 -0400
+
+ [indic] Rename avagraha cluster to symbol cluster
+
+ In anticipation of adding more characters to that class of clusters.
+
+ src/hb-ot-shape-complex-indic-machine.rl | 10 +++++-----
+ src/hb-ot-shape-complex-indic-private.hh | 4 ++--
+ src/hb-ot-shape-complex-indic.cc | 14 +++++++-------
+ 3 files changed, 14 insertions(+), 14 deletions(-)
+
+commit a498565cedf0441ae723c5e5969f637d792a15e7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 22 19:39:56 2014 -0400
+
+ [indic] Support U+1CF2,U+1CF3
+
+ src/hb-ot-shape-complex-indic.cc | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit ecb98babbaa065940b40ca8954a454f0e2cdcff0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 22 19:36:21 2014 -0400
+
+ [indic] Support U+1CE2..U+1CE8
+
+ src/hb-ot-shape-complex-indic.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 37bf2c9224e32fdc99c20158c6dc0a4602ec1292
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 22 19:35:17 2014 -0400
+
+ Minor
+
+ src/hb-ot-shape-complex-indic.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 131e17ff9ae792cafa7a500043acb373802ee872
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 22 19:32:51 2014 -0400
+
+ [indic] Support U+1CF5,1CF6
+
+ src/hb-ot-shape-complex-indic.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 72ead0cc72dac4d1c985ead065bb820f93f14a1d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 22 19:12:10 2014 -0400
+
+ [indic] Treat U+1CE1 as a tone-mark too
+
+ It's spacing, but otherwise the same as the other ones.
+
+ src/hb-ot-shape-complex-indic.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e848bfae7c975a6fae434daf8e3db4d69914df9f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 22 18:50:34 2014 -0400
+
+ [indic] Recategorize U+A8E0..A8F1 as OT_VD
+
+ Up to two of them come after all OT_A characters.
+
+ src/hb-ot-shape-complex-indic-machine.rl | 2 +-
+ src/hb-ot-shape-complex-indic.cc | 10 ++++++----
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+commit c519536c34c842304da558dd4a9e3844fc261b20
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 22 18:43:14 2014 -0400
+
+ [indic] Allow up to three tone marks
+
+ According to Roozbeh, there are valid combinations in Unicode
+ proposals for up to three. Previously we were allowing up to two.
+
+ src/hb-ot-shape-complex-indic-machine.rl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c11fc6833980fce6d70c5ae0c6623de97a3eb30a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 22 18:41:49 2014 -0400
+
+ [indic] Support more extended Devanagari tone marks
+
+ Also adjust U+0953,0954 handling.
+
+ src/hb-ot-shape-complex-indic.cc | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+commit 26c836e53d55a2e2d4c17fd9ea1884eec33ce015
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed May 21 18:35:48 2014 -0400
+
+ [indic] Handle "Cantillation marks for the Samaveda"
+
+ src/hb-ot-shape-complex-indic.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 29531128f2f4342d537817746863705df80efe4b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 15 14:04:02 2014 -0600
+
+ [indic] Improve reph formation of Sinhala and Telugu
+
+ Sinhala and Telugu use "explicit" reph. That is, the reph is
+ formed by
+ a Ra,H,ZWJ sequence. Previously, upon detecting this sequence,
+ we were
+ checking checking whether the 'rphf' feature applies to the first two
+ glyphs of the sequence. This is how the Microsoft fonts are designed.
+ However, testing with Noto shows that apparently Uniscribe also forms
+ the reph if the lookup ligates all three glyphs. So, try both
+ sequences.
+
+ Doesn't affect test results for Sinhala or Telugu.
+
+ https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=232
+
+ src/hb-ot-shape-complex-indic.cc | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 8c703f13bf8b4b276093b1c42cd3759e34b6787f
+Author: Oleg Oshmyan <chortos@inbox.lv>
+Date: Wed May 14 22:10:09 2014 +0100
+
+ Fix build with --coretext on older OS X
+
+ Fixes https://github.com/behdad/harfbuzz/pull/40
+
+ src/hb-coretext.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 439b05867c0856a81fa8f9bea3a7465b4b4bdd91
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed May 14 16:44:39 2014 -0600
+
+ [myanmar] Allow MedialYa+Asat in the grammar
+
+ The grammar in the OT spec, and the existing Windows implementation
+ seem to be confused around where to allow Asat around the medial
+ consonants.
+
+ The previous grammar for medial group was allowing an Asat after
+ the medial group only if there was a medial Wa or Ha, but not if
+ there was only a medial Ya. This doesn't make sense to me and
+ sounds reversed, as both medial Wa and Ha are below marks while
+ Asat is an above mark. An Asat can come before the medial group
+ already (in fact, multiple ones can. Why?!). The medial Ya
+ however is a spacing mark and according to Roozbeh it's valid
+ to want an Asat on the medial Ya instead of the base, so it looks
+ to me like we want to allow an Asat after the medial group if
+ there *was* a Ya but not if there wasn't any. Not wanting to
+ produce dotted-circle where Windows is not, this commit changes
+ the grammar to allow one Asat after the medial group no matter
+ what comes in the group.
+
+ Test: U+1002,103A,103B vs U+1002,103B,103A
+
+ src/hb-ot-shape-complex-myanmar-machine.rl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0a017ce169d791c9aea56671fe5837961e0a3c09
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed May 14 16:44:16 2014 -0600
+
+ Add tests for Myanmar Asat+MedialYa and MedialYa+Asat sequences
+
+ One of them currently produces dotted-circle. Fix and detailed
+ message coming.
+
+ test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt |
+ 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c95587618c88d187be64f923033dae151cf820be
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed May 14 00:42:18 2014 -0400
+
+ [ot] Minor note re cmap subtable format 2 and 8
+
+ src/hb-ot-cmap-table.hh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit b7878cd58ea9a67236e1e0228c35b5b03ec4ff9c
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 13 21:47:51 2014 -0400
+
+ [ot] Implement cmap subtable format 0
+
+ src/hb-open-type-private.hh | 3 ++-
+ src/hb-ot-cmap-table.hh | 32 ++++++++++++++++++++++++++++++++
+ 2 files changed, 34 insertions(+), 1 deletion(-)
+
+commit ca7b77431d1e0aaa803722be8be85a368a385f47
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 13 21:26:34 2014 -0400
+
+ [ot] Factor out code between cmap sutable format 12 and 13
+
+ src/hb-ot-cmap-table.hh | 43 +++++++++++++------------------------------
+ 1 file changed, 13 insertions(+), 30 deletions(-)
+
+commit 94759e8219ed08392573bae948a8135e16b8e0d0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 13 21:17:28 2014 -0400
+
+ [ot] Factor out code between cmap subtable format 6 and 10
+
+ src/hb-ot-cmap-table.hh | 49
+ ++++++++++---------------------------------------
+ 1 file changed, 10 insertions(+), 39 deletions(-)
+
+commit 1a8ffc512987c1ff1b4896549f80b145c85454a8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 13 21:06:39 2014 -0400
+
+ Minor
+
+ src/hb-blob.h | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 91bbfca87527fa14d6ebec86b087f2a989381872
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 12 18:19:29 2014 -0400
+
+ [ot] Implement cmap subtable formats 6 and 10
+
+ src/hb-ot-cmap-table.hh | 77
+ +++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 74 insertions(+), 3 deletions(-)
+
+commit d294a2cb165c4f20daa5624969067c51eb9aef58
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 12 17:58:31 2014 -0400
+
+ [ot] Implement cmap subtable format 13
+
+ src/hb-ot-cmap-table.hh | 47
+ +++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 41 insertions(+), 6 deletions(-)
+
+commit 0d75793fae95ed9f6b8522ae3af4fcdf397d8c36
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 12 17:51:15 2014 -0400
+
+ [ot] Implement cmap subtable format 12
+
+ src/hb-ot-cmap-table.hh | 63
+ +++++++++++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-font.cc | 5 ++++
+ 2 files changed, 66 insertions(+), 2 deletions(-)
+
+commit 3608a6847e7b7eb4206df049158513a085810afd
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 12 13:46:29 2014 -0400
+
+ [ot] Hook up cmap table to hb_ot_font_funcs()
+
+ src/hb-ot-cmap-table.hh | 10 +++++++---
+ src/hb-ot-font.cc | 33 +++++++++++++++++++--------------
+ 2 files changed, 26 insertions(+), 17 deletions(-)
+
+commit c8a47452993b9dee6854bfc866aca4a20142696f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri May 9 19:55:51 2014 -0400
+
+ [ot] Implement cmap subtable format 4
+
+ src/hb-ot-cmap-table.hh | 52
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 52 insertions(+)
+
+commit 4719621f20dfd6a0377c650a7b4df223c18dc143
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri May 9 16:09:11 2014 -0400
+
+ Minor
+
+ src/hb-open-type-private.hh | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 41ca1fbebf61cf26e1e0e4b11f4a5b52fb7d88a9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri May 9 15:35:56 2014 -0400
+
+ [ot] Start implementing cmap table
+
+ src/Makefile.am | 1 +
+ src/hb-ot-cmap-table.hh | 171
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-font.cc | 1 +
+ 3 files changed, 173 insertions(+)
+
+commit c7074b8798048324cb8850c55908ce77fc33d11e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 8 18:24:31 2014 -0400
+
+ [otlayout] Add GenericArrayOf::search()
+
+ src/hb-open-type-private.hh | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 40a479797add42fa42b78d4267920ef75bfb6b9a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 8 18:21:04 2014 -0400
+
+ [otlayout] Add GenericSortedArrayOf
+
+ src/hb-open-type-private.hh | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit 0ddecabc6de205b121bec31fbf670f37cc9454ef
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 1 16:01:40 2014 -0700
+
+ [main] Minor improvement to output
+
+ src/main.cc | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
commit 79ecdc3f9525212053d2bc88a5541c41697159da
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Apr 28 14:24:23 2014 -0700
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/Makefile.am
index fa8711403d5..fa8711403d5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/Makefile.am
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/NEWS b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/NEWS
index c2883ae9e65..b7ac4151a02 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/NEWS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/NEWS
@@ -1,3 +1,15 @@
+Overview of changes leading to 0.9.29
+Thursday, May 29, 2014
+=====================================
+
+- Implement cmap in hb-ot-font.h. No variation-selectors yet.
+- Myanmar: Allow MedialYa+Asat.
+- Various Indic fixes:
+ * Support most characters in Extended Devanagary and Vedic
+ Unicode blocks.
+ * Allow digits and a some punctuation as consonant placeholders.
+- Build fixes.
+
Overview of changes leading to 0.9.28
Monday, April 28, 2014
=====================================
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/README b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/README
index 74e739da52a..74e739da52a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/README
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/README
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/THANKS b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/THANKS
index 940cfde5c39..940cfde5c39 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/THANKS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/THANKS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/TODO b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/TODO
index e1aa39c4c01..e1aa39c4c01 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/TODO
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/TODO
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/autogen.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/autogen.sh
index a267f297b06..a267f297b06 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/autogen.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/autogen.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/config.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/config.h.in
index 352a8d24882..352a8d24882 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/config.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/config.h.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/configure.ac
index e10fb3444f9..d2036ec9920 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/configure.ac
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [0.9.28],
+ [0.9.29],
[http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
[harfbuzz],
[http://harfbuzz.org/])
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/gtk-doc.make b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/gtk-doc.make
index 104c3993f3e..104c3993f3e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/gtk-doc.make
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/gtk-doc.make
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/harfbuzz.doap b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/harfbuzz.doap
index d2896ebefa8..d2896ebefa8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/harfbuzz.doap
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/harfbuzz.doap
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/Makefile.am
index e2dd944e67f..f670e2723d8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/Makefile.am
@@ -35,6 +35,7 @@ HBSOURCES = \
hb-object-private.hh \
hb-open-file-private.hh \
hb-open-type-private.hh \
+ hb-ot-cmap-table.hh \
hb-ot-head-table.hh \
hb-ot-hhea-table.hh \
hb-ot-hmtx-table.hh \
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-c-linkage-decls.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-c-linkage-decls.sh
index b10310f5384..b10310f5384 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-c-linkage-decls.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-c-linkage-decls.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-defs.sh
index 357347f543a..357347f543a 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-defs.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-defs.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-header-guards.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-header-guards.sh
index 9a3302c7f87..9a3302c7f87 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-header-guards.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-header-guards.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-includes.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-includes.sh
index 5643c6973bc..5643c6973bc 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-includes.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-includes.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-libstdc++.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-libstdc++.sh
index e7e0e295e1a..e7e0e295e1a 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-libstdc++.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-libstdc++.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-static-inits.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-static-inits.sh
index 83d02c8a9bf..83d02c8a9bf 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-static-inits.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-static-inits.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-symbols.sh
index e000b01b863..e000b01b863 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/check-symbols.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/check-symbols.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/gen-arabic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/gen-arabic-table.py
index da5a4fcbf5c..da5a4fcbf5c 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/gen-arabic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/gen-arabic-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/gen-indic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/gen-indic-table.py
index 9ed3fd6d34d..9ed3fd6d34d 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/gen-indic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/gen-indic-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/harfbuzz-gobject.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/harfbuzz-gobject.pc.in
index 70083601901..70083601901 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/harfbuzz-gobject.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/harfbuzz-gobject.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/harfbuzz-icu.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/harfbuzz-icu.pc.in
index 949869a3563..949869a3563 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/harfbuzz-icu.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/harfbuzz-icu.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/harfbuzz.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/harfbuzz.pc.in
index 7f27bbbdef0..7f27bbbdef0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/harfbuzz.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/harfbuzz.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-atomic-private.hh
index 60cbcf91be1..60cbcf91be1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-atomic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-atomic-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-blob.cc
index d6acca0fca5..d6acca0fca5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-blob.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-blob.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-blob.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-blob.h
index e6db3915581..b2419abfd2a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-blob.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-blob.h
@@ -52,9 +52,8 @@ HB_BEGIN_DECLS
* HarfBuzz and doing that just once (no reuse!),
*
* - If the font is mmap()ed, it's ok to use
- * READONLY_MAY_MAKE_WRITABLE, however, there were
- * design problems with that mode, so HarfBuzz do not
- * really use it anymore. If not sure, use MODE_READONLY.
+ * READONLY_MAY_MAKE_WRITABLE, however, using that mode
+ * correctly is very tricky. Use MODE_READONLY instead.
*/
typedef enum {
HB_MEMORY_MODE_DUPLICATE,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-json.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-json.hh
index dead700db82..dead700db82 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-json.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-json.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-json.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-json.rl
index 7351b2ab47c..7351b2ab47c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-json.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-json.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-text.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-text.hh
index a38efe3a415..a38efe3a415 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-text.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-text.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-text.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-text.rl
index 8856580fbe3..8856580fbe3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-deserialize-text.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-deserialize-text.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-private.hh
index 3a2b9ab4816..3a2b9ab4816 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-serialize.cc
index 263bc81dc46..263bc81dc46 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer-serialize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer.cc
index 76bb10c0c85..76bb10c0c85 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer.h
index 3086851b012..3086851b012 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-buffer.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-buffer.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-cache-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-cache-private.hh
index 19b70b7e395..19b70b7e395 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-cache-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-cache-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-common.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-common.cc
index 96725c4e137..96725c4e137 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-common.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-common.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-common.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-common.h
index c8bfd8825a2..c8bfd8825a2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-common.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-common.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-coretext.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-coretext.cc
index 570513667da..570513667da 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-coretext.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-coretext.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-coretext.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-coretext.h
index 837308f31bd..25267bc9784 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-coretext.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-coretext.h
@@ -30,7 +30,7 @@
#include "hb.h"
#include <TargetConditionals.h>
-#if defined(TARGET_OS_IPHONE)
+#if TARGET_OS_IPHONE
# include <CoreText/CoreText.h>
# include <CoreGraphics/CoreGraphics.h>
#else
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-deprecated.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-deprecated.h
index 30ae4b1caf7..30ae4b1caf7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-deprecated.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-deprecated.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-face-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-face-private.hh
index 6520d3dbdff..6520d3dbdff 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-face-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-face-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-face.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-face.cc
index 71cf49a5bc9..71cf49a5bc9 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-face.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-face.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-face.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-face.h
index f682c468de5..f682c468de5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-face.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-face.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-fallback-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-fallback-shape.cc
index ea54bb8e0f0..ea54bb8e0f0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-fallback-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-fallback-shape.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-font-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-font-private.hh
index 33bbf7143a2..33bbf7143a2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-font-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-font-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-font.cc
index fc4c8ebf077..fc4c8ebf077 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-font.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-font.h
index 7273db43eda..7273db43eda 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-font.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ft.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ft.cc
index 44e0b0bc2a5..44e0b0bc2a5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ft.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ft.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ft.h
index 696251e143f..696251e143f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ft.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ft.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-glib.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-glib.cc
index af43cab7113..af43cab7113 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-glib.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-glib.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-glib.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-glib.h
index 63a9d3366c5..63a9d3366c5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-glib.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-glib.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-enums.cc.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-enums.cc.tmpl
index ca458a3846c..ca458a3846c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-enums.cc.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-enums.cc.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-enums.h.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-enums.h.tmpl
index 6ecda06c2a6..6ecda06c2a6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-enums.h.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-enums.h.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-structs.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-structs.cc
index 2451b66291b..2451b66291b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-structs.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-structs.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-structs.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-structs.h
index 4a88d569e8d..4a88d569e8d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject-structs.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject-structs.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject.h
index ea1bd25df82..ea1bd25df82 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-gobject.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-gobject.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-graphite2.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-graphite2.cc
index a309ca853bc..a309ca853bc 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-graphite2.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-graphite2.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-graphite2.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-graphite2.h
index 3eae54acbd8..3eae54acbd8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-graphite2.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-graphite2.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-icu.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-icu.cc
index 86c8b5cc5a2..86c8b5cc5a2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-icu.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-icu.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-icu.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-icu.h
index f2f35f0f2ce..f2f35f0f2ce 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-icu.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-icu.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-mutex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-mutex-private.hh
index 0fb21c2e86e..0fb21c2e86e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-mutex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-mutex-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-object-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-object-private.hh
index 8a9ae34dbee..8a9ae34dbee 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-object-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-object-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-open-file-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-open-file-private.hh
index 250504ae20b..250504ae20b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-open-file-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-open-file-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-open-type-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-open-type-private.hh
index 5a01a81d39b..965d4d7adcb 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-open-type-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-open-type-private.hh
@@ -132,7 +132,7 @@ static inline Type& StructAfter(TObject &X)
/* Global nul-content Null pool. Enlarge as necessary. */
/* TODO This really should be a extern HB_INTERNAL and defined somewhere... */
-static const void *_NullPool[64 / sizeof (void *)];
+static const void *_NullPool[(256+8) / sizeof (void *)];
/* Generic nul-content Null objects. */
template <typename Type>
@@ -572,6 +572,7 @@ struct IntType
DEFINE_SIZE_STATIC (Size);
};
+typedef uint8_t BYTE; /* 8-bit unsigned integer. */
typedef IntType<uint16_t, 2> USHORT; /* 16-bit unsigned integer. */
typedef IntType<int16_t, 2> SHORT; /* 16-bit signed integer. */
typedef IntType<uint32_t, 4> ULONG; /* 32-bit unsigned integer. */
@@ -837,6 +838,16 @@ struct GenericArrayOf
return TRACE_RETURN (true);
}
+ template <typename SearchType>
+ inline int search (const SearchType &x) const
+ {
+ unsigned int count = len;
+ for (unsigned int i = 0; i < count; i++)
+ if (!this->array[i].cmp (x))
+ return i;
+ return -1;
+ }
+
private:
inline bool sanitize_shallow (hb_sanitize_context_t *c) {
TRACE_SANITIZE (this);
@@ -949,9 +960,9 @@ struct HeadlessArrayOf
/* An array with sorted elements. Supports binary searching. */
-template <typename Type>
-struct SortedArrayOf : ArrayOf<Type> {
-
+template <typename LenType, typename Type>
+struct GenericSortedArrayOf : GenericArrayOf<LenType, Type>
+{
template <typename SearchType>
inline int search (const SearchType &x) const
{
@@ -972,6 +983,10 @@ struct SortedArrayOf : ArrayOf<Type> {
}
};
+/* A sorted array with a USHORT number of elements. */
+template <typename Type>
+struct SortedArrayOf : GenericSortedArrayOf<USHORT, Type> {};
+
} /* namespace OT */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-font.cc
index 1a35057ab8d..c1fc49e147f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-font.cc
@@ -30,6 +30,7 @@
#include "hb-font-private.hh"
+#include "hb-ot-cmap-table.hh"
#include "hb-ot-hhea-table.hh"
#include "hb-ot-hmtx-table.hh"
@@ -41,6 +42,9 @@ struct hb_ot_font_t
unsigned int num_hmetrics;
const OT::hmtx *hmtx;
hb_blob_t *hmtx_blob;
+
+ const OT::CmapSubtable *cmap;
+ hb_blob_t *cmap_blob;
};
@@ -68,15 +72,30 @@ _hb_ot_font_create (hb_font_t *font)
free (ot_font);
return NULL;
}
-
ot_font->hmtx = OT::Sanitizer<OT::hmtx>::lock_instance (ot_font->hmtx_blob);
+ ot_font->cmap_blob = OT::Sanitizer<OT::cmap>::sanitize (font->face->reference_table (HB_OT_TAG_cmap));
+ const OT::cmap *cmap = OT::Sanitizer<OT::cmap>::lock_instance (ot_font->cmap_blob);
+ const OT::CmapSubtable *subtable = NULL;
+
+ /* 32-bit subtables. */
+ if (!subtable) subtable = cmap->find_subtable (0, 4);
+ if (!subtable) subtable = cmap->find_subtable (3, 10);
+ /* 16-bit subtables. */
+ if (!subtable) subtable = cmap->find_subtable (0, 3);
+ if (!subtable) subtable = cmap->find_subtable (3, 1);
+ /* Meh. */
+ if (!subtable) subtable = &OT::Null(OT::CmapSubtable);
+
+ ot_font->cmap = subtable;
+
return ot_font;
}
static void
_hb_ot_font_destroy (hb_ot_font_t *ot_font)
{
+ hb_blob_destroy (ot_font->cmap_blob);
hb_blob_destroy (ot_font->hmtx_blob);
free (ot_font);
@@ -92,24 +111,16 @@ hb_ot_get_glyph (hb_font_t *font HB_UNUSED,
void *user_data HB_UNUSED)
{
-#if 0
- FT_Face ft_face = (FT_Face) font_data;
+ const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data;
-#ifdef HAVE_FT_FACE_GETCHARVARIANTINDEX
- if (unlikely (variation_selector)) {
- *glyph = FT_Face_GetCharVariantIndex (ft_face, unicode, variation_selector);
- return *glyph != 0;
- }
-#endif
+ if (unlikely (variation_selector))
+ return false;
- *glyph = FT_Get_Char_Index (ft_face, unicode);
- return *glyph != 0;
-#endif
- return true;
+ return ot_font->cmap->get_glyph (unicode, glyph);
}
static hb_position_t
-hb_ot_get_glyph_h_advance (hb_font_t *font,
+hb_ot_get_glyph_h_advance (hb_font_t *font HB_UNUSED,
void *font_data,
hb_codepoint_t glyph,
void *user_data HB_UNUSED)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-font.h
index 7a8c04ac33d..7a8c04ac33d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-font.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-head-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-head-table.hh
index 0285f0cf310..0285f0cf310 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-head-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-head-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-hhea-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-hhea-table.hh
index f34bd26053a..f34bd26053a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-hhea-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-hhea-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-hmtx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-hmtx-table.hh
index e918e3b3f40..e918e3b3f40 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-hmtx-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-hmtx-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-common-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-common-private.hh
index 02d0d0f87c7..02d0d0f87c7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-common-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-common-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gdef-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gdef-table.hh
index 389cbb9e398..389cbb9e398 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gdef-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gdef-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gpos-table.hh
index 91e1f8b0019..91e1f8b0019 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gpos-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gpos-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gsub-table.hh
index 3a1a0ef3dd7..3a1a0ef3dd7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gsub-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gsub-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gsubgpos-private.hh
index cd27c05b007..cd27c05b007 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-gsubgpos-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-gsubgpos-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-jstf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-jstf-table.hh
index 79eb859566a..79eb859566a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-jstf-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-jstf-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-private.hh
index 4f03e1b0e00..4f03e1b0e00 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout.cc
index 183726e63cf..183726e63cf 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout.h
index d90eff374d7..d90eff374d7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-layout.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-layout.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-map-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-map-private.hh
index 74e2d9aca4c..74e2d9aca4c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-map-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-map-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-map.cc
index 559193c1bae..559193c1bae 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-map.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-map.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-maxp-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-maxp-table.hh
index e6d255579c6..e6d255579c6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-maxp-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-maxp-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-name-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-name-table.hh
index 07dc0565ca6..07dc0565ca6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-name-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-name-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-arabic-fallback.hh
index 6b2b87e3f28..6b2b87e3f28 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-arabic-fallback.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-arabic-fallback.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-arabic-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-arabic-table.hh
index 730a275bf0a..730a275bf0a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-arabic-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-arabic-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-arabic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-arabic.cc
index ea6d85c1e6c..ea6d85c1e6c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-arabic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-arabic.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-default.cc
index f7f097eedaa..f7f097eedaa 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-default.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-default.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-hangul.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-hangul.cc
index 47aa44fedba..47aa44fedba 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-hangul.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-hangul.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-hebrew.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-hebrew.cc
index 6bb6043f652..6bb6043f652 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-hebrew.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-hebrew.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-machine.hh
new file mode 100644
index 00000000000..5fbdcc8366e
--- /dev/null
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-machine.hh
@@ -0,0 +1,1732 @@
+
+#line 1 "../../src/hb-ot-shape-complex-indic-machine.rl"
+/*
+ * Copyright © 2011,2012 Google, Inc.
+ *
+ * This is part of HarfBuzz, a text shaping library.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ *
+ * Google Author(s): Behdad Esfahbod
+ */
+
+#ifndef HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
+#define HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH
+
+#include "hb-private.hh"
+
+
+#line 36 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
+static const unsigned char _indic_syllable_machine_trans_keys[] = {
+ 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
+ 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
+ 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
+ 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
+ 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u,
+ 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u,
+ 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u,
+ 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u,
+ 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
+ 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u,
+ 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 4u, 4u, 6u, 6u,
+ 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
+ 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
+ 4u, 14u, 4u, 14u, 4u, 14u, 1u, 16u, 13u, 13u, 5u, 7u, 5u, 7u, 7u, 7u,
+ 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
+ 7u, 7u, 4u, 4u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
+ 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 14u, 4u, 14u, 4u, 14u,
+ 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u, 4u, 14u,
+ 4u, 14u, 5u, 7u, 5u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 5u, 7u, 5u, 7u,
+ 7u, 7u, 5u, 7u, 5u, 7u, 7u, 7u, 1u, 16u, 13u, 13u, 4u, 4u, 6u, 6u,
+ 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u, 6u, 6u, 16u, 16u, 4u, 7u,
+ 6u, 6u, 16u, 16u, 1u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
+ 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
+ 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u,
+ 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
+ 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
+ 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
+ 6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 3u, 31u, 3u, 31u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
+ 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
+ 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u,
+ 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
+ 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
+ 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
+ 6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 4u, 14u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u,
+ 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u,
+ 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u, 5u, 10u,
+ 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u, 3u, 10u,
+ 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
+ 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 6u, 14u,
+ 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 4u, 14u, 3u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
+ 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u,
+ 3u, 31u, 4u, 31u, 1u, 16u, 3u, 31u, 3u, 31u, 4u, 31u, 5u, 14u, 8u, 14u,
+ 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 3u, 13u,
+ 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 3u, 14u, 3u, 14u, 4u, 14u, 5u, 14u,
+ 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u,
+ 6u, 14u, 3u, 14u, 1u, 16u, 4u, 31u, 4u, 14u, 3u, 31u, 3u, 31u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 1u, 16u, 3u, 31u, 3u, 31u, 1u, 16u, 1u, 16u, 1u, 16u, 1u, 16u,
+ 1u, 16u, 3u, 31u, 1u, 31u, 3u, 31u, 1u, 31u, 4u, 14u, 1u, 16u, 3u, 31u,
+ 3u, 31u, 4u, 31u, 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u,
+ 5u, 10u, 3u, 31u, 3u, 31u, 1u, 16u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u,
+ 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 5u, 14u, 3u, 14u, 4u, 14u, 8u, 14u,
+ 3u, 13u, 3u, 10u, 8u, 10u, 3u, 10u, 3u, 13u, 1u, 16u, 3u, 10u, 8u, 10u,
+ 5u, 10u, 9u, 10u, 9u, 9u, 9u, 10u, 9u, 10u, 9u, 9u, 5u, 10u, 0
+};
+
+static const char _indic_syllable_machine_key_spans[] = {
+ 16, 1, 3, 3, 1, 3, 3, 1,
+ 3, 3, 1, 3, 3, 1, 1, 1,
+ 1, 4, 1, 1, 4, 1, 1, 4,
+ 1, 1, 11, 11, 11, 11, 11, 11,
+ 11, 11, 11, 11, 16, 1, 3, 3,
+ 1, 3, 3, 1, 3, 3, 1, 3,
+ 3, 1, 1, 1, 1, 4, 1, 1,
+ 4, 1, 1, 4, 1, 1, 11, 11,
+ 11, 11, 11, 11, 11, 11, 11, 11,
+ 16, 1, 3, 3, 1, 3, 3, 1,
+ 3, 3, 1, 3, 3, 1, 1, 1,
+ 1, 4, 1, 1, 4, 1, 1, 4,
+ 1, 1, 11, 11, 11, 11, 11, 11,
+ 11, 11, 11, 16, 1, 3, 3, 1,
+ 3, 3, 1, 3, 3, 1, 3, 3,
+ 1, 1, 1, 1, 4, 1, 1, 4,
+ 1, 1, 4, 1, 1, 11, 11, 11,
+ 11, 11, 11, 11, 11, 11, 11, 11,
+ 11, 3, 3, 3, 3, 1, 3, 3,
+ 1, 3, 3, 1, 16, 1, 1, 1,
+ 1, 4, 1, 1, 4, 1, 1, 4,
+ 1, 1, 31, 29, 29, 28, 16, 29,
+ 29, 28, 16, 29, 29, 28, 16, 29,
+ 29, 28, 16, 29, 29, 28, 10, 7,
+ 6, 2, 1, 2, 2, 1, 6, 11,
+ 8, 3, 8, 11, 12, 12, 11, 10,
+ 12, 11, 10, 12, 11, 10, 12, 11,
+ 9, 12, 16, 28, 11, 29, 29, 16,
+ 16, 16, 16, 16, 29, 29, 16, 16,
+ 16, 16, 16, 29, 29, 16, 16, 16,
+ 16, 16, 29, 29, 16, 16, 16, 16,
+ 16, 29, 29, 29, 29, 28, 16, 29,
+ 29, 28, 16, 29, 29, 28, 16, 29,
+ 29, 28, 16, 29, 29, 28, 10, 7,
+ 6, 2, 1, 2, 2, 1, 6, 11,
+ 8, 3, 8, 11, 12, 12, 11, 10,
+ 12, 11, 10, 12, 11, 10, 12, 11,
+ 9, 12, 16, 28, 11, 29, 29, 16,
+ 16, 16, 16, 16, 29, 29, 16, 16,
+ 16, 16, 16, 29, 29, 16, 16, 16,
+ 16, 16, 29, 29, 16, 16, 16, 16,
+ 11, 16, 29, 29, 28, 16, 29, 29,
+ 28, 16, 29, 29, 28, 16, 29, 29,
+ 28, 16, 29, 29, 28, 10, 7, 6,
+ 2, 1, 2, 2, 1, 6, 11, 8,
+ 3, 8, 11, 12, 12, 11, 10, 12,
+ 11, 10, 12, 11, 10, 12, 11, 9,
+ 12, 16, 28, 11, 29, 29, 16, 16,
+ 16, 16, 16, 29, 29, 16, 16, 16,
+ 16, 16, 29, 29, 16, 16, 16, 16,
+ 16, 29, 29, 16, 16, 16, 16, 16,
+ 11, 29, 11, 29, 29, 28, 16, 29,
+ 29, 28, 16, 29, 29, 28, 16, 29,
+ 29, 28, 16, 29, 29, 28, 10, 7,
+ 6, 2, 1, 2, 2, 1, 6, 11,
+ 8, 3, 8, 11, 12, 12, 11, 10,
+ 12, 11, 10, 12, 11, 10, 12, 11,
+ 9, 12, 16, 28, 11, 29, 29, 16,
+ 16, 16, 16, 16, 29, 29, 16, 16,
+ 16, 16, 16, 29, 29, 16, 16, 16,
+ 16, 16, 29, 29, 16, 16, 16, 16,
+ 16, 29, 31, 29, 31, 11, 16, 29,
+ 29, 28, 6, 2, 1, 2, 2, 1,
+ 6, 29, 29, 16, 12, 11, 10, 12,
+ 11, 10, 12, 11, 10, 12, 11, 7,
+ 11, 8, 3, 8, 11, 16, 8, 3,
+ 6, 2, 1, 2, 2, 1, 6
+};
+
+static const short _indic_syllable_machine_index_offsets[] = {
+ 0, 17, 19, 23, 27, 29, 33, 37,
+ 39, 43, 47, 49, 53, 57, 59, 61,
+ 63, 65, 70, 72, 74, 79, 81, 83,
+ 88, 90, 92, 104, 116, 128, 140, 152,
+ 164, 176, 188, 200, 212, 229, 231, 235,
+ 239, 241, 245, 249, 251, 255, 259, 261,
+ 265, 269, 271, 273, 275, 277, 282, 284,
+ 286, 291, 293, 295, 300, 302, 304, 316,
+ 328, 340, 352, 364, 376, 388, 400, 412,
+ 424, 441, 443, 447, 451, 453, 457, 461,
+ 463, 467, 471, 473, 477, 481, 483, 485,
+ 487, 489, 494, 496, 498, 503, 505, 507,
+ 512, 514, 516, 528, 540, 552, 564, 576,
+ 588, 600, 612, 624, 641, 643, 647, 651,
+ 653, 657, 661, 663, 667, 671, 673, 677,
+ 681, 683, 685, 687, 689, 694, 696, 698,
+ 703, 705, 707, 712, 714, 716, 728, 740,
+ 752, 764, 776, 788, 800, 812, 824, 836,
+ 848, 860, 864, 868, 872, 876, 878, 882,
+ 886, 888, 892, 896, 898, 915, 917, 919,
+ 921, 923, 928, 930, 932, 937, 939, 941,
+ 946, 948, 950, 982, 1012, 1042, 1071, 1088,
+ 1118, 1148, 1177, 1194, 1224, 1254, 1283, 1300,
+ 1330, 1360, 1389, 1406, 1436, 1466, 1495, 1506,
+ 1514, 1521, 1524, 1526, 1529, 1532, 1534, 1541,
+ 1553, 1562, 1566, 1575, 1587, 1600, 1613, 1625,
+ 1636, 1649, 1661, 1672, 1685, 1697, 1708, 1721,
+ 1733, 1743, 1756, 1773, 1802, 1814, 1844, 1874,
+ 1891, 1908, 1925, 1942, 1959, 1989, 2019, 2036,
+ 2053, 2070, 2087, 2104, 2134, 2164, 2181, 2198,
+ 2215, 2232, 2249, 2279, 2309, 2326, 2343, 2360,
+ 2377, 2394, 2424, 2454, 2484, 2514, 2543, 2560,
+ 2590, 2620, 2649, 2666, 2696, 2726, 2755, 2772,
+ 2802, 2832, 2861, 2878, 2908, 2938, 2967, 2978,
+ 2986, 2993, 2996, 2998, 3001, 3004, 3006, 3013,
+ 3025, 3034, 3038, 3047, 3059, 3072, 3085, 3097,
+ 3108, 3121, 3133, 3144, 3157, 3169, 3180, 3193,
+ 3205, 3215, 3228, 3245, 3274, 3286, 3316, 3346,
+ 3363, 3380, 3397, 3414, 3431, 3461, 3491, 3508,
+ 3525, 3542, 3559, 3576, 3606, 3636, 3653, 3670,
+ 3687, 3704, 3721, 3751, 3781, 3798, 3815, 3832,
+ 3849, 3861, 3878, 3908, 3938, 3967, 3984, 4014,
+ 4044, 4073, 4090, 4120, 4150, 4179, 4196, 4226,
+ 4256, 4285, 4302, 4332, 4362, 4391, 4402, 4410,
+ 4417, 4420, 4422, 4425, 4428, 4430, 4437, 4449,
+ 4458, 4462, 4471, 4483, 4496, 4509, 4521, 4532,
+ 4545, 4557, 4568, 4581, 4593, 4604, 4617, 4629,
+ 4639, 4652, 4669, 4698, 4710, 4740, 4770, 4787,
+ 4804, 4821, 4838, 4855, 4885, 4915, 4932, 4949,
+ 4966, 4983, 5000, 5030, 5060, 5077, 5094, 5111,
+ 5128, 5145, 5175, 5205, 5222, 5239, 5256, 5273,
+ 5290, 5302, 5332, 5344, 5374, 5404, 5433, 5450,
+ 5480, 5510, 5539, 5556, 5586, 5616, 5645, 5662,
+ 5692, 5722, 5751, 5768, 5798, 5828, 5857, 5868,
+ 5876, 5883, 5886, 5888, 5891, 5894, 5896, 5903,
+ 5915, 5924, 5928, 5937, 5949, 5962, 5975, 5987,
+ 5998, 6011, 6023, 6034, 6047, 6059, 6070, 6083,
+ 6095, 6105, 6118, 6135, 6164, 6176, 6206, 6236,
+ 6253, 6270, 6287, 6304, 6321, 6351, 6381, 6398,
+ 6415, 6432, 6449, 6466, 6496, 6526, 6543, 6560,
+ 6577, 6594, 6611, 6641, 6671, 6688, 6705, 6722,
+ 6739, 6756, 6786, 6818, 6848, 6880, 6892, 6909,
+ 6939, 6969, 6998, 7005, 7008, 7010, 7013, 7016,
+ 7018, 7025, 7055, 7085, 7102, 7115, 7127, 7138,
+ 7151, 7163, 7174, 7187, 7199, 7210, 7223, 7235,
+ 7243, 7255, 7264, 7268, 7277, 7289, 7306, 7315,
+ 7319, 7326, 7329, 7331, 7334, 7337, 7339
+};
+
+static const short _indic_syllable_machine_indicies[] = {
+ 1, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1,
+ 0, 3, 0, 4, 4, 5, 0, 6,
+ 6, 5, 0, 5, 0, 7, 7, 8,
+ 0, 9, 9, 8, 0, 8, 0, 10,
+ 10, 11, 0, 12, 12, 11, 0, 11,
+ 0, 13, 13, 14, 0, 15, 15, 14,
+ 0, 14, 0, 16, 0, 17, 0, 18,
+ 0, 19, 13, 13, 14, 0, 20, 0,
+ 21, 0, 22, 10, 10, 11, 0, 23,
+ 0, 24, 0, 25, 7, 7, 8, 0,
+ 26, 0, 27, 0, 28, 4, 4, 5,
+ 0, 0, 0, 0, 0, 0, 28, 0,
+ 28, 4, 4, 5, 0, 0, 0, 0,
+ 0, 29, 28, 0, 30, 4, 4, 5,
+ 0, 0, 0, 0, 0, 0, 30, 0,
+ 30, 4, 4, 5, 0, 0, 0, 0,
+ 0, 31, 30, 0, 32, 4, 4, 5,
+ 0, 0, 0, 0, 0, 0, 32, 0,
+ 32, 4, 4, 5, 0, 0, 0, 0,
+ 0, 33, 32, 0, 34, 4, 4, 5,
+ 0, 0, 0, 0, 0, 0, 34, 0,
+ 34, 4, 4, 5, 0, 0, 0, 0,
+ 0, 35, 34, 0, 36, 4, 4, 5,
+ 0, 0, 0, 0, 0, 0, 36, 0,
+ 36, 4, 4, 5, 0, 0, 0, 0,
+ 0, 37, 36, 0, 39, 40, 38, 38,
+ 38, 38, 38, 38, 38, 38, 38, 38,
+ 38, 38, 38, 39, 38, 41, 38, 42,
+ 42, 43, 38, 44, 44, 43, 38, 43,
+ 38, 45, 45, 46, 38, 47, 47, 46,
+ 38, 46, 38, 48, 48, 49, 38, 50,
+ 50, 49, 38, 49, 38, 51, 51, 52,
+ 38, 53, 53, 52, 38, 52, 38, 54,
+ 38, 55, 38, 56, 38, 57, 51, 51,
+ 52, 38, 58, 38, 59, 38, 60, 48,
+ 48, 49, 38, 61, 38, 62, 38, 63,
+ 45, 45, 46, 38, 64, 38, 65, 38,
+ 66, 42, 42, 43, 38, 38, 38, 38,
+ 38, 38, 66, 38, 66, 42, 42, 43,
+ 38, 38, 38, 38, 38, 67, 66, 38,
+ 68, 42, 42, 43, 38, 38, 38, 38,
+ 38, 38, 68, 38, 68, 42, 42, 43,
+ 38, 38, 38, 38, 38, 69, 68, 38,
+ 70, 42, 42, 43, 38, 38, 38, 38,
+ 38, 38, 70, 38, 70, 42, 42, 43,
+ 38, 38, 38, 38, 38, 71, 70, 38,
+ 72, 42, 42, 43, 38, 38, 38, 38,
+ 38, 38, 72, 38, 72, 42, 42, 43,
+ 38, 38, 38, 38, 38, 73, 72, 38,
+ 74, 42, 42, 43, 38, 38, 38, 38,
+ 38, 38, 74, 38, 74, 42, 42, 43,
+ 38, 38, 38, 38, 38, 75, 74, 38,
+ 77, 78, 76, 76, 76, 76, 76, 76,
+ 76, 76, 76, 76, 76, 76, 76, 77,
+ 76, 79, 76, 80, 80, 81, 76, 83,
+ 83, 81, 82, 81, 82, 84, 84, 85,
+ 76, 86, 86, 85, 76, 85, 76, 87,
+ 87, 88, 76, 89, 89, 88, 76, 88,
+ 76, 90, 90, 91, 76, 92, 92, 91,
+ 76, 91, 76, 93, 76, 94, 76, 95,
+ 76, 96, 90, 90, 91, 76, 97, 76,
+ 98, 76, 99, 87, 87, 88, 76, 100,
+ 76, 101, 76, 102, 84, 84, 85, 76,
+ 103, 76, 104, 76, 105, 80, 80, 81,
+ 76, 76, 76, 76, 76, 76, 105, 76,
+ 105, 80, 80, 81, 76, 76, 76, 76,
+ 76, 106, 105, 76, 107, 80, 80, 81,
+ 76, 76, 76, 76, 76, 76, 107, 76,
+ 107, 80, 80, 81, 76, 76, 76, 76,
+ 76, 108, 107, 76, 109, 80, 80, 81,
+ 76, 76, 76, 76, 76, 76, 109, 76,
+ 109, 80, 80, 81, 76, 76, 76, 76,
+ 76, 110, 109, 76, 111, 80, 80, 81,
+ 82, 82, 82, 82, 82, 82, 111, 82,
+ 111, 80, 80, 81, 76, 76, 76, 76,
+ 76, 112, 111, 76, 113, 80, 80, 81,
+ 76, 76, 76, 76, 76, 76, 113, 76,
+ 115, 116, 114, 114, 114, 114, 114, 114,
+ 114, 114, 114, 114, 114, 114, 114, 115,
+ 114, 117, 114, 118, 118, 119, 114, 120,
+ 120, 119, 114, 119, 114, 121, 121, 122,
+ 114, 123, 123, 122, 114, 122, 114, 124,
+ 124, 125, 114, 126, 126, 125, 114, 125,
+ 114, 127, 127, 128, 114, 129, 129, 128,
+ 114, 128, 114, 130, 114, 131, 114, 132,
+ 114, 133, 127, 127, 128, 114, 134, 114,
+ 135, 114, 136, 124, 124, 125, 114, 137,
+ 114, 138, 114, 139, 121, 121, 122, 114,
+ 140, 114, 141, 114, 142, 118, 118, 119,
+ 114, 114, 114, 114, 114, 114, 142, 114,
+ 142, 118, 118, 119, 114, 114, 114, 114,
+ 114, 143, 142, 114, 144, 118, 118, 119,
+ 114, 114, 114, 114, 114, 114, 144, 114,
+ 144, 118, 118, 119, 114, 114, 114, 114,
+ 114, 145, 144, 114, 146, 118, 118, 119,
+ 114, 114, 114, 114, 114, 114, 146, 114,
+ 146, 118, 118, 119, 114, 114, 114, 114,
+ 114, 147, 146, 114, 148, 118, 118, 119,
+ 114, 114, 114, 114, 114, 114, 148, 114,
+ 148, 118, 118, 119, 114, 114, 114, 114,
+ 114, 149, 148, 114, 150, 118, 118, 119,
+ 114, 114, 114, 114, 114, 114, 150, 114,
+ 150, 118, 118, 119, 114, 114, 114, 114,
+ 114, 151, 150, 114, 113, 80, 80, 81,
+ 76, 76, 76, 76, 76, 152, 113, 76,
+ 111, 80, 80, 81, 0, 0, 0, 0,
+ 0, 153, 111, 0, 154, 154, 155, 0,
+ 6, 6, 155, 0, 156, 156, 157, 0,
+ 158, 158, 157, 0, 157, 0, 159, 159,
+ 160, 0, 161, 161, 160, 0, 160, 0,
+ 162, 162, 163, 0, 164, 164, 163, 0,
+ 163, 0, 165, 166, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 165, 0, 167, 0, 168, 0, 169,
+ 0, 170, 0, 171, 162, 162, 163, 0,
+ 172, 0, 173, 0, 174, 159, 159, 160,
+ 0, 175, 0, 176, 0, 177, 156, 156,
+ 157, 0, 178, 0, 179, 0, 181, 182,
+ 183, 184, 185, 186, 81, 187, 188, 189,
+ 190, 190, 152, 191, 192, 193, 194, 195,
+ 180, 180, 180, 180, 180, 180, 180, 180,
+ 180, 180, 180, 180, 196, 180, 198, 199,
+ 200, 201, 5, 202, 203, 204, 197, 197,
+ 37, 205, 197, 197, 206, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 207, 197, 208, 199, 209, 209,
+ 5, 202, 203, 204, 197, 197, 197, 205,
+ 197, 197, 206, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 207, 197, 199, 209, 209, 5, 202, 203,
+ 204, 197, 197, 197, 205, 197, 197, 206,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 207, 197, 210,
+ 197, 197, 197, 18, 211, 197, 202, 203,
+ 204, 197, 197, 197, 212, 197, 210, 197,
+ 213, 214, 215, 216, 5, 202, 203, 204,
+ 197, 197, 35, 217, 197, 197, 206, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 207, 197, 218, 214,
+ 219, 219, 5, 202, 203, 204, 197, 197,
+ 197, 217, 197, 197, 206, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 207, 197, 214, 219, 219, 5,
+ 202, 203, 204, 197, 197, 197, 217, 197,
+ 197, 206, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 207,
+ 197, 220, 197, 197, 197, 18, 221, 197,
+ 202, 203, 204, 197, 197, 197, 212, 197,
+ 220, 197, 222, 223, 224, 225, 5, 202,
+ 203, 204, 197, 197, 33, 226, 197, 197,
+ 206, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 207, 197,
+ 227, 223, 228, 228, 5, 202, 203, 204,
+ 197, 197, 197, 226, 197, 197, 206, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 207, 197, 223, 228,
+ 228, 5, 202, 203, 204, 197, 197, 197,
+ 226, 197, 197, 206, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 207, 197, 229, 197, 197, 197, 18,
+ 230, 197, 202, 203, 204, 197, 197, 197,
+ 212, 197, 229, 197, 231, 232, 233, 234,
+ 5, 202, 203, 204, 197, 197, 31, 235,
+ 197, 197, 206, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 207, 197, 236, 232, 237, 237, 5, 202,
+ 203, 204, 197, 197, 197, 235, 197, 197,
+ 206, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 207, 197,
+ 232, 237, 237, 5, 202, 203, 204, 197,
+ 197, 197, 235, 197, 197, 206, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 207, 197, 238, 197, 197,
+ 197, 18, 239, 197, 202, 203, 204, 197,
+ 197, 197, 212, 197, 238, 197, 240, 241,
+ 242, 243, 5, 202, 203, 204, 197, 197,
+ 29, 244, 197, 197, 206, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 207, 197, 245, 241, 246, 246,
+ 5, 202, 203, 204, 197, 197, 197, 244,
+ 197, 197, 206, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 207, 197, 241, 246, 246, 5, 202, 203,
+ 204, 197, 197, 197, 244, 197, 197, 206,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 207, 197, 18,
+ 247, 197, 202, 203, 204, 197, 197, 197,
+ 212, 197, 202, 203, 204, 197, 197, 197,
+ 212, 197, 248, 197, 197, 249, 203, 204,
+ 197, 203, 204, 197, 250, 197, 203, 251,
+ 197, 203, 252, 197, 203, 197, 248, 197,
+ 197, 197, 203, 204, 197, 253, 197, 254,
+ 255, 197, 202, 203, 204, 197, 197, 3,
+ 197, 2, 197, 197, 197, 197, 202, 203,
+ 204, 197, 202, 203, 204, 197, 253, 197,
+ 197, 197, 197, 202, 203, 204, 197, 253,
+ 197, 254, 197, 197, 202, 203, 204, 197,
+ 197, 3, 197, 18, 197, 256, 256, 5,
+ 202, 203, 204, 197, 197, 197, 212, 197,
+ 257, 27, 258, 259, 8, 202, 203, 204,
+ 197, 197, 197, 212, 197, 27, 258, 259,
+ 8, 202, 203, 204, 197, 197, 197, 212,
+ 197, 258, 258, 8, 202, 203, 204, 197,
+ 197, 197, 212, 197, 260, 24, 261, 262,
+ 11, 202, 203, 204, 197, 197, 197, 212,
+ 197, 24, 261, 262, 11, 202, 203, 204,
+ 197, 197, 197, 212, 197, 261, 261, 11,
+ 202, 203, 204, 197, 197, 197, 212, 197,
+ 263, 21, 264, 265, 14, 202, 203, 204,
+ 197, 197, 197, 212, 197, 21, 264, 265,
+ 14, 202, 203, 204, 197, 197, 197, 212,
+ 197, 264, 264, 14, 202, 203, 204, 197,
+ 197, 197, 212, 197, 266, 18, 197, 267,
+ 197, 202, 203, 204, 197, 197, 197, 212,
+ 197, 18, 197, 267, 197, 202, 203, 204,
+ 197, 197, 197, 212, 197, 268, 197, 202,
+ 203, 204, 197, 197, 197, 212, 197, 18,
+ 197, 197, 197, 197, 202, 203, 204, 197,
+ 197, 197, 212, 197, 1, 2, 197, 197,
+ 18, 247, 197, 202, 203, 204, 197, 197,
+ 197, 212, 197, 1, 197, 241, 246, 246,
+ 5, 202, 203, 204, 197, 197, 197, 244,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 207, 197, 241, 246, 246, 5, 202, 203,
+ 204, 197, 197, 197, 244, 197, 240, 241,
+ 246, 246, 5, 202, 203, 204, 197, 197,
+ 197, 244, 197, 197, 206, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 207, 197, 240, 241, 242, 246,
+ 5, 202, 203, 204, 197, 197, 29, 244,
+ 197, 197, 206, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 207, 197, 238, 197, 269, 197, 256, 256,
+ 5, 202, 203, 204, 197, 197, 197, 212,
+ 197, 238, 197, 238, 197, 197, 197, 197,
+ 197, 197, 202, 203, 204, 197, 197, 197,
+ 212, 197, 238, 197, 238, 197, 197, 197,
+ 197, 270, 197, 202, 203, 204, 197, 197,
+ 197, 212, 197, 238, 197, 238, 197, 269,
+ 197, 197, 197, 197, 202, 203, 204, 197,
+ 197, 197, 212, 197, 238, 197, 238, 2,
+ 197, 197, 18, 239, 197, 202, 203, 204,
+ 197, 197, 197, 212, 197, 238, 197, 231,
+ 232, 237, 237, 5, 202, 203, 204, 197,
+ 197, 197, 235, 197, 197, 206, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 207, 197, 231, 232, 233,
+ 237, 5, 202, 203, 204, 197, 197, 31,
+ 235, 197, 197, 206, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 207, 197, 229, 197, 271, 197, 256,
+ 256, 5, 202, 203, 204, 197, 197, 197,
+ 212, 197, 229, 197, 229, 197, 197, 197,
+ 197, 197, 197, 202, 203, 204, 197, 197,
+ 197, 212, 197, 229, 197, 229, 197, 197,
+ 197, 197, 272, 197, 202, 203, 204, 197,
+ 197, 197, 212, 197, 229, 197, 229, 197,
+ 271, 197, 197, 197, 197, 202, 203, 204,
+ 197, 197, 197, 212, 197, 229, 197, 229,
+ 2, 197, 197, 18, 230, 197, 202, 203,
+ 204, 197, 197, 197, 212, 197, 229, 197,
+ 222, 223, 228, 228, 5, 202, 203, 204,
+ 197, 197, 197, 226, 197, 197, 206, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 207, 197, 222, 223,
+ 224, 228, 5, 202, 203, 204, 197, 197,
+ 33, 226, 197, 197, 206, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 207, 197, 220, 197, 273, 197,
+ 256, 256, 5, 202, 203, 204, 197, 197,
+ 197, 212, 197, 220, 197, 220, 197, 197,
+ 197, 197, 197, 197, 202, 203, 204, 197,
+ 197, 197, 212, 197, 220, 197, 220, 197,
+ 197, 197, 197, 274, 197, 202, 203, 204,
+ 197, 197, 197, 212, 197, 220, 197, 220,
+ 197, 273, 197, 197, 197, 197, 202, 203,
+ 204, 197, 197, 197, 212, 197, 220, 197,
+ 220, 2, 197, 197, 18, 221, 197, 202,
+ 203, 204, 197, 197, 197, 212, 197, 220,
+ 197, 213, 214, 219, 219, 5, 202, 203,
+ 204, 197, 197, 197, 217, 197, 197, 206,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 207, 197, 213,
+ 214, 215, 219, 5, 202, 203, 204, 197,
+ 197, 35, 217, 197, 197, 206, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 207, 197, 210, 197, 275,
+ 197, 256, 256, 5, 202, 203, 204, 197,
+ 197, 197, 212, 197, 210, 197, 210, 197,
+ 197, 197, 197, 197, 197, 202, 203, 204,
+ 197, 197, 197, 212, 197, 210, 197, 210,
+ 197, 197, 197, 197, 276, 197, 202, 203,
+ 204, 197, 197, 197, 212, 197, 210, 197,
+ 210, 197, 275, 197, 197, 197, 197, 202,
+ 203, 204, 197, 197, 197, 212, 197, 210,
+ 197, 210, 2, 197, 197, 18, 211, 197,
+ 202, 203, 204, 197, 197, 197, 212, 197,
+ 210, 197, 198, 199, 209, 209, 5, 202,
+ 203, 204, 197, 197, 197, 205, 197, 197,
+ 206, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 207, 197,
+ 198, 199, 200, 209, 5, 202, 203, 204,
+ 197, 197, 37, 205, 197, 197, 206, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 207, 197, 278, 279,
+ 280, 281, 43, 282, 283, 284, 277, 277,
+ 75, 285, 277, 277, 286, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 287, 277, 288, 279, 289, 281,
+ 43, 282, 283, 284, 277, 277, 277, 285,
+ 277, 277, 286, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 287, 277, 279, 289, 281, 43, 282, 283,
+ 284, 277, 277, 277, 285, 277, 277, 286,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 287, 277, 290,
+ 277, 277, 277, 56, 291, 277, 282, 283,
+ 284, 277, 277, 277, 292, 277, 290, 277,
+ 293, 294, 295, 296, 43, 282, 283, 284,
+ 277, 277, 73, 297, 277, 277, 286, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 287, 277, 298, 294,
+ 299, 299, 43, 282, 283, 284, 277, 277,
+ 277, 297, 277, 277, 286, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 287, 277, 294, 299, 299, 43,
+ 282, 283, 284, 277, 277, 277, 297, 277,
+ 277, 286, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 287,
+ 277, 300, 277, 277, 277, 56, 301, 277,
+ 282, 283, 284, 277, 277, 277, 292, 277,
+ 300, 277, 302, 303, 304, 305, 43, 282,
+ 283, 284, 277, 277, 71, 306, 277, 277,
+ 286, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 287, 277,
+ 307, 303, 308, 308, 43, 282, 283, 284,
+ 277, 277, 277, 306, 277, 277, 286, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 287, 277, 303, 308,
+ 308, 43, 282, 283, 284, 277, 277, 277,
+ 306, 277, 277, 286, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 287, 277, 309, 277, 277, 277, 56,
+ 310, 277, 282, 283, 284, 277, 277, 277,
+ 292, 277, 309, 277, 311, 312, 313, 314,
+ 43, 282, 283, 284, 277, 277, 69, 315,
+ 277, 277, 286, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 287, 277, 316, 312, 317, 317, 43, 282,
+ 283, 284, 277, 277, 277, 315, 277, 277,
+ 286, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 287, 277,
+ 312, 317, 317, 43, 282, 283, 284, 277,
+ 277, 277, 315, 277, 277, 286, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 287, 277, 318, 277, 277,
+ 277, 56, 319, 277, 282, 283, 284, 277,
+ 277, 277, 292, 277, 318, 277, 320, 321,
+ 322, 323, 43, 282, 283, 284, 277, 277,
+ 67, 324, 277, 277, 286, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 287, 277, 325, 321, 326, 326,
+ 43, 282, 283, 284, 277, 277, 277, 324,
+ 277, 277, 286, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 287, 277, 321, 326, 326, 43, 282, 283,
+ 284, 277, 277, 277, 324, 277, 277, 286,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 287, 277, 56,
+ 327, 277, 282, 283, 284, 277, 277, 277,
+ 292, 277, 282, 283, 284, 277, 277, 277,
+ 292, 277, 328, 277, 277, 329, 283, 284,
+ 277, 283, 284, 277, 330, 277, 283, 331,
+ 277, 283, 332, 277, 283, 277, 328, 277,
+ 277, 277, 283, 284, 277, 333, 277, 334,
+ 335, 277, 282, 283, 284, 277, 277, 41,
+ 277, 40, 277, 277, 277, 277, 282, 283,
+ 284, 277, 282, 283, 284, 277, 333, 277,
+ 277, 277, 277, 282, 283, 284, 277, 333,
+ 277, 334, 277, 277, 282, 283, 284, 277,
+ 277, 41, 277, 56, 277, 336, 336, 43,
+ 282, 283, 284, 277, 277, 277, 292, 277,
+ 337, 65, 338, 339, 46, 282, 283, 284,
+ 277, 277, 277, 292, 277, 65, 338, 339,
+ 46, 282, 283, 284, 277, 277, 277, 292,
+ 277, 338, 338, 46, 282, 283, 284, 277,
+ 277, 277, 292, 277, 340, 62, 341, 342,
+ 49, 282, 283, 284, 277, 277, 277, 292,
+ 277, 62, 341, 342, 49, 282, 283, 284,
+ 277, 277, 277, 292, 277, 341, 341, 49,
+ 282, 283, 284, 277, 277, 277, 292, 277,
+ 343, 59, 344, 345, 52, 282, 283, 284,
+ 277, 277, 277, 292, 277, 59, 344, 345,
+ 52, 282, 283, 284, 277, 277, 277, 292,
+ 277, 344, 344, 52, 282, 283, 284, 277,
+ 277, 277, 292, 277, 346, 56, 277, 347,
+ 277, 282, 283, 284, 277, 277, 277, 292,
+ 277, 56, 277, 347, 277, 282, 283, 284,
+ 277, 277, 277, 292, 277, 348, 277, 282,
+ 283, 284, 277, 277, 277, 292, 277, 56,
+ 277, 277, 277, 277, 282, 283, 284, 277,
+ 277, 277, 292, 277, 39, 40, 277, 277,
+ 56, 327, 277, 282, 283, 284, 277, 277,
+ 277, 292, 277, 39, 277, 321, 326, 326,
+ 43, 282, 283, 284, 277, 277, 277, 324,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 287, 277, 321, 326, 326, 43, 282, 283,
+ 284, 277, 277, 277, 324, 277, 320, 321,
+ 326, 326, 43, 282, 283, 284, 277, 277,
+ 277, 324, 277, 277, 286, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 287, 277, 320, 321, 322, 326,
+ 43, 282, 283, 284, 277, 277, 67, 324,
+ 277, 277, 286, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 287, 277, 318, 277, 349, 277, 336, 336,
+ 43, 282, 283, 284, 277, 277, 277, 292,
+ 277, 318, 277, 318, 277, 277, 277, 277,
+ 277, 277, 282, 283, 284, 277, 277, 277,
+ 292, 277, 318, 277, 318, 277, 277, 277,
+ 277, 350, 277, 282, 283, 284, 277, 277,
+ 277, 292, 277, 318, 277, 318, 277, 349,
+ 277, 277, 277, 277, 282, 283, 284, 277,
+ 277, 277, 292, 277, 318, 277, 318, 40,
+ 277, 277, 56, 319, 277, 282, 283, 284,
+ 277, 277, 277, 292, 277, 318, 277, 311,
+ 312, 317, 317, 43, 282, 283, 284, 277,
+ 277, 277, 315, 277, 277, 286, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 287, 277, 311, 312, 313,
+ 317, 43, 282, 283, 284, 277, 277, 69,
+ 315, 277, 277, 286, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 287, 277, 309, 277, 351, 277, 336,
+ 336, 43, 282, 283, 284, 277, 277, 277,
+ 292, 277, 309, 277, 309, 277, 277, 277,
+ 277, 277, 277, 282, 283, 284, 277, 277,
+ 277, 292, 277, 309, 277, 309, 277, 277,
+ 277, 277, 352, 277, 282, 283, 284, 277,
+ 277, 277, 292, 277, 309, 277, 309, 277,
+ 351, 277, 277, 277, 277, 282, 283, 284,
+ 277, 277, 277, 292, 277, 309, 277, 309,
+ 40, 277, 277, 56, 310, 277, 282, 283,
+ 284, 277, 277, 277, 292, 277, 309, 277,
+ 302, 303, 308, 308, 43, 282, 283, 284,
+ 277, 277, 277, 306, 277, 277, 286, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 287, 277, 302, 303,
+ 304, 308, 43, 282, 283, 284, 277, 277,
+ 71, 306, 277, 277, 286, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 287, 277, 300, 277, 353, 277,
+ 336, 336, 43, 282, 283, 284, 277, 277,
+ 277, 292, 277, 300, 277, 300, 277, 277,
+ 277, 277, 277, 277, 282, 283, 284, 277,
+ 277, 277, 292, 277, 300, 277, 300, 277,
+ 277, 277, 277, 354, 277, 282, 283, 284,
+ 277, 277, 277, 292, 277, 300, 277, 300,
+ 277, 353, 277, 277, 277, 277, 282, 283,
+ 284, 277, 277, 277, 292, 277, 300, 277,
+ 300, 40, 277, 277, 56, 301, 277, 282,
+ 283, 284, 277, 277, 277, 292, 277, 300,
+ 277, 293, 294, 299, 299, 43, 282, 283,
+ 284, 277, 277, 277, 297, 277, 277, 286,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 287, 277, 293,
+ 294, 295, 299, 43, 282, 283, 284, 277,
+ 277, 73, 297, 277, 277, 286, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 287, 277, 290, 277, 355,
+ 277, 336, 336, 43, 282, 283, 284, 277,
+ 277, 277, 292, 277, 290, 277, 290, 277,
+ 277, 277, 277, 277, 277, 282, 283, 284,
+ 277, 277, 277, 292, 277, 290, 277, 290,
+ 277, 277, 277, 277, 356, 277, 282, 283,
+ 284, 277, 277, 277, 292, 277, 290, 277,
+ 290, 277, 355, 277, 277, 277, 277, 282,
+ 283, 284, 277, 277, 277, 292, 277, 290,
+ 277, 74, 42, 42, 43, 277, 277, 277,
+ 277, 277, 277, 74, 277, 290, 40, 277,
+ 277, 56, 291, 277, 282, 283, 284, 277,
+ 277, 277, 292, 277, 290, 277, 278, 279,
+ 289, 281, 43, 282, 283, 284, 277, 277,
+ 277, 285, 277, 277, 286, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 287, 277, 358, 184, 359, 359,
+ 81, 187, 188, 189, 357, 357, 357, 191,
+ 357, 357, 194, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 196, 357, 184, 359, 359, 81, 187, 188,
+ 189, 357, 357, 357, 191, 357, 357, 194,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 196, 357, 360,
+ 357, 357, 357, 95, 361, 357, 187, 188,
+ 189, 357, 357, 357, 362, 357, 360, 357,
+ 363, 364, 365, 366, 81, 187, 188, 189,
+ 357, 357, 112, 367, 357, 357, 194, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 196, 357, 368, 364,
+ 369, 369, 81, 187, 188, 189, 357, 357,
+ 357, 367, 357, 357, 194, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 196, 357, 364, 369, 369, 81,
+ 187, 188, 189, 357, 357, 357, 367, 357,
+ 357, 194, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 196,
+ 357, 370, 357, 357, 357, 95, 371, 357,
+ 187, 188, 189, 357, 357, 357, 362, 357,
+ 370, 357, 372, 373, 374, 375, 81, 187,
+ 188, 189, 357, 357, 110, 376, 357, 357,
+ 194, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 196, 357,
+ 377, 373, 378, 378, 81, 187, 188, 189,
+ 357, 357, 357, 376, 357, 357, 194, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 196, 357, 373, 378,
+ 378, 81, 187, 188, 189, 357, 357, 357,
+ 376, 357, 357, 194, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 196, 357, 379, 357, 357, 357, 95,
+ 380, 357, 187, 188, 189, 357, 357, 357,
+ 362, 357, 379, 357, 381, 382, 383, 384,
+ 81, 187, 188, 189, 357, 357, 108, 385,
+ 357, 357, 194, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 196, 357, 386, 382, 387, 387, 81, 187,
+ 188, 189, 357, 357, 357, 385, 357, 357,
+ 194, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 196, 357,
+ 382, 387, 387, 81, 187, 188, 189, 357,
+ 357, 357, 385, 357, 357, 194, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 196, 357, 388, 357, 357,
+ 357, 95, 389, 357, 187, 188, 189, 357,
+ 357, 357, 362, 357, 388, 357, 390, 391,
+ 392, 393, 81, 187, 188, 189, 357, 357,
+ 106, 394, 357, 357, 194, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 196, 357, 395, 391, 396, 396,
+ 81, 187, 188, 189, 357, 357, 357, 394,
+ 357, 357, 194, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 196, 357, 391, 396, 396, 81, 187, 188,
+ 189, 357, 357, 357, 394, 357, 357, 194,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 196, 357, 95,
+ 397, 357, 187, 188, 189, 357, 357, 357,
+ 362, 357, 187, 188, 189, 357, 357, 357,
+ 362, 357, 398, 357, 357, 399, 188, 189,
+ 357, 188, 189, 357, 400, 357, 188, 401,
+ 357, 188, 402, 357, 188, 357, 398, 357,
+ 357, 357, 188, 189, 357, 403, 357, 404,
+ 405, 357, 187, 188, 189, 357, 357, 79,
+ 357, 78, 357, 357, 357, 357, 187, 188,
+ 189, 357, 187, 188, 189, 357, 403, 357,
+ 357, 357, 357, 187, 188, 189, 357, 403,
+ 357, 404, 357, 357, 187, 188, 189, 357,
+ 357, 79, 357, 95, 357, 406, 406, 81,
+ 187, 188, 189, 357, 357, 357, 362, 357,
+ 407, 104, 408, 409, 85, 187, 188, 189,
+ 357, 357, 357, 362, 357, 104, 408, 409,
+ 85, 187, 188, 189, 357, 357, 357, 362,
+ 357, 408, 408, 85, 187, 188, 189, 357,
+ 357, 357, 362, 357, 410, 101, 411, 412,
+ 88, 187, 188, 189, 357, 357, 357, 362,
+ 357, 101, 411, 412, 88, 187, 188, 189,
+ 357, 357, 357, 362, 357, 411, 411, 88,
+ 187, 188, 189, 357, 357, 357, 362, 357,
+ 413, 98, 414, 415, 91, 187, 188, 189,
+ 357, 357, 357, 362, 357, 98, 414, 415,
+ 91, 187, 188, 189, 357, 357, 357, 362,
+ 357, 414, 414, 91, 187, 188, 189, 357,
+ 357, 357, 362, 357, 416, 95, 357, 417,
+ 357, 187, 188, 189, 357, 357, 357, 362,
+ 357, 95, 357, 417, 357, 187, 188, 189,
+ 357, 357, 357, 362, 357, 418, 357, 187,
+ 188, 189, 357, 357, 357, 362, 357, 95,
+ 357, 357, 357, 357, 187, 188, 189, 357,
+ 357, 357, 362, 357, 77, 78, 357, 357,
+ 95, 397, 357, 187, 188, 189, 357, 357,
+ 357, 362, 357, 77, 357, 391, 396, 396,
+ 81, 187, 188, 189, 357, 357, 357, 394,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 196, 357, 391, 396, 396, 81, 187, 188,
+ 189, 357, 357, 357, 394, 357, 390, 391,
+ 396, 396, 81, 187, 188, 189, 357, 357,
+ 357, 394, 357, 357, 194, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 196, 357, 390, 391, 392, 396,
+ 81, 187, 188, 189, 357, 357, 106, 394,
+ 357, 357, 194, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 196, 357, 388, 357, 419, 357, 406, 406,
+ 81, 187, 188, 189, 357, 357, 357, 362,
+ 357, 388, 357, 388, 357, 357, 357, 357,
+ 357, 357, 187, 188, 189, 357, 357, 357,
+ 362, 357, 388, 357, 388, 357, 357, 357,
+ 357, 420, 357, 187, 188, 189, 357, 357,
+ 357, 362, 357, 388, 357, 388, 357, 419,
+ 357, 357, 357, 357, 187, 188, 189, 357,
+ 357, 357, 362, 357, 388, 357, 388, 78,
+ 357, 357, 95, 389, 357, 187, 188, 189,
+ 357, 357, 357, 362, 357, 388, 357, 381,
+ 382, 387, 387, 81, 187, 188, 189, 357,
+ 357, 357, 385, 357, 357, 194, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 196, 357, 381, 382, 383,
+ 387, 81, 187, 188, 189, 357, 357, 108,
+ 385, 357, 357, 194, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 196, 357, 379, 357, 421, 357, 406,
+ 406, 81, 187, 188, 189, 357, 357, 357,
+ 362, 357, 379, 357, 379, 357, 357, 357,
+ 357, 357, 357, 187, 188, 189, 357, 357,
+ 357, 362, 357, 379, 357, 379, 357, 357,
+ 357, 357, 422, 357, 187, 188, 189, 357,
+ 357, 357, 362, 357, 379, 357, 379, 357,
+ 421, 357, 357, 357, 357, 187, 188, 189,
+ 357, 357, 357, 362, 357, 379, 357, 379,
+ 78, 357, 357, 95, 380, 357, 187, 188,
+ 189, 357, 357, 357, 362, 357, 379, 357,
+ 372, 373, 378, 378, 81, 187, 188, 189,
+ 357, 357, 357, 376, 357, 357, 194, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 196, 357, 372, 373,
+ 374, 378, 81, 187, 188, 189, 357, 357,
+ 110, 376, 357, 357, 194, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 196, 357, 370, 357, 423, 357,
+ 406, 406, 81, 187, 188, 189, 357, 357,
+ 357, 362, 357, 370, 357, 370, 357, 357,
+ 357, 357, 357, 357, 187, 188, 189, 357,
+ 357, 357, 362, 357, 370, 357, 370, 357,
+ 357, 357, 357, 424, 357, 187, 188, 189,
+ 357, 357, 357, 362, 357, 370, 357, 370,
+ 357, 423, 357, 357, 357, 357, 187, 188,
+ 189, 357, 357, 357, 362, 357, 370, 357,
+ 370, 78, 357, 357, 95, 371, 357, 187,
+ 188, 189, 357, 357, 357, 362, 357, 370,
+ 357, 363, 364, 369, 369, 81, 187, 188,
+ 189, 357, 357, 357, 367, 357, 357, 194,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 196, 357, 363,
+ 364, 365, 369, 81, 187, 188, 189, 357,
+ 357, 112, 367, 357, 357, 194, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 357, 196, 357, 360, 357, 425,
+ 357, 406, 406, 81, 187, 188, 189, 357,
+ 357, 357, 362, 357, 360, 357, 360, 357,
+ 357, 357, 357, 357, 357, 187, 188, 189,
+ 357, 357, 357, 362, 357, 360, 357, 360,
+ 357, 357, 357, 357, 426, 357, 187, 188,
+ 189, 357, 357, 357, 362, 357, 360, 357,
+ 360, 357, 425, 357, 357, 357, 357, 187,
+ 188, 189, 357, 357, 357, 362, 357, 360,
+ 357, 360, 78, 357, 357, 95, 361, 357,
+ 187, 188, 189, 357, 357, 357, 362, 357,
+ 360, 357, 113, 80, 80, 81, 427, 427,
+ 427, 427, 427, 152, 113, 427, 183, 184,
+ 359, 359, 81, 187, 188, 189, 357, 357,
+ 357, 191, 357, 357, 194, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 357, 357, 196, 357, 113, 80, 80, 81,
+ 427, 427, 427, 427, 427, 427, 113, 427,
+ 429, 430, 431, 432, 119, 433, 434, 435,
+ 428, 428, 151, 436, 428, 428, 437, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 438, 428, 439, 430,
+ 432, 432, 119, 433, 434, 435, 428, 428,
+ 428, 436, 428, 428, 437, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 438, 428, 430, 432, 432, 119,
+ 433, 434, 435, 428, 428, 428, 436, 428,
+ 428, 437, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 438,
+ 428, 440, 428, 428, 428, 132, 441, 428,
+ 433, 434, 435, 428, 428, 428, 442, 428,
+ 440, 428, 443, 444, 445, 446, 119, 433,
+ 434, 435, 428, 428, 149, 447, 428, 428,
+ 437, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 438, 428,
+ 448, 444, 449, 449, 119, 433, 434, 435,
+ 428, 428, 428, 447, 428, 428, 437, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 438, 428, 444, 449,
+ 449, 119, 433, 434, 435, 428, 428, 428,
+ 447, 428, 428, 437, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 438, 428, 450, 428, 428, 428, 132,
+ 451, 428, 433, 434, 435, 428, 428, 428,
+ 442, 428, 450, 428, 452, 453, 454, 455,
+ 119, 433, 434, 435, 428, 428, 147, 456,
+ 428, 428, 437, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 438, 428, 457, 453, 458, 458, 119, 433,
+ 434, 435, 428, 428, 428, 456, 428, 428,
+ 437, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 438, 428,
+ 453, 458, 458, 119, 433, 434, 435, 428,
+ 428, 428, 456, 428, 428, 437, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 438, 428, 459, 428, 428,
+ 428, 132, 460, 428, 433, 434, 435, 428,
+ 428, 428, 442, 428, 459, 428, 461, 462,
+ 463, 464, 119, 433, 434, 435, 428, 428,
+ 145, 465, 428, 428, 437, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 438, 428, 466, 462, 467, 467,
+ 119, 433, 434, 435, 428, 428, 428, 465,
+ 428, 428, 437, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 438, 428, 462, 467, 467, 119, 433, 434,
+ 435, 428, 428, 428, 465, 428, 428, 437,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 438, 428, 468,
+ 428, 428, 428, 132, 469, 428, 433, 434,
+ 435, 428, 428, 428, 442, 428, 468, 428,
+ 470, 471, 472, 473, 119, 433, 434, 435,
+ 428, 428, 143, 474, 428, 428, 437, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 438, 428, 475, 471,
+ 476, 476, 119, 433, 434, 435, 428, 428,
+ 428, 474, 428, 428, 437, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 438, 428, 471, 476, 476, 119,
+ 433, 434, 435, 428, 428, 428, 474, 428,
+ 428, 437, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 438,
+ 428, 132, 477, 428, 433, 434, 435, 428,
+ 428, 428, 442, 428, 433, 434, 435, 428,
+ 428, 428, 442, 428, 478, 428, 428, 479,
+ 434, 435, 428, 434, 435, 428, 480, 428,
+ 434, 481, 428, 434, 482, 428, 434, 428,
+ 478, 428, 428, 428, 434, 435, 428, 483,
+ 428, 484, 485, 428, 433, 434, 435, 428,
+ 428, 117, 428, 116, 428, 428, 428, 428,
+ 433, 434, 435, 428, 433, 434, 435, 428,
+ 483, 428, 428, 428, 428, 433, 434, 435,
+ 428, 483, 428, 484, 428, 428, 433, 434,
+ 435, 428, 428, 117, 428, 132, 428, 486,
+ 486, 119, 433, 434, 435, 428, 428, 428,
+ 442, 428, 487, 141, 488, 489, 122, 433,
+ 434, 435, 428, 428, 428, 442, 428, 141,
+ 488, 489, 122, 433, 434, 435, 428, 428,
+ 428, 442, 428, 488, 488, 122, 433, 434,
+ 435, 428, 428, 428, 442, 428, 490, 138,
+ 491, 492, 125, 433, 434, 435, 428, 428,
+ 428, 442, 428, 138, 491, 492, 125, 433,
+ 434, 435, 428, 428, 428, 442, 428, 491,
+ 491, 125, 433, 434, 435, 428, 428, 428,
+ 442, 428, 493, 135, 494, 495, 128, 433,
+ 434, 435, 428, 428, 428, 442, 428, 135,
+ 494, 495, 128, 433, 434, 435, 428, 428,
+ 428, 442, 428, 494, 494, 128, 433, 434,
+ 435, 428, 428, 428, 442, 428, 496, 132,
+ 428, 497, 428, 433, 434, 435, 428, 428,
+ 428, 442, 428, 132, 428, 497, 428, 433,
+ 434, 435, 428, 428, 428, 442, 428, 498,
+ 428, 433, 434, 435, 428, 428, 428, 442,
+ 428, 132, 428, 428, 428, 428, 433, 434,
+ 435, 428, 428, 428, 442, 428, 115, 116,
+ 428, 428, 132, 477, 428, 433, 434, 435,
+ 428, 428, 428, 442, 428, 115, 428, 471,
+ 476, 476, 119, 433, 434, 435, 428, 428,
+ 428, 474, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 438, 428, 471, 476, 476, 119,
+ 433, 434, 435, 428, 428, 428, 474, 428,
+ 470, 471, 476, 476, 119, 433, 434, 435,
+ 428, 428, 428, 474, 428, 428, 437, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 438, 428, 470, 471,
+ 472, 476, 119, 433, 434, 435, 428, 428,
+ 143, 474, 428, 428, 437, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 438, 428, 468, 428, 499, 428,
+ 486, 486, 119, 433, 434, 435, 428, 428,
+ 428, 442, 428, 468, 428, 468, 428, 428,
+ 428, 428, 428, 428, 433, 434, 435, 428,
+ 428, 428, 442, 428, 468, 428, 468, 428,
+ 428, 428, 428, 500, 428, 433, 434, 435,
+ 428, 428, 428, 442, 428, 468, 428, 468,
+ 428, 499, 428, 428, 428, 428, 433, 434,
+ 435, 428, 428, 428, 442, 428, 468, 428,
+ 468, 116, 428, 428, 132, 469, 428, 433,
+ 434, 435, 428, 428, 428, 442, 428, 468,
+ 428, 461, 462, 467, 467, 119, 433, 434,
+ 435, 428, 428, 428, 465, 428, 428, 437,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 438, 428, 461,
+ 462, 463, 467, 119, 433, 434, 435, 428,
+ 428, 145, 465, 428, 428, 437, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 438, 428, 459, 428, 501,
+ 428, 486, 486, 119, 433, 434, 435, 428,
+ 428, 428, 442, 428, 459, 428, 459, 428,
+ 428, 428, 428, 428, 428, 433, 434, 435,
+ 428, 428, 428, 442, 428, 459, 428, 459,
+ 428, 428, 428, 428, 502, 428, 433, 434,
+ 435, 428, 428, 428, 442, 428, 459, 428,
+ 459, 428, 501, 428, 428, 428, 428, 433,
+ 434, 435, 428, 428, 428, 442, 428, 459,
+ 428, 459, 116, 428, 428, 132, 460, 428,
+ 433, 434, 435, 428, 428, 428, 442, 428,
+ 459, 428, 452, 453, 458, 458, 119, 433,
+ 434, 435, 428, 428, 428, 456, 428, 428,
+ 437, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 438, 428,
+ 452, 453, 454, 458, 119, 433, 434, 435,
+ 428, 428, 147, 456, 428, 428, 437, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 438, 428, 450, 428,
+ 503, 428, 486, 486, 119, 433, 434, 435,
+ 428, 428, 428, 442, 428, 450, 428, 450,
+ 428, 428, 428, 428, 428, 428, 433, 434,
+ 435, 428, 428, 428, 442, 428, 450, 428,
+ 450, 428, 428, 428, 428, 504, 428, 433,
+ 434, 435, 428, 428, 428, 442, 428, 450,
+ 428, 450, 428, 503, 428, 428, 428, 428,
+ 433, 434, 435, 428, 428, 428, 442, 428,
+ 450, 428, 450, 116, 428, 428, 132, 451,
+ 428, 433, 434, 435, 428, 428, 428, 442,
+ 428, 450, 428, 443, 444, 449, 449, 119,
+ 433, 434, 435, 428, 428, 428, 447, 428,
+ 428, 437, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 438,
+ 428, 443, 444, 445, 449, 119, 433, 434,
+ 435, 428, 428, 149, 447, 428, 428, 437,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 438, 428, 440,
+ 428, 505, 428, 486, 486, 119, 433, 434,
+ 435, 428, 428, 428, 442, 428, 440, 428,
+ 440, 428, 428, 428, 428, 428, 428, 433,
+ 434, 435, 428, 428, 428, 442, 428, 440,
+ 428, 440, 428, 428, 428, 428, 506, 428,
+ 433, 434, 435, 428, 428, 428, 442, 428,
+ 440, 428, 440, 428, 505, 428, 428, 428,
+ 428, 433, 434, 435, 428, 428, 428, 442,
+ 428, 440, 428, 440, 116, 428, 428, 132,
+ 441, 428, 433, 434, 435, 428, 428, 428,
+ 442, 428, 440, 428, 429, 430, 432, 432,
+ 119, 433, 434, 435, 428, 428, 428, 436,
+ 428, 428, 437, 428, 428, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428,
+ 438, 428, 181, 182, 183, 184, 507, 359,
+ 81, 187, 188, 189, 190, 190, 152, 191,
+ 357, 181, 194, 357, 357, 357, 357, 357,
+ 357, 357, 357, 357, 357, 357, 357, 357,
+ 196, 357, 198, 508, 200, 201, 5, 202,
+ 203, 204, 197, 197, 37, 205, 197, 197,
+ 206, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 207, 197,
+ 210, 182, 183, 184, 509, 510, 81, 511,
+ 512, 513, 197, 190, 152, 514, 197, 210,
+ 194, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 196, 197,
+ 113, 80, 80, 81, 202, 203, 204, 197,
+ 197, 152, 515, 197, 516, 2, 357, 357,
+ 357, 426, 357, 187, 188, 189, 357, 357,
+ 357, 362, 357, 516, 357, 517, 364, 518,
+ 519, 81, 511, 512, 513, 197, 197, 153,
+ 367, 197, 197, 194, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 196, 197, 520, 364, 369, 369, 81,
+ 511, 512, 513, 197, 197, 197, 367, 197,
+ 197, 194, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 196,
+ 197, 364, 369, 369, 81, 511, 512, 513,
+ 197, 197, 197, 367, 197, 197, 194, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 196, 197, 521, 197,
+ 197, 522, 512, 513, 197, 512, 513, 197,
+ 250, 197, 512, 523, 197, 512, 524, 197,
+ 512, 197, 521, 197, 197, 197, 512, 513,
+ 197, 517, 364, 369, 369, 81, 511, 512,
+ 513, 197, 197, 197, 367, 197, 197, 194,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 197, 197, 196, 197, 517,
+ 364, 518, 369, 81, 511, 512, 513, 197,
+ 197, 153, 367, 197, 197, 194, 197, 197,
+ 197, 197, 197, 197, 197, 197, 197, 197,
+ 197, 197, 197, 196, 197, 210, 197, 275,
+ 113, 525, 525, 155, 202, 203, 204, 197,
+ 197, 197, 515, 197, 210, 197, 526, 179,
+ 527, 528, 157, 511, 512, 513, 197, 197,
+ 197, 529, 197, 179, 527, 528, 157, 511,
+ 512, 513, 197, 197, 197, 529, 197, 527,
+ 527, 157, 511, 512, 513, 197, 197, 197,
+ 529, 197, 530, 176, 531, 532, 160, 511,
+ 512, 513, 197, 197, 197, 529, 197, 176,
+ 531, 532, 160, 511, 512, 513, 197, 197,
+ 197, 529, 197, 531, 531, 160, 511, 512,
+ 513, 197, 197, 197, 529, 197, 533, 173,
+ 534, 535, 163, 511, 512, 513, 197, 197,
+ 197, 529, 197, 173, 534, 535, 163, 511,
+ 512, 513, 197, 197, 197, 529, 197, 534,
+ 534, 163, 511, 512, 513, 197, 197, 197,
+ 529, 197, 536, 170, 197, 537, 197, 511,
+ 512, 513, 197, 197, 197, 529, 197, 170,
+ 197, 537, 197, 511, 512, 513, 197, 197,
+ 197, 529, 197, 511, 512, 513, 197, 197,
+ 197, 529, 197, 538, 197, 539, 540, 197,
+ 511, 512, 513, 197, 197, 167, 197, 166,
+ 197, 197, 197, 197, 511, 512, 513, 197,
+ 511, 512, 513, 197, 538, 197, 197, 197,
+ 197, 511, 512, 513, 197, 538, 197, 539,
+ 197, 197, 511, 512, 513, 197, 197, 167,
+ 197, 516, 166, 357, 357, 95, 361, 357,
+ 187, 188, 189, 357, 357, 357, 362, 357,
+ 516, 357, 542, 541, 541, 541, 541, 543,
+ 544, 545, 541, 543, 544, 545, 541, 546,
+ 541, 541, 547, 544, 545, 541, 544, 545,
+ 541, 548, 541, 544, 549, 541, 544, 550,
+ 541, 544, 541, 546, 541, 541, 541, 544,
+ 545, 541, 0
+};
+
+static const short _indic_syllable_machine_trans_targs[] = {
+ 170, 199, 201, 202, 3, 205, 4, 6,
+ 208, 7, 9, 211, 10, 12, 214, 13,
+ 15, 16, 191, 18, 19, 213, 21, 22,
+ 210, 24, 25, 207, 216, 221, 225, 228,
+ 232, 235, 239, 242, 246, 249, 170, 279,
+ 281, 282, 39, 285, 40, 42, 288, 43,
+ 45, 291, 46, 48, 294, 49, 51, 52,
+ 271, 54, 55, 293, 57, 58, 290, 60,
+ 61, 287, 296, 301, 305, 308, 312, 315,
+ 319, 322, 326, 330, 170, 358, 360, 361,
+ 75, 364, 170, 76, 78, 367, 79, 81,
+ 370, 82, 84, 373, 85, 87, 88, 350,
+ 90, 91, 372, 93, 94, 369, 96, 97,
+ 366, 375, 380, 384, 387, 391, 394, 398,
+ 401, 405, 170, 439, 441, 442, 110, 445,
+ 111, 113, 448, 114, 116, 451, 117, 119,
+ 454, 120, 122, 123, 431, 125, 126, 453,
+ 128, 129, 450, 131, 132, 447, 456, 461,
+ 465, 468, 472, 475, 479, 482, 486, 489,
+ 409, 505, 146, 508, 148, 511, 149, 151,
+ 514, 152, 154, 517, 155, 520, 522, 523,
+ 159, 160, 519, 162, 163, 516, 165, 166,
+ 513, 168, 169, 510, 170, 171, 251, 331,
+ 333, 408, 410, 351, 353, 354, 411, 407,
+ 490, 491, 378, 526, 379, 170, 172, 174,
+ 35, 250, 192, 194, 195, 248, 219, 220,
+ 173, 34, 175, 244, 0, 176, 178, 33,
+ 243, 241, 177, 32, 179, 237, 180, 182,
+ 31, 236, 234, 181, 30, 183, 230, 184,
+ 186, 29, 229, 227, 185, 28, 187, 223,
+ 188, 190, 27, 222, 218, 189, 26, 204,
+ 193, 198, 170, 196, 197, 200, 1, 203,
+ 2, 206, 5, 23, 209, 8, 20, 212,
+ 11, 17, 215, 14, 217, 224, 226, 231,
+ 233, 238, 240, 245, 247, 170, 252, 254,
+ 71, 328, 272, 274, 275, 329, 299, 300,
+ 253, 70, 255, 324, 36, 256, 258, 69,
+ 323, 321, 257, 68, 259, 317, 260, 262,
+ 67, 316, 314, 261, 66, 263, 310, 264,
+ 266, 65, 309, 307, 265, 64, 267, 303,
+ 268, 270, 63, 302, 298, 269, 62, 284,
+ 273, 278, 170, 276, 277, 280, 37, 283,
+ 38, 286, 41, 59, 289, 44, 56, 292,
+ 47, 53, 295, 50, 297, 304, 306, 311,
+ 313, 318, 320, 325, 327, 170, 332, 106,
+ 334, 403, 72, 335, 337, 105, 402, 400,
+ 336, 104, 338, 396, 339, 341, 103, 395,
+ 393, 340, 102, 342, 389, 343, 345, 101,
+ 388, 386, 344, 100, 346, 382, 347, 349,
+ 99, 381, 377, 348, 98, 363, 352, 357,
+ 170, 355, 356, 359, 73, 362, 74, 365,
+ 77, 95, 368, 80, 92, 371, 83, 89,
+ 374, 86, 376, 383, 385, 390, 392, 397,
+ 399, 404, 406, 170, 170, 412, 414, 142,
+ 141, 432, 434, 435, 488, 459, 460, 413,
+ 415, 484, 107, 416, 418, 140, 483, 481,
+ 417, 139, 419, 477, 420, 422, 138, 476,
+ 474, 421, 137, 423, 470, 424, 426, 136,
+ 469, 467, 425, 135, 427, 463, 428, 430,
+ 134, 462, 458, 429, 133, 444, 433, 438,
+ 170, 436, 437, 440, 108, 443, 109, 446,
+ 112, 130, 449, 115, 127, 452, 118, 124,
+ 455, 121, 457, 464, 466, 471, 473, 478,
+ 480, 485, 487, 143, 492, 493, 507, 498,
+ 500, 501, 525, 494, 495, 496, 144, 506,
+ 497, 499, 504, 502, 503, 145, 509, 147,
+ 167, 156, 512, 150, 164, 515, 153, 161,
+ 518, 158, 521, 157, 524, 170, 527, 528,
+ 530, 531, 529, 534, 170, 532, 533
+};
+
+static const char _indic_syllable_machine_trans_actions[] = {
+ 1, 2, 0, 0, 0, 2, 0, 0,
+ 2, 0, 0, 2, 0, 0, 2, 0,
+ 0, 0, 2, 0, 0, 2, 0, 0,
+ 2, 0, 0, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 3, 2,
+ 0, 0, 0, 2, 0, 0, 2, 0,
+ 0, 2, 0, 0, 2, 0, 0, 0,
+ 2, 0, 0, 2, 0, 0, 2, 0,
+ 0, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 4, 2, 0, 0,
+ 0, 2, 5, 0, 0, 2, 0, 0,
+ 2, 0, 0, 2, 0, 0, 0, 2,
+ 0, 0, 2, 0, 0, 2, 0, 0,
+ 2, 2, 6, 2, 6, 2, 6, 2,
+ 6, 2, 7, 2, 0, 0, 0, 2,
+ 0, 0, 2, 0, 0, 2, 0, 0,
+ 2, 0, 0, 0, 2, 0, 0, 2,
+ 0, 0, 2, 0, 0, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2,
+ 6, 8, 0, 2, 0, 2, 0, 0,
+ 2, 0, 0, 2, 0, 2, 0, 0,
+ 0, 0, 2, 0, 0, 2, 0, 0,
+ 2, 0, 0, 2, 11, 2, 2, 6,
+ 2, 12, 12, 0, 0, 0, 2, 2,
+ 6, 2, 6, 0, 6, 13, 2, 2,
+ 0, 2, 0, 0, 0, 2, 2, 2,
+ 2, 0, 2, 2, 0, 2, 2, 0,
+ 2, 2, 2, 0, 2, 2, 2, 2,
+ 0, 2, 2, 2, 0, 2, 2, 2,
+ 2, 0, 2, 2, 2, 0, 2, 2,
+ 2, 2, 0, 2, 2, 2, 0, 2,
+ 0, 0, 14, 0, 0, 0, 0, 2,
+ 0, 2, 0, 0, 2, 0, 0, 2,
+ 0, 0, 2, 0, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 15, 2, 2,
+ 0, 2, 0, 0, 0, 2, 2, 2,
+ 2, 0, 2, 2, 0, 2, 2, 0,
+ 2, 2, 2, 0, 2, 2, 2, 2,
+ 0, 2, 2, 2, 0, 2, 2, 2,
+ 2, 0, 2, 2, 2, 0, 2, 2,
+ 2, 2, 0, 2, 2, 2, 0, 2,
+ 0, 0, 16, 0, 0, 0, 0, 2,
+ 0, 2, 0, 0, 2, 0, 0, 2,
+ 0, 0, 2, 0, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 17, 6, 0,
+ 6, 6, 0, 6, 2, 0, 6, 2,
+ 6, 0, 6, 6, 6, 2, 0, 6,
+ 2, 6, 0, 6, 6, 6, 2, 0,
+ 6, 2, 6, 0, 6, 6, 6, 2,
+ 0, 6, 2, 6, 0, 6, 0, 0,
+ 18, 0, 0, 0, 0, 2, 0, 2,
+ 0, 0, 2, 0, 0, 2, 0, 0,
+ 2, 0, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 19, 20, 2, 2, 0,
+ 0, 0, 0, 0, 2, 2, 2, 2,
+ 2, 2, 0, 2, 2, 0, 2, 2,
+ 2, 0, 2, 2, 2, 2, 0, 2,
+ 2, 2, 0, 2, 2, 2, 2, 0,
+ 2, 2, 2, 0, 2, 2, 2, 2,
+ 0, 2, 2, 2, 0, 2, 0, 0,
+ 21, 0, 0, 0, 0, 2, 0, 2,
+ 0, 0, 2, 0, 0, 2, 0, 0,
+ 2, 0, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 0, 0, 8, 2, 0,
+ 0, 0, 2, 2, 8, 8, 0, 8,
+ 8, 0, 0, 0, 0, 0, 2, 0,
+ 0, 0, 2, 0, 0, 2, 0, 0,
+ 2, 0, 0, 0, 2, 22, 0, 0,
+ 0, 0, 0, 0, 23, 0, 0
+};
+
+static const char _indic_syllable_machine_to_state_actions[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 9, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0
+};
+
+static const char _indic_syllable_machine_from_state_actions[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0
+};
+
+static const short _indic_syllable_machine_eof_trans[] = {
+ 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, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39,
+ 77, 77, 77, 83, 83, 77, 77, 77,
+ 77, 77, 77, 77, 77, 77, 77, 77,
+ 77, 77, 77, 77, 77, 77, 77, 77,
+ 77, 77, 77, 77, 77, 77, 77, 77,
+ 83, 77, 77, 115, 115, 115, 115, 115,
+ 115, 115, 115, 115, 115, 115, 115, 115,
+ 115, 115, 115, 115, 115, 115, 115, 115,
+ 115, 115, 115, 115, 115, 115, 115, 115,
+ 115, 115, 115, 115, 115, 115, 115, 77,
+ 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, 0, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 278, 278, 278, 278, 278,
+ 278, 278, 278, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358,
+ 358, 358, 358, 358, 358, 358, 358, 358,
+ 428, 358, 428, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 429, 429, 429, 429, 429, 429,
+ 429, 429, 358, 198, 198, 198, 358, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 198, 198, 198,
+ 198, 198, 198, 198, 198, 358, 542, 542,
+ 542, 542, 542, 542, 542, 542, 542
+};
+
+static const int indic_syllable_machine_start = 170;
+static const int indic_syllable_machine_first_final = 170;
+static const int indic_syllable_machine_error = -1;
+
+static const int indic_syllable_machine_en_main = 170;
+
+
+#line 36 "../../src/hb-ot-shape-complex-indic-machine.rl"
+
+
+
+#line 97 "../../src/hb-ot-shape-complex-indic-machine.rl"
+
+
+#define found_syllable(syllable_type) \
+ HB_STMT_START { \
+ if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \
+ for (unsigned int i = last; i < p+1; i++) \
+ info[i].syllable() = (syllable_serial << 4) | syllable_type; \
+ last = p+1; \
+ syllable_serial++; \
+ if (unlikely (syllable_serial == 16)) syllable_serial = 1; \
+ } HB_STMT_END
+
+static void
+find_syllables (hb_buffer_t *buffer)
+{
+ unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED;
+ int cs;
+ hb_glyph_info_t *info = buffer->info;
+
+#line 1554 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
+ {
+ cs = indic_syllable_machine_start;
+ ts = 0;
+ te = 0;
+ act = 0;
+ }
+
+#line 118 "../../src/hb-ot-shape-complex-indic-machine.rl"
+
+
+ p = 0;
+ pe = eof = buffer->len;
+
+ unsigned int last = 0;
+ unsigned int syllable_serial = 1;
+
+#line 1571 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
+ {
+ int _slen;
+ int _trans;
+ const unsigned char *_keys;
+ const short *_inds;
+ if ( p == pe )
+ goto _test_eof;
+_resume:
+ switch ( _indic_syllable_machine_from_state_actions[cs] ) {
+ case 10:
+#line 1 "NONE"
+ {ts = p;}
+ break;
+#line 1585 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
+ }
+
+ _keys = _indic_syllable_machine_trans_keys + (cs<<1);
+ _inds = _indic_syllable_machine_indicies + _indic_syllable_machine_index_offsets[cs];
+
+ _slen = _indic_syllable_machine_key_spans[cs];
+ _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].indic_category()) &&
+ ( info[p].indic_category()) <= _keys[1] ?
+ ( info[p].indic_category()) - _keys[0] : _slen ];
+
+_eof_trans:
+ cs = _indic_syllable_machine_trans_targs[_trans];
+
+ if ( _indic_syllable_machine_trans_actions[_trans] == 0 )
+ goto _again;
+
+ switch ( _indic_syllable_machine_trans_actions[_trans] ) {
+ case 2:
+#line 1 "NONE"
+ {te = p+1;}
+ break;
+ case 14:
+#line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p+1;{ found_syllable (consonant_syllable); }}
+ break;
+ case 16:
+#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p+1;{ found_syllable (vowel_syllable); }}
+ break;
+ case 21:
+#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p+1;{ found_syllable (standalone_cluster); }}
+ break;
+ case 23:
+#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p+1;{ found_syllable (symbol_cluster); }}
+ break;
+ case 18:
+#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p+1;{ found_syllable (broken_cluster); }}
+ break;
+ case 11:
+#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p+1;{ found_syllable (non_indic_cluster); }}
+ break;
+ case 13:
+#line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p;p--;{ found_syllable (consonant_syllable); }}
+ break;
+ case 15:
+#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p;p--;{ found_syllable (vowel_syllable); }}
+ break;
+ case 20:
+#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p;p--;{ found_syllable (standalone_cluster); }}
+ break;
+ case 22:
+#line 91 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p;p--;{ found_syllable (symbol_cluster); }}
+ break;
+ case 17:
+#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p;p--;{ found_syllable (broken_cluster); }}
+ break;
+ case 19:
+#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {te = p;p--;{ found_syllable (non_indic_cluster); }}
+ break;
+ case 1:
+#line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
+ break;
+ case 3:
+#line 89 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {{p = ((te))-1;}{ found_syllable (vowel_syllable); }}
+ break;
+ case 7:
+#line 90 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {{p = ((te))-1;}{ found_syllable (standalone_cluster); }}
+ break;
+ case 4:
+#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {{p = ((te))-1;}{ found_syllable (broken_cluster); }}
+ break;
+ case 5:
+#line 1 "NONE"
+ { switch( act ) {
+ case 1:
+ {{p = ((te))-1;} found_syllable (consonant_syllable); }
+ break;
+ case 5:
+ {{p = ((te))-1;} found_syllable (broken_cluster); }
+ break;
+ case 6:
+ {{p = ((te))-1;} found_syllable (non_indic_cluster); }
+ break;
+ }
+ }
+ break;
+ case 8:
+#line 1 "NONE"
+ {te = p+1;}
+#line 88 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {act = 1;}
+ break;
+ case 6:
+#line 1 "NONE"
+ {te = p+1;}
+#line 92 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {act = 5;}
+ break;
+ case 12:
+#line 1 "NONE"
+ {te = p+1;}
+#line 93 "../../src/hb-ot-shape-complex-indic-machine.rl"
+ {act = 6;}
+ break;
+#line 1704 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
+ }
+
+_again:
+ switch ( _indic_syllable_machine_to_state_actions[cs] ) {
+ case 9:
+#line 1 "NONE"
+ {ts = 0;}
+ break;
+#line 1713 "../../src/hb-ot-shape-complex-indic-machine.hh.tmp"
+ }
+
+ if ( ++p != pe )
+ goto _resume;
+ _test_eof: {}
+ if ( p == eof )
+ {
+ if ( _indic_syllable_machine_eof_trans[cs] > 0 ) {
+ _trans = _indic_syllable_machine_eof_trans[cs] - 1;
+ goto _eof_trans;
+ }
+ }
+
+ }
+
+#line 127 "../../src/hb-ot-shape-complex-indic-machine.rl"
+
+}
+
+#endif /* HB_OT_SHAPE_COMPLEX_INDIC_MACHINE_HH */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-machine.rl
index 5c3e734eb33..f6768a581f2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-machine.rl
@@ -49,14 +49,14 @@ M = 7;
SM = 8;
VD = 9;
A = 10;
-NBSP = 11;
+PLACEHOLDER = 11;
DOTTEDCIRCLE = 12;
RS = 13;
Coeng = 14;
Repha = 15;
Ra = 16;
CM = 17;
-Avag = 18;
+Symbol= 18;
CM2 = 31;
c = (C | Ra); # is_consonant
@@ -67,21 +67,20 @@ reph = (Ra H | Repha); # possible reph
cn = c.ZWJ?.n?;
forced_rakar = ZWJ H ZWJ Ra;
-avagraha = Avag.N?;
+symbol = Symbol.N?;
matra_group = z{0,3}.M.N?.(H | forced_rakar)?;
-syllable_tail2 = (SM.SM?.ZWNJ?)? (A.A?)? VD?;
-syllable_tail = (Coeng (cn|V))? avagraha? syllable_tail2;
-place_holder = NBSP | DOTTEDCIRCLE;
+syllable_tail = (SM.SM?.ZWNJ?)? A{0,3}? VD{0,2};
+place_holder = PLACEHOLDER | DOTTEDCIRCLE;
halant_group = (z?.h.(ZWJ.N?)?);
final_halant_group = halant_group | h.ZWNJ;
medial_group = CM?.CM2?;
-halant_or_matra_group = (final_halant_group | (h.ZWJ)? matra_group{0,4});
+halant_or_matra_group = (final_halant_group | (h.ZWJ)? matra_group{0,4}) (Coeng (cn|V))?;
consonant_syllable = Repha? (cn.halant_group){0,4} cn medial_group halant_or_matra_group syllable_tail;
vowel_syllable = reph? V.n? (ZWJ | (halant_group.cn){0,4} medial_group halant_or_matra_group syllable_tail);
-standalone_cluster = reph? place_holder.n? (halant_group.cn){0,4} medial_group halant_or_matra_group syllable_tail;
-avagraha_cluster = avagraha syllable_tail2;
+standalone_cluster = (Repha? PLACEHOLDER | reph? DOTTEDCIRCLE).n? (halant_group.cn){0,4} medial_group halant_or_matra_group syllable_tail;
+symbol_cluster = symbol syllable_tail;
broken_cluster = reph? n? (halant_group.cn){0,4} medial_group halant_or_matra_group syllable_tail;
other = any;
@@ -89,7 +88,7 @@ main := |*
consonant_syllable => { found_syllable (consonant_syllable); };
vowel_syllable => { found_syllable (vowel_syllable); };
standalone_cluster => { found_syllable (standalone_cluster); };
- avagraha_cluster => { found_syllable (avagraha_cluster); };
+ symbol_cluster => { found_syllable (symbol_cluster); };
broken_cluster => { found_syllable (broken_cluster); };
other => { found_syllable (non_indic_cluster); };
*|;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-private.hh
index 3de5c203fa3..266adbcd716 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-private.hh
@@ -53,17 +53,29 @@ enum indic_category_t {
OT_SM = 8,
OT_VD = 9,
OT_A = 10,
- OT_NBSP = 11,
+ OT_PLACEHOLDER = 11,
OT_DOTTEDCIRCLE = 12,
OT_RS = 13, /* Register Shifter, used in Khmer OT spec. */
OT_Coeng = 14, /* Khmer-style Virama. */
OT_Repha = 15, /* Atomically-encoded logical or visual repha. */
OT_Ra = 16,
OT_CM = 17, /* Consonant-Medial. */
- OT_Avag = 18, /* Avagraha. */
+ OT_Symbol = 18, /* Avagraha, etc that take marks (SM,A,VD). */
OT_CM2 = 31 /* Consonant-Medial, second slot. */
};
+#define MEDIAL_FLAGS (FLAG (OT_CM) | FLAG (OT_CM2))
+
+/* Note:
+ *
+ * We treat Vowels and placeholders as if they were consonants. This is safe because Vowels
+ * cannot happen in a consonant syllable. The plus side however is, we can call the
+ * consonant syllable logic from the vowel syllable function and get it all right! */
+#define CONSONANT_FLAGS (FLAG (OT_C) | FLAG (OT_Ra) | MEDIAL_FLAGS | FLAG (OT_V) | FLAG (OT_PLACEHOLDER) | FLAG (OT_DOTTEDCIRCLE))
+#define JOINER_FLAGS (FLAG (OT_ZWJ) | FLAG (OT_ZWNJ))
+#define HALANT_OR_COENG_FLAGS (FLAG (OT_H) | FLAG (OT_Coeng))
+
+
/* Visual positions in a syllable from left to right. */
enum indic_position_t {
POS_START,
@@ -95,14 +107,14 @@ enum indic_position_t {
enum indic_syllabic_category_t {
INDIC_SYLLABIC_CATEGORY_OTHER = OT_X,
- INDIC_SYLLABIC_CATEGORY_AVAGRAHA = OT_Avag,
+ INDIC_SYLLABIC_CATEGORY_AVAGRAHA = OT_Symbol,
INDIC_SYLLABIC_CATEGORY_BINDU = OT_SM,
INDIC_SYLLABIC_CATEGORY_CONSONANT = OT_C,
INDIC_SYLLABIC_CATEGORY_CONSONANT_DEAD = OT_C,
INDIC_SYLLABIC_CATEGORY_CONSONANT_FINAL = OT_CM,
INDIC_SYLLABIC_CATEGORY_CONSONANT_HEAD_LETTER = OT_C,
INDIC_SYLLABIC_CATEGORY_CONSONANT_MEDIAL = OT_CM,
- INDIC_SYLLABIC_CATEGORY_CONSONANT_PLACEHOLDER = OT_NBSP,
+ INDIC_SYLLABIC_CATEGORY_CONSONANT_PLACEHOLDER = OT_PLACEHOLDER,
INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED = OT_CM,
INDIC_SYLLABIC_CATEGORY_CONSONANT_REPHA = OT_Repha,
INDIC_SYLLABIC_CATEGORY_MODIFYING_LETTER = OT_X,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-table.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-table.cc
index 18a022bc507..18a022bc507 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic-table.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic-table.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic.cc
index 47ccf7e690c..d6520188c58 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-indic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-indic.cc
@@ -145,28 +145,18 @@ is_one_of (const hb_glyph_info_t &info, unsigned int flags)
return !!(FLAG (info.indic_category()) & flags);
}
-#define JOINER_FLAGS (FLAG (OT_ZWJ) | FLAG (OT_ZWNJ))
static inline bool
is_joiner (const hb_glyph_info_t &info)
{
return is_one_of (info, JOINER_FLAGS);
}
-#define MEDIAL_FLAGS (FLAG (OT_CM) | FLAG (OT_CM2))
-
-/* Note:
- *
- * We treat Vowels and placeholders as if they were consonants. This is safe because Vowels
- * cannot happen in a consonant syllable. The plus side however is, we can call the
- * consonant syllable logic from the vowel syllable function and get it all right! */
-#define CONSONANT_FLAGS (FLAG (OT_C) | FLAG (OT_Ra) | MEDIAL_FLAGS | FLAG (OT_V) | FLAG (OT_NBSP) | FLAG (OT_DOTTEDCIRCLE))
static inline bool
is_consonant (const hb_glyph_info_t &info)
{
return is_one_of (info, CONSONANT_FLAGS);
}
-#define HALANT_OR_COENG_FLAGS (FLAG (OT_H) | FLAG (OT_Coeng))
static inline bool
is_halant_or_coeng (const hb_glyph_info_t &info)
{
@@ -188,39 +178,73 @@ set_indic_properties (hb_glyph_info_t &info)
/* The spec says U+0952 is OT_A. However, testing shows that Uniscribe
- * treats U+0951..U+0954 all behave similarly.
- * TESTS:
+ * treats a whole bunch of characters similarly.
+ * TESTS: For example, for U+0951:
* U+092E,U+0947,U+0952
* U+092E,U+0952,U+0947
* U+092E,U+0947,U+0951
* U+092E,U+0951,U+0947
+ * U+092E,U+0951,U+0952
+ * U+092E,U+0952,U+0951
*/
- if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x0951, 0x0954)))
+ if (unlikely (hb_in_ranges<hb_codepoint_t> (u, 0x0951, 0x0952,
+ 0x1CD0, 0x1CD2,
+ 0x1CD4, 0x1CE1) ||
+ u == 0x1CF4))
cat = OT_A;
-
- if (unlikely (u == 0x17D1))
- cat = OT_X;
- if (cat == OT_X &&
- unlikely (hb_in_range<hb_codepoint_t> (u, 0x17CB, 0x17D3) ||
- u == 0x17DD)) /* Khmer Various signs */
+ /* The following act more like the Bindus. */
+ else if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x0953, 0x0954)))
+ cat = OT_SM;
+ /* Cantillation marks. */
+ else if (unlikely (hb_in_range<hb_codepoint_t> (u, 0xA8E0, 0xA8F1)))
+ cat = OT_VD;
+ /* The following act like consonants. */
+ else if (unlikely (hb_in_ranges<hb_codepoint_t> (u, 0x0A72, 0x0A73,
+ 0x1CF5, 0x1CF6)))
+ cat = OT_C;
+ /* TODO: The following should only be allowed after a Visarga.
+ * For now, just treat them like regular tone marks. */
+ else if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x1CE2, 0x1CE8)))
+ cat = OT_A;
+ /* TODO: The following should only be allowed after some of
+ * the nasalization marks, maybe only for U+1CE9..U+1CF1.
+ * For now, just treat them like tone marks. */
+ else if (unlikely (u == 0x1CED))
+ cat = OT_A;
+ /* The following are Visarga variants. */
+ else if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x1CF2, 0x1CF3)))
+ {
+ cat = OT_SM;
+ ASSERT_STATIC ((int) INDIC_SYLLABIC_CATEGORY_VISARGA == OT_SM);
+ }
+ /* The following take marks in standalone clusters, similar to Avagraha. */
+ else if (unlikely (hb_in_ranges<hb_codepoint_t> (u, 0xA8F2, 0xA8F7,
+ 0x1CE9, 0x1CEC,
+ 0x1CEE, 0x1CF1)))
+ {
+ cat = OT_Symbol;
+ ASSERT_STATIC ((int) INDIC_SYLLABIC_CATEGORY_AVAGRAHA == OT_Symbol);
+ }
+ else if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x17CD, 0x17D1) ||
+ u == 0x17CB || u == 0x17D3 || u == 0x17DD)) /* Khmer Various signs */
{
/* These are like Top Matras. */
cat = OT_M;
pos = POS_ABOVE_C;
}
- if (u == 0x17C6) /* Khmer Bindu doesn't like to be repositioned. */
- cat = OT_N;
-
- if (unlikely (u == 0x17D2)) cat = OT_Coeng; /* Khmer coeng */
+ else if (unlikely (u == 0x17C6)) cat = OT_N; /* Khmer Bindu doesn't like to be repositioned. */
+ else if (unlikely (u == 0x17D2)) cat = OT_Coeng; /* Khmer coeng */
else if (unlikely (u == 0x200C)) cat = OT_ZWNJ;
else if (unlikely (u == 0x200D)) cat = OT_ZWJ;
+ else if (unlikely (u == 0x002D || u == 0x00D7 ||
+ hb_in_range<hb_codepoint_t> (u, 0x2010, 0x2014)))
+ cat = OT_PLACEHOLDER;
else if (unlikely (u == 0x25CC)) cat = OT_DOTTEDCIRCLE;
else if (unlikely (u == 0x0A71)) cat = OT_SM; /* GURMUKHI ADDAK. Move it to the end. */
else if (unlikely (u == 0xA982)) cat = OT_SM; /* Javanese repha. */
else if (unlikely (u == 0xA9BE)) cat = OT_CM2; /* Javanese medial ya. */
else if (unlikely (u == 0xA9BD)) { cat = OT_M; pos = POS_POST_C; } /* Javanese vocalic r. */
-
- if (cat == OT_Repha) {
+ else if (cat == OT_Repha) {
/* There are two kinds of characters marked as Repha:
* - The ones that are GenCat=Mn are already positioned visually, ie. after base. (eg. Khmer)
* - The ones that are GenCat=Lo is encoded logically, ie. beginning of syllable. (eg. Malayalam)
@@ -230,6 +254,10 @@ set_indic_properties (hb_glyph_info_t &info)
if (_hb_glyph_info_get_general_category (&info) == HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK)
cat = OT_N;
}
+ /* Decimal and Brahmi numbers. */
+ else if (unlikely (_hb_glyph_info_get_general_category (&info) ==
+ HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER ||
+ hb_in_range<hb_codepoint_t> (u, 0x11052, 0x11065))) cat = OT_PLACEHOLDER;
@@ -247,7 +275,7 @@ set_indic_properties (hb_glyph_info_t &info)
{
pos = matra_position (u, pos);
}
- else if ((FLAG (cat) & (FLAG (OT_SM) | FLAG (OT_VD) | FLAG (OT_A) | FLAG (OT_Avag))))
+ else if ((FLAG (cat) & (FLAG (OT_SM) | FLAG (OT_VD) | FLAG (OT_A) | FLAG (OT_Symbol))))
{
pos = POS_SMVD;
}
@@ -615,7 +643,7 @@ enum syllable_type_t {
consonant_syllable,
vowel_syllable,
standalone_cluster,
- avagraha_cluster,
+ symbol_cluster,
broken_cluster,
non_indic_cluster,
};
@@ -726,8 +754,13 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
))
{
/* See if it matches the 'rphf' feature. */
- hb_codepoint_t glyphs[2] = {info[start].codepoint, info[start + 1].codepoint};
- if (indic_plan->rphf.would_substitute (glyphs, ARRAY_LENGTH (glyphs), face))
+ hb_codepoint_t glyphs[3] = {info[start].codepoint,
+ info[start + 1].codepoint,
+ indic_plan->config->reph_mode == REPH_MODE_EXPLICIT ?
+ info[start + 2].codepoint : 0};
+ if (indic_plan->rphf.would_substitute (glyphs, 2, face) ||
+ (indic_plan->config->reph_mode == REPH_MODE_EXPLICIT &&
+ indic_plan->rphf.would_substitute (glyphs, 3, face)))
{
limit += 2;
while (limit < end && is_joiner (info[limit]))
@@ -1152,8 +1185,8 @@ initial_reordering_standalone_cluster (const hb_ot_shape_plan_t *plan,
hb_buffer_t *buffer,
unsigned int start, unsigned int end)
{
- /* We treat NBSP/dotted-circle as if they are consonants, so we should just chain.
- * Only if not in compatibility mode that is... */
+ /* We treat placeholder/dotted-circle as if they are consonants, so we
+ * should just chain. Only if not in compatibility mode that is... */
if (hb_options ().uniscribe_bug_compatible)
{
@@ -1178,10 +1211,10 @@ initial_reordering_broken_cluster (const hb_ot_shape_plan_t *plan,
}
static void
-initial_reordering_avagraha_cluster (const hb_ot_shape_plan_t *plan HB_UNUSED,
- hb_face_t *face HB_UNUSED,
- hb_buffer_t *buffer HB_UNUSED,
- unsigned int start HB_UNUSED, unsigned int end HB_UNUSED)
+initial_reordering_symbol_cluster (const hb_ot_shape_plan_t *plan HB_UNUSED,
+ hb_face_t *face HB_UNUSED,
+ hb_buffer_t *buffer HB_UNUSED,
+ unsigned int start HB_UNUSED, unsigned int end HB_UNUSED)
{
/* Nothing to do right now. If we ever switch to using the output
* buffer in the reordering process, we'd need to next_glyph() here. */
@@ -1209,7 +1242,7 @@ initial_reordering_syllable (const hb_ot_shape_plan_t *plan,
case consonant_syllable: initial_reordering_consonant_syllable (plan, face, buffer, start, end); return;
case vowel_syllable: initial_reordering_vowel_syllable (plan, face, buffer, start, end); return;
case standalone_cluster: initial_reordering_standalone_cluster (plan, face, buffer, start, end); return;
- case avagraha_cluster: initial_reordering_avagraha_cluster (plan, face, buffer, start, end); return;
+ case symbol_cluster: initial_reordering_symbol_cluster (plan, face, buffer, start, end); return;
case broken_cluster: initial_reordering_broken_cluster (plan, face, buffer, start, end); return;
case non_indic_cluster: initial_reordering_non_indic_cluster (plan, face, buffer, start, end); return;
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-myanmar-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-myanmar-machine.hh
index 0e8114e98ab..bb80d7a705d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-myanmar-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-myanmar-machine.hh
@@ -62,7 +62,7 @@ static const short _myanmar_syllable_machine_index_offsets[] = {
static const char _myanmar_syllable_machine_indicies[] = {
1, 1, 2, 3, 4, 4, 0, 5,
- 0, 6, 0, 1, 0, 0, 0, 7,
+ 0, 6, 1, 0, 0, 0, 0, 7,
0, 8, 1, 0, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 0,
21, 22, 23, 23, 20, 24, 20, 25,
@@ -119,14 +119,14 @@ static const char _myanmar_syllable_machine_indicies[] = {
20, 20, 20, 20, 20, 20, 20, 20,
20, 31, 20, 33, 20, 35, 20, 21,
20, 23, 23, 20, 24, 20, 25, 20,
- 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 34, 20,
20, 27, 20, 29, 20, 31, 32, 33,
34, 35, 20, 21, 20, 23, 23, 20,
24, 20, 25, 20, 20, 20, 20, 20,
20, 20, 34, 20, 20, 27, 20, 20,
20, 31, 32, 33, 34, 35, 20, 21,
20, 23, 23, 20, 24, 20, 25, 20,
- 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 34, 20,
20, 27, 28, 29, 20, 31, 32, 33,
34, 35, 20, 21, 22, 23, 23, 20,
24, 20, 25, 20, 20, 20, 20, 20,
@@ -169,8 +169,8 @@ static const char _myanmar_syllable_machine_indicies[] = {
25, 20, 20, 20, 20, 20, 20, 20,
26, 20, 20, 27, 28, 29, 30, 31,
32, 33, 34, 35, 20, 1, 1, 2,
- 3, 3, 3, 42, 5, 42, 6, 42,
- 1, 42, 42, 42, 1, 42, 8, 1,
+ 3, 3, 3, 42, 5, 42, 6, 1,
+ 42, 42, 42, 42, 1, 42, 8, 1,
42, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 42, 2, 42, 3, 3,
42, 5, 42, 6, 42, 42, 42, 42,
@@ -191,14 +191,14 @@ static const char _myanmar_syllable_machine_indicies[] = {
42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 13, 42, 15, 42, 17, 42,
2, 42, 3, 3, 42, 5, 42, 6,
- 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 16,
42, 42, 9, 42, 11, 42, 13, 14,
15, 16, 17, 42, 2, 42, 3, 3,
42, 5, 42, 6, 42, 42, 42, 42,
42, 42, 42, 16, 42, 42, 9, 42,
42, 42, 13, 14, 15, 16, 17, 42,
2, 42, 3, 3, 42, 5, 42, 6,
- 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 16,
42, 42, 9, 10, 11, 42, 13, 14,
15, 16, 17, 42, 2, 3, 3, 3,
42, 5, 42, 6, 42, 42, 42, 42,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-myanmar-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-myanmar-machine.rl
index 58ca8c82289..9649a916f02 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-myanmar-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-myanmar-machine.rl
@@ -44,7 +44,7 @@ C = 1;
D = 19;
D0 = 20;
DB = 3;
-GB = 12;
+GB = 11;
H = 4;
IV = 2;
MH = 21;
@@ -68,7 +68,7 @@ k = (Ra As H); # Kinzi
c = C|Ra; # is_consonant
-medial_group = MY? MR? ((MW MH? | MH) As?)?;
+medial_group = MY? MR? MW? MH? As?;
main_vowel_group = VPre* VAbv* VBlw* A* (DB As?)?;
post_vowel_group = VPst MH? As* VAbv* A* (DB As?)?;
pwo_tone_group = PT A* DB? As?;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-myanmar.cc
index 50209ffb0ee..149a0250dbd 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-myanmar.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-myanmar.cc
@@ -134,7 +134,7 @@ enum myanmar_category_t {
OT_D = 19, /* Digits except zero */
OT_D0 = 20, /* Digit zero */
OT_DB = OT_N, /* Dot below */
- OT_GB = OT_DOTTEDCIRCLE,
+ OT_GB = OT_PLACEHOLDER,
OT_MH = 21, /* Various consonant medial types */
OT_MR = 22, /* Various consonant medial types */
OT_MW = 23, /* Various consonant medial types */
@@ -157,12 +157,6 @@ is_one_of (const hb_glyph_info_t &info, unsigned int flags)
return !!(FLAG (info.myanmar_category()) & flags);
}
-/* Note:
- *
- * We treat Vowels and placeholders as if they were consonants. This is safe because Vowels
- * cannot happen in a consonant syllable. The plus side however is, we can call the
- * consonant syllable logic from the vowel syllable function and get it all right! */
-#define CONSONANT_FLAGS (FLAG (OT_C) | FLAG (OT_CM) | FLAG (OT_Ra) | FLAG (OT_V) | FLAG (OT_NBSP) | FLAG (OT_GB))
static inline bool
is_consonant (const hb_glyph_info_t &info)
{
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-private.hh
index 104726e8af5..104726e8af5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-sea-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-sea-machine.hh
index 86b7ae7d5ca..86b7ae7d5ca 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-sea-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-sea-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-sea-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-sea-machine.rl
index 46140fc4d5f..46140fc4d5f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-sea-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-sea-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-sea.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-sea.cc
index 6288a90c9a9..6288a90c9a9 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-sea.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-sea.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-thai.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-thai.cc
index 8664eca45cd..8664eca45cd 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-thai.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-thai.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-tibetan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-tibetan.cc
index 01465a426f8..01465a426f8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-complex-tibetan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-complex-tibetan.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-fallback-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-fallback-private.hh
index ec653513f1b..ec653513f1b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-fallback-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-fallback-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-fallback.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-fallback.cc
index 5d526c3a8e8..5d526c3a8e8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-fallback.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-fallback.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-normalize-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-normalize-private.hh
index c744e26451d..c744e26451d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-normalize-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-normalize-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-normalize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-normalize.cc
index 2a6a4390030..2a6a4390030 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-normalize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-normalize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-private.hh
index 54ac2c3cf7c..54ac2c3cf7c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape.cc
index 3080a1d03db..3080a1d03db 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape.h
index afe6fe9618c..afe6fe9618c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-shape.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-tag.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-tag.cc
index 5594ef5074a..5594ef5074a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-tag.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-tag.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-tag.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-tag.h
index 1bf12ab3c09..1bf12ab3c09 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot-tag.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot-tag.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot.h
index 47c92a58e4b..47c92a58e4b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ot.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ot.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-private.hh
index e5011e2d3b7..e5011e2d3b7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-set-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-set-private.hh
index 705f554ce69..705f554ce69 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-set-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-set-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-set.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-set.cc
index 59a0af46ed4..59a0af46ed4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-set.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-set.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-set.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-set.h
index bafdae96333..bafdae96333 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-set.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-set.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape-plan-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape-plan-private.hh
index 607da5e7791..607da5e7791 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape-plan-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape-plan-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape-plan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape-plan.cc
index e354f291763..e354f291763 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape-plan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape-plan.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape-plan.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape-plan.h
index 8f54552f90b..8f54552f90b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape-plan.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape-plan.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape.cc
index c1b752405e1..c1b752405e1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape.h
index 10a35cb517e..10a35cb517e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shape.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper-impl-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper-impl-private.hh
index 7844081e95b..7844081e95b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper-impl-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper-impl-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper-list.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper-list.hh
index 6c537d49215..6c537d49215 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper-list.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper-list.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper-private.hh
index 29c4493943d..29c4493943d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper.cc
index 44f718aa702..44f718aa702 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-shaper.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-shaper.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ucdn.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ucdn.cc
index 7d24559de67..7d24559de67 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-ucdn.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-ucdn.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-unicode-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-unicode-private.hh
index 991130fa14e..991130fa14e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-unicode-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-unicode-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-unicode.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-unicode.cc
index 84e5c06fd35..84e5c06fd35 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-unicode.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-unicode.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-unicode.h
index 1c4e097b92d..1c4e097b92d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-unicode.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-unicode.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-uniscribe.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-uniscribe.cc
index 6571448872a..6571448872a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-uniscribe.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-uniscribe.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-uniscribe.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-uniscribe.h
index 51887c8794b..51887c8794b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-uniscribe.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-uniscribe.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-utf-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-utf-private.hh
index b9a6519d28e..b9a6519d28e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-utf-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-utf-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-version.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-version.h.in
index 43634f91ce8..43634f91ce8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-version.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-version.h.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-warning.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-warning.cc
index e0f88e2d4ad..e0f88e2d4ad 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb-warning.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb-warning.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb.h
index c5a938a3818..c5a938a3818 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/hb.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/hb.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/main.cc
index ff75237b23f..6ba636e1a61 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/main.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/main.cc
@@ -131,8 +131,11 @@ main (int argc, char **argv)
else
printf (" Language System %2d of %2d: %.4s\n", n_langsys, num_langsys,
(const char *)script.get_lang_sys_tag (n_langsys));
- if (langsys.get_required_feature_index () == Index::NOT_FOUND_INDEX)
+ if (!langsys.has_required_feature ())
printf (" No required feature\n");
+ else
+ printf (" Required feature index: %d\n",
+ langsys.get_required_feature_index ());
int num_features = langsys.get_feature_count ();
printf (" %d feature(s) found in language system\n", num_features);
@@ -147,11 +150,10 @@ main (int argc, char **argv)
printf (" %d feature(s) found in table\n", num_features);
for (int n_feature = 0; n_feature < num_features; n_feature++) {
const Feature &feature = g.get_feature (n_feature);
- printf (" Feature %2d of %2d: %.4s; %d lookup(s)\n", n_feature, num_features,
- (const char *)g.get_feature_tag(n_feature),
- feature.get_lookup_count());
-
int num_lookups = feature.get_lookup_count ();
+ printf (" Feature %2d of %2d: %.4s\n", n_feature, num_features,
+ (const char *)g.get_feature_tag(n_feature));
+
printf (" %d lookup(s) found in feature\n", num_lookups);
for (int n_lookup = 0; n_lookup < num_lookups; n_lookup++) {
printf (" Lookup index %2d of %2d: %d\n", n_lookup, num_lookups,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test-buffer-serialize.cc
index 18c46e9524b..18c46e9524b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test-buffer-serialize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test-size-params.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test-size-params.cc
index 35d9e3c8e25..35d9e3c8e25 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test-size-params.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test-size-params.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test-would-substitute.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test-would-substitute.cc
index 8ea87cdf397..8ea87cdf397 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test-would-substitute.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test-would-substitute.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test.cc
index a8fe046f34c..a8fe046f34c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.28/src/test.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.29/src/test.cc
diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac
index 2aa92f498c8..1e2ff2eac6e 100644
--- a/Build/source/libs/harfbuzz/version.ac
+++ b/Build/source/libs/harfbuzz/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current harfbuzz version
-m4_define([harfbuzz_version], [0.9.28])
+m4_define([harfbuzz_version], [0.9.29])