diff --git a/PKG-INFO b/PKG-INFO index f72c76122c70ff5993af360ec32b1bc55d9c2fe0..9014429356322b9422a2bb7069bc7a5adcc22ebc 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: regex -Version: 2020.11.13 +Version: 2021.10.8 Summary: Alternative regular expression module, to replace re. Home-page: https://bitbucket.org/mrabarnett/mrab-regex Author: Matthew Barnett @@ -16,6 +16,11 @@ Description: Introduction The re module's behaviour with zero-width matches changed in Python 3.7, and this module will follow that behaviour when compiled for Python 3.7. + PyPy + ---- + + This module is targeted at CPython. It expects that all codepoints are the same width, so it won't behave properly with PyPy outside U+0000..U+007F because PyPy stores strings as UTF-8. + Old vs new behaviour -------------------- @@ -137,7 +142,7 @@ Description: Introduction Unicode ------- - This module supports Unicode 13.0.0. + This module supports Unicode 14.0.0. Full Unicode case-folding is supported. @@ -1075,11 +1080,11 @@ Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: Apache Software License Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 Classifier: Topic :: Scientific/Engineering :: Information Analysis Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Text Processing diff --git a/README.rst b/README.rst index 622c000811416210017c76dc2f88702b41eb8388..304f2b116b05b7da1509b8c63f67fcf7cd21c63b 100644 --- a/README.rst +++ b/README.rst @@ -8,6 +8,11 @@ Note The re module's behaviour with zero-width matches changed in Python 3.7, and this module will follow that behaviour when compiled for Python 3.7. +PyPy +---- + +This module is targeted at CPython. It expects that all codepoints are the same width, so it won't behave properly with PyPy outside U+0000..U+007F because PyPy stores strings as UTF-8. + Old vs new behaviour -------------------- @@ -129,7 +134,7 @@ The regex module releases the GIL during matching on instances of the built-in ( Unicode ------- -This module supports Unicode 13.0.0. +This module supports Unicode 14.0.0. Full Unicode case-folding is supported. diff --git a/docs/Features.html b/docs/Features.html index 34d0e4b5ba3d3c6ee729c02a4863f53463f9a5bd..1704c4aef8ee42d760db6e4a11318332516b9c93 100644 --- a/docs/Features.html +++ b/docs/Features.html @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> +<meta name="generator" content="Docutils 0.17: http://docutils.sourceforge.net/" /> <title>Features.rst</title> <style type="text/css"> @@ -371,6 +371,10 @@ ul.auto-toc { <h1>Note</h1> <p>The re module's behaviour with zero-width matches changed in Python 3.7, and this module will follow that behaviour when compiled for Python 3.7.</p> </div> +<div class="section" id="pypy"> +<h1>PyPy</h1> +<p>This module is targeted at CPython. It expects that all codepoints are the same width, so it won't behave properly with PyPy outside U+0000..U+007F because PyPy stores strings as UTF-8.</p> +</div> <div class="section" id="old-vs-new-behaviour"> <h1>Old vs new behaviour</h1> <p>In order to be compatible with the re module, this module has 2 behaviours:</p> @@ -461,7 +465,7 @@ ul.auto-toc { </div> <div class="section" id="unicode"> <h1>Unicode</h1> -<p>This module supports Unicode 13.0.0.</p> +<p>This module supports Unicode 14.0.0.</p> <p>Full Unicode case-folding is supported.</p> </div> <div class="section" id="additional-features"> @@ -480,10 +484,10 @@ ul.auto-toc { <p>This is not quite the same as putting a lookaround in the first branch of a pair of alternatives.</p> <p>Examples:</p> <pre class="code python literal-block"> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string single">'(?:(?=\d)\d+\b|\w+)'</span><span class="punctuation">,</span> <span class="literal string single">'123abc'</span><span class="punctuation">))</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string single">'(?:(?=\d)\d+\b|\w+)'</span><span class="punctuation">,</span> <span class="literal string single">'123abc'</span><span class="punctuation">))</span> <span class="operator"><</span><span class="name">regex</span><span class="operator">.</span><span class="name">Match</span> <span class="name builtin">object</span><span class="punctuation">;</span> <span class="name">span</span><span class="operator">=</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">6</span><span class="punctuation">),</span> <span class="name">match</span><span class="operator">=</span><span class="literal string single">'123abc'</span><span class="operator">></span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string single">'(?(?=\d)\d+\b|\w+)'</span><span class="punctuation">,</span> <span class="literal string single">'123abc'</span><span class="punctuation">))</span> -<span class="name builtin pseudo">None</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string single">'(?(?=\d)\d+\b|\w+)'</span><span class="punctuation">,</span> <span class="literal string single">'123abc'</span><span class="punctuation">))</span> +<span class="keyword constant">None</span> </pre> <p>In the first example, the lookaround matched, but the remainder of the first branch failed to match, and so the second branch was attempted, whereas in the second example, the lookaround matched, and the first branch failed to match, but the second branch was <strong>not</strong> attempted.</p> </div> @@ -545,19 +549,19 @@ ul.auto-toc { <p>Examples:</p> <pre class="code python literal-block"> <span class="operator">>>></span> <span class="name">m</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(\w)+"</span><span class="punctuation">,</span> <span class="literal string double">"abc"</span><span class="punctuation">)</span> -<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"{1}"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"</span><span class="literal string interpol">{1}</span><span class="literal string double">"</span><span class="punctuation">)</span> <span class="literal string single">'c'</span> -<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"{1[0]} {1[1]} {1[2]}"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"</span><span class="literal string interpol">{1[0]}</span><span class="literal string double"> </span><span class="literal string interpol">{1[1]}</span><span class="literal string double"> </span><span class="literal string interpol">{1[2]}</span><span class="literal string double">"</span><span class="punctuation">)</span> <span class="literal string single">'a b c'</span> -<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"{1[-1]} {1[-2]} {1[-3]}"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"</span><span class="literal string interpol">{1[-1]}</span><span class="literal string double"> </span><span class="literal string interpol">{1[-2]}</span><span class="literal string double"> </span><span class="literal string interpol">{1[-3]}</span><span class="literal string double">"</span><span class="punctuation">)</span> <span class="literal string single">'c b a'</span> <span class="operator">>>></span> <span class="operator">>>></span> <span class="name">m</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(?P<letter>\w)+"</span><span class="punctuation">,</span> <span class="literal string double">"abc"</span><span class="punctuation">)</span> -<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"{letter}"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"</span><span class="literal string interpol">{letter}</span><span class="literal string double">"</span><span class="punctuation">)</span> <span class="literal string single">'c'</span> -<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"{letter[0]} {letter[1]} {letter[2]}"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"</span><span class="literal string interpol">{letter[0]}</span><span class="literal string double"> </span><span class="literal string interpol">{letter[1]}</span><span class="literal string double"> </span><span class="literal string interpol">{letter[2]}</span><span class="literal string double">"</span><span class="punctuation">)</span> <span class="literal string single">'a b c'</span> -<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"{letter[-1]} {letter[-2]} {letter[-3]}"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"</span><span class="literal string interpol">{letter[-1]}</span><span class="literal string double"> </span><span class="literal string interpol">{letter[-2]}</span><span class="literal string double"> </span><span class="literal string interpol">{letter[-3]}</span><span class="literal string double">"</span><span class="punctuation">)</span> <span class="literal string single">'c b a'</span> </pre> </div> @@ -576,45 +580,45 @@ ul.auto-toc { <p>Match objects have a <tt class="docutils literal">partial</tt> attribute, which is <tt class="docutils literal">True</tt> if it's a partial match.</p> <p>For example, if you wanted a user to enter a 4-digit number and check it character by character as it was being entered:</p> <pre class="code python literal-block"> -<span class="operator">>>></span> <span class="name">pattern</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">compile</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string single">'\d{4}'</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">pattern</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">compile</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string single">'\d</span><span class="literal string interpol">{4}</span><span class="literal string single">'</span><span class="punctuation">)</span> <span class="operator">>>></span> <span class="comment single"># Initially, nothing has been entered:</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">''</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">))</span> -<span class="operator"><</span><span class="name">regex</span><span class="operator">.</span><span class="name">Match</span> <span class="name builtin">object</span><span class="punctuation">;</span> <span class="name">span</span><span class="operator">=</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">0</span><span class="punctuation">),</span> <span class="name">match</span><span class="operator">=</span><span class="literal string single">''</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="operator">></span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">''</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">))</span> +<span class="operator"><</span><span class="name">regex</span><span class="operator">.</span><span class="name">Match</span> <span class="name builtin">object</span><span class="punctuation">;</span> <span class="name">span</span><span class="operator">=</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">0</span><span class="punctuation">),</span> <span class="name">match</span><span class="operator">=</span><span class="literal string single">''</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="operator">></span> <span class="operator">>>></span> <span class="comment single"># An empty string is OK, but it's only a partial match.</span> <span class="operator">>>></span> <span class="comment single"># The user enters a letter:</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'a'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">))</span> -<span class="name builtin pseudo">None</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'a'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">))</span> +<span class="keyword constant">None</span> <span class="operator">>>></span> <span class="comment single"># It'll never match.</span> <span class="operator">>>></span> <span class="comment single"># The user deletes that and enters a digit:</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'1'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">))</span> -<span class="operator"><</span><span class="name">regex</span><span class="operator">.</span><span class="name">Match</span> <span class="name builtin">object</span><span class="punctuation">;</span> <span class="name">span</span><span class="operator">=</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">1</span><span class="punctuation">),</span> <span class="name">match</span><span class="operator">=</span><span class="literal string single">'1'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="operator">></span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'1'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">))</span> +<span class="operator"><</span><span class="name">regex</span><span class="operator">.</span><span class="name">Match</span> <span class="name builtin">object</span><span class="punctuation">;</span> <span class="name">span</span><span class="operator">=</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">1</span><span class="punctuation">),</span> <span class="name">match</span><span class="operator">=</span><span class="literal string single">'1'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="operator">></span> <span class="operator">>>></span> <span class="comment single"># It matches this far, but it's only a partial match.</span> <span class="operator">>>></span> <span class="comment single"># The user enters 2 more digits:</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'123'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">))</span> -<span class="operator"><</span><span class="name">regex</span><span class="operator">.</span><span class="name">Match</span> <span class="name builtin">object</span><span class="punctuation">;</span> <span class="name">span</span><span class="operator">=</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">3</span><span class="punctuation">),</span> <span class="name">match</span><span class="operator">=</span><span class="literal string single">'123'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="operator">></span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'123'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">))</span> +<span class="operator"><</span><span class="name">regex</span><span class="operator">.</span><span class="name">Match</span> <span class="name builtin">object</span><span class="punctuation">;</span> <span class="name">span</span><span class="operator">=</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">3</span><span class="punctuation">),</span> <span class="name">match</span><span class="operator">=</span><span class="literal string single">'123'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="operator">></span> <span class="operator">>>></span> <span class="comment single"># It matches this far, but it's only a partial match.</span> <span class="operator">>>></span> <span class="comment single"># The user enters another digit:</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'1234'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">))</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'1234'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">))</span> <span class="operator"><</span><span class="name">regex</span><span class="operator">.</span><span class="name">Match</span> <span class="name builtin">object</span><span class="punctuation">;</span> <span class="name">span</span><span class="operator">=</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">4</span><span class="punctuation">),</span> <span class="name">match</span><span class="operator">=</span><span class="literal string single">'1234'</span><span class="operator">></span> <span class="operator">>>></span> <span class="comment single"># It's a complete match.</span> <span class="operator">>>></span> <span class="comment single"># If the user enters another digit:</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'12345'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">))</span> -<span class="name builtin pseudo">None</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">pattern</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string single">'12345'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">))</span> +<span class="keyword constant">None</span> <span class="operator">>>></span> <span class="comment single"># It's no longer a match.</span> <span class="operator">>>></span> <span class="comment single"># This is a partial match:</span> -<span class="operator">>>></span> <span class="name">pattern</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string single">'123'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">partial</span> -<span class="name builtin pseudo">True</span> +<span class="operator">>>></span> <span class="name">pattern</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string single">'123'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">partial</span> +<span class="keyword constant">True</span> <span class="operator">>>></span> <span class="comment single"># This is a complete match:</span> -<span class="operator">>>></span> <span class="name">pattern</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string single">'1233'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">partial</span> -<span class="name builtin pseudo">False</span> +<span class="operator">>>></span> <span class="name">pattern</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string single">'1233'</span><span class="punctuation">,</span> <span class="name">partial</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">partial</span> +<span class="keyword constant">False</span> </pre> </div> <div class="section" id="operator-not-working-correctly-with-sub-hg-issue-106"> @@ -711,13 +715,13 @@ ul.auto-toc { <p><tt class="docutils literal">fullmatch</tt> behaves like <tt class="docutils literal">match</tt>, except that it must match all of the string.</p> <p>Examples:</p> <pre class="code python literal-block"> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"abc"</span><span class="punctuation">,</span> <span class="literal string double">"abc"</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">span</span><span class="punctuation">())</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"abc"</span><span class="punctuation">,</span> <span class="literal string double">"abc"</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">span</span><span class="punctuation">())</span> <span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">3</span><span class="punctuation">)</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"abc"</span><span class="punctuation">,</span> <span class="literal string double">"abcx"</span><span class="punctuation">))</span> -<span class="name builtin pseudo">None</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"abc"</span><span class="punctuation">,</span> <span class="literal string double">"abcx"</span><span class="punctuation">,</span> <span class="name">endpos</span><span class="operator">=</span><span class="literal number integer">3</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">span</span><span class="punctuation">())</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"abc"</span><span class="punctuation">,</span> <span class="literal string double">"abcx"</span><span class="punctuation">))</span> +<span class="keyword constant">None</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"abc"</span><span class="punctuation">,</span> <span class="literal string double">"abcx"</span><span class="punctuation">,</span> <span class="name">endpos</span><span class="operator">=</span><span class="literal number integer">3</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">span</span><span class="punctuation">())</span> <span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">3</span><span class="punctuation">)</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"abc"</span><span class="punctuation">,</span> <span class="literal string double">"xabcy"</span><span class="punctuation">,</span> <span class="name">pos</span><span class="operator">=</span><span class="literal number integer">1</span><span class="punctuation">,</span> <span class="name">endpos</span><span class="operator">=</span><span class="literal number integer">4</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">span</span><span class="punctuation">())</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">regex</span><span class="operator">.</span><span class="name">fullmatch</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"abc"</span><span class="punctuation">,</span> <span class="literal string double">"xabcy"</span><span class="punctuation">,</span> <span class="name">pos</span><span class="operator">=</span><span class="literal number integer">1</span><span class="punctuation">,</span> <span class="name">endpos</span><span class="operator">=</span><span class="literal number integer">4</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">span</span><span class="punctuation">())</span> <span class="punctuation">(</span><span class="literal number integer">1</span><span class="punctuation">,</span> <span class="literal number integer">4</span><span class="punctuation">)</span> <span class="operator">>>></span> <span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"a.*?"</span><span class="punctuation">,</span> <span class="literal string double">"abcd"</span><span class="punctuation">)</span><span class="operator">.</span><span class="name">group</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">)</span> @@ -731,9 +735,9 @@ ul.auto-toc { <p><tt class="docutils literal">subf</tt> and <tt class="docutils literal">subfn</tt> are alternatives to <tt class="docutils literal">sub</tt> and <tt class="docutils literal">subn</tt> respectively. When passed a replacement string, they treat it as a format string.</p> <p>Examples:</p> <pre class="code python literal-block"> -<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">subf</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(\w+) (\w+)"</span><span class="punctuation">,</span> <span class="literal string double">"{0} => {2} {1}"</span><span class="punctuation">,</span> <span class="literal string double">"foo bar"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">subf</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(\w+) (\w+)"</span><span class="punctuation">,</span> <span class="literal string double">"</span><span class="literal string interpol">{0}</span><span class="literal string double"> => </span><span class="literal string interpol">{2}</span><span class="literal string double"> </span><span class="literal string interpol">{1}</span><span class="literal string double">"</span><span class="punctuation">,</span> <span class="literal string double">"foo bar"</span><span class="punctuation">)</span> <span class="literal string single">'foo bar => bar foo'</span> -<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">subf</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(?P<word1>\w+) (?P<word2>\w+)"</span><span class="punctuation">,</span> <span class="literal string double">"{word2} {word1}"</span><span class="punctuation">,</span> <span class="literal string double">"foo bar"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">subf</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(?P<word1>\w+) (?P<word2>\w+)"</span><span class="punctuation">,</span> <span class="literal string double">"</span><span class="literal string interpol">{word2}</span><span class="literal string double"> </span><span class="literal string interpol">{word1}</span><span class="literal string double">"</span><span class="punctuation">,</span> <span class="literal string double">"foo bar"</span><span class="punctuation">)</span> <span class="literal string single">'bar foo'</span> </pre> </div> @@ -743,11 +747,11 @@ ul.auto-toc { <p>Examples:</p> <pre class="code python literal-block"> <span class="operator">>>></span> <span class="name">m</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(\w+) (\w+)"</span><span class="punctuation">,</span> <span class="literal string double">"foo bar"</span><span class="punctuation">)</span> -<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"{0} => {2} {1}"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"</span><span class="literal string interpol">{0}</span><span class="literal string double"> => </span><span class="literal string interpol">{2}</span><span class="literal string double"> </span><span class="literal string interpol">{1}</span><span class="literal string double">"</span><span class="punctuation">)</span> <span class="literal string single">'foo bar => bar foo'</span> <span class="operator">>>></span> <span class="operator">>>></span> <span class="name">m</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">match</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(?P<word1>\w+) (?P<word2>\w+)"</span><span class="punctuation">,</span> <span class="literal string double">"foo bar"</span><span class="punctuation">)</span> -<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"{word2} {word1}"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">expandf</span><span class="punctuation">(</span><span class="literal string double">"</span><span class="literal string interpol">{word2}</span><span class="literal string double"> </span><span class="literal string interpol">{word1}</span><span class="literal string double">"</span><span class="punctuation">)</span> <span class="literal string single">'bar foo'</span> </pre> </div> @@ -757,15 +761,15 @@ ul.auto-toc { <p>Example:</p> <pre class="code python literal-block"> <span class="operator">>>></span> <span class="name">m</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">search</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"\w+"</span><span class="punctuation">,</span> <span class="literal string double">"Hello world"</span><span class="punctuation">)</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">m</span><span class="operator">.</span><span class="name">group</span><span class="punctuation">())</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">m</span><span class="operator">.</span><span class="name">group</span><span class="punctuation">())</span> <span class="name">Hello</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">m</span><span class="operator">.</span><span class="name">string</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">m</span><span class="operator">.</span><span class="name">string</span><span class="punctuation">)</span> <span class="name">Hello</span> <span class="name">world</span> <span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">detach_string</span><span class="punctuation">()</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">m</span><span class="operator">.</span><span class="name">group</span><span class="punctuation">())</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">m</span><span class="operator">.</span><span class="name">group</span><span class="punctuation">())</span> <span class="name">Hello</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">m</span><span class="operator">.</span><span class="name">string</span><span class="punctuation">)</span> -<span class="name builtin pseudo">None</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">m</span><span class="operator">.</span><span class="name">string</span><span class="punctuation">)</span> +<span class="keyword constant">None</span> </pre> </div> <div class="section" id="recursive-patterns-hg-issue-27"> @@ -782,7 +786,7 @@ ul.auto-toc { <span class="operator">>>></span> <span class="name">m</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">search</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(\w)(?:(?R)|(\w?))\1"</span><span class="punctuation">,</span> <span class="literal string double">"kayak"</span><span class="punctuation">)</span> <span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">group</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">1</span><span class="punctuation">,</span> <span class="literal number integer">2</span><span class="punctuation">)</span> -<span class="punctuation">(</span><span class="literal string single">'kayak'</span><span class="punctuation">,</span> <span class="literal string single">'k'</span><span class="punctuation">,</span> <span class="name builtin pseudo">None</span><span class="punctuation">)</span> +<span class="punctuation">(</span><span class="literal string single">'kayak'</span><span class="punctuation">,</span> <span class="literal string single">'k'</span><span class="punctuation">,</span> <span class="keyword constant">None</span><span class="punctuation">)</span> </pre> <p>The first two examples show how the subpattern within the capture group is reused, but is _not_ itself a capture group. In other words, <tt class="docutils literal">"(Tarzan|Jane) loves <span class="pre">(?1)"</span></tt> is equivalent to <tt class="docutils literal">"(Tarzan|Jane) loves <span class="pre">(?:Tarzan|Jane)"</span></tt>.</p> <p>It's possible to backtrack into a recursed or repeated group.</p> @@ -908,7 +912,7 @@ ul.auto-toc { </pre> <p>The order of the items is irrelevant, they are treated as a set. The named lists are available as the <tt class="docutils literal">.named_lists</tt> attribute of the pattern object :</p> <pre class="code python literal-block"> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">p</span><span class="operator">.</span><span class="name">named_lists</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">p</span><span class="operator">.</span><span class="name">named_lists</span><span class="punctuation">)</span> <span class="comment single"># Python 3</span> <span class="punctuation">{</span><span class="literal string single">'options'</span><span class="punctuation">:</span> <span class="name builtin">frozenset</span><span class="punctuation">({</span><span class="literal string single">'fifth'</span><span class="punctuation">,</span> <span class="literal string single">'first'</span><span class="punctuation">,</span> <span class="literal string single">'fourth'</span><span class="punctuation">,</span> <span class="literal string single">'second'</span><span class="punctuation">,</span> <span class="literal string single">'third'</span><span class="punctuation">})}</span> <span class="comment single"># Python 2</span> @@ -923,9 +927,9 @@ ul.auto-toc { <span class="name">File</span> <span class="literal string double">"C:\Python37\lib\site-packages</span><span class="literal string escape">\r</span><span class="literal string double">egex</span><span class="literal string escape">\r</span><span class="literal string double">egex.py"</span><span class="punctuation">,</span> <span class="name">line</span> <span class="literal number integer">348</span><span class="punctuation">,</span> <span class="operator word">in</span> <span class="name builtin">compile</span> <span class="keyword">return</span> <span class="name">_compile</span><span class="punctuation">(</span><span class="name">pattern</span><span class="punctuation">,</span> <span class="name">flags</span><span class="punctuation">,</span> <span class="name">ignore_unused</span><span class="punctuation">,</span> <span class="name">kwargs</span><span class="punctuation">)</span> <span class="name">File</span> <span class="literal string double">"C:\Python37\lib\site-packages</span><span class="literal string escape">\r</span><span class="literal string double">egex</span><span class="literal string escape">\r</span><span class="literal string double">egex.py"</span><span class="punctuation">,</span> <span class="name">line</span> <span class="literal number integer">585</span><span class="punctuation">,</span> <span class="operator word">in</span> <span class="name">_compile</span> - <span class="keyword">raise</span> <span class="name exception">ValueError</span><span class="punctuation">(</span><span class="literal string single">'unused keyword argument {!a}'</span><span class="operator">.</span><span class="name">format</span><span class="punctuation">(</span><span class="name">any_one</span><span class="punctuation">))</span> + <span class="keyword">raise</span> <span class="name exception">ValueError</span><span class="punctuation">(</span><span class="literal string single">'unused keyword argument </span><span class="literal string interpol">{!a}</span><span class="literal string single">'</span><span class="operator">.</span><span class="name">format</span><span class="punctuation">(</span><span class="name">any_one</span><span class="punctuation">))</span> <span class="name exception">ValueError</span><span class="punctuation">:</span> <span class="name">unused</span> <span class="name">keyword</span> <span class="name">argument</span> <span class="literal string single">'other_options'</span> -<span class="operator">>>></span> <span class="name">p</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">compile</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"\L<options>"</span><span class="punctuation">,</span> <span class="name">options</span><span class="operator">=</span><span class="name">option_set</span><span class="punctuation">,</span> <span class="name">other_options</span><span class="operator">=</span><span class="punctuation">[],</span> <span class="name">ignore_unused</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">p</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">compile</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"\L<options>"</span><span class="punctuation">,</span> <span class="name">options</span><span class="operator">=</span><span class="name">option_set</span><span class="punctuation">,</span> <span class="name">other_options</span><span class="operator">=</span><span class="punctuation">[],</span> <span class="name">ignore_unused</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">)</span> <span class="operator">>>></span> </pre> </div> @@ -968,9 +972,9 @@ ul.auto-toc { <p>regex.escape has an additional keyword parameter <tt class="docutils literal">special_only</tt>. When True, only 'special' regex characters, such as '?', are escaped.</p> <p>Examples:</p> <pre class="code python literal-block"> -<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">escape</span><span class="punctuation">(</span><span class="literal string double">"foo!?"</span><span class="punctuation">,</span> <span class="name">special_only</span><span class="operator">=</span><span class="name builtin pseudo">False</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">escape</span><span class="punctuation">(</span><span class="literal string double">"foo!?"</span><span class="punctuation">,</span> <span class="name">special_only</span><span class="operator">=</span><span class="keyword constant">False</span><span class="punctuation">)</span> <span class="literal string single">'foo</span><span class="literal string escape">\\</span><span class="literal string single">!</span><span class="literal string escape">\\</span><span class="literal string single">?'</span> -<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">escape</span><span class="punctuation">(</span><span class="literal string double">"foo!?"</span><span class="punctuation">,</span> <span class="name">special_only</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">escape</span><span class="punctuation">(</span><span class="literal string double">"foo!?"</span><span class="punctuation">,</span> <span class="name">special_only</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">)</span> <span class="literal string single">'foo!</span><span class="literal string escape">\\</span><span class="literal string single">?'</span> </pre> </div> @@ -979,9 +983,9 @@ ul.auto-toc { <p>regex.escape has an additional keyword parameter <tt class="docutils literal">literal_spaces</tt>. When True, spaces are not escaped.</p> <p>Examples:</p> <pre class="code python literal-block"> -<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">escape</span><span class="punctuation">(</span><span class="literal string double">"foo bar!?"</span><span class="punctuation">,</span> <span class="name">literal_spaces</span><span class="operator">=</span><span class="name builtin pseudo">False</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">escape</span><span class="punctuation">(</span><span class="literal string double">"foo bar!?"</span><span class="punctuation">,</span> <span class="name">literal_spaces</span><span class="operator">=</span><span class="keyword constant">False</span><span class="punctuation">)</span> <span class="literal string single">'foo</span><span class="literal string escape">\\</span><span class="literal string single"> bar!</span><span class="literal string escape">\\</span><span class="literal string single">?'</span> -<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">escape</span><span class="punctuation">(</span><span class="literal string double">"foo bar!?"</span><span class="punctuation">,</span> <span class="name">literal_spaces</span><span class="operator">=</span><span class="name builtin pseudo">True</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">escape</span><span class="punctuation">(</span><span class="literal string double">"foo bar!?"</span><span class="punctuation">,</span> <span class="name">literal_spaces</span><span class="operator">=</span><span class="keyword constant">True</span><span class="punctuation">)</span> <span class="literal string single">'foo bar!</span><span class="literal string escape">\\</span><span class="literal string single">?'</span> </pre> </div> @@ -1008,7 +1012,7 @@ ul.auto-toc { </ul> <p>Examples:</p> <pre class="code python literal-block"> -<span class="operator">>>></span> <span class="name">m</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">search</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(\w{3})+"</span><span class="punctuation">,</span> <span class="literal string double">"123456789"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">m</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">search</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(\w</span><span class="literal string interpol">{3}</span><span class="literal string double">)+"</span><span class="punctuation">,</span> <span class="literal string double">"123456789"</span><span class="punctuation">)</span> <span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">group</span><span class="punctuation">(</span><span class="literal number integer">1</span><span class="punctuation">)</span> <span class="literal string single">'789'</span> <span class="operator">>>></span> <span class="name">m</span><span class="operator">.</span><span class="name">captures</span><span class="punctuation">(</span><span class="literal number integer">1</span><span class="punctuation">)</span> @@ -1071,11 +1075,11 @@ ul.auto-toc { <p>A match object accepts access to the captured groups via subscripting and slicing:</p> <pre class="code python literal-block"> <span class="operator">>>></span> <span class="name">m</span> <span class="operator">=</span> <span class="name">regex</span><span class="operator">.</span><span class="name">search</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"(?P<before>.*?)(?P<num>\d+)(?P<after>.*)"</span><span class="punctuation">,</span> <span class="literal string double">"pqr123stu"</span><span class="punctuation">)</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">m</span><span class="punctuation">[</span><span class="literal string double">"before"</span><span class="punctuation">])</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">m</span><span class="punctuation">[</span><span class="literal string double">"before"</span><span class="punctuation">])</span> <span class="name">pqr</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name builtin">len</span><span class="punctuation">(</span><span class="name">m</span><span class="punctuation">))</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name builtin">len</span><span class="punctuation">(</span><span class="name">m</span><span class="punctuation">))</span> <span class="literal number integer">4</span> -<span class="operator">>>></span> <span class="keyword">print</span><span class="punctuation">(</span><span class="name">m</span><span class="punctuation">[:])</span> +<span class="operator">>>></span> <span class="name builtin">print</span><span class="punctuation">(</span><span class="name">m</span><span class="punctuation">[:])</span> <span class="punctuation">(</span><span class="literal string single">'pqr123stu'</span><span class="punctuation">,</span> <span class="literal string single">'pqr'</span><span class="punctuation">,</span> <span class="literal string single">'123'</span><span class="punctuation">,</span> <span class="literal string single">'stu'</span><span class="punctuation">)</span> </pre> </div> @@ -1127,9 +1131,9 @@ ul.auto-toc { <p><tt class="docutils literal">\G</tt></p> <p>A search anchor has been added. It matches at the position where each search started/continued and can be used for contiguous matches or in negative variable-length lookbehinds to limit how far back the lookbehind goes:</p> <pre class="code python literal-block"> -<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">findall</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"\w{2}"</span><span class="punctuation">,</span> <span class="literal string double">"abcd ef"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">findall</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"\w</span><span class="literal string interpol">{2}</span><span class="literal string double">"</span><span class="punctuation">,</span> <span class="literal string double">"abcd ef"</span><span class="punctuation">)</span> <span class="punctuation">[</span><span class="literal string single">'ab'</span><span class="punctuation">,</span> <span class="literal string single">'cd'</span><span class="punctuation">,</span> <span class="literal string single">'ef'</span><span class="punctuation">]</span> -<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">findall</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"\G\w{2}"</span><span class="punctuation">,</span> <span class="literal string double">"abcd ef"</span><span class="punctuation">)</span> +<span class="operator">>>></span> <span class="name">regex</span><span class="operator">.</span><span class="name">findall</span><span class="punctuation">(</span><span class="literal string affix">r</span><span class="literal string double">"\G\w</span><span class="literal string interpol">{2}</span><span class="literal string double">"</span><span class="punctuation">,</span> <span class="literal string double">"abcd ef"</span><span class="punctuation">)</span> <span class="punctuation">[</span><span class="literal string single">'ab'</span><span class="punctuation">,</span> <span class="literal string single">'cd'</span><span class="punctuation">]</span> </pre> <ul class="simple"> @@ -1198,7 +1202,7 @@ ul.auto-toc { <span class="name">File</span> <span class="literal string double">"<stdin>"</span><span class="punctuation">,</span> <span class="name">line</span> <span class="literal number integer">1</span><span class="punctuation">,</span> <span class="operator word">in</span> <span class="operator"><</span><span class="name">module</span><span class="operator">></span> <span class="name">File</span> <span class="literal string double">"C:\Python37\lib\site-packages</span><span class="literal string escape">\r</span><span class="literal string double">egex</span><span class="literal string escape">\r</span><span class="literal string double">egex.py"</span><span class="punctuation">,</span> <span class="name">line</span> <span class="literal number integer">276</span><span class="punctuation">,</span> <span class="operator word">in</span> <span class="name">sub</span> <span class="name">endpos</span><span class="punctuation">,</span> <span class="name">concurrent</span><span class="punctuation">,</span> <span class="name">timeout</span><span class="punctuation">)</span> -<span class="name">TimeoutError</span><span class="punctuation">:</span> <span class="name">regex</span> <span class="name">timed</span> <span class="name">out</span> +<span class="name exception">TimeoutError</span><span class="punctuation">:</span> <span class="name">regex</span> <span class="name">timed</span> <span class="name">out</span> </pre> </div> </div> diff --git a/docs/Features.rst b/docs/Features.rst index 622c000811416210017c76dc2f88702b41eb8388..304f2b116b05b7da1509b8c63f67fcf7cd21c63b 100644 --- a/docs/Features.rst +++ b/docs/Features.rst @@ -8,6 +8,11 @@ Note The re module's behaviour with zero-width matches changed in Python 3.7, and this module will follow that behaviour when compiled for Python 3.7. +PyPy +---- + +This module is targeted at CPython. It expects that all codepoints are the same width, so it won't behave properly with PyPy outside U+0000..U+007F because PyPy stores strings as UTF-8. + Old vs new behaviour -------------------- @@ -129,7 +134,7 @@ The regex module releases the GIL during matching on instances of the built-in ( Unicode ------- -This module supports Unicode 13.0.0. +This module supports Unicode 14.0.0. Full Unicode case-folding is supported. diff --git a/regex.egg-info/PKG-INFO b/regex.egg-info/PKG-INFO index f72c76122c70ff5993af360ec32b1bc55d9c2fe0..9014429356322b9422a2bb7069bc7a5adcc22ebc 100644 --- a/regex.egg-info/PKG-INFO +++ b/regex.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: regex -Version: 2020.11.13 +Version: 2021.10.8 Summary: Alternative regular expression module, to replace re. Home-page: https://bitbucket.org/mrabarnett/mrab-regex Author: Matthew Barnett @@ -16,6 +16,11 @@ Description: Introduction The re module's behaviour with zero-width matches changed in Python 3.7, and this module will follow that behaviour when compiled for Python 3.7. + PyPy + ---- + + This module is targeted at CPython. It expects that all codepoints are the same width, so it won't behave properly with PyPy outside U+0000..U+007F because PyPy stores strings as UTF-8. + Old vs new behaviour -------------------- @@ -137,7 +142,7 @@ Description: Introduction Unicode ------- - This module supports Unicode 13.0.0. + This module supports Unicode 14.0.0. Full Unicode case-folding is supported. @@ -1075,11 +1080,11 @@ Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: Apache Software License Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 Classifier: Topic :: Scientific/Engineering :: Information Analysis Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Text Processing diff --git a/regex_2/_regex.c b/regex_2/_regex.c index 6fc162735cc38c126766b12a6c8cb847108c4312..126dac8e330be252205be117a3483807620741c0 100644 --- a/regex_2/_regex.c +++ b/regex_2/_regex.c @@ -6388,13 +6388,13 @@ Py_LOCAL_INLINE(BOOL) build_fast_tables_rev(RE_State* state, RE_Node* node, /* Performs a string search. */ Py_LOCAL_INLINE(Py_ssize_t) string_search(RE_State* state, RE_Node* node, - Py_ssize_t text_pos, Py_ssize_t limit, BOOL* is_partial) { + Py_ssize_t text_pos, Py_ssize_t limit, BOOL try_fast, BOOL* is_partial) { Py_ssize_t found_pos; *is_partial = FALSE; /* Has the node been initialised for fast searching, if necessary? */ - if (!(node->status & RE_STATUS_FAST_INIT)) { + if (try_fast && !(node->status & RE_STATUS_FAST_INIT)) { /* Ideally the pattern should immutable and shareable across threads. * Internally, however, it isn't. For safety we need to hold the GIL. */ @@ -6409,7 +6409,7 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search(RE_State* state, RE_Node* node, release_GIL(state); } - if (node->string.bad_character_offset) { + if (try_fast && node->string.bad_character_offset) { /* Start with a fast search. This will find the string if it's complete * (i.e. not truncated). */ @@ -6576,13 +6576,13 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_fld_rev(RE_State* state, RE_Node* /* Performs a string search, ignoring case. */ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign(RE_State* state, RE_Node* node, - Py_ssize_t text_pos, Py_ssize_t limit, BOOL* is_partial) { + Py_ssize_t text_pos, Py_ssize_t limit, BOOL try_fast, BOOL* is_partial) { Py_ssize_t found_pos; *is_partial = FALSE; /* Has the node been initialised for fast searching, if necessary? */ - if (!(node->status & RE_STATUS_FAST_INIT)) { + if (try_fast && !(node->status & RE_STATUS_FAST_INIT)) { /* Ideally the pattern should immutable and shareable across threads. * Internally, however, it isn't. For safety we need to hold the GIL. */ @@ -6597,7 +6597,7 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign(RE_State* state, RE_Node* node, release_GIL(state); } - if (node->string.bad_character_offset) { + if (try_fast && node->string.bad_character_offset) { /* Start with a fast search. This will find the string if it's complete * (i.e. not truncated). */ @@ -6617,13 +6617,14 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign(RE_State* state, RE_Node* node, /* Performs a string search, backwards, ignoring case. */ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign_rev(RE_State* state, RE_Node* - node, Py_ssize_t text_pos, Py_ssize_t limit, BOOL* is_partial) { + node, Py_ssize_t text_pos, Py_ssize_t limit, BOOL try_fast, BOOL* is_partial) + { Py_ssize_t found_pos; *is_partial = FALSE; /* Has the node been initialised for fast searching, if necessary? */ - if (!(node->status & RE_STATUS_FAST_INIT)) { + if (try_fast && !(node->status & RE_STATUS_FAST_INIT)) { /* Ideally the pattern should immutable and shareable across threads. * Internally, however, it isn't. For safety we need to hold the GIL. */ @@ -6638,7 +6639,7 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign_rev(RE_State* state, RE_Node* release_GIL(state); } - if (node->string.bad_character_offset) { + if (try_fast && node->string.bad_character_offset) { /* Start with a fast search. This will find the string if it's complete * (i.e. not truncated). */ @@ -6658,13 +6659,13 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign_rev(RE_State* state, RE_Node* /* Performs a string search, backwards. */ Py_LOCAL_INLINE(Py_ssize_t) string_search_rev(RE_State* state, RE_Node* node, - Py_ssize_t text_pos, Py_ssize_t limit, BOOL* is_partial) { + Py_ssize_t text_pos, Py_ssize_t limit, BOOL try_fast, BOOL* is_partial) { Py_ssize_t found_pos; *is_partial = FALSE; /* Has the node been initialised for fast searching, if necessary? */ - if (!(node->status & RE_STATUS_FAST_INIT)) { + if (try_fast && !(node->status & RE_STATUS_FAST_INIT)) { /* Ideally the pattern should immutable and shareable across threads. * Internally, however, it isn't. For safety we need to hold the GIL. */ @@ -6679,7 +6680,7 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_rev(RE_State* state, RE_Node* node, release_GIL(state); } - if (node->string.bad_character_offset) { + if (try_fast && node->string.bad_character_offset) { /* Start with a fast search. This will find the string if it's complete * (i.e. not truncated). */ @@ -8077,7 +8078,8 @@ Py_LOCAL_INLINE(Py_ssize_t) search_start_STRING(RE_State* state, RE_Node* node, if ((node->status & RE_STATUS_REQUIRED) && text_pos == state->req_pos) return text_pos; - return string_search(state, node, text_pos, state->slice_end, is_partial); + return string_search(state, node, text_pos, state->slice_end, TRUE, + is_partial); } /* Searches for a string, ignoring case. */ @@ -8116,7 +8118,7 @@ Py_LOCAL_INLINE(Py_ssize_t) search_start_STRING_IGN(RE_State* state, RE_Node* if ((node->status & RE_STATUS_REQUIRED) && text_pos == state->req_pos) return text_pos; - return string_search_ign(state, node, text_pos, state->slice_end, + return string_search_ign(state, node, text_pos, state->slice_end, TRUE, is_partial); } @@ -8129,7 +8131,7 @@ Py_LOCAL_INLINE(Py_ssize_t) search_start_STRING_IGN_REV(RE_State* state, return text_pos; return string_search_ign_rev(state, node, text_pos, state->slice_start, - is_partial); + TRUE, is_partial); } /* Searches for a string, backwards. */ @@ -8140,7 +8142,7 @@ Py_LOCAL_INLINE(Py_ssize_t) search_start_STRING_REV(RE_State* state, RE_Node* if ((node->status & RE_STATUS_REQUIRED) && text_pos == state->req_pos) return text_pos; - return string_search_rev(state, node, text_pos, state->slice_start, + return string_search_rev(state, node, text_pos, state->slice_start, TRUE, is_partial); } @@ -9466,11 +9468,13 @@ too_wide: return NULL; } +/* Calculates the total number of errors. */ Py_LOCAL_INLINE(size_t) total_errors(size_t* fuzzy_counts) { return fuzzy_counts[RE_FUZZY_DEL] + fuzzy_counts[RE_FUZZY_INS] + fuzzy_counts[RE_FUZZY_SUB]; } +/* Calculates the total cost of the errors. */ Py_LOCAL_INLINE(size_t) total_cost(size_t* fuzzy_counts, RE_Node* fuzzy_node) { RE_CODE* values; @@ -9764,6 +9768,9 @@ Py_LOCAL_INLINE(BOOL) fuzzy_ext_match(RE_State* state, RE_Node* fuzzy_node, Py_ssize_t pos) { RE_Node* test_node; + if (!fuzzy_node) + return TRUE; + test_node = fuzzy_node->nonstring.next_2.node; if (!test_node) return TRUE; @@ -9942,6 +9949,8 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_item(RE_State* state, RE_FuzzyData* data, if (!this_error_permitted(state, data->fuzzy_type)) return RE_ERROR_FAILURE; + data->new_text_pos = state->text_pos; + switch (data->fuzzy_type) { case RE_FUZZY_DEL: /* Could a character at text_pos have been deleted? */ @@ -9952,6 +9961,7 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_item(RE_State* state, RE_FuzzyData* data, data->new_string_pos += step; else data->new_node = data->new_node->next_1.node; + return RE_ERROR_SUCCESS; case RE_FUZZY_INS: /* Could the character at text_pos have been inserted? */ @@ -9968,16 +9978,18 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_item(RE_State* state, RE_FuzzyData* data, return RE_ERROR_FAILURE; data->new_text_pos = new_pos; + return RE_ERROR_SUCCESS; } - return check_fuzzy_partial(state, new_pos); + return check_fuzzy_partial(state, data->new_text_pos); case RE_FUZZY_SUB: /* Could the character at text_pos have been substituted? */ if (step == 0) return RE_ERROR_FAILURE; new_pos = data->new_text_pos + step; + if (state->slice_start <= new_pos && new_pos <= state->slice_end) { if (!fuzzy_ext_match(state, state->fuzzy_node, data->new_text_pos)) return RE_ERROR_FAILURE; @@ -9999,8 +10011,8 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_item(RE_State* state, RE_FuzzyData* data, } /* Tries a fuzzy match of an item of width 0 or 1. */ -Py_LOCAL_INLINE(int) fuzzy_match_item(RE_State* state, BOOL search, Py_ssize_t* - text_pos, RE_Node** node, RE_INT8 step) { +Py_LOCAL_INLINE(int) fuzzy_match_item(RE_State* state, BOOL search, RE_Node** + node, RE_INT8 step) { size_t* fuzzy_counts; RE_FuzzyData data; TRACE(("<<fuzzy_match_item>>\n")) @@ -10012,7 +10024,6 @@ Py_LOCAL_INLINE(int) fuzzy_match_item(RE_State* state, BOOL search, Py_ssize_t* return RE_ERROR_FAILURE; } - data.new_text_pos = *text_pos; data.new_node = *node; if (step == 0) { @@ -10029,8 +10040,7 @@ Py_LOCAL_INLINE(int) fuzzy_match_item(RE_State* state, BOOL search, Py_ssize_t* /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || data.new_text_pos != - state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; for (data.fuzzy_type = 0; data.fuzzy_type < RE_FUZZY_COUNT; data.fuzzy_type++) { @@ -10052,7 +10062,7 @@ found: return RE_ERROR_MEMORY; if (!push_int8(state, &state->bstack, step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, *text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10068,7 +10078,7 @@ found: ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = data.new_text_pos; + state->text_pos = data.new_text_pos; *node = data.new_node; TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], @@ -10079,9 +10089,8 @@ found: /* Retries a fuzzy match of a item of width 0 or 1. */ Py_LOCAL_INLINE(int) retry_fuzzy_match_item(RE_State* state, RE_UINT8 op, BOOL - search, Py_ssize_t* text_pos, RE_Node** node, BOOL advance) { + search, RE_Node** node, BOOL advance) { size_t* fuzzy_counts; - Py_ssize_t curr_text_pos; RE_FuzzyData data; RE_INT8 step; RE_Node* curr_node; @@ -10095,14 +10104,13 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_item(RE_State* state, RE_UINT8 op, BOOL if (!pop_uint8(state, &state->bstack, &data.fuzzy_type)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; if (!pop_int8(state, &state->bstack, &step)) return RE_ERROR_MEMORY; if (!pop_pointer(state, &state->bstack, (void*)&curr_node)) return RE_ERROR_MEMORY; - data.new_text_pos = curr_text_pos; data.new_node = curr_node; data.step = step; @@ -10114,8 +10122,7 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_item(RE_State* state, RE_UINT8 op, BOOL /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || data.new_text_pos != - state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; step = advance ? data.step : 0; @@ -10139,7 +10146,7 @@ found: return RE_ERROR_MEMORY; if (!push_int8(state, &state->bstack, step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10155,7 +10162,7 @@ found: ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = data.new_text_pos; + state->text_pos = data.new_text_pos; *node = data.new_node; TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], @@ -10165,19 +10172,18 @@ found: } /* Tries a fuzzy insertion of characters, initially 0, after a string. */ -Py_LOCAL_INLINE(int) fuzzy_insert(RE_State* state, Py_ssize_t text_pos, int - step, RE_Node* node) { +Py_LOCAL_INLINE(int) fuzzy_insert(RE_State* state, int step, RE_Node* node) { Py_ssize_t limit; limit = step > 0 ? state->slice_end : state->slice_start; - if (text_pos == limit || !insertion_permitted(state, state->fuzzy_node, - state->fuzzy_counts)) + if (state->text_pos == limit || !insertion_permitted(state, + state->fuzzy_node, state->fuzzy_counts)) return RE_ERROR_SUCCESS; if (!push_int8(state, &state->bstack, (RE_INT8)step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, 0)) return RE_ERROR_MEMORY; @@ -10192,11 +10198,9 @@ Py_LOCAL_INLINE(int) fuzzy_insert(RE_State* state, Py_ssize_t text_pos, int } /* Retries a fuzzy insertion of characters after a string. */ -Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, Py_ssize_t *text_pos, - RE_Node** node) { +Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, RE_Node** node) { RE_Node* curr_node; Py_ssize_t count; - Py_ssize_t curr_text_pos; RE_INT8 step; Py_ssize_t limit; @@ -10206,15 +10210,16 @@ Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, Py_ssize_t *text_pos, return RE_ERROR_MEMORY; if (!pop_ssize(state, &state->bstack, &count)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; if (!pop_int8(state, &state->bstack, &step)) return RE_ERROR_MEMORY; limit = step > 0 ? state->slice_end : state->slice_start; - if (curr_text_pos == limit || !insertion_permitted(state, - state->fuzzy_node, state->fuzzy_counts)) { + if (state->text_pos == limit || !insertion_permitted(state, + state->fuzzy_node, state->fuzzy_counts) || !fuzzy_ext_match(state, + curr_node->nonstring.next_2.node, state->text_pos)) { while (count > 0) { unrecord_fuzzy(state); --state->fuzzy_counts[RE_FUZZY_INS]; @@ -10224,12 +10229,12 @@ Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, Py_ssize_t *text_pos, return RE_ERROR_FAILURE; } - curr_text_pos += step; + state->text_pos += step; ++count; if (!push_int8(state, &state->bstack, step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, count)) return RE_ERROR_MEMORY; @@ -10240,21 +10245,20 @@ Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, Py_ssize_t *text_pos, /* bstack: step text_pos count node FUZZY_INSERT */ - if (!record_fuzzy(state, RE_FUZZY_INS, curr_text_pos - step)) + if (!record_fuzzy(state, RE_FUZZY_INS, state->text_pos - step)) return RE_ERROR_MEMORY; ++state->fuzzy_counts[RE_FUZZY_INS]; ++state->capture_change; - *text_pos = curr_text_pos; *node = curr_node; return RE_ERROR_SUCCESS; } /* Tries a fuzzy match of a string. */ -Py_LOCAL_INLINE(int) fuzzy_match_string(RE_State* state, BOOL search, - Py_ssize_t* text_pos, RE_Node* node, Py_ssize_t* string_pos, RE_INT8 step) { +Py_LOCAL_INLINE(int) fuzzy_match_string(RE_State* state, BOOL search, RE_Node* + node, Py_ssize_t* string_pos, RE_INT8 step) { size_t* fuzzy_counts; RE_FuzzyData data; TRACE(("<<fuzzy_match_string>>\n")) @@ -10266,15 +10270,13 @@ Py_LOCAL_INLINE(int) fuzzy_match_string(RE_State* state, BOOL search, return RE_ERROR_FAILURE; } - data.new_text_pos = *text_pos; data.new_string_pos = *string_pos; data.step = step; /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || data.new_text_pos != - state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; for (data.fuzzy_type = 0; data.fuzzy_type < RE_FUZZY_COUNT; data.fuzzy_type++) { @@ -10298,7 +10300,7 @@ found: return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, *string_pos)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, *text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10307,14 +10309,13 @@ found: /* bstack: node step string_pos text_pos fuzzy_type op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - data.new_text_pos : data.new_text_pos - data.step)) + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) return RE_ERROR_MEMORY; ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = data.new_text_pos; + state->text_pos = data.new_text_pos; *string_pos = data.new_string_pos; TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], @@ -10325,11 +10326,9 @@ found: /* Retries a fuzzy match of a string. */ Py_LOCAL_INLINE(int) retry_fuzzy_match_string(RE_State* state, RE_UINT8 op, - BOOL search, Py_ssize_t* text_pos, RE_Node** node, Py_ssize_t* string_pos) { + BOOL search, RE_Node** node, Py_ssize_t* string_pos) { size_t* fuzzy_counts; RE_FuzzyData data; - Py_ssize_t curr_text_pos; - Py_ssize_t curr_string_pos; RE_Node* new_node; TRACE(("<<retry_fuzzy_match_string>>\n")) @@ -10341,25 +10340,23 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_string(RE_State* state, RE_UINT8 op, if (!pop_uint8(state, &state->bstack, &data.fuzzy_type)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_string_pos)) + if (!pop_ssize(state, &state->bstack, string_pos)) return RE_ERROR_MEMORY; if (!pop_int8(state, &state->bstack, &data.step)) return RE_ERROR_MEMORY; if (!pop_pointer(state, &state->bstack, (void*)&new_node)) return RE_ERROR_MEMORY; - data.new_text_pos = curr_text_pos; - data.new_string_pos = curr_string_pos; + data.new_string_pos = *string_pos; --fuzzy_counts[data.fuzzy_type]; /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || data.new_text_pos != - state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; for (++data.fuzzy_type; data.fuzzy_type < RE_FUZZY_COUNT; data.fuzzy_type++) { @@ -10381,17 +10378,16 @@ found: return RE_ERROR_MEMORY; if (!push_int8(state, &state->bstack, data.step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_string_pos)) + if (!push_ssize(state, &state->bstack, *string_pos)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, op)) return RE_ERROR_MEMORY; - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - data.new_text_pos : data.new_text_pos - data.step)) + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) return RE_ERROR_MEMORY; /* bstack: node step string_pos text_pos fuzzy_type op */ @@ -10399,7 +10395,7 @@ found: ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = data.new_text_pos; + state->text_pos = data.new_text_pos; *node = new_node; *string_pos = data.new_string_pos; @@ -10414,43 +10410,51 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_string_fld(RE_State* state, RE_FuzzyData* data) { int new_pos; - if (this_error_permitted(state, data->fuzzy_type)) { - switch (data->fuzzy_type) { - case RE_FUZZY_DEL: - /* Could a character at text_pos have been deleted? */ - data->new_string_pos += data->step; - return RE_ERROR_SUCCESS; - case RE_FUZZY_INS: - /* Could the character at text_pos have been inserted? */ - if (!data->permit_insertion) + if (!this_error_permitted(state, data->fuzzy_type)) + return RE_ERROR_FAILURE; + + data->new_text_pos = state->text_pos; + + switch (data->fuzzy_type) { + case RE_FUZZY_DEL: + /* Could a character at text_pos have been deleted? */ + data->new_string_pos += data->step; + + return RE_ERROR_SUCCESS; + case RE_FUZZY_INS: + /* Could the character at text_pos have been inserted? */ + if (!data->permit_insertion) + return RE_ERROR_FAILURE; + + new_pos = data->new_folded_pos + data->step; + + if (0 <= new_pos && new_pos <= data->folded_len) { + if (!fuzzy_ext_match(state, state->fuzzy_node, + data->new_string_pos)) return RE_ERROR_FAILURE; - new_pos = data->new_folded_pos + data->step; - if (0 <= new_pos && new_pos <= data->folded_len) { - if (!fuzzy_ext_match(state, state->fuzzy_node, - data->new_string_pos)) - return RE_ERROR_FAILURE; + data->new_folded_pos = new_pos; - data->new_folded_pos = new_pos; - return RE_ERROR_SUCCESS; - } + return RE_ERROR_SUCCESS; + } - return check_fuzzy_partial(state, new_pos); - case RE_FUZZY_SUB: - /* Could the character at text_pos have been substituted? */ - new_pos = data->new_folded_pos + data->step; - if (0 <= new_pos && new_pos <= data->folded_len) { - if (!fuzzy_ext_match(state, state->fuzzy_node, - data->new_string_pos)) - return RE_ERROR_FAILURE; + return check_fuzzy_partial(state, new_pos); + case RE_FUZZY_SUB: + /* Could the character at text_pos have been substituted? */ + new_pos = data->new_folded_pos + data->step; - data->new_folded_pos = new_pos; - data->new_string_pos += data->step; - return RE_ERROR_SUCCESS; - } + if (0 <= new_pos && new_pos <= data->folded_len) { + if (!fuzzy_ext_match(state, state->fuzzy_node, + data->new_string_pos)) + return RE_ERROR_FAILURE; - return check_fuzzy_partial(state, new_pos); + data->new_folded_pos = new_pos; + data->new_string_pos += data->step; + + return RE_ERROR_SUCCESS; } + + return check_fuzzy_partial(state, new_pos); } return RE_ERROR_FAILURE; @@ -10458,18 +10462,19 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_string_fld(RE_State* state, RE_FuzzyData* /* Tries a fuzzy match of a string, ignoring case. */ Py_LOCAL_INLINE(int) fuzzy_match_string_fld(RE_State* state, BOOL search, - Py_ssize_t* text_pos, RE_Node* node, Py_ssize_t* string_pos, int* folded_pos, - int folded_len, RE_INT8 step) { + RE_Node* node, Py_ssize_t* string_pos, int* folded_pos, int folded_len, + RE_INT8 step) { size_t* fuzzy_counts; - Py_ssize_t new_text_pos; RE_FuzzyData data; + TRACE(("<<fuzzy_match_string_fld>>\n")) fuzzy_counts = state->fuzzy_counts; - if (!any_error_permitted(state)) + if (!any_error_permitted(state)) { + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; + } - new_text_pos = *text_pos; data.new_string_pos = *string_pos; data.new_folded_pos = *folded_pos; data.folded_len = folded_len; @@ -10478,7 +10483,8 @@ Py_LOCAL_INLINE(int) fuzzy_match_string_fld(RE_State* state, BOOL search, /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || new_text_pos != state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; + if (step > 0) { if (data.new_folded_pos != 0) data.permit_insertion = RE_ERROR_SUCCESS; @@ -10499,6 +10505,7 @@ Py_LOCAL_INLINE(int) fuzzy_match_string_fld(RE_State* state, BOOL search, goto found; } + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; found: @@ -10512,7 +10519,7 @@ found: return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, folded_len)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, new_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10523,30 +10530,30 @@ found: * op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - new_text_pos : new_text_pos - data.step)) + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) return RE_ERROR_MEMORY; ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = new_text_pos; + state->text_pos = data.new_text_pos; *string_pos = data.new_string_pos; *folded_pos = data.new_folded_pos; + TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], + fuzzy_counts[1], fuzzy_counts[2])) + TRACE((" return RE_ERROR_SUCCESS\n")) return RE_ERROR_SUCCESS; } /* Retries a fuzzy match of a string, ignoring case. */ Py_LOCAL_INLINE(int) retry_fuzzy_match_string_fld(RE_State* state, RE_UINT8 op, - BOOL search, Py_ssize_t* text_pos, RE_Node** node, Py_ssize_t* string_pos, - int* folded_pos) { + BOOL search, RE_Node** node, Py_ssize_t* string_pos, int* folded_pos) { size_t* fuzzy_counts; RE_FuzzyData data; - Py_ssize_t new_text_pos; int curr_folded_pos; - Py_ssize_t curr_string_pos; RE_Node* new_node; + TRACE(("<<retry_fuzzy_match_string_fld>>\n")) fuzzy_counts = state->fuzzy_counts; @@ -10557,20 +10564,20 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_string_fld(RE_State* state, RE_UINT8 op, if (!pop_uint8(state, &state->bstack, &data.fuzzy_type)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &new_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; if (!pop_int(state, &state->bstack, &data.folded_len)) return RE_ERROR_MEMORY; if (!pop_int(state, &state->bstack, &curr_folded_pos)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_string_pos)) + if (!pop_ssize(state, &state->bstack, string_pos)) return RE_ERROR_MEMORY; if (!pop_int8(state, &state->bstack, &data.step)) return RE_ERROR_MEMORY; if (!pop_pointer(state, &state->bstack, (void*)&new_node)) return RE_ERROR_MEMORY; - data.new_string_pos = curr_string_pos; + data.new_string_pos = *string_pos; data.new_folded_pos = curr_folded_pos; --fuzzy_counts[data.fuzzy_type]; @@ -10578,7 +10585,8 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_string_fld(RE_State* state, RE_UINT8 op, /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || new_text_pos != state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; + if (data.step > 0) { if (data.new_folded_pos != 0) data.permit_insertion = RE_ERROR_SUCCESS; @@ -10599,6 +10607,7 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_string_fld(RE_State* state, RE_UINT8 op, goto found; } + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; found: @@ -10606,35 +10615,37 @@ found: return RE_ERROR_MEMORY; if (!push_int8(state, &state->bstack, data.step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_string_pos)) + if (!push_ssize(state, &state->bstack, *string_pos)) return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, curr_folded_pos)) return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, data.folded_len)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, new_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, op)) return RE_ERROR_MEMORY; + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) + return RE_ERROR_MEMORY; + /* bstack: node step string_pos folded_pos folded_len text_pos fuzzy_type * op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - new_text_pos : new_text_pos - data.step)) - return RE_ERROR_MEMORY; - ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = new_text_pos; + state->text_pos = data.new_text_pos; *node = new_node; *string_pos = data.new_string_pos; *folded_pos = data.new_folded_pos; + TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], + fuzzy_counts[1], fuzzy_counts[2])) + TRACE((" return RE_ERROR_SUCCESS\n")) return RE_ERROR_SUCCESS; } @@ -10643,43 +10654,51 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_group_fld(RE_State* state, RE_FuzzyData* data) { int new_pos; - if (this_error_permitted(state, data->fuzzy_type)) { - switch (data->fuzzy_type) { - case RE_FUZZY_DEL: - /* Could a character at text_pos have been deleted? */ - data->new_gfolded_pos += data->step; - return RE_ERROR_SUCCESS; - case RE_FUZZY_INS: - /* Could the character at text_pos have been inserted? */ - if (!data->permit_insertion) + if (!this_error_permitted(state, data->fuzzy_type)) + return RE_ERROR_FAILURE; + + data->new_text_pos = state->text_pos; + + switch (data->fuzzy_type) { + case RE_FUZZY_DEL: + /* Could a character at text_pos have been deleted? */ + data->new_gfolded_pos += data->step; + + return RE_ERROR_SUCCESS; + case RE_FUZZY_INS: + /* Could the character at text_pos have been inserted? */ + if (!data->permit_insertion) + return RE_ERROR_FAILURE; + + new_pos = data->new_folded_pos + data->step; + + if (0 <= new_pos && new_pos <= data->folded_len) { + if (!fuzzy_ext_match_group_fld(state, state->fuzzy_node, + data->new_folded_pos)) return RE_ERROR_FAILURE; - new_pos = data->new_folded_pos + data->step; - if (0 <= new_pos && new_pos <= data->folded_len) { - if (!fuzzy_ext_match_group_fld(state, state->fuzzy_node, - data->new_folded_pos)) - return RE_ERROR_FAILURE; + data->new_folded_pos = new_pos; - data->new_folded_pos = new_pos; - return RE_ERROR_SUCCESS; - } + return RE_ERROR_SUCCESS; + } - return check_fuzzy_partial(state, new_pos); - case RE_FUZZY_SUB: - /* Could the character at text_pos have been substituted? */ - new_pos = data->new_folded_pos + data->step; - if (0 <= new_pos && new_pos <= data->folded_len) { - if (!fuzzy_ext_match_group_fld(state, state->fuzzy_node, - data->new_folded_pos)) - return RE_ERROR_FAILURE; + return check_fuzzy_partial(state, new_pos); + case RE_FUZZY_SUB: + /* Could the character at text_pos have been substituted? */ + new_pos = data->new_folded_pos + data->step; - data->new_folded_pos = new_pos; - data->new_gfolded_pos += data->step; - return RE_ERROR_SUCCESS; - } + if (0 <= new_pos && new_pos <= data->folded_len) { + if (!fuzzy_ext_match_group_fld(state, state->fuzzy_node, + data->new_folded_pos)) + return RE_ERROR_FAILURE; + + data->new_folded_pos = new_pos; + data->new_gfolded_pos += data->step; - return check_fuzzy_partial(state, new_pos); + return RE_ERROR_SUCCESS; } + + return check_fuzzy_partial(state, new_pos); } return RE_ERROR_FAILURE; @@ -10687,19 +10706,20 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_group_fld(RE_State* state, RE_FuzzyData* /* Tries a fuzzy match of a group reference, ignoring case. */ Py_LOCAL_INLINE(int) fuzzy_match_group_fld(RE_State* state, BOOL search, - Py_ssize_t* text_pos, RE_Node* node, int* folded_pos, int folded_len, - Py_ssize_t* group_pos, int* gfolded_pos, int gfolded_len, RE_INT8 step) { + RE_Node* node, int* folded_pos, int folded_len, Py_ssize_t* group_pos, int* + gfolded_pos, int gfolded_len, RE_INT8 step) { size_t* fuzzy_counts; - Py_ssize_t new_text_pos; RE_FuzzyData data; Py_ssize_t new_group_pos; + TRACE(("<<fuzzy_match_group_fld>>\n")) fuzzy_counts = state->fuzzy_counts; - if (!any_error_permitted(state)) + if (!any_error_permitted(state)) { + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; + } - new_text_pos = *text_pos; data.new_folded_pos = *folded_pos; data.folded_len = folded_len; new_group_pos = *group_pos; @@ -10709,7 +10729,8 @@ Py_LOCAL_INLINE(int) fuzzy_match_group_fld(RE_State* state, BOOL search, /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || new_text_pos != state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; + if (data.step > 0) { if (data.new_folded_pos != 0) data.permit_insertion = RE_ERROR_SUCCESS; @@ -10730,6 +10751,7 @@ Py_LOCAL_INLINE(int) fuzzy_match_group_fld(RE_State* state, BOOL search, goto found; } + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; found: @@ -10747,7 +10769,7 @@ found: return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, folded_len)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, new_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10758,33 +10780,35 @@ found: * folded_len text_pos fuzzy_type op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - new_text_pos : new_text_pos - data.step)) + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) return RE_ERROR_MEMORY; ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = new_text_pos; + state->text_pos = data.new_text_pos; *group_pos = new_group_pos; *folded_pos = data.new_folded_pos; *gfolded_pos = data.new_gfolded_pos; + TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], + fuzzy_counts[1], fuzzy_counts[2])) + TRACE((" return RE_ERROR_SUCCESS\n")) return RE_ERROR_SUCCESS; } /* Retries a fuzzy match of a group reference, ignoring case. */ Py_LOCAL_INLINE(int) retry_fuzzy_match_group_fld(RE_State* state, RE_UINT8 op, - BOOL search, Py_ssize_t* text_pos, RE_Node** node, int* folded_pos, - Py_ssize_t* group_pos, int* gfolded_pos) { + BOOL search, RE_Node** node, int* folded_pos, Py_ssize_t* group_pos, int* + gfolded_pos) { size_t* fuzzy_counts; RE_FuzzyData data; - Py_ssize_t new_text_pos; int new_folded_pos; Py_ssize_t new_group_pos; int gfolded_len; int new_gfolded_pos; RE_Node* new_node; + TRACE(("<<retry_fuzzy_match_group_fld>>\n")) fuzzy_counts = state->fuzzy_counts; @@ -10796,7 +10820,7 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_group_fld(RE_State* state, RE_UINT8 op, if (!pop_uint8(state, &state->bstack, &data.fuzzy_type)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &new_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; if (!pop_int(state, &state->bstack, &data.folded_len)) return RE_ERROR_MEMORY; @@ -10821,8 +10845,8 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_group_fld(RE_State* state, RE_UINT8 op, /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || new_text_pos != state->search_anchor || - data.new_folded_pos != data.folded_len; + data.permit_insertion = !search || state->text_pos != state->search_anchor + || data.new_folded_pos != data.folded_len; for (++data.fuzzy_type; data.fuzzy_type < RE_FUZZY_COUNT; data.fuzzy_type++) { @@ -10836,6 +10860,7 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_group_fld(RE_State* state, RE_UINT8 op, goto found; } + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; found: @@ -10853,30 +10878,32 @@ found: return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, data.folded_len)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, new_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, op)) return RE_ERROR_MEMORY; + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) + return RE_ERROR_MEMORY; + /* bstack: node step gfolded_pos gfolded_len group_pos folded_pos * folded_len text_pos fuzzy_type op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - new_text_pos : new_text_pos - data.step)) - return RE_ERROR_MEMORY; - ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = new_text_pos; + state->text_pos = data.new_text_pos; *node = new_node; *group_pos = new_group_pos; *folded_pos = data.new_folded_pos; *gfolded_pos = data.new_gfolded_pos; + TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], + fuzzy_counts[1], fuzzy_counts[2])) + TRACE((" return RE_ERROR_SUCCESS\n")) return RE_ERROR_SUCCESS; } @@ -10914,7 +10941,7 @@ Py_LOCAL_INLINE(Py_ssize_t) locate_required_string(RE_State* state, BOOL if (state->req_pos < 0 || state->text_pos > state->req_pos) /* First time or already passed it. */ found_pos = string_search(state, pattern->req_string, - state->text_pos, limit, &is_partial); + state->text_pos, limit, TRUE, &is_partial); else { found_pos = state->req_pos; end_pos = state->req_end; @@ -11047,7 +11074,7 @@ Py_LOCAL_INLINE(Py_ssize_t) locate_required_string(RE_State* state, BOOL if (state->req_pos < 0 || state->text_pos > state->req_pos) /* First time or already passed it. */ found_pos = string_search_ign(state, pattern->req_string, - state->text_pos, limit, &is_partial); + state->text_pos, limit, TRUE, &is_partial); else { found_pos = state->req_pos; end_pos = state->req_end; @@ -11092,7 +11119,7 @@ Py_LOCAL_INLINE(Py_ssize_t) locate_required_string(RE_State* state, BOOL if (state->req_pos < 0 || state->text_pos < state->req_pos) /* First time or already passed it. */ found_pos = string_search_ign_rev(state, pattern->req_string, - state->text_pos, limit, &is_partial); + state->text_pos, limit, TRUE, &is_partial); else { found_pos = state->req_pos; end_pos = state->req_end; @@ -11137,7 +11164,7 @@ Py_LOCAL_INLINE(Py_ssize_t) locate_required_string(RE_State* state, BOOL if (state->req_pos < 0 || state->text_pos < state->req_pos) /* First time or already passed it. */ found_pos = string_search_rev(state, pattern->req_string, - state->text_pos, limit, &is_partial); + state->text_pos, limit, TRUE, &is_partial); else { found_pos = state->req_pos; end_pos = state->req_end; @@ -11668,8 +11695,7 @@ advance: ++state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11689,8 +11715,7 @@ advance: ++state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11710,8 +11735,7 @@ advance: --state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -11731,8 +11755,7 @@ advance: --state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -11752,8 +11775,7 @@ advance: ++state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11773,8 +11795,7 @@ advance: --state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -11816,8 +11837,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -11884,8 +11904,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11908,8 +11927,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11931,8 +11949,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -11954,8 +11971,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -12016,8 +12032,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12037,8 +12052,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12058,8 +12072,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12256,6 +12269,8 @@ advance: /* Save the inner fuzzy info. */ if (!push_fuzzy_counts(state, &state->bstack, state->fuzzy_counts)) return RE_ERROR_MEMORY; + if (!push_ssize(state, &state->bstack, 0)) + return RE_ERROR_MEMORY; if (!push_pointer(state, &state->bstack, state->fuzzy_node)) return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, state->text_pos)) @@ -12776,8 +12791,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12796,8 +12810,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12816,8 +12829,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12837,8 +12849,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12858,8 +12869,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12878,8 +12888,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12925,8 +12934,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -13573,8 +13581,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -13597,8 +13604,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -13620,8 +13626,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -13643,8 +13648,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -13687,8 +13691,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -13711,8 +13714,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -13734,8 +13736,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -13757,8 +13758,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -13802,8 +13802,8 @@ advance: ++string_pos; ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, 1); + status = fuzzy_match_string(state, search, node, + &string_pos, 1); if (status < 0) return status; @@ -13893,9 +13893,9 @@ advance: ++folded_pos; ++gfolded_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_group_fld(state, search, - &state->text_pos, node, &folded_pos, folded_len, - &string_pos, &gfolded_pos, gfolded_len, 1); + status = fuzzy_match_group_fld(state, search, node, + &folded_pos, folded_len, &string_pos, &gfolded_pos, + gfolded_len, 1); if (status < 0) return status; @@ -13994,9 +13994,9 @@ advance: --folded_pos; --gfolded_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_group_fld(state, search, - &state->text_pos, node, &folded_pos, folded_len, - &string_pos, &gfolded_pos, gfolded_len, -1); + status = fuzzy_match_group_fld(state, search, node, + &folded_pos, folded_len, &string_pos, &gfolded_pos, + gfolded_len, -1); if (status < 0) return status; @@ -14060,8 +14060,8 @@ advance: ++string_pos; ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, 1); + status = fuzzy_match_string(state, search, node, + &string_pos, 1); if (status < 0) return status; @@ -14117,8 +14117,8 @@ advance: --string_pos; --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, -1); + status = fuzzy_match_string(state, search, node, + &string_pos, -1); if (status < 0) return status; @@ -14173,8 +14173,8 @@ advance: --string_pos; --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, -1); + status = fuzzy_match_string(state, search, node, + &string_pos, -1); if (status < 0) return status; @@ -14200,8 +14200,7 @@ advance: if (state->text_pos == state->search_anchor) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14226,8 +14225,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -14252,8 +14250,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -14277,8 +14274,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -14302,8 +14298,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -14421,8 +14416,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14441,8 +14435,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14461,8 +14454,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14481,8 +14473,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14520,8 +14511,8 @@ advance: ++string_pos; ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, 1); + status = fuzzy_match_string(state, search, node, + &string_pos, 1); if (status < 0) return status; @@ -14537,8 +14528,7 @@ advance: } if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_insert(state, state->text_pos, 1, - node->next_1.node); + status = fuzzy_insert(state, 1, node->next_1.node); if (status < 0) return status; } @@ -14610,9 +14600,8 @@ advance: if (folded_pos >= folded_len) ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string_fld(state, search, - &state->text_pos, node, &string_pos, &folded_pos, - folded_len, 1); + status = fuzzy_match_string_fld(state, search, node, + &string_pos, &folded_pos, folded_len, 1); if (status < 0) return status; @@ -14631,9 +14620,8 @@ advance: if (node->status & RE_STATUS_FUZZY) { while (folded_pos < folded_len) { - status = fuzzy_match_string_fld(state, search, - &state->text_pos, node, &string_pos, &folded_pos, - folded_len, 1); + status = fuzzy_match_string_fld(state, search, node, + &string_pos, &folded_pos, folded_len, 1); if (status < 0) return status; @@ -14719,9 +14707,8 @@ advance: if (folded_pos <= 0) --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string_fld(state, search, - &state->text_pos, node, &string_pos, &folded_pos, - folded_len, -1); + status = fuzzy_match_string_fld(state, search, node, + &string_pos, &folded_pos, folded_len, -1); if (status < 0) return status; @@ -14740,9 +14727,8 @@ advance: if (node->status & RE_STATUS_FUZZY) { while (folded_pos > 0) { - status = fuzzy_match_string_fld(state, search, - &state->text_pos, node, &string_pos, &folded_pos, - folded_len, -1); + status = fuzzy_match_string_fld(state, search, node, + &string_pos, &folded_pos, folded_len, -1); if (status < 0) return status; @@ -14795,8 +14781,8 @@ advance: ++string_pos; ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, 1); + status = fuzzy_match_string(state, search, node, + &string_pos, 1); if (status < 0) return status; @@ -14812,8 +14798,7 @@ advance: } if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_insert(state, state->text_pos, 1, - node->next_1.node); + status = fuzzy_insert(state, 1, node->next_1.node); if (status < 0) return status; } @@ -14853,8 +14838,8 @@ advance: --string_pos; --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, -1); + status = fuzzy_match_string(state, search, node, + &string_pos, -1); if (status < 0) return status; @@ -14870,8 +14855,7 @@ advance: } if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_insert(state, state->text_pos, -1, - node->next_1.node); + status = fuzzy_insert(state, -1, node->next_1.node); if (status < 0) return status; } @@ -14911,8 +14895,8 @@ advance: --string_pos; --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, -1); + status = fuzzy_match_string(state, search, node, + &string_pos, -1); if (status < 0) return status; @@ -14928,8 +14912,7 @@ advance: } if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_insert(state, state->text_pos, -1, - node->next_1.node); + status = fuzzy_insert(state, -1, node->next_1.node); if (status < 0) return status; } @@ -15026,8 +15009,7 @@ backtrack: case RE_OP_SET_UNION_REV: /* Set union, backwards. */ TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_item(state, op, search, - &state->text_pos, &node, TRUE); + status = retry_fuzzy_match_item(state, op, search, &node, TRUE); if (status < 0) return status; @@ -15128,8 +15110,7 @@ backtrack: case RE_OP_START_OF_WORD: /* At the start of a word. */ TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_item(state, op, search, - &state->text_pos, &node, FALSE); + status = retry_fuzzy_match_item(state, op, search, &node, FALSE); if (status < 0) return status; @@ -15274,6 +15255,7 @@ backtrack: { RE_Node* inner_node; size_t inner_counts[RE_FUZZY_COUNT]; + size_t insertions; TRACE(("%s\n", re_op_text[op])) /* sstack: - @@ -15287,6 +15269,8 @@ backtrack: return RE_ERROR_MEMORY; if (!pop_pointer(state, &state->bstack, (void*)&inner_node)) return RE_ERROR_MEMORY; + if (!pop_size(state, &state->bstack, &insertions)) + return RE_ERROR_MEMORY; if (!pop_fuzzy_counts(state, &state->bstack, inner_counts)) return RE_ERROR_MEMORY; @@ -15295,8 +15279,10 @@ backtrack: * bstack: - */ - if (insertion_permitted(state, inner_node, inner_counts) && - fuzzy_ext_match(state, inner_node, state->text_pos)) { + if (insertion_permitted(state, inner_node, inner_counts) && + total_errors(state->fuzzy_counts) + total_errors(inner_counts) < + state->max_errors && fuzzy_ext_match(state, inner_node, + state->text_pos)) { RE_INT8 step; Py_ssize_t limit; @@ -15320,6 +15306,8 @@ backtrack: if (!push_fuzzy_counts(state, &state->bstack, inner_counts)) return RE_ERROR_MEMORY; + if (!push_size(state, &state->bstack, insertions + 1)) + return RE_ERROR_MEMORY; if (!push_pointer(state, &state->bstack, inner_node)) return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, state->text_pos)) @@ -15359,6 +15347,8 @@ backtrack: * bstack: - */ + inner_counts[RE_FUZZY_INS] -= insertions; + /* Restore the inner fuzzy info. */ Py_MEMCPY(state->fuzzy_counts, inner_counts, sizeof(state->fuzzy_counts)); @@ -15538,7 +15528,7 @@ backtrack: case RE_OP_FUZZY_INSERT: TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_insert(state, &state->text_pos, &node); + status = retry_fuzzy_insert(state, &node); if (status < 0) return status; @@ -15781,7 +15771,7 @@ backtrack: break; found = string_search_rev(state, test, pos + length, - limit, &is_partial); + limit, FALSE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -15917,7 +15907,7 @@ backtrack: break; found = string_search_ign_rev(state, test, pos + - length, limit, &is_partial); + length, limit, FALSE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -15955,7 +15945,7 @@ backtrack: break; found = string_search_ign(state, test, pos - length, - limit, &is_partial); + limit, FALSE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -15993,7 +15983,7 @@ backtrack: break; found = string_search(state, test, pos - length, limit, - &is_partial); + FALSE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16448,7 +16438,7 @@ backtrack: /* Look for the tail string. */ found = string_search(state, test, pos + 1, limit + - length, &is_partial); + length, TRUE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16626,7 +16616,7 @@ backtrack: /* Look for the tail string. */ found = string_search_ign(state, test, pos + 1, limit + - length, &is_partial); + length, TRUE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16686,7 +16676,7 @@ backtrack: /* Look for the tail string. */ found = string_search_ign_rev(state, test, pos - 1, - limit - length, &is_partial); + limit - length, TRUE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16746,7 +16736,7 @@ backtrack: /* Look for the tail string. */ found = string_search_rev(state, test, pos - 1, limit - - length, &is_partial); + length, TRUE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -17040,8 +17030,8 @@ backtrack: { TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_string(state, op, search, - &state->text_pos, &node, &string_pos); + status = retry_fuzzy_match_string(state, op, search, &node, + &string_pos); if (status < 0) return status; @@ -17056,8 +17046,8 @@ backtrack: { TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_group_fld(state, op, search, - &state->text_pos, &node, &folded_pos, &string_pos, &gfolded_pos); + status = retry_fuzzy_match_group_fld(state, op, search, &node, + &folded_pos, &string_pos, &gfolded_pos); if (status < 0) return status; @@ -17126,8 +17116,8 @@ backtrack: { TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_string_fld(state, op, search, - &state->text_pos, &node, &string_pos, &folded_pos); + status = retry_fuzzy_match_string_fld(state, op, search, &node, + &string_pos, &folded_pos); if (status < 0) return status; @@ -17299,8 +17289,7 @@ Py_LOCAL_INLINE(void) init_best_list(RE_BestList* best_list) { } /* Finalises the list of best matches found so far. */ -Py_LOCAL_INLINE(void) fini_best_list(RE_State* state, RE_BestList* - best_list) { +Py_LOCAL_INLINE(void) fini_best_list(RE_State* state, RE_BestList* best_list) { safe_dealloc(state, best_list->entries); best_list->capacity = 0; best_list->count = 0; @@ -17436,11 +17425,6 @@ Py_LOCAL_INLINE(int) do_best_fuzzy_match(RE_State* state, BOOL search) { } start_pos = state->match_pos; - - /* Should we keep searching? */ - if (!search) - break; - state->max_errors = fewest_errors - 1; } @@ -22138,7 +22122,7 @@ PyDoc_STRVAR(pattern_subfn_doc, of pattern with the replacement format."); PyDoc_STRVAR(pattern_split_doc, - "split(string, string, maxsplit=0, concurrent=None) --> list.\n\ + "split(string, maxsplit=0, concurrent=None) --> list.\n\ Split string by the occurrences of pattern."); PyDoc_STRVAR(pattern_splititer_doc, @@ -23224,7 +23208,6 @@ Py_LOCAL_INLINE(BOOL) mark_named_groups(PatternObject* pattern) { Py_LOCAL_INLINE(BOOL) can_test_past(RE_Node* node) { switch (node->op) { case RE_OP_END_GROUP: - case RE_OP_END_LAZY_REPEAT: case RE_OP_START_GROUP: return TRUE; case RE_OP_GREEDY_REPEAT: @@ -23724,7 +23707,8 @@ Py_LOCAL_INLINE(int) build_FUZZY(RE_CompileArgs* args) { RE_Node* test_node; int status; - /* codes: FUZZY, flags, constraints, ..., end or: FUZZY_EXT, flags, + /* codes: FUZZY, flags, constraints, ..., end + * or: FUZZY_EXT, flags, * constraints, ... next ..., end. */ is_ext = args->code[0] == RE_OP_FUZZY_EXT; @@ -23799,8 +23783,13 @@ Py_LOCAL_INLINE(int) build_FUZZY(RE_CompileArgs* args) { /* Append the fuzzy sequence. */ add_node(args->end, start_node); add_node(start_node, subargs.start); - if (test_node) + if (test_node) { add_node(start_node, test_node); + /* The END_FUZZY node needs access to the charset, if any, in case of + fuzzy insertion at the end. + */ + end_node->nonstring.next_2.node = start_node; + } add_node(subargs.end, end_node); args->end = end_node; args->all_atomic = FALSE; @@ -24775,14 +24764,11 @@ Py_LOCAL_INLINE(int) build_REPEAT(RE_CompileArgs* args) { /* Extract the minimum number of repeats out of a repeat if it contains * a repeat. */ - BOOL extracted_min; size_t index; RE_Node* repeat_node; RE_CompileArgs subargs; - extracted_min = FALSE; - - if (min_count > 0 && contains_repeat(args->code, args->end_code)) { + if (min_count > 0) { RE_CODE done_count; for (done_count = 0; done_count < min_count; done_count++) { @@ -24813,8 +24799,8 @@ Py_LOCAL_INLINE(int) build_REPEAT(RE_CompileArgs* args) { max_count -= done_count; } - /* We've extract the minimum number of repeats. Are there any left? */ - if (extracted_min && max_count == 0) { + /* We've extracted the minimum number of repeats. Are there any left? */ + if (min_count > 0 && max_count == 0) { /* All done. */ args->code = subargs.code; ++args->code; diff --git a/regex_2/_regex_unicode.c b/regex_2/_regex_unicode.c index 4eab00b190b34d76042cafaadfcc66b6b3babbef..80bf721485f114f7a76f2a5f6397905dd553c956 100644 --- a/regex_2/_regex_unicode.c +++ b/regex_2/_regex_unicode.c @@ -1,4 +1,4 @@ -/* For Unicode version 13.0.0 */ +/* For Unicode version 14.0.0 */ #include "_regex_unicode.h" @@ -6,6 +6,10 @@ #define RE_GRAPH_MASK ((1 << RE_PROP_CC) | (1 << RE_PROP_CS) | (1 << RE_PROP_CN)) #define RE_WORD_MASK (RE_PROP_M_MASK | (1 << RE_PROP_ND) | (1 << RE_PROP_PC)) +typedef struct { + RE_UINT8 scripts[RE_MAX_SCX]; +} RE_ScriptExt; + typedef struct { RE_UINT32 delta; RE_UINT16 others[RE_MAX_CASES - 1]; @@ -222,7 +226,9 @@ char* re_strings[] = { "ARAB", "ARABIC", "ARABICEXTA", + "ARABICEXTB", "ARABICEXTENDEDA", + "ARABICEXTENDEDB", "ARABICLETTER", "ARABICMATH", "ARABICMATHEMATICALALPHABETICSYMBOLS", @@ -468,6 +474,7 @@ char* re_strings[] = { "COUNTINGROD", "COUNTINGRODNUMERALS", "CP", + "CPMN", "CPRT", "CR", "CS", @@ -483,6 +490,7 @@ char* re_strings[] = { "CWU", "CYPRIOT", "CYPRIOTSYLLABARY", + "CYPROMINOAN", "CYRILLIC", "CYRILLICEXTA", "CYRILLICEXTB", @@ -580,8 +588,10 @@ char* re_strings[] = { "ETHIOPIC", "ETHIOPICEXT", "ETHIOPICEXTA", + "ETHIOPICEXTB", "ETHIOPICEXTENDED", "ETHIOPICEXTENDEDA", + "ETHIOPICEXTENDEDB", "ETHIOPICSUP", "ETHIOPICSUPPLEMENT", "EUROPEANNUMBER", @@ -771,7 +781,9 @@ char* re_strings[] = { "KALI", "KANA", "KANAEXTA", + "KANAEXTB", "KANAEXTENDEDA", + "KANAEXTENDEDB", "KANASUP", "KANASUPPLEMENT", "KANAVOICING", @@ -823,6 +835,10 @@ char* re_strings[] = { "LATINEXTENDEDC", "LATINEXTENDEDD", "LATINEXTENDEDE", + "LATINEXTENDEDF", + "LATINEXTENDEDG", + "LATINEXTF", + "LATINEXTG", "LATN", "LB", "LC", @@ -1081,6 +1097,7 @@ char* re_strings[] = { "OLDSOGDIAN", "OLDSOUTHARABIAN", "OLDTURKIC", + "OLDUYGHUR", "OLETTER", "OLOWER", "OMATH", @@ -1111,6 +1128,7 @@ char* re_strings[] = { "OTHERSYMBOL", "OTHERUPPERCASE", "OTTOMANSIYAQNUMBERS", + "OUGR", "OUPPER", "OV", "OVERLAY", @@ -1336,6 +1354,7 @@ char* re_strings[] = { "TAMILSUPPLEMENT", "TAML", "TANG", + "TANGSA", "TANGUT", "TANGUTCOMPONENTS", "TANGUTSUP", @@ -1354,12 +1373,14 @@ char* re_strings[] = { "THAA", "THAANA", "THAI", + "THINYEH", "TIBETAN", "TIBT", "TIFINAGH", "TIRH", "TIRHUTA", "TITLECASELETTER", + "TNSA", "TONELETTER", "TONEMARK", "TOP", @@ -1369,6 +1390,7 @@ char* re_strings[] = { "TOPANDLEFT", "TOPANDLEFTANDRIGHT", "TOPANDRIGHT", + "TOTO", "TRAILINGJAMO", "TRANSPARENT", "TRANSPORTANDMAP", @@ -1377,12 +1399,14 @@ char* re_strings[] = { "U", "UCAS", "UCASEXT", + "UCASEXTA", "UGAR", "UGARITIC", "UIDEO", "UNASSIGNED", "UNIFIEDCANADIANABORIGINALSYLLABICS", "UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED", + "UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDEDA", "UNIFIEDIDEOGRAPH", "UNKNOWN", "UP", @@ -1400,9 +1424,12 @@ char* re_strings[] = { "VERT", "VERTICAL", "VERTICALFORMS", + "VERTICALTAIL", "VIRAMA", "VISARGA", "VISUALORDERLEFT", + "VITH", + "VITHKUQI", "VOWEL", "VOWELDEPENDENT", "VOWELINDEPENDENT", @@ -1457,6 +1484,8 @@ char* re_strings[] = { "ZHAIN", "ZINH", "ZL", + "ZNAMENNYMUSIC", + "ZNAMENNYMUSICALNOTATION", "ZP", "ZS", "ZW", @@ -1473,1245 +1502,1266 @@ RE_Property re_properties[] = { { 192, 1, 0}, /* ALPHANUMERIC */ { 187, 1, 0}, /* ALNUM */ { 200, 2, 0}, /* ANY */ - { 221, 3, 0}, /* ASCIIHEXDIGIT */ + { 223, 3, 0}, /* ASCIIHEXDIGIT */ { 177, 3, 0}, /* AHEX */ - { 262, 4, 1}, /* BIDICLASS */ - { 251, 4, 1}, /* BC */ - { 263, 5, 0}, /* BIDICONTROL */ - { 261, 5, 0}, /* BIDIC */ - { 265, 6, 0}, /* BIDIMIRRORED */ - { 264, 6, 0}, /* BIDIM */ - { 269, 7, 0}, /* BLANK */ - { 271, 8, 2}, /* BLOCK */ - { 270, 8, 2}, /* BLK */ - { 308, 9, 3}, /* CANONICALCOMBININGCLASS */ - { 320, 9, 3}, /* CCC */ - { 314, 10, 0}, /* CASED */ - { 316, 11, 0}, /* CASEIGNORABLE */ - { 373, 11, 0}, /* CI */ - { 361, 12, 0}, /* CHANGESWHENCASEFOLDED */ - { 459, 12, 0}, /* CWCF */ - { 362, 13, 0}, /* CHANGESWHENCASEMAPPED */ - { 460, 13, 0}, /* CWCM */ - { 363, 14, 0}, /* CHANGESWHENLOWERCASED */ - { 461, 14, 0}, /* CWL */ - { 364, 15, 0}, /* CHANGESWHENTITLECASED */ - { 462, 15, 0}, /* CWT */ - { 365, 16, 0}, /* CHANGESWHENUPPERCASED */ - { 463, 16, 0}, /* CWU */ - { 481, 17, 0}, /* DASH */ - { 487, 18, 4}, /* DECOMPOSITIONTYPE */ - { 516, 18, 4}, /* DT */ - { 488, 19, 0}, /* DEFAULTIGNORABLECODEPOINT */ - { 496, 19, 0}, /* DI */ - { 490, 20, 0}, /* DEPRECATED */ - { 489, 20, 0}, /* DEP */ - { 498, 21, 0}, /* DIACRITIC */ - { 497, 21, 0}, /* DIA */ - { 523, 22, 5}, /* EASTASIANWIDTH */ - { 521, 22, 5}, /* EA */ - { 539, 23, 0}, /* EMOJI */ - { 540, 24, 0}, /* EMOJICOMPONENT */ - { 528, 24, 0}, /* ECOMP */ - { 541, 25, 0}, /* EMOJIMODIFIER */ - { 537, 25, 0}, /* EMOD */ - { 542, 26, 0}, /* EMOJIMODIFIERBASE */ - { 525, 26, 0}, /* EBASE */ - { 543, 27, 0}, /* EMOJIPRESENTATION */ - { 556, 27, 0}, /* EPRES */ - { 574, 28, 0}, /* EXTENDEDPICTOGRAPHIC */ - { 577, 28, 0}, /* EXTPICT */ - { 575, 29, 0}, /* EXTENDER */ - { 572, 29, 0}, /* EXT */ - { 601, 30, 6}, /* GENERALCATEGORY */ - { 598, 30, 6}, /* GC */ - { 625, 31, 0}, /* GRAPH */ - { 626, 32, 0}, /* GRAPHEMEBASE */ - { 630, 32, 0}, /* GRBASE */ - { 627, 33, 7}, /* GRAPHEMECLUSTERBREAK */ - { 599, 33, 7}, /* GCB */ - { 628, 34, 0}, /* GRAPHEMEEXTEND */ - { 636, 34, 0}, /* GREXT */ - { 629, 35, 0}, /* GRAPHEMELINK */ - { 637, 35, 0}, /* GRLINK */ - { 660, 36, 8}, /* HANGULSYLLABLETYPE */ - { 690, 36, 8}, /* HST */ - { 679, 37, 0}, /* HEXDIGIT */ - { 678, 37, 0}, /* HEX */ - { 693, 38, 0}, /* HYPHEN */ - { 696, 39, 0}, /* IDCONTINUE */ - { 695, 39, 0}, /* IDC */ - { 698, 40, 0}, /* IDEOGRAPHIC */ - { 697, 40, 0}, /* IDEO */ - { 704, 41, 0}, /* IDSBINARYOPERATOR */ - { 703, 41, 0}, /* IDSB */ - { 706, 42, 0}, /* IDSTART */ - { 702, 42, 0}, /* IDS */ - { 707, 43, 0}, /* IDSTRINARYOPERATOR */ - { 705, 43, 0}, /* IDST */ - { 711, 44, 9}, /* INDICPOSITIONALCATEGORY */ - { 719, 44, 9}, /* INPC */ - { 713, 45, 10}, /* INDICSYLLABICCATEGORY */ - { 720, 45, 10}, /* INSC */ - { 742, 46, 0}, /* JOINCONTROL */ - { 740, 46, 0}, /* JOINC */ - { 744, 47, 11}, /* JOININGGROUP */ - { 738, 47, 11}, /* JG */ - { 745, 48, 12}, /* JOININGTYPE */ - { 746, 48, 12}, /* JT */ - { 832, 49, 13}, /* LINEBREAK */ - { 807, 49, 13}, /* LB */ - { 842, 50, 0}, /* LOGICALORDEREXCEPTION */ - { 841, 50, 0}, /* LOE */ - { 844, 51, 0}, /* LOWERCASE */ - { 843, 51, 0}, /* LOWER */ - { 916, 52, 0}, /* MATH */ - {1004, 53, 14}, /* NFCQUICKCHECK */ - {1003, 53, 14}, /* NFCQC */ - {1006, 54, 15}, /* NFDQUICKCHECK */ - {1005, 54, 15}, /* NFDQC */ - {1008, 55, 14}, /* NFKCQUICKCHECK */ - {1007, 55, 14}, /* NFKCQC */ - {1010, 56, 15}, /* NFKDQUICKCHECK */ - {1009, 56, 15}, /* NFKDQC */ - {1019, 57, 0}, /* NONCHARACTERCODEPOINT */ - { 996, 57, 0}, /* NCHAR */ - {1039, 58, 16}, /* NUMERICTYPE */ - {1032, 58, 16}, /* NT */ - {1040, 59, 17}, /* NUMERICVALUE */ - {1043, 59, 17}, /* NV */ - {1080, 60, 0}, /* OTHERALPHABETIC */ - {1046, 60, 0}, /* OALPHA */ - {1081, 61, 0}, /* OTHERDEFAULTIGNORABLECODEPOINT */ - {1048, 61, 0}, /* ODI */ - {1082, 62, 0}, /* OTHERGRAPHEMEEXTEND */ - {1051, 62, 0}, /* OGREXT */ - {1083, 63, 0}, /* OTHERIDCONTINUE */ - {1052, 63, 0}, /* OIDC */ - {1084, 64, 0}, /* OTHERIDSTART */ - {1053, 64, 0}, /* OIDS */ - {1086, 65, 0}, /* OTHERLOWERCASE */ - {1065, 65, 0}, /* OLOWER */ - {1087, 66, 0}, /* OTHERMATH */ - {1066, 66, 0}, /* OMATH */ - {1092, 67, 0}, /* OTHERUPPERCASE */ - {1094, 67, 0}, /* OUPPER */ - {1105, 68, 0}, /* PATTERNSYNTAX */ - {1104, 68, 0}, /* PATSYN */ - {1106, 69, 0}, /* PATTERNWHITESPACE */ - {1107, 69, 0}, /* PATWS */ - {1136, 70, 0}, /* POSIXALNUM */ - {1137, 71, 0}, /* POSIXDIGIT */ - {1138, 72, 0}, /* POSIXPUNCT */ - {1139, 73, 0}, /* POSIXXDIGIT */ - {1145, 74, 0}, /* PREPENDEDCONCATENATIONMARK */ - {1111, 74, 0}, /* PCM */ - {1146, 75, 0}, /* PRINT */ - {1163, 76, 0}, /* QUOTATIONMARK */ - {1160, 76, 0}, /* QMARK */ - {1165, 77, 0}, /* RADICAL */ - {1166, 78, 0}, /* REGIONALINDICATOR */ - {1171, 78, 0}, /* RI */ - {1201, 79, 18}, /* SCRIPT */ - {1199, 79, 18}, /* SC */ - {1202, 80, 18}, /* SCRIPTEXTENSIONS */ - {1203, 80, 18}, /* SCX */ - {1209, 81, 19}, /* SENTENCEBREAK */ - {1198, 81, 19}, /* SB */ - {1210, 82, 0}, /* SENTENCETERMINAL */ - {1256, 82, 0}, /* STERM */ - {1238, 83, 0}, /* SOFTDOTTED */ - {1204, 83, 0}, /* SD */ - {1330, 84, 0}, /* TERMINALPUNCTUATION */ - {1329, 84, 0}, /* TERM */ - {1366, 85, 0}, /* UNIFIEDIDEOGRAPH */ - {1362, 85, 0}, /* UIDEO */ - {1370, 86, 0}, /* UPPERCASE */ - {1369, 86, 0}, /* UPPER */ - {1375, 87, 0}, /* VARIATIONSELECTOR */ - {1391, 87, 0}, /* VS */ - {1400, 88, 0}, /* WHITESPACE */ - {1408, 88, 0}, /* WSPACE */ - {1247, 88, 0}, /* SPACE */ - {1403, 89, 0}, /* WORD */ - {1404, 90, 20}, /* WORDBREAK */ - {1398, 90, 20}, /* WB */ - {1409, 91, 0}, /* XDIGIT */ - {1411, 92, 0}, /* XIDCONTINUE */ - {1410, 92, 0}, /* XIDC */ - {1413, 93, 0}, /* XIDSTART */ - {1412, 93, 0}, /* XIDS */ + { 264, 4, 1}, /* BIDICLASS */ + { 253, 4, 1}, /* BC */ + { 265, 5, 0}, /* BIDICONTROL */ + { 263, 5, 0}, /* BIDIC */ + { 267, 6, 0}, /* BIDIMIRRORED */ + { 266, 6, 0}, /* BIDIM */ + { 271, 7, 0}, /* BLANK */ + { 273, 8, 2}, /* BLOCK */ + { 272, 8, 2}, /* BLK */ + { 310, 9, 3}, /* CANONICALCOMBININGCLASS */ + { 322, 9, 3}, /* CCC */ + { 316, 10, 0}, /* CASED */ + { 318, 11, 0}, /* CASEIGNORABLE */ + { 375, 11, 0}, /* CI */ + { 363, 12, 0}, /* CHANGESWHENCASEFOLDED */ + { 462, 12, 0}, /* CWCF */ + { 364, 13, 0}, /* CHANGESWHENCASEMAPPED */ + { 463, 13, 0}, /* CWCM */ + { 365, 14, 0}, /* CHANGESWHENLOWERCASED */ + { 464, 14, 0}, /* CWL */ + { 366, 15, 0}, /* CHANGESWHENTITLECASED */ + { 465, 15, 0}, /* CWT */ + { 367, 16, 0}, /* CHANGESWHENUPPERCASED */ + { 466, 16, 0}, /* CWU */ + { 485, 17, 0}, /* DASH */ + { 491, 18, 4}, /* DECOMPOSITIONTYPE */ + { 520, 18, 4}, /* DT */ + { 492, 19, 0}, /* DEFAULTIGNORABLECODEPOINT */ + { 500, 19, 0}, /* DI */ + { 494, 20, 0}, /* DEPRECATED */ + { 493, 20, 0}, /* DEP */ + { 502, 21, 0}, /* DIACRITIC */ + { 501, 21, 0}, /* DIA */ + { 527, 22, 5}, /* EASTASIANWIDTH */ + { 525, 22, 5}, /* EA */ + { 543, 23, 0}, /* EMOJI */ + { 544, 24, 0}, /* EMOJICOMPONENT */ + { 532, 24, 0}, /* ECOMP */ + { 545, 25, 0}, /* EMOJIMODIFIER */ + { 541, 25, 0}, /* EMOD */ + { 546, 26, 0}, /* EMOJIMODIFIERBASE */ + { 529, 26, 0}, /* EBASE */ + { 547, 27, 0}, /* EMOJIPRESENTATION */ + { 560, 27, 0}, /* EPRES */ + { 580, 28, 0}, /* EXTENDEDPICTOGRAPHIC */ + { 583, 28, 0}, /* EXTPICT */ + { 581, 29, 0}, /* EXTENDER */ + { 578, 29, 0}, /* EXT */ + { 607, 30, 6}, /* GENERALCATEGORY */ + { 604, 30, 6}, /* GC */ + { 631, 31, 0}, /* GRAPH */ + { 632, 32, 0}, /* GRAPHEMEBASE */ + { 636, 32, 0}, /* GRBASE */ + { 633, 33, 7}, /* GRAPHEMECLUSTERBREAK */ + { 605, 33, 7}, /* GCB */ + { 634, 34, 0}, /* GRAPHEMEEXTEND */ + { 642, 34, 0}, /* GREXT */ + { 635, 35, 0}, /* GRAPHEMELINK */ + { 643, 35, 0}, /* GRLINK */ + { 666, 36, 8}, /* HANGULSYLLABLETYPE */ + { 696, 36, 8}, /* HST */ + { 685, 37, 0}, /* HEXDIGIT */ + { 684, 37, 0}, /* HEX */ + { 699, 38, 0}, /* HYPHEN */ + { 702, 39, 0}, /* IDCONTINUE */ + { 701, 39, 0}, /* IDC */ + { 704, 40, 0}, /* IDEOGRAPHIC */ + { 703, 40, 0}, /* IDEO */ + { 710, 41, 0}, /* IDSBINARYOPERATOR */ + { 709, 41, 0}, /* IDSB */ + { 712, 42, 0}, /* IDSTART */ + { 708, 42, 0}, /* IDS */ + { 713, 43, 0}, /* IDSTRINARYOPERATOR */ + { 711, 43, 0}, /* IDST */ + { 717, 44, 9}, /* INDICPOSITIONALCATEGORY */ + { 725, 44, 9}, /* INPC */ + { 719, 45, 10}, /* INDICSYLLABICCATEGORY */ + { 726, 45, 10}, /* INSC */ + { 748, 46, 0}, /* JOINCONTROL */ + { 746, 46, 0}, /* JOINC */ + { 750, 47, 11}, /* JOININGGROUP */ + { 744, 47, 11}, /* JG */ + { 751, 48, 12}, /* JOININGTYPE */ + { 752, 48, 12}, /* JT */ + { 844, 49, 13}, /* LINEBREAK */ + { 819, 49, 13}, /* LB */ + { 854, 50, 0}, /* LOGICALORDEREXCEPTION */ + { 853, 50, 0}, /* LOE */ + { 856, 51, 0}, /* LOWERCASE */ + { 855, 51, 0}, /* LOWER */ + { 928, 52, 0}, /* MATH */ + {1016, 53, 14}, /* NFCQUICKCHECK */ + {1015, 53, 14}, /* NFCQC */ + {1018, 54, 15}, /* NFDQUICKCHECK */ + {1017, 54, 15}, /* NFDQC */ + {1020, 55, 14}, /* NFKCQUICKCHECK */ + {1019, 55, 14}, /* NFKCQC */ + {1022, 56, 15}, /* NFKDQUICKCHECK */ + {1021, 56, 15}, /* NFKDQC */ + {1031, 57, 0}, /* NONCHARACTERCODEPOINT */ + {1008, 57, 0}, /* NCHAR */ + {1051, 58, 16}, /* NUMERICTYPE */ + {1044, 58, 16}, /* NT */ + {1052, 59, 17}, /* NUMERICVALUE */ + {1055, 59, 17}, /* NV */ + {1093, 60, 0}, /* OTHERALPHABETIC */ + {1058, 60, 0}, /* OALPHA */ + {1094, 61, 0}, /* OTHERDEFAULTIGNORABLECODEPOINT */ + {1060, 61, 0}, /* ODI */ + {1095, 62, 0}, /* OTHERGRAPHEMEEXTEND */ + {1063, 62, 0}, /* OGREXT */ + {1096, 63, 0}, /* OTHERIDCONTINUE */ + {1064, 63, 0}, /* OIDC */ + {1097, 64, 0}, /* OTHERIDSTART */ + {1065, 64, 0}, /* OIDS */ + {1099, 65, 0}, /* OTHERLOWERCASE */ + {1078, 65, 0}, /* OLOWER */ + {1100, 66, 0}, /* OTHERMATH */ + {1079, 66, 0}, /* OMATH */ + {1105, 67, 0}, /* OTHERUPPERCASE */ + {1108, 67, 0}, /* OUPPER */ + {1119, 68, 0}, /* PATTERNSYNTAX */ + {1118, 68, 0}, /* PATSYN */ + {1120, 69, 0}, /* PATTERNWHITESPACE */ + {1121, 69, 0}, /* PATWS */ + {1150, 70, 0}, /* POSIXALNUM */ + {1151, 71, 0}, /* POSIXDIGIT */ + {1152, 72, 0}, /* POSIXPUNCT */ + {1153, 73, 0}, /* POSIXXDIGIT */ + {1159, 74, 0}, /* PREPENDEDCONCATENATIONMARK */ + {1125, 74, 0}, /* PCM */ + {1160, 75, 0}, /* PRINT */ + {1177, 76, 0}, /* QUOTATIONMARK */ + {1174, 76, 0}, /* QMARK */ + {1179, 77, 0}, /* RADICAL */ + {1180, 78, 0}, /* REGIONALINDICATOR */ + {1185, 78, 0}, /* RI */ + {1215, 79, 18}, /* SCRIPT */ + {1213, 79, 18}, /* SC */ + {1216, 80, 18}, /* SCRIPTEXTENSIONS */ + {1217, 80, 18}, /* SCX */ + {1223, 81, 19}, /* SENTENCEBREAK */ + {1212, 81, 19}, /* SB */ + {1224, 82, 0}, /* SENTENCETERMINAL */ + {1270, 82, 0}, /* STERM */ + {1252, 83, 0}, /* SOFTDOTTED */ + {1218, 83, 0}, /* SD */ + {1345, 84, 0}, /* TERMINALPUNCTUATION */ + {1344, 84, 0}, /* TERM */ + {1386, 85, 0}, /* UNIFIEDIDEOGRAPH */ + {1381, 85, 0}, /* UIDEO */ + {1390, 86, 0}, /* UPPERCASE */ + {1389, 86, 0}, /* UPPER */ + {1395, 87, 0}, /* VARIATIONSELECTOR */ + {1414, 87, 0}, /* VS */ + {1423, 88, 0}, /* WHITESPACE */ + {1431, 88, 0}, /* WSPACE */ + {1261, 88, 0}, /* SPACE */ + {1426, 89, 0}, /* WORD */ + {1427, 90, 20}, /* WORDBREAK */ + {1421, 90, 20}, /* WB */ + {1432, 91, 0}, /* XDIGIT */ + {1434, 92, 0}, /* XIDCONTINUE */ + {1433, 92, 0}, /* XIDC */ + {1436, 93, 0}, /* XIDSTART */ + {1435, 93, 0}, /* XIDS */ }; /* Property values. */ RE_PropertyValue re_property_values[] = { - {1015, 0, 0}, /* NO */ - { 984, 0, 0}, /* N */ - { 578, 0, 0}, /* F */ - { 579, 0, 0}, /* FALSE */ - {1421, 0, 1}, /* YES */ - {1417, 0, 1}, /* Y */ - {1299, 0, 1}, /* T */ - {1356, 0, 1}, /* TRUE */ - { 814, 1, 0}, /* LEFTTORIGHT */ - { 783, 1, 0}, /* L */ - { 281, 1, 1}, /* BOUNDARYNEUTRAL */ - { 273, 1, 1}, /* BN */ - {1207, 1, 2}, /* SEGMENTSEPARATOR */ - {1188, 1, 2}, /* S */ - {1103, 1, 3}, /* PARAGRAPHSEPARATOR */ - { 236, 1, 3}, /* B */ - {1400, 1, 4}, /* WHITESPACE */ - {1406, 1, 4}, /* WS */ - {1088, 1, 5}, /* OTHERNEUTRAL */ - {1067, 1, 5}, /* ON */ - { 569, 1, 6}, /* EUROPEANTERMINATOR */ - { 558, 1, 6}, /* ET */ - { 568, 1, 7}, /* EUROPEANSEPARATOR */ - { 557, 1, 7}, /* ES */ - { 423, 1, 8}, /* COMMONSEPARATOR */ - { 453, 1, 8}, /* CS */ - { 567, 1, 9}, /* EUROPEANNUMBER */ - { 545, 1, 9}, /* EN */ - {1023, 1, 10}, /* NONSPACINGMARK */ - {1031, 1, 10}, /* NSM */ - {1174, 1, 11}, /* RIGHTTOLEFT */ - {1164, 1, 11}, /* R */ - { 209, 1, 12}, /* ARABICNUMBER */ + {1027, 0, 0}, /* NO */ + { 996, 0, 0}, /* N */ + { 584, 0, 0}, /* F */ + { 585, 0, 0}, /* FALSE */ + {1444, 0, 1}, /* YES */ + {1440, 0, 1}, /* Y */ + {1313, 0, 1}, /* T */ + {1374, 0, 1}, /* TRUE */ + { 826, 1, 0}, /* LEFTTORIGHT */ + { 791, 1, 0}, /* L */ + { 283, 1, 1}, /* BOUNDARYNEUTRAL */ + { 275, 1, 1}, /* BN */ + {1221, 1, 2}, /* SEGMENTSEPARATOR */ + {1202, 1, 2}, /* S */ + {1117, 1, 3}, /* PARAGRAPHSEPARATOR */ + { 238, 1, 3}, /* B */ + {1423, 1, 4}, /* WHITESPACE */ + {1429, 1, 4}, /* WS */ + {1101, 1, 5}, /* OTHERNEUTRAL */ + {1080, 1, 5}, /* ON */ + { 575, 1, 6}, /* EUROPEANTERMINATOR */ + { 562, 1, 6}, /* ET */ + { 574, 1, 7}, /* EUROPEANSEPARATOR */ + { 561, 1, 7}, /* ES */ + { 425, 1, 8}, /* COMMONSEPARATOR */ + { 456, 1, 8}, /* CS */ + { 573, 1, 9}, /* EUROPEANNUMBER */ + { 549, 1, 9}, /* EN */ + {1035, 1, 10}, /* NONSPACINGMARK */ + {1043, 1, 10}, /* NSM */ + {1188, 1, 11}, /* RIGHTTOLEFT */ + {1178, 1, 11}, /* R */ + { 211, 1, 12}, /* ARABICNUMBER */ { 194, 1, 12}, /* AN */ - { 206, 1, 13}, /* ARABICLETTER */ + { 208, 1, 13}, /* ARABICLETTER */ { 181, 1, 13}, /* AL */ - { 815, 1, 14}, /* LEFTTORIGHTEMBEDDING */ - { 847, 1, 14}, /* LRE */ - {1175, 1, 15}, /* RIGHTTOLEFTEMBEDDING */ - {1179, 1, 15}, /* RLE */ - {1134, 1, 16}, /* POPDIRECTIONALFORMAT */ - {1113, 1, 16}, /* PDF */ - { 817, 1, 17}, /* LEFTTORIGHTOVERRIDE */ - { 849, 1, 17}, /* LRO */ - {1177, 1, 18}, /* RIGHTTOLEFTOVERRIDE */ - {1181, 1, 18}, /* RLO */ - { 816, 1, 19}, /* LEFTTORIGHTISOLATE */ - { 848, 1, 19}, /* LRI */ - {1176, 1, 20}, /* RIGHTTOLEFTISOLATE */ - {1180, 1, 20}, /* RLI */ - { 587, 1, 21}, /* FIRSTSTRONGISOLATE */ - { 593, 1, 21}, /* FSI */ - {1135, 1, 22}, /* POPDIRECTIONALISOLATE */ - {1114, 1, 22}, /* PDI */ - {1016, 2, 0}, /* NOBLOCK */ - { 994, 2, 0}, /* NB */ - { 245, 2, 1}, /* BASICLATIN */ - { 220, 2, 1}, /* ASCII */ - { 793, 2, 2}, /* LATIN1SUPPLEMENT */ - { 792, 2, 2}, /* LATIN1SUP */ - { 791, 2, 2}, /* LATIN1 */ - { 800, 2, 3}, /* LATINEXTENDEDA */ - { 794, 2, 3}, /* LATINEXTA */ - { 802, 2, 4}, /* LATINEXTENDEDB */ - { 796, 2, 4}, /* LATINEXTB */ - { 728, 2, 5}, /* IPAEXTENSIONS */ - { 727, 2, 5}, /* IPAEXT */ - {1250, 2, 6}, /* SPACINGMODIFIERLETTERS */ - { 963, 2, 6}, /* MODIFIERLETTERS */ - { 414, 2, 7}, /* COMBININGDIACRITICALMARKS */ - { 499, 2, 7}, /* DIACRITICALS */ - { 632, 2, 8}, /* GREEKANDCOPTIC */ - { 631, 2, 8}, /* GREEK */ - { 466, 2, 9}, /* CYRILLIC */ - { 474, 2, 10}, /* CYRILLICSUPPLEMENT */ - { 473, 2, 10}, /* CYRILLICSUP */ - { 475, 2, 10}, /* CYRILLICSUPPLEMENTARY */ - { 216, 2, 11}, /* ARMENIAN */ - { 673, 2, 12}, /* HEBREW */ + { 827, 1, 14}, /* LEFTTORIGHTEMBEDDING */ + { 859, 1, 14}, /* LRE */ + {1189, 1, 15}, /* RIGHTTOLEFTEMBEDDING */ + {1193, 1, 15}, /* RLE */ + {1148, 1, 16}, /* POPDIRECTIONALFORMAT */ + {1127, 1, 16}, /* PDF */ + { 829, 1, 17}, /* LEFTTORIGHTOVERRIDE */ + { 861, 1, 17}, /* LRO */ + {1191, 1, 18}, /* RIGHTTOLEFTOVERRIDE */ + {1195, 1, 18}, /* RLO */ + { 828, 1, 19}, /* LEFTTORIGHTISOLATE */ + { 860, 1, 19}, /* LRI */ + {1190, 1, 20}, /* RIGHTTOLEFTISOLATE */ + {1194, 1, 20}, /* RLI */ + { 593, 1, 21}, /* FIRSTSTRONGISOLATE */ + { 599, 1, 21}, /* FSI */ + {1149, 1, 22}, /* POPDIRECTIONALISOLATE */ + {1128, 1, 22}, /* PDI */ + {1028, 2, 0}, /* NOBLOCK */ + {1006, 2, 0}, /* NB */ + { 247, 2, 1}, /* BASICLATIN */ + { 222, 2, 1}, /* ASCII */ + { 801, 2, 2}, /* LATIN1SUPPLEMENT */ + { 800, 2, 2}, /* LATIN1SUP */ + { 799, 2, 2}, /* LATIN1 */ + { 808, 2, 3}, /* LATINEXTENDEDA */ + { 802, 2, 3}, /* LATINEXTA */ + { 810, 2, 4}, /* LATINEXTENDEDB */ + { 804, 2, 4}, /* LATINEXTB */ + { 734, 2, 5}, /* IPAEXTENSIONS */ + { 733, 2, 5}, /* IPAEXT */ + {1264, 2, 6}, /* SPACINGMODIFIERLETTERS */ + { 975, 2, 6}, /* MODIFIERLETTERS */ + { 416, 2, 7}, /* COMBININGDIACRITICALMARKS */ + { 503, 2, 7}, /* DIACRITICALS */ + { 638, 2, 8}, /* GREEKANDCOPTIC */ + { 637, 2, 8}, /* GREEK */ + { 470, 2, 9}, /* CYRILLIC */ + { 478, 2, 10}, /* CYRILLICSUPPLEMENT */ + { 477, 2, 10}, /* CYRILLICSUP */ + { 479, 2, 10}, /* CYRILLICSUPPLEMENTARY */ + { 218, 2, 11}, /* ARMENIAN */ + { 679, 2, 12}, /* HEBREW */ { 203, 2, 13}, /* ARABIC */ - {1295, 2, 14}, /* SYRIAC */ - { 215, 2, 15}, /* ARABICSUPPLEMENT */ - { 214, 2, 15}, /* ARABICSUP */ - {1335, 2, 16}, /* THAANA */ - {1012, 2, 17}, /* NKO */ - {1193, 2, 18}, /* SAMARITAN */ - { 881, 2, 19}, /* MANDAIC */ - {1297, 2, 20}, /* SYRIACSUPPLEMENT */ - {1296, 2, 20}, /* SYRIACSUP */ - { 205, 2, 21}, /* ARABICEXTENDEDA */ - { 204, 2, 21}, /* ARABICEXTA */ - { 493, 2, 22}, /* DEVANAGARI */ - { 257, 2, 23}, /* BENGALI */ - { 641, 2, 24}, /* GURMUKHI */ - { 638, 2, 25}, /* GUJARATI */ - {1071, 2, 26}, /* ORIYA */ - {1314, 2, 27}, /* TAMIL */ - {1328, 2, 28}, /* TELUGU */ - { 761, 2, 29}, /* KANNADA */ - { 868, 2, 30}, /* MALAYALAM */ - {1227, 2, 31}, /* SINHALA */ - {1336, 2, 32}, /* THAI */ - { 788, 2, 33}, /* LAO */ - {1337, 2, 34}, /* TIBETAN */ - { 978, 2, 35}, /* MYANMAR */ - { 607, 2, 36}, /* GEORGIAN */ - { 656, 2, 37}, /* HANGULJAMO */ - { 733, 2, 37}, /* JAMO */ - { 560, 2, 38}, /* ETHIOPIC */ - { 566, 2, 39}, /* ETHIOPICSUPPLEMENT */ - { 565, 2, 39}, /* ETHIOPICSUP */ - { 367, 2, 40}, /* CHEROKEE */ - {1364, 2, 41}, /* UNIFIEDCANADIANABORIGINALSYLLABICS */ - {1358, 2, 41}, /* UCAS */ - { 306, 2, 41}, /* CANADIANSYLLABICS */ - {1050, 2, 42}, /* OGHAM */ - {1186, 2, 43}, /* RUNIC */ - {1300, 2, 44}, /* TAGALOG */ - { 668, 2, 45}, /* HANUNOO */ - { 297, 2, 46}, /* BUHID */ - {1302, 2, 47}, /* TAGBANWA */ - { 772, 2, 48}, /* KHMER */ - { 968, 2, 49}, /* MONGOLIAN */ - {1365, 2, 50}, /* UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED */ - {1359, 2, 50}, /* UCASEXT */ - { 825, 2, 51}, /* LIMBU */ - {1305, 2, 52}, /* TAILE */ - {1001, 2, 53}, /* NEWTAILUE */ - { 773, 2, 54}, /* KHMERSYMBOLS */ - { 295, 2, 55}, /* BUGINESE */ - {1306, 2, 56}, /* TAITHAM */ - { 415, 2, 57}, /* COMBININGDIACRITICALMARKSEXTENDED */ - { 500, 2, 57}, /* DIACRITICALSEXT */ - { 240, 2, 58}, /* BALINESE */ - {1260, 2, 59}, /* SUNDANESE */ - { 248, 2, 60}, /* BATAK */ - { 819, 2, 61}, /* LEPCHA */ - {1054, 2, 62}, /* OLCHIKI */ - { 472, 2, 63}, /* CYRILLICEXTENDEDC */ - { 469, 2, 63}, /* CYRILLICEXTC */ - { 609, 2, 64}, /* GEORGIANEXTENDED */ - { 608, 2, 64}, /* GEORGIANEXT */ - {1262, 2, 65}, /* SUNDANESESUPPLEMENT */ - {1261, 2, 65}, /* SUNDANESESUP */ - {1379, 2, 66}, /* VEDICEXTENSIONS */ - {1378, 2, 66}, /* VEDICEXT */ - {1127, 2, 67}, /* PHONETICEXTENSIONS */ - {1126, 2, 67}, /* PHONETICEXT */ - {1128, 2, 68}, /* PHONETICEXTENSIONSSUPPLEMENT */ - {1129, 2, 68}, /* PHONETICEXTSUP */ - { 417, 2, 69}, /* COMBININGDIACRITICALMARKSSUPPLEMENT */ - { 502, 2, 69}, /* DIACRITICALSSUP */ - { 801, 2, 70}, /* LATINEXTENDEDADDITIONAL */ - { 795, 2, 70}, /* LATINEXTADDITIONAL */ - { 634, 2, 71}, /* GREEKEXTENDED */ - { 633, 2, 71}, /* GREEKEXT */ - { 602, 2, 72}, /* GENERALPUNCTUATION */ - {1154, 2, 72}, /* PUNCTUATION */ - {1269, 2, 73}, /* SUPERSCRIPTSANDSUBSCRIPTS */ - {1268, 2, 73}, /* SUPERANDSUB */ - { 458, 2, 74}, /* CURRENCYSYMBOLS */ - { 416, 2, 75}, /* COMBININGDIACRITICALMARKSFORSYMBOLS */ - { 501, 2, 75}, /* DIACRITICALSFORSYMBOLS */ - { 420, 2, 75}, /* COMBININGMARKSFORSYMBOLS */ - { 821, 2, 76}, /* LETTERLIKESYMBOLS */ - {1036, 2, 77}, /* NUMBERFORMS */ - { 219, 2, 78}, /* ARROWS */ - { 919, 2, 79}, /* MATHEMATICALOPERATORS */ - { 920, 2, 79}, /* MATHOPERATORS */ - { 952, 2, 80}, /* MISCELLANEOUSTECHNICAL */ - { 957, 2, 80}, /* MISCTECHNICAL */ - { 444, 2, 81}, /* CONTROLPICTURES */ - {1070, 2, 82}, /* OPTICALCHARACTERRECOGNITION */ - {1047, 2, 82}, /* OCR */ - { 548, 2, 83}, /* ENCLOSEDALPHANUMERICS */ - { 547, 2, 83}, /* ENCLOSEDALPHANUM */ - { 282, 2, 84}, /* BOXDRAWING */ - { 272, 2, 85}, /* BLOCKELEMENTS */ - { 603, 2, 86}, /* GEOMETRICSHAPES */ - { 949, 2, 87}, /* MISCELLANEOUSSYMBOLS */ - { 956, 2, 87}, /* MISCSYMBOLS */ - { 505, 2, 88}, /* DINGBATS */ - { 947, 2, 89}, /* MISCELLANEOUSMATHEMATICALSYMBOLSA */ - { 953, 2, 89}, /* MISCMATHSYMBOLSA */ - {1271, 2, 90}, /* SUPPLEMENTALARROWSA */ - {1264, 2, 90}, /* SUPARROWSA */ - { 289, 2, 91}, /* BRAILLEPATTERNS */ - { 288, 2, 91}, /* BRAILLE */ - {1272, 2, 92}, /* SUPPLEMENTALARROWSB */ - {1265, 2, 92}, /* SUPARROWSB */ - { 948, 2, 93}, /* MISCELLANEOUSMATHEMATICALSYMBOLSB */ - { 954, 2, 93}, /* MISCMATHSYMBOLSB */ - {1274, 2, 94}, /* SUPPLEMENTALMATHEMATICALOPERATORS */ - {1270, 2, 94}, /* SUPMATHOPERATORS */ - { 950, 2, 95}, /* MISCELLANEOUSSYMBOLSANDARROWS */ - { 946, 2, 95}, /* MISCARROWS */ - { 614, 2, 96}, /* GLAGOLITIC */ - { 803, 2, 97}, /* LATINEXTENDEDC */ - { 797, 2, 97}, /* LATINEXTC */ - { 446, 2, 98}, /* COPTIC */ - { 611, 2, 99}, /* GEORGIANSUPPLEMENT */ - { 610, 2, 99}, /* GEORGIANSUP */ - {1339, 2, 100}, /* TIFINAGH */ - { 563, 2, 101}, /* ETHIOPICEXTENDED */ - { 561, 2, 101}, /* ETHIOPICEXT */ - { 470, 2, 102}, /* CYRILLICEXTENDEDA */ - { 467, 2, 102}, /* CYRILLICEXTA */ - {1275, 2, 103}, /* SUPPLEMENTALPUNCTUATION */ - {1281, 2, 103}, /* SUPPUNCTUATION */ - { 393, 2, 104}, /* CJKRADICALSSUPPLEMENT */ - { 392, 2, 104}, /* CJKRADICALSSUP */ - { 760, 2, 105}, /* KANGXIRADICALS */ - { 759, 2, 105}, /* KANGXI */ - { 699, 2, 106}, /* IDEOGRAPHICDESCRIPTIONCHARACTERS */ - { 695, 2, 106}, /* IDC */ - { 396, 2, 107}, /* CJKSYMBOLSANDPUNCTUATION */ - { 395, 2, 107}, /* CJKSYMBOLS */ - { 684, 2, 108}, /* HIRAGANA */ - { 763, 2, 109}, /* KATAKANA */ - { 275, 2, 110}, /* BOPOMOFO */ - { 655, 2, 111}, /* HANGULCOMPATIBILITYJAMO */ - { 425, 2, 111}, /* COMPATJAMO */ - { 758, 2, 112}, /* KANBUN */ - { 277, 2, 113}, /* BOPOMOFOEXTENDED */ - { 276, 2, 113}, /* BOPOMOFOEXT */ - { 394, 2, 114}, /* CJKSTROKES */ - { 766, 2, 115}, /* KATAKANAPHONETICEXTENSIONS */ - { 764, 2, 115}, /* KATAKANAEXT */ - { 552, 2, 116}, /* ENCLOSEDCJKLETTERSANDMONTHS */ - { 551, 2, 116}, /* ENCLOSEDCJK */ - { 379, 2, 117}, /* CJKCOMPATIBILITY */ - { 377, 2, 117}, /* CJKCOMPAT */ - { 398, 2, 118}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONA */ - { 385, 2, 118}, /* CJKEXTA */ - {1427, 2, 119}, /* YIJINGHEXAGRAMSYMBOLS */ - {1426, 2, 119}, /* YIJING */ - { 397, 2, 120}, /* CJKUNIFIEDIDEOGRAPHS */ - { 376, 2, 120}, /* CJK */ - {1429, 2, 121}, /* YISYLLABLES */ - {1428, 2, 122}, /* YIRADICALS */ - { 835, 2, 123}, /* LISU */ - {1373, 2, 124}, /* VAI */ - { 471, 2, 125}, /* CYRILLICEXTENDEDB */ - { 468, 2, 125}, /* CYRILLICEXTB */ - { 242, 2, 126}, /* BAMUM */ - { 965, 2, 127}, /* MODIFIERTONELETTERS */ - { 804, 2, 128}, /* LATINEXTENDEDD */ - { 798, 2, 128}, /* LATINEXTD */ - {1289, 2, 129}, /* SYLOTINAGRI */ - { 422, 2, 130}, /* COMMONINDICNUMBERFORMS */ - { 710, 2, 130}, /* INDICNUMBERFORMS */ - {1119, 2, 131}, /* PHAGSPA */ - {1197, 2, 132}, /* SAURASHTRA */ - { 495, 2, 133}, /* DEVANAGARIEXTENDED */ - { 494, 2, 133}, /* DEVANAGARIEXT */ - { 767, 2, 134}, /* KAYAHLI */ - {1169, 2, 135}, /* REJANG */ - { 657, 2, 136}, /* HANGULJAMOEXTENDEDA */ - { 734, 2, 136}, /* JAMOEXTA */ - { 737, 2, 137}, /* JAVANESE */ - { 982, 2, 138}, /* MYANMAREXTENDEDB */ - { 980, 2, 138}, /* MYANMAREXTB */ - { 360, 2, 139}, /* CHAM */ - { 981, 2, 140}, /* MYANMAREXTENDEDA */ - { 979, 2, 140}, /* MYANMAREXTA */ - {1307, 2, 141}, /* TAIVIET */ - { 934, 2, 142}, /* MEETEIMAYEKEXTENSIONS */ - { 933, 2, 142}, /* MEETEIMAYEKEXT */ - { 564, 2, 143}, /* ETHIOPICEXTENDEDA */ - { 562, 2, 143}, /* ETHIOPICEXTA */ - { 805, 2, 144}, /* LATINEXTENDEDE */ - { 799, 2, 144}, /* LATINEXTE */ - { 369, 2, 145}, /* CHEROKEESUPPLEMENT */ - { 368, 2, 145}, /* CHEROKEESUP */ - { 932, 2, 146}, /* MEETEIMAYEK */ - { 659, 2, 147}, /* HANGULSYLLABLES */ - { 654, 2, 147}, /* HANGUL */ - { 658, 2, 148}, /* HANGULJAMOEXTENDEDB */ - { 735, 2, 148}, /* JAMOEXTB */ - { 682, 2, 149}, /* HIGHSURROGATES */ - { 680, 2, 150}, /* HIGHPRIVATEUSESURROGATES */ - { 681, 2, 150}, /* HIGHPUSURROGATES */ - { 846, 2, 151}, /* LOWSURROGATES */ - {1148, 2, 152}, /* PRIVATEUSEAREA */ - {1152, 2, 152}, /* PUA */ - {1147, 2, 152}, /* PRIVATEUSE */ - { 381, 2, 153}, /* CJKCOMPATIBILITYIDEOGRAPHS */ - { 383, 2, 153}, /* CJKCOMPATIDEOGRAPHS */ - { 191, 2, 154}, /* ALPHABETICPRESENTATIONFORMS */ - { 190, 2, 154}, /* ALPHABETICPF */ - { 212, 2, 155}, /* ARABICPRESENTATIONFORMSA */ - { 210, 2, 155}, /* ARABICPFA */ - {1376, 2, 156}, /* VARIATIONSELECTORS */ - {1391, 2, 156}, /* VS */ - {1382, 2, 157}, /* VERTICALFORMS */ - { 418, 2, 158}, /* COMBININGHALFMARKS */ - { 648, 2, 158}, /* HALFMARKS */ - { 380, 2, 159}, /* CJKCOMPATIBILITYFORMS */ - { 378, 2, 159}, /* CJKCOMPATFORMS */ - {1233, 2, 160}, /* SMALLFORMVARIANTS */ - {1232, 2, 160}, /* SMALLFORMS */ - { 213, 2, 161}, /* ARABICPRESENTATIONFORMSB */ - { 211, 2, 161}, /* ARABICPFB */ - { 650, 2, 162}, /* HALFWIDTHANDFULLWIDTHFORMS */ - { 647, 2, 162}, /* HALFANDFULLFORMS */ - {1251, 2, 163}, /* SPECIALS */ - { 831, 2, 164}, /* LINEARBSYLLABARY */ - { 830, 2, 165}, /* LINEARBIDEOGRAMS */ - { 172, 2, 166}, /* AEGEANNUMBERS */ - { 198, 2, 167}, /* ANCIENTGREEKNUMBERS */ - { 199, 2, 168}, /* ANCIENTSYMBOLS */ - {1121, 2, 169}, /* PHAISTOSDISC */ - {1120, 2, 169}, /* PHAISTOS */ - { 857, 2, 170}, /* LYCIAN */ - { 312, 2, 171}, /* CARIAN */ - { 447, 2, 172}, /* COPTICEPACTNUMBERS */ - {1057, 2, 173}, /* OLDITALIC */ - { 622, 2, 174}, /* GOTHIC */ - {1059, 2, 175}, /* OLDPERMIC */ - {1361, 2, 176}, /* UGARITIC */ - {1060, 2, 177}, /* OLDPERSIAN */ - { 491, 2, 178}, /* DESERET */ - {1216, 2, 179}, /* SHAVIAN */ - {1078, 2, 180}, /* OSMANYA */ - {1075, 2, 181}, /* OSAGE */ - { 533, 2, 182}, /* ELBASAN */ - { 317, 2, 183}, /* CAUCASIANALBANIAN */ - { 828, 2, 184}, /* LINEARA */ - { 465, 2, 185}, /* CYPRIOTSYLLABARY */ - { 708, 2, 186}, /* IMPERIALARAMAIC */ - {1102, 2, 187}, /* PALMYRENE */ - { 987, 2, 188}, /* NABATAEAN */ - { 670, 2, 189}, /* HATRAN */ - {1125, 2, 190}, /* PHOENICIAN */ - { 859, 2, 191}, /* LYDIAN */ - { 940, 2, 192}, /* MEROITICHIEROGLYPHS */ - { 939, 2, 193}, /* MEROITICCURSIVE */ - { 770, 2, 194}, /* KHAROSHTHI */ - {1062, 2, 195}, /* OLDSOUTHARABIAN */ - {1058, 2, 196}, /* OLDNORTHARABIAN */ - { 884, 2, 197}, /* MANICHAEAN */ - { 234, 2, 198}, /* AVESTAN */ - { 722, 2, 199}, /* INSCRIPTIONALPARTHIAN */ - { 721, 2, 200}, /* INSCRIPTIONALPAHLAVI */ - {1151, 2, 201}, /* PSALTERPAHLAVI */ - {1063, 2, 202}, /* OLDTURKIC */ - {1056, 2, 203}, /* OLDHUNGARIAN */ - { 662, 2, 204}, /* HANIFIROHINGYA */ - {1185, 2, 205}, /* RUMINUMERALSYMBOLS */ - {1184, 2, 205}, /* RUMI */ - {1423, 2, 206}, /* YEZIDI */ - {1061, 2, 207}, /* OLDSOGDIAN */ - {1240, 2, 208}, /* SOGDIAN */ - { 371, 2, 209}, /* CHORASMIAN */ - { 535, 2, 210}, /* ELYMAIC */ - { 285, 2, 211}, /* BRAHMI */ - { 750, 2, 212}, /* KAITHI */ - {1243, 2, 213}, /* SORASOMPENG */ - { 359, 2, 214}, /* CHAKMA */ - { 862, 2, 215}, /* MAHAJANI */ - {1215, 2, 216}, /* SHARADA */ - {1228, 2, 217}, /* SINHALAARCHAICNUMBERS */ - { 776, 2, 218}, /* KHOJKI */ - { 975, 2, 219}, /* MULTANI */ - { 777, 2, 220}, /* KHUDAWADI */ - { 624, 2, 221}, /* GRANTHA */ - { 999, 2, 222}, /* NEWA */ - {1341, 2, 223}, /* TIRHUTA */ - {1222, 2, 224}, /* SIDDHAM */ - { 961, 2, 225}, /* MODI */ - { 970, 2, 226}, /* MONGOLIANSUPPLEMENT */ - { 969, 2, 226}, /* MONGOLIANSUP */ - {1311, 2, 227}, /* TAKRI */ - { 178, 2, 228}, /* AHOM */ - { 508, 2, 229}, /* DOGRA */ - {1396, 2, 230}, /* WARANGCITI */ - { 506, 2, 231}, /* DIVESAKURU */ - { 990, 2, 232}, /* NANDINAGARI */ - {1435, 2, 233}, /* ZANABAZARSQUARE */ - {1245, 2, 234}, /* SOYOMBO */ - {1109, 2, 235}, /* PAUCINHAU */ - { 259, 2, 236}, /* BHAIKSUKI */ - { 913, 2, 237}, /* MARCHEN */ - { 915, 2, 238}, /* MASARAMGONDI */ - { 640, 2, 239}, /* GUNJALAGONDI */ - { 867, 2, 240}, /* MAKASAR */ - { 837, 2, 241}, /* LISUSUPPLEMENT */ - { 836, 2, 241}, /* LISUSUP */ - {1316, 2, 242}, /* TAMILSUPPLEMENT */ - {1315, 2, 242}, /* TAMILSUP */ - { 454, 2, 243}, /* CUNEIFORM */ - { 456, 2, 244}, /* CUNEIFORMNUMBERSANDPUNCTUATION */ - { 455, 2, 244}, /* CUNEIFORMNUMBERS */ - { 522, 2, 245}, /* EARLYDYNASTICCUNEIFORM */ - { 531, 2, 246}, /* EGYPTIANHIEROGLYPHS */ - { 530, 2, 247}, /* EGYPTIANHIEROGLYPHFORMATCONTROLS */ - { 195, 2, 248}, /* ANATOLIANHIEROGLYPHS */ - { 244, 2, 249}, /* BAMUMSUPPLEMENT */ - { 243, 2, 249}, /* BAMUMSUP */ - { 971, 2, 250}, /* MRO */ - { 247, 2, 251}, /* BASSAVAH */ - {1100, 2, 252}, /* PAHAWHHMONG */ - { 928, 2, 253}, /* MEDEFAIDRIN */ - { 941, 2, 254}, /* MIAO */ - { 701, 2, 255}, /* IDEOGRAPHICSYMBOLSANDPUNCTUATION */ - { 700, 2, 255}, /* IDEOGRAPHICSYMBOLS */ - {1319, 2, 256}, /* TANGUT */ - {1320, 2, 257}, /* TANGUTCOMPONENTS */ - { 771, 2, 258}, /* KHITANSMALLSCRIPT */ - {1322, 2, 259}, /* TANGUTSUPPLEMENT */ - {1321, 2, 259}, /* TANGUTSUP */ - { 756, 2, 260}, /* KANASUPPLEMENT */ - { 755, 2, 260}, /* KANASUP */ - { 754, 2, 261}, /* KANAEXTENDEDA */ - { 753, 2, 261}, /* KANAEXTA */ - {1235, 2, 262}, /* SMALLKANAEXTENSION */ - {1234, 2, 262}, /* SMALLKANAEXT */ - {1042, 2, 263}, /* NUSHU */ - { 519, 2, 264}, /* DUPLOYAN */ - {1219, 2, 265}, /* SHORTHANDFORMATCONTROLS */ - { 300, 2, 266}, /* BYZANTINEMUSICALSYMBOLS */ - { 299, 2, 266}, /* BYZANTINEMUSIC */ - { 977, 2, 267}, /* MUSICALSYMBOLS */ - { 976, 2, 267}, /* MUSIC */ - { 197, 2, 268}, /* ANCIENTGREEKMUSICALNOTATION */ - { 196, 2, 268}, /* ANCIENTGREEKMUSIC */ - { 922, 2, 269}, /* MAYANNUMERALS */ - {1309, 2, 270}, /* TAIXUANJINGSYMBOLS */ - {1308, 2, 270}, /* TAIXUANJING */ - { 449, 2, 271}, /* COUNTINGRODNUMERALS */ - { 448, 2, 271}, /* COUNTINGROD */ - { 918, 2, 272}, /* MATHEMATICALALPHANUMERICSYMBOLS */ - { 917, 2, 272}, /* MATHALPHANUM */ - {1284, 2, 273}, /* SUTTONSIGNWRITING */ - { 616, 2, 274}, /* GLAGOLITICSUPPLEMENT */ - { 615, 2, 274}, /* GLAGOLITICSUP */ - {1045, 2, 275}, /* NYIAKENGPUACHUEHMONG */ - {1394, 2, 276}, /* WANCHO */ - { 936, 2, 277}, /* MENDEKIKAKUI */ - { 170, 2, 278}, /* ADLAM */ - { 712, 2, 279}, /* INDICSIYAQNUMBERS */ - {1093, 2, 280}, /* OTTOMANSIYAQNUMBERS */ - { 208, 2, 281}, /* ARABICMATHEMATICALALPHABETICSYMBOLS */ - { 207, 2, 281}, /* ARABICMATH */ - { 865, 2, 282}, /* MAHJONGTILES */ - { 864, 2, 282}, /* MAHJONG */ - { 510, 2, 283}, /* DOMINOTILES */ - { 509, 2, 283}, /* DOMINO */ - {1131, 2, 284}, /* PLAYINGCARDS */ - { 549, 2, 285}, /* ENCLOSEDALPHANUMERICSUPPLEMENT */ - { 550, 2, 285}, /* ENCLOSEDALPHANUMSUP */ - { 554, 2, 286}, /* ENCLOSEDIDEOGRAPHICSUPPLEMENT */ - { 553, 2, 286}, /* ENCLOSEDIDEOGRAPHICSUP */ - { 951, 2, 287}, /* MISCELLANEOUSSYMBOLSANDPICTOGRAPHS */ - { 955, 2, 287}, /* MISCPICTOGRAPHS */ - { 544, 2, 288}, /* EMOTICONS */ - {1073, 2, 289}, /* ORNAMENTALDINGBATS */ - {1355, 2, 290}, /* TRANSPORTANDMAPSYMBOLS */ - {1354, 2, 290}, /* TRANSPORTANDMAP */ - { 184, 2, 291}, /* ALCHEMICALSYMBOLS */ - { 183, 2, 291}, /* ALCHEMICAL */ - { 605, 2, 292}, /* GEOMETRICSHAPESEXTENDED */ - { 604, 2, 292}, /* GEOMETRICSHAPESEXT */ - {1273, 2, 293}, /* SUPPLEMENTALARROWSC */ - {1266, 2, 293}, /* SUPARROWSC */ - {1276, 2, 294}, /* SUPPLEMENTALSYMBOLSANDPICTOGRAPHS */ - {1282, 2, 294}, /* SUPSYMBOLSANDPICTOGRAPHS */ - { 370, 2, 295}, /* CHESSSYMBOLS */ - {1292, 2, 296}, /* SYMBOLSANDPICTOGRAPHSEXTENDEDA */ - {1291, 2, 296}, /* SYMBOLSANDPICTOGRAPHSEXTA */ - {1293, 2, 297}, /* SYMBOLSFORLEGACYCOMPUTING */ - { 399, 2, 298}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONB */ - { 386, 2, 298}, /* CJKEXTB */ - { 400, 2, 299}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONC */ - { 387, 2, 299}, /* CJKEXTC */ - { 401, 2, 300}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIOND */ - { 388, 2, 300}, /* CJKEXTD */ - { 402, 2, 301}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONE */ - { 389, 2, 301}, /* CJKEXTE */ - { 403, 2, 302}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONF */ - { 390, 2, 302}, /* CJKEXTF */ - { 382, 2, 303}, /* CJKCOMPATIBILITYIDEOGRAPHSSUPPLEMENT */ - { 384, 2, 303}, /* CJKCOMPATIDEOGRAPHSSUP */ - { 404, 2, 304}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONG */ - { 391, 2, 304}, /* CJKEXTG */ - {1303, 2, 305}, /* TAGS */ - {1377, 2, 306}, /* VARIATIONSELECTORSSUPPLEMENT */ - {1392, 2, 306}, /* VSSUP */ - {1277, 2, 307}, /* SUPPLEMENTARYPRIVATEUSEAREAA */ - {1279, 2, 307}, /* SUPPUAA */ - {1278, 2, 308}, /* SUPPLEMENTARYPRIVATEUSEAREAB */ - {1280, 2, 308}, /* SUPPUAB */ - {1027, 3, 0}, /* NOTREORDERED */ + {1309, 2, 14}, /* SYRIAC */ + { 217, 2, 15}, /* ARABICSUPPLEMENT */ + { 216, 2, 15}, /* ARABICSUP */ + {1350, 2, 16}, /* THAANA */ + {1024, 2, 17}, /* NKO */ + {1207, 2, 18}, /* SAMARITAN */ + { 893, 2, 19}, /* MANDAIC */ + {1311, 2, 20}, /* SYRIACSUPPLEMENT */ + {1310, 2, 20}, /* SYRIACSUP */ + { 207, 2, 21}, /* ARABICEXTENDEDB */ + { 205, 2, 21}, /* ARABICEXTB */ + { 206, 2, 22}, /* ARABICEXTENDEDA */ + { 204, 2, 22}, /* ARABICEXTA */ + { 497, 2, 23}, /* DEVANAGARI */ + { 259, 2, 24}, /* BENGALI */ + { 647, 2, 25}, /* GURMUKHI */ + { 644, 2, 26}, /* GUJARATI */ + {1084, 2, 27}, /* ORIYA */ + {1328, 2, 28}, /* TAMIL */ + {1343, 2, 29}, /* TELUGU */ + { 769, 2, 30}, /* KANNADA */ + { 880, 2, 31}, /* MALAYALAM */ + {1241, 2, 32}, /* SINHALA */ + {1351, 2, 33}, /* THAI */ + { 796, 2, 34}, /* LAO */ + {1353, 2, 35}, /* TIBETAN */ + { 990, 2, 36}, /* MYANMAR */ + { 613, 2, 37}, /* GEORGIAN */ + { 662, 2, 38}, /* HANGULJAMO */ + { 739, 2, 38}, /* JAMO */ + { 564, 2, 39}, /* ETHIOPIC */ + { 572, 2, 40}, /* ETHIOPICSUPPLEMENT */ + { 571, 2, 40}, /* ETHIOPICSUP */ + { 369, 2, 41}, /* CHEROKEE */ + {1383, 2, 42}, /* UNIFIEDCANADIANABORIGINALSYLLABICS */ + {1376, 2, 42}, /* UCAS */ + { 308, 2, 42}, /* CANADIANSYLLABICS */ + {1062, 2, 43}, /* OGHAM */ + {1200, 2, 44}, /* RUNIC */ + {1314, 2, 45}, /* TAGALOG */ + { 674, 2, 46}, /* HANUNOO */ + { 299, 2, 47}, /* BUHID */ + {1316, 2, 48}, /* TAGBANWA */ + { 780, 2, 49}, /* KHMER */ + { 980, 2, 50}, /* MONGOLIAN */ + {1384, 2, 51}, /* UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED */ + {1377, 2, 51}, /* UCASEXT */ + { 837, 2, 52}, /* LIMBU */ + {1319, 2, 53}, /* TAILE */ + {1013, 2, 54}, /* NEWTAILUE */ + { 781, 2, 55}, /* KHMERSYMBOLS */ + { 297, 2, 56}, /* BUGINESE */ + {1320, 2, 57}, /* TAITHAM */ + { 417, 2, 58}, /* COMBININGDIACRITICALMARKSEXTENDED */ + { 504, 2, 58}, /* DIACRITICALSEXT */ + { 242, 2, 59}, /* BALINESE */ + {1274, 2, 60}, /* SUNDANESE */ + { 250, 2, 61}, /* BATAK */ + { 831, 2, 62}, /* LEPCHA */ + {1066, 2, 63}, /* OLCHIKI */ + { 476, 2, 64}, /* CYRILLICEXTENDEDC */ + { 473, 2, 64}, /* CYRILLICEXTC */ + { 615, 2, 65}, /* GEORGIANEXTENDED */ + { 614, 2, 65}, /* GEORGIANEXT */ + {1276, 2, 66}, /* SUNDANESESUPPLEMENT */ + {1275, 2, 66}, /* SUNDANESESUP */ + {1399, 2, 67}, /* VEDICEXTENSIONS */ + {1398, 2, 67}, /* VEDICEXT */ + {1141, 2, 68}, /* PHONETICEXTENSIONS */ + {1140, 2, 68}, /* PHONETICEXT */ + {1142, 2, 69}, /* PHONETICEXTENSIONSSUPPLEMENT */ + {1143, 2, 69}, /* PHONETICEXTSUP */ + { 419, 2, 70}, /* COMBININGDIACRITICALMARKSSUPPLEMENT */ + { 506, 2, 70}, /* DIACRITICALSSUP */ + { 809, 2, 71}, /* LATINEXTENDEDADDITIONAL */ + { 803, 2, 71}, /* LATINEXTADDITIONAL */ + { 640, 2, 72}, /* GREEKEXTENDED */ + { 639, 2, 72}, /* GREEKEXT */ + { 608, 2, 73}, /* GENERALPUNCTUATION */ + {1168, 2, 73}, /* PUNCTUATION */ + {1283, 2, 74}, /* SUPERSCRIPTSANDSUBSCRIPTS */ + {1282, 2, 74}, /* SUPERANDSUB */ + { 461, 2, 75}, /* CURRENCYSYMBOLS */ + { 418, 2, 76}, /* COMBININGDIACRITICALMARKSFORSYMBOLS */ + { 505, 2, 76}, /* DIACRITICALSFORSYMBOLS */ + { 422, 2, 76}, /* COMBININGMARKSFORSYMBOLS */ + { 833, 2, 77}, /* LETTERLIKESYMBOLS */ + {1048, 2, 78}, /* NUMBERFORMS */ + { 221, 2, 79}, /* ARROWS */ + { 931, 2, 80}, /* MATHEMATICALOPERATORS */ + { 932, 2, 80}, /* MATHOPERATORS */ + { 964, 2, 81}, /* MISCELLANEOUSTECHNICAL */ + { 969, 2, 81}, /* MISCTECHNICAL */ + { 446, 2, 82}, /* CONTROLPICTURES */ + {1083, 2, 83}, /* OPTICALCHARACTERRECOGNITION */ + {1059, 2, 83}, /* OCR */ + { 552, 2, 84}, /* ENCLOSEDALPHANUMERICS */ + { 551, 2, 84}, /* ENCLOSEDALPHANUM */ + { 284, 2, 85}, /* BOXDRAWING */ + { 274, 2, 86}, /* BLOCKELEMENTS */ + { 609, 2, 87}, /* GEOMETRICSHAPES */ + { 961, 2, 88}, /* MISCELLANEOUSSYMBOLS */ + { 968, 2, 88}, /* MISCSYMBOLS */ + { 509, 2, 89}, /* DINGBATS */ + { 959, 2, 90}, /* MISCELLANEOUSMATHEMATICALSYMBOLSA */ + { 965, 2, 90}, /* MISCMATHSYMBOLSA */ + {1285, 2, 91}, /* SUPPLEMENTALARROWSA */ + {1278, 2, 91}, /* SUPARROWSA */ + { 291, 2, 92}, /* BRAILLEPATTERNS */ + { 290, 2, 92}, /* BRAILLE */ + {1286, 2, 93}, /* SUPPLEMENTALARROWSB */ + {1279, 2, 93}, /* SUPARROWSB */ + { 960, 2, 94}, /* MISCELLANEOUSMATHEMATICALSYMBOLSB */ + { 966, 2, 94}, /* MISCMATHSYMBOLSB */ + {1288, 2, 95}, /* SUPPLEMENTALMATHEMATICALOPERATORS */ + {1284, 2, 95}, /* SUPMATHOPERATORS */ + { 962, 2, 96}, /* MISCELLANEOUSSYMBOLSANDARROWS */ + { 958, 2, 96}, /* MISCARROWS */ + { 620, 2, 97}, /* GLAGOLITIC */ + { 811, 2, 98}, /* LATINEXTENDEDC */ + { 805, 2, 98}, /* LATINEXTC */ + { 448, 2, 99}, /* COPTIC */ + { 617, 2, 100}, /* GEORGIANSUPPLEMENT */ + { 616, 2, 100}, /* GEORGIANSUP */ + {1355, 2, 101}, /* TIFINAGH */ + { 568, 2, 102}, /* ETHIOPICEXTENDED */ + { 565, 2, 102}, /* ETHIOPICEXT */ + { 474, 2, 103}, /* CYRILLICEXTENDEDA */ + { 471, 2, 103}, /* CYRILLICEXTA */ + {1289, 2, 104}, /* SUPPLEMENTALPUNCTUATION */ + {1295, 2, 104}, /* SUPPUNCTUATION */ + { 395, 2, 105}, /* CJKRADICALSSUPPLEMENT */ + { 394, 2, 105}, /* CJKRADICALSSUP */ + { 768, 2, 106}, /* KANGXIRADICALS */ + { 767, 2, 106}, /* KANGXI */ + { 705, 2, 107}, /* IDEOGRAPHICDESCRIPTIONCHARACTERS */ + { 701, 2, 107}, /* IDC */ + { 398, 2, 108}, /* CJKSYMBOLSANDPUNCTUATION */ + { 397, 2, 108}, /* CJKSYMBOLS */ + { 690, 2, 109}, /* HIRAGANA */ + { 771, 2, 110}, /* KATAKANA */ + { 277, 2, 111}, /* BOPOMOFO */ + { 661, 2, 112}, /* HANGULCOMPATIBILITYJAMO */ + { 427, 2, 112}, /* COMPATJAMO */ + { 766, 2, 113}, /* KANBUN */ + { 279, 2, 114}, /* BOPOMOFOEXTENDED */ + { 278, 2, 114}, /* BOPOMOFOEXT */ + { 396, 2, 115}, /* CJKSTROKES */ + { 774, 2, 116}, /* KATAKANAPHONETICEXTENSIONS */ + { 772, 2, 116}, /* KATAKANAEXT */ + { 556, 2, 117}, /* ENCLOSEDCJKLETTERSANDMONTHS */ + { 555, 2, 117}, /* ENCLOSEDCJK */ + { 381, 2, 118}, /* CJKCOMPATIBILITY */ + { 379, 2, 118}, /* CJKCOMPAT */ + { 400, 2, 119}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONA */ + { 387, 2, 119}, /* CJKEXTA */ + {1450, 2, 120}, /* YIJINGHEXAGRAMSYMBOLS */ + {1449, 2, 120}, /* YIJING */ + { 399, 2, 121}, /* CJKUNIFIEDIDEOGRAPHS */ + { 378, 2, 121}, /* CJK */ + {1452, 2, 122}, /* YISYLLABLES */ + {1451, 2, 123}, /* YIRADICALS */ + { 847, 2, 124}, /* LISU */ + {1393, 2, 125}, /* VAI */ + { 475, 2, 126}, /* CYRILLICEXTENDEDB */ + { 472, 2, 126}, /* CYRILLICEXTB */ + { 244, 2, 127}, /* BAMUM */ + { 977, 2, 128}, /* MODIFIERTONELETTERS */ + { 812, 2, 129}, /* LATINEXTENDEDD */ + { 806, 2, 129}, /* LATINEXTD */ + {1303, 2, 130}, /* SYLOTINAGRI */ + { 424, 2, 131}, /* COMMONINDICNUMBERFORMS */ + { 716, 2, 131}, /* INDICNUMBERFORMS */ + {1133, 2, 132}, /* PHAGSPA */ + {1211, 2, 133}, /* SAURASHTRA */ + { 499, 2, 134}, /* DEVANAGARIEXTENDED */ + { 498, 2, 134}, /* DEVANAGARIEXT */ + { 775, 2, 135}, /* KAYAHLI */ + {1183, 2, 136}, /* REJANG */ + { 663, 2, 137}, /* HANGULJAMOEXTENDEDA */ + { 740, 2, 137}, /* JAMOEXTA */ + { 743, 2, 138}, /* JAVANESE */ + { 994, 2, 139}, /* MYANMAREXTENDEDB */ + { 992, 2, 139}, /* MYANMAREXTB */ + { 362, 2, 140}, /* CHAM */ + { 993, 2, 141}, /* MYANMAREXTENDEDA */ + { 991, 2, 141}, /* MYANMAREXTA */ + {1321, 2, 142}, /* TAIVIET */ + { 946, 2, 143}, /* MEETEIMAYEKEXTENSIONS */ + { 945, 2, 143}, /* MEETEIMAYEKEXT */ + { 569, 2, 144}, /* ETHIOPICEXTENDEDA */ + { 566, 2, 144}, /* ETHIOPICEXTA */ + { 813, 2, 145}, /* LATINEXTENDEDE */ + { 807, 2, 145}, /* LATINEXTE */ + { 371, 2, 146}, /* CHEROKEESUPPLEMENT */ + { 370, 2, 146}, /* CHEROKEESUP */ + { 944, 2, 147}, /* MEETEIMAYEK */ + { 665, 2, 148}, /* HANGULSYLLABLES */ + { 660, 2, 148}, /* HANGUL */ + { 664, 2, 149}, /* HANGULJAMOEXTENDEDB */ + { 741, 2, 149}, /* JAMOEXTB */ + { 688, 2, 150}, /* HIGHSURROGATES */ + { 686, 2, 151}, /* HIGHPRIVATEUSESURROGATES */ + { 687, 2, 151}, /* HIGHPUSURROGATES */ + { 858, 2, 152}, /* LOWSURROGATES */ + {1162, 2, 153}, /* PRIVATEUSEAREA */ + {1166, 2, 153}, /* PUA */ + {1161, 2, 153}, /* PRIVATEUSE */ + { 383, 2, 154}, /* CJKCOMPATIBILITYIDEOGRAPHS */ + { 385, 2, 154}, /* CJKCOMPATIDEOGRAPHS */ + { 191, 2, 155}, /* ALPHABETICPRESENTATIONFORMS */ + { 190, 2, 155}, /* ALPHABETICPF */ + { 214, 2, 156}, /* ARABICPRESENTATIONFORMSA */ + { 212, 2, 156}, /* ARABICPFA */ + {1396, 2, 157}, /* VARIATIONSELECTORS */ + {1414, 2, 157}, /* VS */ + {1402, 2, 158}, /* VERTICALFORMS */ + { 420, 2, 159}, /* COMBININGHALFMARKS */ + { 654, 2, 159}, /* HALFMARKS */ + { 382, 2, 160}, /* CJKCOMPATIBILITYFORMS */ + { 380, 2, 160}, /* CJKCOMPATFORMS */ + {1247, 2, 161}, /* SMALLFORMVARIANTS */ + {1246, 2, 161}, /* SMALLFORMS */ + { 215, 2, 162}, /* ARABICPRESENTATIONFORMSB */ + { 213, 2, 162}, /* ARABICPFB */ + { 656, 2, 163}, /* HALFWIDTHANDFULLWIDTHFORMS */ + { 653, 2, 163}, /* HALFANDFULLFORMS */ + {1265, 2, 164}, /* SPECIALS */ + { 843, 2, 165}, /* LINEARBSYLLABARY */ + { 842, 2, 166}, /* LINEARBIDEOGRAMS */ + { 172, 2, 167}, /* AEGEANNUMBERS */ + { 198, 2, 168}, /* ANCIENTGREEKNUMBERS */ + { 199, 2, 169}, /* ANCIENTSYMBOLS */ + {1135, 2, 170}, /* PHAISTOSDISC */ + {1134, 2, 170}, /* PHAISTOS */ + { 869, 2, 171}, /* LYCIAN */ + { 314, 2, 172}, /* CARIAN */ + { 449, 2, 173}, /* COPTICEPACTNUMBERS */ + {1069, 2, 174}, /* OLDITALIC */ + { 628, 2, 175}, /* GOTHIC */ + {1071, 2, 176}, /* OLDPERMIC */ + {1380, 2, 177}, /* UGARITIC */ + {1072, 2, 178}, /* OLDPERSIAN */ + { 495, 2, 179}, /* DESERET */ + {1230, 2, 180}, /* SHAVIAN */ + {1091, 2, 181}, /* OSMANYA */ + {1088, 2, 182}, /* OSAGE */ + { 537, 2, 183}, /* ELBASAN */ + { 319, 2, 184}, /* CAUCASIANALBANIAN */ + {1408, 2, 185}, /* VITHKUQI */ + { 840, 2, 186}, /* LINEARA */ + { 814, 2, 187}, /* LATINEXTENDEDF */ + { 816, 2, 187}, /* LATINEXTF */ + { 468, 2, 188}, /* CYPRIOTSYLLABARY */ + { 714, 2, 189}, /* IMPERIALARAMAIC */ + {1116, 2, 190}, /* PALMYRENE */ + { 999, 2, 191}, /* NABATAEAN */ + { 676, 2, 192}, /* HATRAN */ + {1139, 2, 193}, /* PHOENICIAN */ + { 871, 2, 194}, /* LYDIAN */ + { 952, 2, 195}, /* MEROITICHIEROGLYPHS */ + { 951, 2, 196}, /* MEROITICCURSIVE */ + { 778, 2, 197}, /* KHAROSHTHI */ + {1074, 2, 198}, /* OLDSOUTHARABIAN */ + {1070, 2, 199}, /* OLDNORTHARABIAN */ + { 896, 2, 200}, /* MANICHAEAN */ + { 236, 2, 201}, /* AVESTAN */ + { 728, 2, 202}, /* INSCRIPTIONALPARTHIAN */ + { 727, 2, 203}, /* INSCRIPTIONALPAHLAVI */ + {1165, 2, 204}, /* PSALTERPAHLAVI */ + {1075, 2, 205}, /* OLDTURKIC */ + {1068, 2, 206}, /* OLDHUNGARIAN */ + { 668, 2, 207}, /* HANIFIROHINGYA */ + {1199, 2, 208}, /* RUMINUMERALSYMBOLS */ + {1198, 2, 208}, /* RUMI */ + {1446, 2, 209}, /* YEZIDI */ + {1073, 2, 210}, /* OLDSOGDIAN */ + {1254, 2, 211}, /* SOGDIAN */ + {1076, 2, 212}, /* OLDUYGHUR */ + { 373, 2, 213}, /* CHORASMIAN */ + { 539, 2, 214}, /* ELYMAIC */ + { 287, 2, 215}, /* BRAHMI */ + { 756, 2, 216}, /* KAITHI */ + {1257, 2, 217}, /* SORASOMPENG */ + { 361, 2, 218}, /* CHAKMA */ + { 874, 2, 219}, /* MAHAJANI */ + {1229, 2, 220}, /* SHARADA */ + {1242, 2, 221}, /* SINHALAARCHAICNUMBERS */ + { 784, 2, 222}, /* KHOJKI */ + { 987, 2, 223}, /* MULTANI */ + { 785, 2, 224}, /* KHUDAWADI */ + { 630, 2, 225}, /* GRANTHA */ + {1011, 2, 226}, /* NEWA */ + {1357, 2, 227}, /* TIRHUTA */ + {1236, 2, 228}, /* SIDDHAM */ + { 973, 2, 229}, /* MODI */ + { 982, 2, 230}, /* MONGOLIANSUPPLEMENT */ + { 981, 2, 230}, /* MONGOLIANSUP */ + {1325, 2, 231}, /* TAKRI */ + { 178, 2, 232}, /* AHOM */ + { 512, 2, 233}, /* DOGRA */ + {1419, 2, 234}, /* WARANGCITI */ + { 510, 2, 235}, /* DIVESAKURU */ + {1002, 2, 236}, /* NANDINAGARI */ + {1458, 2, 237}, /* ZANABAZARSQUARE */ + {1259, 2, 238}, /* SOYOMBO */ + {1385, 2, 239}, /* UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDEDA */ + {1378, 2, 239}, /* UCASEXTA */ + {1123, 2, 240}, /* PAUCINHAU */ + { 261, 2, 241}, /* BHAIKSUKI */ + { 925, 2, 242}, /* MARCHEN */ + { 927, 2, 243}, /* MASARAMGONDI */ + { 646, 2, 244}, /* GUNJALAGONDI */ + { 879, 2, 245}, /* MAKASAR */ + { 849, 2, 246}, /* LISUSUPPLEMENT */ + { 848, 2, 246}, /* LISUSUP */ + {1330, 2, 247}, /* TAMILSUPPLEMENT */ + {1329, 2, 247}, /* TAMILSUP */ + { 457, 2, 248}, /* CUNEIFORM */ + { 459, 2, 249}, /* CUNEIFORMNUMBERSANDPUNCTUATION */ + { 458, 2, 249}, /* CUNEIFORMNUMBERS */ + { 526, 2, 250}, /* EARLYDYNASTICCUNEIFORM */ + { 469, 2, 251}, /* CYPROMINOAN */ + { 535, 2, 252}, /* EGYPTIANHIEROGLYPHS */ + { 534, 2, 253}, /* EGYPTIANHIEROGLYPHFORMATCONTROLS */ + { 195, 2, 254}, /* ANATOLIANHIEROGLYPHS */ + { 246, 2, 255}, /* BAMUMSUPPLEMENT */ + { 245, 2, 255}, /* BAMUMSUP */ + { 983, 2, 256}, /* MRO */ + {1333, 2, 257}, /* TANGSA */ + { 249, 2, 258}, /* BASSAVAH */ + {1114, 2, 259}, /* PAHAWHHMONG */ + { 940, 2, 260}, /* MEDEFAIDRIN */ + { 953, 2, 261}, /* MIAO */ + { 707, 2, 262}, /* IDEOGRAPHICSYMBOLSANDPUNCTUATION */ + { 706, 2, 262}, /* IDEOGRAPHICSYMBOLS */ + {1334, 2, 263}, /* TANGUT */ + {1335, 2, 264}, /* TANGUTCOMPONENTS */ + { 779, 2, 265}, /* KHITANSMALLSCRIPT */ + {1337, 2, 266}, /* TANGUTSUPPLEMENT */ + {1336, 2, 266}, /* TANGUTSUP */ + { 762, 2, 267}, /* KANAEXTENDEDB */ + { 760, 2, 267}, /* KANAEXTB */ + { 764, 2, 268}, /* KANASUPPLEMENT */ + { 763, 2, 268}, /* KANASUP */ + { 761, 2, 269}, /* KANAEXTENDEDA */ + { 759, 2, 269}, /* KANAEXTA */ + {1249, 2, 270}, /* SMALLKANAEXTENSION */ + {1248, 2, 270}, /* SMALLKANAEXT */ + {1054, 2, 271}, /* NUSHU */ + { 523, 2, 272}, /* DUPLOYAN */ + {1233, 2, 273}, /* SHORTHANDFORMATCONTROLS */ + {1464, 2, 274}, /* ZNAMENNYMUSICALNOTATION */ + {1463, 2, 274}, /* ZNAMENNYMUSIC */ + { 302, 2, 275}, /* BYZANTINEMUSICALSYMBOLS */ + { 301, 2, 275}, /* BYZANTINEMUSIC */ + { 989, 2, 276}, /* MUSICALSYMBOLS */ + { 988, 2, 276}, /* MUSIC */ + { 197, 2, 277}, /* ANCIENTGREEKMUSICALNOTATION */ + { 196, 2, 277}, /* ANCIENTGREEKMUSIC */ + { 934, 2, 278}, /* MAYANNUMERALS */ + {1323, 2, 279}, /* TAIXUANJINGSYMBOLS */ + {1322, 2, 279}, /* TAIXUANJING */ + { 451, 2, 280}, /* COUNTINGRODNUMERALS */ + { 450, 2, 280}, /* COUNTINGROD */ + { 930, 2, 281}, /* MATHEMATICALALPHANUMERICSYMBOLS */ + { 929, 2, 281}, /* MATHALPHANUM */ + {1298, 2, 282}, /* SUTTONSIGNWRITING */ + { 815, 2, 283}, /* LATINEXTENDEDG */ + { 817, 2, 283}, /* LATINEXTG */ + { 622, 2, 284}, /* GLAGOLITICSUPPLEMENT */ + { 621, 2, 284}, /* GLAGOLITICSUP */ + {1057, 2, 285}, /* NYIAKENGPUACHUEHMONG */ + {1369, 2, 286}, /* TOTO */ + {1417, 2, 287}, /* WANCHO */ + { 570, 2, 288}, /* ETHIOPICEXTENDEDB */ + { 567, 2, 288}, /* ETHIOPICEXTB */ + { 948, 2, 289}, /* MENDEKIKAKUI */ + { 170, 2, 290}, /* ADLAM */ + { 718, 2, 291}, /* INDICSIYAQNUMBERS */ + {1106, 2, 292}, /* OTTOMANSIYAQNUMBERS */ + { 210, 2, 293}, /* ARABICMATHEMATICALALPHABETICSYMBOLS */ + { 209, 2, 293}, /* ARABICMATH */ + { 877, 2, 294}, /* MAHJONGTILES */ + { 876, 2, 294}, /* MAHJONG */ + { 514, 2, 295}, /* DOMINOTILES */ + { 513, 2, 295}, /* DOMINO */ + {1145, 2, 296}, /* PLAYINGCARDS */ + { 553, 2, 297}, /* ENCLOSEDALPHANUMERICSUPPLEMENT */ + { 554, 2, 297}, /* ENCLOSEDALPHANUMSUP */ + { 558, 2, 298}, /* ENCLOSEDIDEOGRAPHICSUPPLEMENT */ + { 557, 2, 298}, /* ENCLOSEDIDEOGRAPHICSUP */ + { 963, 2, 299}, /* MISCELLANEOUSSYMBOLSANDPICTOGRAPHS */ + { 967, 2, 299}, /* MISCPICTOGRAPHS */ + { 548, 2, 300}, /* EMOTICONS */ + {1086, 2, 301}, /* ORNAMENTALDINGBATS */ + {1373, 2, 302}, /* TRANSPORTANDMAPSYMBOLS */ + {1372, 2, 302}, /* TRANSPORTANDMAP */ + { 184, 2, 303}, /* ALCHEMICALSYMBOLS */ + { 183, 2, 303}, /* ALCHEMICAL */ + { 611, 2, 304}, /* GEOMETRICSHAPESEXTENDED */ + { 610, 2, 304}, /* GEOMETRICSHAPESEXT */ + {1287, 2, 305}, /* SUPPLEMENTALARROWSC */ + {1280, 2, 305}, /* SUPARROWSC */ + {1290, 2, 306}, /* SUPPLEMENTALSYMBOLSANDPICTOGRAPHS */ + {1296, 2, 306}, /* SUPSYMBOLSANDPICTOGRAPHS */ + { 372, 2, 307}, /* CHESSSYMBOLS */ + {1306, 2, 308}, /* SYMBOLSANDPICTOGRAPHSEXTENDEDA */ + {1305, 2, 308}, /* SYMBOLSANDPICTOGRAPHSEXTA */ + {1307, 2, 309}, /* SYMBOLSFORLEGACYCOMPUTING */ + { 401, 2, 310}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONB */ + { 388, 2, 310}, /* CJKEXTB */ + { 402, 2, 311}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONC */ + { 389, 2, 311}, /* CJKEXTC */ + { 403, 2, 312}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIOND */ + { 390, 2, 312}, /* CJKEXTD */ + { 404, 2, 313}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONE */ + { 391, 2, 313}, /* CJKEXTE */ + { 405, 2, 314}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONF */ + { 392, 2, 314}, /* CJKEXTF */ + { 384, 2, 315}, /* CJKCOMPATIBILITYIDEOGRAPHSSUPPLEMENT */ + { 386, 2, 315}, /* CJKCOMPATIDEOGRAPHSSUP */ + { 406, 2, 316}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONG */ + { 393, 2, 316}, /* CJKEXTG */ + {1317, 2, 317}, /* TAGS */ + {1397, 2, 318}, /* VARIATIONSELECTORSSUPPLEMENT */ + {1415, 2, 318}, /* VSSUP */ + {1291, 2, 319}, /* SUPPLEMENTARYPRIVATEUSEAREAA */ + {1293, 2, 319}, /* SUPPUAA */ + {1292, 2, 320}, /* SUPPLEMENTARYPRIVATEUSEAREAB */ + {1294, 2, 320}, /* SUPPUAB */ + {1039, 3, 0}, /* NOTREORDERED */ { 1, 3, 0}, /* 0 */ - {1028, 3, 0}, /* NR */ + {1040, 3, 0}, /* NR */ { 167, 3, 1}, /* ABOVE */ { 75, 3, 1}, /* 230 */ { 166, 3, 1}, /* A */ { 169, 3, 2}, /* ABOVERIGHT */ { 76, 3, 2}, /* 232 */ { 201, 3, 2}, /* AR */ - { 253, 3, 3}, /* BELOW */ + { 255, 3, 3}, /* BELOW */ { 69, 3, 3}, /* 220 */ - { 236, 3, 3}, /* B */ - { 230, 3, 4}, /* ATTACHEDABOVERIGHT */ + { 238, 3, 3}, /* B */ + { 232, 3, 4}, /* ATTACHEDABOVERIGHT */ { 65, 3, 4}, /* 216 */ - { 225, 3, 4}, /* ATAR */ - { 231, 3, 5}, /* ATTACHEDBELOW */ + { 227, 3, 4}, /* ATAR */ + { 233, 3, 5}, /* ATTACHEDBELOW */ { 62, 3, 5}, /* 202 */ - { 226, 3, 5}, /* ATB */ - {1096, 3, 6}, /* OVERLAY */ + { 228, 3, 5}, /* ATB */ + {1110, 3, 6}, /* OVERLAY */ { 2, 3, 6}, /* 1 */ - {1095, 3, 6}, /* OV */ - { 726, 3, 7}, /* IOTASUBSCRIPT */ + {1109, 3, 6}, /* OV */ + { 732, 3, 7}, /* IOTASUBSCRIPT */ { 80, 3, 7}, /* 240 */ - { 729, 3, 7}, /* IS */ - { 512, 3, 8}, /* DOUBLEBELOW */ + { 735, 3, 7}, /* IS */ + { 516, 3, 8}, /* DOUBLEBELOW */ { 77, 3, 8}, /* 233 */ - { 483, 3, 8}, /* DB */ - { 511, 3, 9}, /* DOUBLEABOVE */ + { 487, 3, 8}, /* DB */ + { 515, 3, 9}, /* DOUBLEABOVE */ { 78, 3, 9}, /* 234 */ - { 478, 3, 9}, /* DA */ - { 255, 3, 10}, /* BELOWRIGHT */ + { 482, 3, 9}, /* DA */ + { 257, 3, 10}, /* BELOWRIGHT */ { 70, 3, 10}, /* 222 */ - { 283, 3, 10}, /* BR */ + { 285, 3, 10}, /* BR */ { 168, 3, 11}, /* ABOVELEFT */ { 73, 3, 11}, /* 228 */ { 181, 3, 11}, /* AL */ - { 321, 3, 12}, /* CCC10 */ + { 323, 3, 12}, /* CCC10 */ { 21, 3, 12}, /* 10 */ - { 324, 3, 13}, /* CCC11 */ + { 326, 3, 13}, /* CCC11 */ { 33, 3, 13}, /* 11 */ - { 326, 3, 14}, /* CCC12 */ + { 328, 3, 14}, /* CCC12 */ { 37, 3, 14}, /* 12 */ - { 329, 3, 15}, /* CCC13 */ + { 331, 3, 15}, /* CCC13 */ { 40, 3, 15}, /* 13 */ - { 333, 3, 16}, /* CCC14 */ + { 335, 3, 16}, /* CCC14 */ { 45, 3, 16}, /* 14 */ - { 334, 3, 17}, /* CCC15 */ + { 336, 3, 17}, /* CCC15 */ { 46, 3, 17}, /* 15 */ - { 335, 3, 18}, /* CCC16 */ + { 337, 3, 18}, /* CCC16 */ { 48, 3, 18}, /* 16 */ - { 336, 3, 19}, /* CCC17 */ + { 338, 3, 19}, /* CCC17 */ { 49, 3, 19}, /* 17 */ - { 337, 3, 20}, /* CCC18 */ + { 339, 3, 20}, /* CCC18 */ { 51, 3, 20}, /* 18 */ - { 338, 3, 21}, /* CCC19 */ + { 340, 3, 21}, /* CCC19 */ { 52, 3, 21}, /* 19 */ - { 339, 3, 22}, /* CCC20 */ + { 341, 3, 22}, /* CCC20 */ { 56, 3, 22}, /* 20 */ - { 340, 3, 23}, /* CCC21 */ + { 342, 3, 23}, /* CCC21 */ { 63, 3, 23}, /* 21 */ - { 341, 3, 24}, /* CCC22 */ + { 343, 3, 24}, /* CCC22 */ { 68, 3, 24}, /* 22 */ - { 342, 3, 25}, /* CCC23 */ + { 344, 3, 25}, /* CCC23 */ { 74, 3, 25}, /* 23 */ - { 343, 3, 26}, /* CCC24 */ + { 345, 3, 26}, /* CCC24 */ { 79, 3, 26}, /* 24 */ - { 344, 3, 27}, /* CCC25 */ + { 346, 3, 27}, /* CCC25 */ { 81, 3, 27}, /* 25 */ - { 349, 3, 28}, /* CCC30 */ + { 351, 3, 28}, /* CCC30 */ { 95, 3, 28}, /* 30 */ - { 350, 3, 29}, /* CCC31 */ + { 352, 3, 29}, /* CCC31 */ { 100, 3, 29}, /* 31 */ - { 351, 3, 30}, /* CCC32 */ + { 353, 3, 30}, /* CCC32 */ { 101, 3, 30}, /* 32 */ - { 346, 3, 31}, /* CCC27 */ + { 348, 3, 31}, /* CCC27 */ { 83, 3, 31}, /* 27 */ - { 347, 3, 32}, /* CCC28 */ + { 349, 3, 32}, /* CCC28 */ { 84, 3, 32}, /* 28 */ - { 348, 3, 33}, /* CCC29 */ + { 350, 3, 33}, /* CCC29 */ { 85, 3, 33}, /* 29 */ - { 352, 3, 34}, /* CCC33 */ + { 354, 3, 34}, /* CCC33 */ { 102, 3, 34}, /* 33 */ - { 353, 3, 35}, /* CCC34 */ + { 355, 3, 35}, /* CCC34 */ { 103, 3, 35}, /* 34 */ - { 354, 3, 36}, /* CCC35 */ + { 356, 3, 36}, /* CCC35 */ { 104, 3, 36}, /* 35 */ - { 355, 3, 37}, /* CCC36 */ + { 357, 3, 37}, /* CCC36 */ { 105, 3, 37}, /* 36 */ - {1034, 3, 38}, /* NUKTA */ + {1046, 3, 38}, /* NUKTA */ { 142, 3, 38}, /* 7 */ - {1011, 3, 38}, /* NK */ - {1383, 3, 39}, /* VIRAMA */ + {1023, 3, 38}, /* NK */ + {1404, 3, 39}, /* VIRAMA */ { 158, 3, 39}, /* 9 */ - {1390, 3, 39}, /* VR */ - { 356, 3, 40}, /* CCC84 */ + {1413, 3, 39}, /* VR */ + { 358, 3, 40}, /* CCC84 */ { 157, 3, 40}, /* 84 */ - { 357, 3, 41}, /* CCC91 */ + { 359, 3, 41}, /* CCC91 */ { 165, 3, 41}, /* 91 */ - { 322, 3, 42}, /* CCC103 */ + { 324, 3, 42}, /* CCC103 */ { 31, 3, 42}, /* 103 */ - { 323, 3, 43}, /* CCC107 */ + { 325, 3, 43}, /* CCC107 */ { 32, 3, 43}, /* 107 */ - { 325, 3, 44}, /* CCC118 */ + { 327, 3, 44}, /* CCC118 */ { 36, 3, 44}, /* 118 */ - { 327, 3, 45}, /* CCC122 */ + { 329, 3, 45}, /* CCC122 */ { 38, 3, 45}, /* 122 */ - { 328, 3, 46}, /* CCC129 */ + { 330, 3, 46}, /* CCC129 */ { 39, 3, 46}, /* 129 */ - { 330, 3, 47}, /* CCC130 */ + { 332, 3, 47}, /* CCC130 */ { 42, 3, 47}, /* 130 */ - { 331, 3, 48}, /* CCC132 */ + { 333, 3, 48}, /* CCC132 */ { 43, 3, 48}, /* 132 */ - { 229, 3, 49}, /* ATTACHEDABOVE */ + { 231, 3, 49}, /* ATTACHEDABOVE */ { 64, 3, 49}, /* 214 */ - { 224, 3, 49}, /* ATA */ - { 254, 3, 50}, /* BELOWLEFT */ + { 226, 3, 49}, /* ATA */ + { 256, 3, 50}, /* BELOWLEFT */ { 67, 3, 50}, /* 218 */ - { 268, 3, 50}, /* BL */ - { 811, 3, 51}, /* LEFT */ + { 270, 3, 50}, /* BL */ + { 823, 3, 51}, /* LEFT */ { 71, 3, 51}, /* 224 */ - { 783, 3, 51}, /* L */ - { 757, 3, 52}, /* KANAVOICING */ + { 791, 3, 51}, /* L */ + { 765, 3, 52}, /* KANAVOICING */ { 151, 3, 52}, /* 8 */ - { 782, 3, 52}, /* KV */ - { 345, 3, 53}, /* CCC26 */ + { 790, 3, 52}, /* KV */ + { 347, 3, 53}, /* CCC26 */ { 82, 3, 53}, /* 26 */ - { 667, 3, 54}, /* HANREADING */ + { 673, 3, 54}, /* HANREADING */ { 136, 3, 54}, /* 6 */ - { 666, 3, 54}, /* HANR */ - {1172, 3, 55}, /* RIGHT */ + { 672, 3, 54}, /* HANR */ + {1186, 3, 55}, /* RIGHT */ { 72, 3, 55}, /* 226 */ - {1164, 3, 55}, /* R */ - { 332, 3, 56}, /* CCC133 */ + {1178, 3, 55}, /* R */ + { 334, 3, 56}, /* CCC133 */ { 44, 3, 56}, /* 133 */ - { 232, 3, 57}, /* ATTACHEDBELOWLEFT */ + { 234, 3, 57}, /* ATTACHEDBELOWLEFT */ { 57, 3, 57}, /* 200 */ - { 227, 3, 57}, /* ATBL */ - {1020, 4, 0}, /* NONE */ - {1017, 4, 1}, /* NOBREAK */ - { 994, 4, 1}, /* NB */ - { 424, 4, 2}, /* COMPAT */ - { 413, 4, 2}, /* COM */ - {1267, 4, 3}, /* SUPER */ - {1263, 4, 3}, /* SUP */ - { 592, 4, 4}, /* FRACTION */ - { 591, 4, 4}, /* FRA */ - { 307, 4, 5}, /* CANONICAL */ - { 304, 4, 5}, /* CAN */ - {1258, 4, 6}, /* SUB */ - { 589, 4, 7}, /* FONT */ - { 374, 4, 8}, /* CIRCLE */ - { 546, 4, 8}, /* ENC */ - {1401, 4, 9}, /* WIDE */ - {1381, 4, 10}, /* VERTICAL */ - {1380, 4, 10}, /* VERT */ - {1254, 4, 11}, /* SQUARE */ - {1253, 4, 11}, /* SQR */ - { 731, 4, 12}, /* ISOLATED */ - { 730, 4, 12}, /* ISO */ - { 584, 4, 13}, /* FINAL */ - { 583, 4, 13}, /* FIN */ - { 717, 4, 14}, /* INITIAL */ - { 716, 4, 14}, /* INIT */ - { 930, 4, 15}, /* MEDIAL */ - { 927, 4, 15}, /* MED */ - {1231, 4, 16}, /* SMALL */ - {1236, 4, 16}, /* SML */ - { 993, 4, 17}, /* NARROW */ - { 991, 4, 17}, /* NAR */ - { 998, 5, 0}, /* NEUTRAL */ - { 984, 5, 0}, /* N */ - { 993, 5, 1}, /* NARROW */ - { 986, 5, 1}, /* NA */ + { 229, 3, 57}, /* ATBL */ + {1032, 4, 0}, /* NONE */ + {1029, 4, 1}, /* NOBREAK */ + {1006, 4, 1}, /* NB */ + { 426, 4, 2}, /* COMPAT */ + { 415, 4, 2}, /* COM */ + {1281, 4, 3}, /* SUPER */ + {1277, 4, 3}, /* SUP */ + { 598, 4, 4}, /* FRACTION */ + { 597, 4, 4}, /* FRA */ + { 309, 4, 5}, /* CANONICAL */ + { 306, 4, 5}, /* CAN */ + {1272, 4, 6}, /* SUB */ + { 595, 4, 7}, /* FONT */ + { 376, 4, 8}, /* CIRCLE */ + { 550, 4, 8}, /* ENC */ + {1424, 4, 9}, /* WIDE */ + {1401, 4, 10}, /* VERTICAL */ + {1400, 4, 10}, /* VERT */ + {1268, 4, 11}, /* SQUARE */ + {1267, 4, 11}, /* SQR */ + { 737, 4, 12}, /* ISOLATED */ + { 736, 4, 12}, /* ISO */ + { 590, 4, 13}, /* FINAL */ + { 589, 4, 13}, /* FIN */ + { 723, 4, 14}, /* INITIAL */ + { 722, 4, 14}, /* INIT */ + { 942, 4, 15}, /* MEDIAL */ + { 939, 4, 15}, /* MED */ + {1245, 4, 16}, /* SMALL */ + {1250, 4, 16}, /* SML */ + {1005, 4, 17}, /* NARROW */ + {1003, 4, 17}, /* NAR */ + {1010, 5, 0}, /* NEUTRAL */ + { 996, 5, 0}, /* N */ + {1005, 5, 1}, /* NARROW */ + { 998, 5, 1}, /* NA */ { 193, 5, 2}, /* AMBIGUOUS */ { 166, 5, 2}, /* A */ - {1401, 5, 3}, /* WIDE */ - {1393, 5, 3}, /* W */ - { 649, 5, 4}, /* HALFWIDTH */ - { 643, 5, 4}, /* H */ - { 594, 5, 5}, /* FULLWIDTH */ - { 578, 5, 5}, /* F */ - {1363, 6, 0}, /* UNASSIGNED */ - { 410, 6, 0}, /* CN */ - { 443, 6, 1}, /* CONTROL */ - { 319, 6, 1}, /* CC */ - { 411, 6, 1}, /* CNTRL */ - {1248, 6, 2}, /* SPACESEPARATOR */ - {1441, 6, 2}, /* ZS */ - {1090, 6, 3}, /* OTHERPUNCTUATION */ - {1133, 6, 3}, /* PO */ - { 457, 6, 4}, /* CURRENCYSYMBOL */ - {1199, 6, 4}, /* SC */ - {1069, 6, 5}, /* OPENPUNCTUATION */ - {1150, 6, 5}, /* PS */ - { 408, 6, 6}, /* CLOSEPUNCTUATION */ - {1115, 6, 6}, /* PE */ - { 921, 6, 7}, /* MATHSYMBOL */ - {1230, 6, 7}, /* SM */ - { 482, 6, 8}, /* DASHPUNCTUATION */ - {1112, 6, 8}, /* PD */ - { 486, 6, 9}, /* DECIMALNUMBER */ - { 997, 6, 9}, /* ND */ - { 504, 6, 9}, /* DIGIT */ - {1371, 6, 10}, /* UPPERCASELETTER */ - { 851, 6, 10}, /* LU */ - { 964, 6, 11}, /* MODIFIERSYMBOL */ - {1229, 6, 11}, /* SK */ - { 428, 6, 12}, /* CONNECTORPUNCTUATION */ - {1110, 6, 12}, /* PC */ - { 845, 6, 13}, /* LOWERCASELETTER */ - { 838, 6, 13}, /* LL */ - {1091, 6, 14}, /* OTHERSYMBOL */ - {1237, 6, 14}, /* SO */ - {1085, 6, 15}, /* OTHERLETTER */ - { 840, 6, 15}, /* LO */ - { 718, 6, 16}, /* INITIALPUNCTUATION */ - {1130, 6, 16}, /* PI */ - { 590, 6, 17}, /* FORMAT */ - { 358, 6, 17}, /* CF */ - {1089, 6, 18}, /* OTHERNUMBER */ - {1015, 6, 18}, /* NO */ - { 585, 6, 19}, /* FINALPUNCTUATION */ - {1117, 6, 19}, /* PF */ - {1342, 6, 20}, /* TITLECASELETTER */ - { 850, 6, 20}, /* LT */ - { 962, 6, 21}, /* MODIFIERLETTER */ - { 839, 6, 21}, /* LM */ - {1023, 6, 22}, /* NONSPACINGMARK */ - { 960, 6, 22}, /* MN */ - { 555, 6, 23}, /* ENCLOSINGMARK */ - { 926, 6, 23}, /* ME */ - {1249, 6, 24}, /* SPACINGMARK */ - { 925, 6, 24}, /* MC */ - { 822, 6, 25}, /* LETTERNUMBER */ - {1014, 6, 25}, /* NL */ - { 834, 6, 26}, /* LINESEPARATOR */ - {1439, 6, 26}, /* ZL */ - {1103, 6, 27}, /* PARAGRAPHSEPARATOR */ - {1440, 6, 27}, /* ZP */ - {1283, 6, 28}, /* SURROGATE */ - { 453, 6, 28}, /* CS */ - {1147, 6, 29}, /* PRIVATEUSE */ - { 412, 6, 29}, /* CO */ - {1079, 6, 30}, /* OTHER */ - { 301, 6, 30}, /* C */ - { 302, 6, 30}, /* C& */ - { 820, 6, 31}, /* LETTER */ - { 783, 6, 31}, /* L */ - { 784, 6, 31}, /* L& */ - { 914, 6, 32}, /* MARK */ - { 860, 6, 32}, /* M */ - { 419, 6, 32}, /* COMBININGMARK */ - { 861, 6, 32}, /* M& */ - {1035, 6, 33}, /* NUMBER */ - { 984, 6, 33}, /* N */ - { 985, 6, 33}, /* N& */ - {1154, 6, 34}, /* PUNCTUATION */ - {1098, 6, 34}, /* P */ - {1153, 6, 34}, /* PUNCT */ - {1099, 6, 34}, /* P& */ - {1290, 6, 35}, /* SYMBOL */ - {1188, 6, 35}, /* S */ - {1189, 6, 35}, /* S& */ - {1212, 6, 36}, /* SEPARATOR */ - {1432, 6, 36}, /* Z */ - {1433, 6, 36}, /* Z& */ - { 315, 6, 37}, /* CASEDLETTER */ - { 808, 6, 37}, /* LC */ - { 222, 6, 38}, /* ASSIGNED */ - {1079, 7, 0}, /* OTHER */ - {1416, 7, 0}, /* XX */ - { 443, 7, 1}, /* CONTROL */ - { 410, 7, 1}, /* CN */ - { 823, 7, 2}, /* LF */ - { 452, 7, 3}, /* CR */ - { 573, 7, 4}, /* EXTEND */ - { 570, 7, 4}, /* EX */ - {1144, 7, 5}, /* PREPEND */ - {1141, 7, 5}, /* PP */ - {1249, 7, 6}, /* SPACINGMARK */ - {1230, 7, 6}, /* SM */ - { 783, 7, 7}, /* L */ - {1372, 7, 8}, /* V */ - {1299, 7, 9}, /* T */ - {1443, 7, 10}, /* ZWJ */ - { 852, 7, 11}, /* LV */ - { 854, 7, 12}, /* LVT */ - {1166, 7, 13}, /* REGIONALINDICATOR */ - {1171, 7, 13}, /* RI */ - { 525, 7, 14}, /* EBASE */ - { 524, 7, 14}, /* EB */ - { 526, 7, 15}, /* EBASEGAZ */ - { 527, 7, 15}, /* EBG */ - { 538, 7, 16}, /* EMODIFIER */ - { 536, 7, 16}, /* EM */ - { 618, 7, 17}, /* GLUEAFTERZWJ */ - { 597, 7, 17}, /* GAZ */ - {1026, 8, 0}, /* NOTAPPLICABLE */ - { 986, 8, 0}, /* NA */ - { 810, 8, 1}, /* LEADINGJAMO */ - { 783, 8, 1}, /* L */ - {1389, 8, 2}, /* VOWELJAMO */ - {1372, 8, 2}, /* V */ - {1352, 8, 3}, /* TRAILINGJAMO */ - {1299, 8, 3}, /* T */ - { 853, 8, 4}, /* LVSYLLABLE */ - { 852, 8, 4}, /* LV */ - { 855, 8, 5}, /* LVTSYLLABLE */ - { 854, 8, 5}, /* LVT */ - { 986, 9, 0}, /* NA */ - {1345, 9, 1}, /* TOP */ - {1172, 9, 2}, /* RIGHT */ - { 278, 9, 3}, /* BOTTOM */ - { 811, 9, 4}, /* LEFT */ - { 812, 9, 5}, /* LEFTANDRIGHT */ - {1351, 9, 6}, /* TOPANDRIGHT */ - {1349, 9, 7}, /* TOPANDLEFT */ - {1350, 9, 8}, /* TOPANDLEFTANDRIGHT */ - {1346, 9, 9}, /* TOPANDBOTTOM */ - {1385, 9, 10}, /* VISUALORDERLEFT */ - {1347, 9, 11}, /* TOPANDBOTTOMANDLEFT */ - { 280, 9, 12}, /* BOTTOMANDRIGHT */ - {1348, 9, 13}, /* TOPANDBOTTOMANDRIGHT */ - {1097, 9, 14}, /* OVERSTRUCK */ - { 279, 9, 15}, /* BOTTOMANDLEFT */ - {1079, 10, 0}, /* OTHER */ - { 436, 10, 1}, /* CONSONANTPLACEHOLDER */ - {1035, 10, 2}, /* NUMBER */ - {1287, 10, 3}, /* SYLLABLEMODIFIER */ - { 266, 10, 4}, /* BINDU */ - {1384, 10, 5}, /* VISARGA */ - {1388, 10, 6}, /* VOWELINDEPENDENT */ - { 429, 10, 7}, /* CONSONANT */ - {1387, 10, 8}, /* VOWELDEPENDENT */ - {1034, 10, 9}, /* NUKTA */ - { 233, 10, 10}, /* AVAGRAHA */ - {1383, 10, 11}, /* VIRAMA */ - { 310, 10, 12}, /* CANTILLATIONMARK */ - { 430, 10, 13}, /* CONSONANTDEAD */ - { 600, 10, 14}, /* GEMINATIONMARK */ - { 435, 10, 15}, /* CONSONANTMEDIAL */ - { 966, 10, 16}, /* MODIFYINGLETTER */ - { 441, 10, 17}, /* CONSONANTWITHSTACKER */ - {1155, 10, 18}, /* PUREKILLER */ - { 437, 10, 19}, /* CONSONANTPRECEDINGREPHA */ - {1344, 10, 20}, /* TONEMARK */ - { 434, 10, 21}, /* CONSONANTKILLER */ - { 432, 10, 22}, /* CONSONANTHEADLETTER */ - { 439, 10, 23}, /* CONSONANTSUBJOINED */ - { 725, 10, 24}, /* INVISIBLESTACKER */ - {1167, 10, 25}, /* REGISTERSHIFTER */ - { 440, 10, 26}, /* CONSONANTSUCCEEDINGREPHA */ - { 431, 10, 27}, /* CONSONANTFINAL */ - {1386, 10, 28}, /* VOWEL */ - {1343, 10, 29}, /* TONELETTER */ - { 433, 10, 30}, /* CONSONANTINITIALPOSTFIXED */ - {1021, 10, 31}, /* NONJOINER */ - { 743, 10, 32}, /* JOINER */ - { 286, 10, 33}, /* BRAHMIJOININGNUMBER */ - {1037, 10, 34}, /* NUMBERJOINER */ - { 438, 10, 35}, /* CONSONANTPREFIXED */ - {1018, 11, 0}, /* NOJOININGGROUP */ - {1418, 11, 1}, /* YEH */ + {1424, 5, 3}, /* WIDE */ + {1416, 5, 3}, /* W */ + { 655, 5, 4}, /* HALFWIDTH */ + { 649, 5, 4}, /* H */ + { 600, 5, 5}, /* FULLWIDTH */ + { 584, 5, 5}, /* F */ + {1382, 6, 0}, /* UNASSIGNED */ + { 412, 6, 0}, /* CN */ + { 445, 6, 1}, /* CONTROL */ + { 321, 6, 1}, /* CC */ + { 413, 6, 1}, /* CNTRL */ + {1262, 6, 2}, /* SPACESEPARATOR */ + {1466, 6, 2}, /* ZS */ + {1103, 6, 3}, /* OTHERPUNCTUATION */ + {1147, 6, 3}, /* PO */ + { 460, 6, 4}, /* CURRENCYSYMBOL */ + {1213, 6, 4}, /* SC */ + {1082, 6, 5}, /* OPENPUNCTUATION */ + {1164, 6, 5}, /* PS */ + { 410, 6, 6}, /* CLOSEPUNCTUATION */ + {1129, 6, 6}, /* PE */ + { 933, 6, 7}, /* MATHSYMBOL */ + {1244, 6, 7}, /* SM */ + { 486, 6, 8}, /* DASHPUNCTUATION */ + {1126, 6, 8}, /* PD */ + { 490, 6, 9}, /* DECIMALNUMBER */ + {1009, 6, 9}, /* ND */ + { 508, 6, 9}, /* DIGIT */ + {1391, 6, 10}, /* UPPERCASELETTER */ + { 863, 6, 10}, /* LU */ + { 976, 6, 11}, /* MODIFIERSYMBOL */ + {1243, 6, 11}, /* SK */ + { 430, 6, 12}, /* CONNECTORPUNCTUATION */ + {1124, 6, 12}, /* PC */ + { 857, 6, 13}, /* LOWERCASELETTER */ + { 850, 6, 13}, /* LL */ + {1104, 6, 14}, /* OTHERSYMBOL */ + {1251, 6, 14}, /* SO */ + {1098, 6, 15}, /* OTHERLETTER */ + { 852, 6, 15}, /* LO */ + { 724, 6, 16}, /* INITIALPUNCTUATION */ + {1144, 6, 16}, /* PI */ + { 596, 6, 17}, /* FORMAT */ + { 360, 6, 17}, /* CF */ + {1102, 6, 18}, /* OTHERNUMBER */ + {1027, 6, 18}, /* NO */ + { 591, 6, 19}, /* FINALPUNCTUATION */ + {1131, 6, 19}, /* PF */ + {1358, 6, 20}, /* TITLECASELETTER */ + { 862, 6, 20}, /* LT */ + { 974, 6, 21}, /* MODIFIERLETTER */ + { 851, 6, 21}, /* LM */ + {1035, 6, 22}, /* NONSPACINGMARK */ + { 972, 6, 22}, /* MN */ + { 559, 6, 23}, /* ENCLOSINGMARK */ + { 938, 6, 23}, /* ME */ + {1263, 6, 24}, /* SPACINGMARK */ + { 937, 6, 24}, /* MC */ + { 834, 6, 25}, /* LETTERNUMBER */ + {1026, 6, 25}, /* NL */ + { 846, 6, 26}, /* LINESEPARATOR */ + {1462, 6, 26}, /* ZL */ + {1117, 6, 27}, /* PARAGRAPHSEPARATOR */ + {1465, 6, 27}, /* ZP */ + {1297, 6, 28}, /* SURROGATE */ + { 456, 6, 28}, /* CS */ + {1161, 6, 29}, /* PRIVATEUSE */ + { 414, 6, 29}, /* CO */ + {1092, 6, 30}, /* OTHER */ + { 303, 6, 30}, /* C */ + { 304, 6, 30}, /* C& */ + { 832, 6, 31}, /* LETTER */ + { 791, 6, 31}, /* L */ + { 792, 6, 31}, /* L& */ + { 926, 6, 32}, /* MARK */ + { 872, 6, 32}, /* M */ + { 421, 6, 32}, /* COMBININGMARK */ + { 873, 6, 32}, /* M& */ + {1047, 6, 33}, /* NUMBER */ + { 996, 6, 33}, /* N */ + { 997, 6, 33}, /* N& */ + {1168, 6, 34}, /* PUNCTUATION */ + {1112, 6, 34}, /* P */ + {1167, 6, 34}, /* PUNCT */ + {1113, 6, 34}, /* P& */ + {1304, 6, 35}, /* SYMBOL */ + {1202, 6, 35}, /* S */ + {1203, 6, 35}, /* S& */ + {1226, 6, 36}, /* SEPARATOR */ + {1455, 6, 36}, /* Z */ + {1456, 6, 36}, /* Z& */ + { 317, 6, 37}, /* CASEDLETTER */ + { 820, 6, 37}, /* LC */ + { 224, 6, 38}, /* ASSIGNED */ + {1092, 7, 0}, /* OTHER */ + {1439, 7, 0}, /* XX */ + { 445, 7, 1}, /* CONTROL */ + { 412, 7, 1}, /* CN */ + { 835, 7, 2}, /* LF */ + { 455, 7, 3}, /* CR */ + { 579, 7, 4}, /* EXTEND */ + { 576, 7, 4}, /* EX */ + {1158, 7, 5}, /* PREPEND */ + {1155, 7, 5}, /* PP */ + {1263, 7, 6}, /* SPACINGMARK */ + {1244, 7, 6}, /* SM */ + { 791, 7, 7}, /* L */ + {1392, 7, 8}, /* V */ + {1313, 7, 9}, /* T */ + {1468, 7, 10}, /* ZWJ */ + { 864, 7, 11}, /* LV */ + { 866, 7, 12}, /* LVT */ + {1180, 7, 13}, /* REGIONALINDICATOR */ + {1185, 7, 13}, /* RI */ + { 529, 7, 14}, /* EBASE */ + { 528, 7, 14}, /* EB */ + { 530, 7, 15}, /* EBASEGAZ */ + { 531, 7, 15}, /* EBG */ + { 542, 7, 16}, /* EMODIFIER */ + { 540, 7, 16}, /* EM */ + { 624, 7, 17}, /* GLUEAFTERZWJ */ + { 603, 7, 17}, /* GAZ */ + {1038, 8, 0}, /* NOTAPPLICABLE */ + { 998, 8, 0}, /* NA */ + { 822, 8, 1}, /* LEADINGJAMO */ + { 791, 8, 1}, /* L */ + {1412, 8, 2}, /* VOWELJAMO */ + {1392, 8, 2}, /* V */ + {1370, 8, 3}, /* TRAILINGJAMO */ + {1313, 8, 3}, /* T */ + { 865, 8, 4}, /* LVSYLLABLE */ + { 864, 8, 4}, /* LV */ + { 867, 8, 5}, /* LVTSYLLABLE */ + { 866, 8, 5}, /* LVT */ + { 998, 9, 0}, /* NA */ + {1362, 9, 1}, /* TOP */ + {1186, 9, 2}, /* RIGHT */ + { 280, 9, 3}, /* BOTTOM */ + { 823, 9, 4}, /* LEFT */ + { 824, 9, 5}, /* LEFTANDRIGHT */ + {1368, 9, 6}, /* TOPANDRIGHT */ + {1366, 9, 7}, /* TOPANDLEFT */ + {1367, 9, 8}, /* TOPANDLEFTANDRIGHT */ + {1363, 9, 9}, /* TOPANDBOTTOM */ + {1406, 9, 10}, /* VISUALORDERLEFT */ + {1364, 9, 11}, /* TOPANDBOTTOMANDLEFT */ + { 282, 9, 12}, /* BOTTOMANDRIGHT */ + {1365, 9, 13}, /* TOPANDBOTTOMANDRIGHT */ + {1111, 9, 14}, /* OVERSTRUCK */ + { 281, 9, 15}, /* BOTTOMANDLEFT */ + {1092, 10, 0}, /* OTHER */ + { 438, 10, 1}, /* CONSONANTPLACEHOLDER */ + {1047, 10, 2}, /* NUMBER */ + {1301, 10, 3}, /* SYLLABLEMODIFIER */ + { 268, 10, 4}, /* BINDU */ + {1405, 10, 5}, /* VISARGA */ + {1411, 10, 6}, /* VOWELINDEPENDENT */ + { 431, 10, 7}, /* CONSONANT */ + {1410, 10, 8}, /* VOWELDEPENDENT */ + {1046, 10, 9}, /* NUKTA */ + { 235, 10, 10}, /* AVAGRAHA */ + {1404, 10, 11}, /* VIRAMA */ + { 312, 10, 12}, /* CANTILLATIONMARK */ + { 432, 10, 13}, /* CONSONANTDEAD */ + { 606, 10, 14}, /* GEMINATIONMARK */ + { 437, 10, 15}, /* CONSONANTMEDIAL */ + { 978, 10, 16}, /* MODIFYINGLETTER */ + { 443, 10, 17}, /* CONSONANTWITHSTACKER */ + {1169, 10, 18}, /* PUREKILLER */ + { 439, 10, 19}, /* CONSONANTPRECEDINGREPHA */ + {1361, 10, 20}, /* TONEMARK */ + { 436, 10, 21}, /* CONSONANTKILLER */ + { 434, 10, 22}, /* CONSONANTHEADLETTER */ + { 441, 10, 23}, /* CONSONANTSUBJOINED */ + { 731, 10, 24}, /* INVISIBLESTACKER */ + {1181, 10, 25}, /* REGISTERSHIFTER */ + { 442, 10, 26}, /* CONSONANTSUCCEEDINGREPHA */ + { 433, 10, 27}, /* CONSONANTFINAL */ + {1409, 10, 28}, /* VOWEL */ + {1360, 10, 29}, /* TONELETTER */ + { 435, 10, 30}, /* CONSONANTINITIALPOSTFIXED */ + {1033, 10, 31}, /* NONJOINER */ + { 749, 10, 32}, /* JOINER */ + { 288, 10, 33}, /* BRAHMIJOININGNUMBER */ + {1049, 10, 34}, /* NUMBERJOINER */ + { 440, 10, 35}, /* CONSONANTPREFIXED */ + {1030, 11, 0}, /* NOJOININGGROUP */ + {1441, 11, 1}, /* YEH */ { 185, 11, 2}, /* ALEF */ - {1397, 11, 3}, /* WAW */ - { 252, 11, 4}, /* BEH */ - {1325, 11, 5}, /* TEHMARBUTA */ - { 646, 11, 6}, /* HAH */ - { 479, 11, 7}, /* DAL */ - {1168, 11, 8}, /* REH */ - {1206, 11, 9}, /* SEEN */ - {1191, 11, 10}, /* SAD */ - {1304, 11, 11}, /* TAH */ + {1420, 11, 3}, /* WAW */ + { 254, 11, 4}, /* BEH */ + {1340, 11, 5}, /* TEHMARBUTA */ + { 652, 11, 6}, /* HAH */ + { 483, 11, 7}, /* DAL */ + {1182, 11, 8}, /* REH */ + {1220, 11, 9}, /* SEEN */ + {1205, 11, 10}, /* SAD */ + {1318, 11, 11}, /* TAH */ { 180, 11, 12}, /* AIN */ - { 595, 11, 13}, /* GAF */ - { 580, 11, 14}, /* FARSIYEH */ - { 582, 11, 15}, /* FEH */ - {1158, 11, 16}, /* QAF */ - { 749, 11, 17}, /* KAF */ - { 785, 11, 18}, /* LAM */ - { 931, 11, 19}, /* MEEM */ - {1025, 11, 20}, /* NOON */ - { 675, 11, 21}, /* HEH */ - {1285, 11, 22}, /* SWASHKAF */ - {1044, 11, 23}, /* NYA */ - { 780, 11, 24}, /* KNOTTEDHEH */ - { 676, 11, 25}, /* HEHGOAL */ - { 651, 11, 26}, /* HAMZAONHEHGOAL */ - {1326, 11, 26}, /* TEHMARBUTAGOAL */ - {1420, 11, 27}, /* YEHWITHTAIL */ - {1419, 11, 28}, /* YEHBARREE */ + { 601, 11, 13}, /* GAF */ + { 586, 11, 14}, /* FARSIYEH */ + { 588, 11, 15}, /* FEH */ + {1172, 11, 16}, /* QAF */ + { 755, 11, 17}, /* KAF */ + { 793, 11, 18}, /* LAM */ + { 943, 11, 19}, /* MEEM */ + {1037, 11, 20}, /* NOON */ + { 681, 11, 21}, /* HEH */ + {1299, 11, 22}, /* SWASHKAF */ + {1056, 11, 23}, /* NYA */ + { 788, 11, 24}, /* KNOTTEDHEH */ + { 682, 11, 25}, /* HEHGOAL */ + { 657, 11, 26}, /* HAMZAONHEHGOAL */ + {1341, 11, 26}, /* TEHMARBUTAGOAL */ + {1443, 11, 27}, /* YEHWITHTAIL */ + {1442, 11, 28}, /* YEHBARREE */ { 182, 11, 29}, /* ALAPH */ - { 258, 11, 30}, /* BETH */ - { 596, 11, 31}, /* GAMAL */ - { 480, 11, 32}, /* DALATHRISH */ - { 671, 11, 33}, /* HE */ - {1298, 11, 34}, /* SYRIACWAW */ - {1434, 11, 35}, /* ZAIN */ - { 677, 11, 36}, /* HETH */ - {1331, 11, 37}, /* TETH */ - {1430, 11, 38}, /* YUDH */ - {1431, 11, 39}, /* YUDHHE */ - { 762, 11, 40}, /* KAPH */ - { 786, 11, 41}, /* LAMADH */ - { 945, 11, 42}, /* MIM */ - {1041, 11, 43}, /* NUN */ - {1208, 11, 44}, /* SEMKATH */ - { 586, 11, 45}, /* FINALSEMKATH */ - { 520, 11, 46}, /* E */ - {1115, 11, 47}, /* PE */ - {1170, 11, 48}, /* REVERSEDPE */ - {1192, 11, 49}, /* SADHE */ - {1159, 11, 50}, /* QAPH */ - {1218, 11, 51}, /* SHIN */ - {1324, 11, 52}, /* TAW */ - {1437, 11, 53}, /* ZHAIN */ - { 768, 11, 54}, /* KHAPH */ - { 581, 11, 55}, /* FE */ - { 298, 11, 56}, /* BURUSHASKIYEHBARREE */ - { 873, 11, 57}, /* MALAYALAMNGA */ - { 870, 11, 58}, /* MALAYALAMJA */ - { 876, 11, 59}, /* MALAYALAMNYA */ - { 879, 11, 60}, /* MALAYALAMTTA */ - { 874, 11, 61}, /* MALAYALAMNNA */ - { 875, 11, 62}, /* MALAYALAMNNNA */ - { 869, 11, 63}, /* MALAYALAMBHA */ - { 877, 11, 64}, /* MALAYALAMRA */ - { 871, 11, 65}, /* MALAYALAMLLA */ - { 872, 11, 66}, /* MALAYALAMLLLA */ - { 878, 11, 67}, /* MALAYALAMSSA */ - {1183, 11, 68}, /* ROHINGYAYEH */ - {1257, 11, 69}, /* STRAIGHTWAW */ - { 173, 11, 70}, /* AFRICANFEH */ - { 175, 11, 71}, /* AFRICANQAF */ - { 174, 11, 72}, /* AFRICANNOON */ - { 885, 11, 73}, /* MANICHAEANALEPH */ - { 887, 11, 74}, /* MANICHAEANBETH */ - { 891, 11, 75}, /* MANICHAEANGIMEL */ - { 888, 11, 76}, /* MANICHAEANDALETH */ - { 909, 11, 77}, /* MANICHAEANWAW */ - { 911, 11, 78}, /* MANICHAEANZAYIN */ - { 892, 11, 79}, /* MANICHAEANHETH */ - { 906, 11, 80}, /* MANICHAEANTETH */ - { 910, 11, 81}, /* MANICHAEANYODH */ - { 894, 11, 82}, /* MANICHAEANKAPH */ - { 895, 11, 83}, /* MANICHAEANLAMEDH */ - { 889, 11, 84}, /* MANICHAEANDHAMEDH */ - { 907, 11, 85}, /* MANICHAEANTHAMEDH */ - { 896, 11, 86}, /* MANICHAEANMEM */ - { 897, 11, 87}, /* MANICHAEANNUN */ - { 903, 11, 88}, /* MANICHAEANSAMEKH */ - { 886, 11, 89}, /* MANICHAEANAYIN */ - { 899, 11, 90}, /* MANICHAEANPE */ - { 902, 11, 91}, /* MANICHAEANSADHE */ - { 900, 11, 92}, /* MANICHAEANQOPH */ - { 901, 11, 93}, /* MANICHAEANRESH */ - { 904, 11, 94}, /* MANICHAEANTAW */ - { 898, 11, 95}, /* MANICHAEANONE */ - { 890, 11, 96}, /* MANICHAEANFIVE */ - { 905, 11, 97}, /* MANICHAEANTEN */ - { 908, 11, 98}, /* MANICHAEANTWENTY */ - { 893, 11, 99}, /* MANICHAEANHUNDRED */ - { 664, 11, 100}, /* HANIFIROHINGYAPA */ - { 663, 11, 101}, /* HANIFIROHINGYAKINNAYA */ - {1022, 12, 0}, /* NONJOINING */ - {1357, 12, 0}, /* U */ - {1353, 12, 1}, /* TRANSPARENT */ - {1299, 12, 1}, /* T */ - { 517, 12, 2}, /* DUALJOINING */ - { 477, 12, 2}, /* D */ - {1173, 12, 3}, /* RIGHTJOINING */ - {1164, 12, 3}, /* R */ - { 741, 12, 4}, /* JOINCAUSING */ - { 301, 12, 4}, /* C */ - { 813, 12, 5}, /* LEFTJOINING */ - { 783, 12, 5}, /* L */ - {1367, 13, 0}, /* UNKNOWN */ - {1416, 13, 0}, /* XX */ - { 419, 13, 1}, /* COMBININGMARK */ - { 409, 13, 1}, /* CM */ - { 290, 13, 2}, /* BREAKAFTER */ - { 238, 13, 2}, /* BA */ - { 833, 13, 3}, /* LINEFEED */ - { 823, 13, 3}, /* LF */ - { 882, 13, 4}, /* MANDATORYBREAK */ - { 267, 13, 4}, /* BK */ - { 313, 13, 5}, /* CARRIAGERETURN */ - { 452, 13, 5}, /* CR */ - {1247, 13, 6}, /* SPACE */ - {1246, 13, 6}, /* SP */ - { 571, 13, 7}, /* EXCLAMATION */ - { 570, 13, 7}, /* EX */ - {1162, 13, 8}, /* QUOTATION */ - {1161, 13, 8}, /* QU */ + { 260, 11, 30}, /* BETH */ + { 602, 11, 31}, /* GAMAL */ + { 484, 11, 32}, /* DALATHRISH */ + { 677, 11, 33}, /* HE */ + {1312, 11, 34}, /* SYRIACWAW */ + {1457, 11, 35}, /* ZAIN */ + { 683, 11, 36}, /* HETH */ + {1346, 11, 37}, /* TETH */ + {1453, 11, 38}, /* YUDH */ + {1454, 11, 39}, /* YUDHHE */ + { 770, 11, 40}, /* KAPH */ + { 794, 11, 41}, /* LAMADH */ + { 957, 11, 42}, /* MIM */ + {1053, 11, 43}, /* NUN */ + {1222, 11, 44}, /* SEMKATH */ + { 592, 11, 45}, /* FINALSEMKATH */ + { 524, 11, 46}, /* E */ + {1129, 11, 47}, /* PE */ + {1184, 11, 48}, /* REVERSEDPE */ + {1206, 11, 49}, /* SADHE */ + {1173, 11, 50}, /* QAPH */ + {1232, 11, 51}, /* SHIN */ + {1339, 11, 52}, /* TAW */ + {1460, 11, 53}, /* ZHAIN */ + { 776, 11, 54}, /* KHAPH */ + { 587, 11, 55}, /* FE */ + { 300, 11, 56}, /* BURUSHASKIYEHBARREE */ + { 885, 11, 57}, /* MALAYALAMNGA */ + { 882, 11, 58}, /* MALAYALAMJA */ + { 888, 11, 59}, /* MALAYALAMNYA */ + { 891, 11, 60}, /* MALAYALAMTTA */ + { 886, 11, 61}, /* MALAYALAMNNA */ + { 887, 11, 62}, /* MALAYALAMNNNA */ + { 881, 11, 63}, /* MALAYALAMBHA */ + { 889, 11, 64}, /* MALAYALAMRA */ + { 883, 11, 65}, /* MALAYALAMLLA */ + { 884, 11, 66}, /* MALAYALAMLLLA */ + { 890, 11, 67}, /* MALAYALAMSSA */ + {1352, 11, 68}, /* THINYEH */ + {1403, 11, 69}, /* VERTICALTAIL */ + {1197, 11, 70}, /* ROHINGYAYEH */ + {1271, 11, 71}, /* STRAIGHTWAW */ + { 173, 11, 72}, /* AFRICANFEH */ + { 175, 11, 73}, /* AFRICANQAF */ + { 174, 11, 74}, /* AFRICANNOON */ + { 897, 11, 75}, /* MANICHAEANALEPH */ + { 899, 11, 76}, /* MANICHAEANBETH */ + { 903, 11, 77}, /* MANICHAEANGIMEL */ + { 900, 11, 78}, /* MANICHAEANDALETH */ + { 921, 11, 79}, /* MANICHAEANWAW */ + { 923, 11, 80}, /* MANICHAEANZAYIN */ + { 904, 11, 81}, /* MANICHAEANHETH */ + { 918, 11, 82}, /* MANICHAEANTETH */ + { 922, 11, 83}, /* MANICHAEANYODH */ + { 906, 11, 84}, /* MANICHAEANKAPH */ + { 907, 11, 85}, /* MANICHAEANLAMEDH */ + { 901, 11, 86}, /* MANICHAEANDHAMEDH */ + { 919, 11, 87}, /* MANICHAEANTHAMEDH */ + { 908, 11, 88}, /* MANICHAEANMEM */ + { 909, 11, 89}, /* MANICHAEANNUN */ + { 915, 11, 90}, /* MANICHAEANSAMEKH */ + { 898, 11, 91}, /* MANICHAEANAYIN */ + { 911, 11, 92}, /* MANICHAEANPE */ + { 914, 11, 93}, /* MANICHAEANSADHE */ + { 912, 11, 94}, /* MANICHAEANQOPH */ + { 913, 11, 95}, /* MANICHAEANRESH */ + { 916, 11, 96}, /* MANICHAEANTAW */ + { 910, 11, 97}, /* MANICHAEANONE */ + { 902, 11, 98}, /* MANICHAEANFIVE */ + { 917, 11, 99}, /* MANICHAEANTEN */ + { 920, 11, 100}, /* MANICHAEANTWENTY */ + { 905, 11, 101}, /* MANICHAEANHUNDRED */ + { 670, 11, 102}, /* HANIFIROHINGYAPA */ + { 669, 11, 103}, /* HANIFIROHINGYAKINNAYA */ + {1034, 12, 0}, /* NONJOINING */ + {1375, 12, 0}, /* U */ + {1371, 12, 1}, /* TRANSPARENT */ + {1313, 12, 1}, /* T */ + { 521, 12, 2}, /* DUALJOINING */ + { 481, 12, 2}, /* D */ + {1187, 12, 3}, /* RIGHTJOINING */ + {1178, 12, 3}, /* R */ + { 747, 12, 4}, /* JOINCAUSING */ + { 303, 12, 4}, /* C */ + { 825, 12, 5}, /* LEFTJOINING */ + { 791, 12, 5}, /* L */ + {1387, 13, 0}, /* UNKNOWN */ + {1439, 13, 0}, /* XX */ + { 421, 13, 1}, /* COMBININGMARK */ + { 411, 13, 1}, /* CM */ + { 292, 13, 2}, /* BREAKAFTER */ + { 240, 13, 2}, /* BA */ + { 845, 13, 3}, /* LINEFEED */ + { 835, 13, 3}, /* LF */ + { 894, 13, 4}, /* MANDATORYBREAK */ + { 269, 13, 4}, /* BK */ + { 315, 13, 5}, /* CARRIAGERETURN */ + { 455, 13, 5}, /* CR */ + {1261, 13, 6}, /* SPACE */ + {1260, 13, 6}, /* SP */ + { 577, 13, 7}, /* EXCLAMATION */ + { 576, 13, 7}, /* EX */ + {1176, 13, 8}, /* QUOTATION */ + {1175, 13, 8}, /* QU */ { 189, 13, 9}, /* ALPHABETIC */ { 181, 13, 9}, /* AL */ - {1143, 13, 10}, /* PREFIXNUMERIC */ - {1142, 13, 10}, /* PR */ - {1140, 13, 11}, /* POSTFIXNUMERIC */ - {1133, 13, 11}, /* PO */ - {1069, 13, 12}, /* OPENPUNCTUATION */ - {1068, 13, 12}, /* OP */ - { 407, 13, 13}, /* CLOSEPARENTHESIS */ - { 450, 13, 13}, /* CP */ - { 714, 13, 14}, /* INFIXNUMERIC */ - { 729, 13, 14}, /* IS */ - { 693, 13, 15}, /* HYPHEN */ - { 692, 13, 15}, /* HY */ - { 293, 13, 16}, /* BREAKSYMBOLS */ - {1286, 13, 16}, /* SY */ - {1038, 13, 17}, /* NUMERIC */ - {1033, 13, 17}, /* NU */ - { 408, 13, 18}, /* CLOSEPUNCTUATION */ - { 405, 13, 18}, /* CL */ - {1002, 13, 19}, /* NEXTLINE */ - {1014, 13, 19}, /* NL */ - { 617, 13, 20}, /* GLUE */ - { 612, 13, 20}, /* GL */ + {1157, 13, 10}, /* PREFIXNUMERIC */ + {1156, 13, 10}, /* PR */ + {1154, 13, 11}, /* POSTFIXNUMERIC */ + {1147, 13, 11}, /* PO */ + {1082, 13, 12}, /* OPENPUNCTUATION */ + {1081, 13, 12}, /* OP */ + { 409, 13, 13}, /* CLOSEPARENTHESIS */ + { 452, 13, 13}, /* CP */ + { 720, 13, 14}, /* INFIXNUMERIC */ + { 735, 13, 14}, /* IS */ + { 699, 13, 15}, /* HYPHEN */ + { 698, 13, 15}, /* HY */ + { 295, 13, 16}, /* BREAKSYMBOLS */ + {1300, 13, 16}, /* SY */ + {1050, 13, 17}, /* NUMERIC */ + {1045, 13, 17}, /* NU */ + { 410, 13, 18}, /* CLOSEPUNCTUATION */ + { 407, 13, 18}, /* CL */ + {1014, 13, 19}, /* NEXTLINE */ + {1026, 13, 19}, /* NL */ + { 623, 13, 20}, /* GLUE */ + { 618, 13, 20}, /* GL */ { 193, 13, 21}, /* AMBIGUOUS */ { 179, 13, 21}, /* AI */ - { 291, 13, 22}, /* BREAKBEFORE */ - { 250, 13, 22}, /* BB */ - { 674, 13, 23}, /* HEBREWLETTER */ - { 685, 13, 23}, /* HL */ - { 426, 13, 24}, /* COMPLEXCONTEXT */ - {1190, 13, 24}, /* SA */ - { 739, 13, 25}, /* JL */ - { 747, 13, 26}, /* JV */ - { 746, 13, 27}, /* JT */ - {1024, 13, 28}, /* NONSTARTER */ - {1029, 13, 28}, /* NS */ - {1444, 13, 29}, /* ZWSPACE */ - {1442, 13, 29}, /* ZW */ - {1443, 13, 30}, /* ZWJ */ - { 292, 13, 31}, /* BREAKBOTH */ - { 237, 13, 31}, /* B2 */ - { 723, 13, 32}, /* INSEPARABLE */ - { 709, 13, 32}, /* IN */ - { 724, 13, 32}, /* INSEPERABLE */ - {1405, 13, 33}, /* WORDJOINER */ - {1402, 13, 33}, /* WJ */ - { 698, 13, 34}, /* IDEOGRAPHIC */ - { 694, 13, 34}, /* ID */ - { 525, 13, 35}, /* EBASE */ - { 524, 13, 35}, /* EB */ - { 427, 13, 36}, /* CONDITIONALJAPANESESTARTER */ - { 375, 13, 36}, /* CJ */ - { 644, 13, 37}, /* H2 */ - { 645, 13, 38}, /* H3 */ - {1283, 13, 39}, /* SURROGATE */ - {1213, 13, 39}, /* SG */ - { 442, 13, 40}, /* CONTINGENTBREAK */ - { 318, 13, 40}, /* CB */ - {1166, 13, 41}, /* REGIONALINDICATOR */ - {1171, 13, 41}, /* RI */ - { 538, 13, 42}, /* EMODIFIER */ - { 536, 13, 42}, /* EM */ - {1015, 14, 0}, /* NO */ - { 984, 14, 0}, /* N */ - {1421, 14, 1}, /* YES */ - {1417, 14, 1}, /* Y */ - { 923, 14, 2}, /* MAYBE */ - { 860, 14, 2}, /* M */ - {1015, 15, 0}, /* NO */ - { 984, 15, 0}, /* N */ - {1421, 15, 1}, /* YES */ - {1417, 15, 1}, /* Y */ - {1020, 16, 0}, /* NONE */ - { 485, 16, 1}, /* DECIMAL */ - { 484, 16, 1}, /* DE */ - { 504, 16, 2}, /* DIGIT */ - { 496, 16, 2}, /* DI */ - {1038, 16, 3}, /* NUMERIC */ - {1033, 16, 3}, /* NU */ - { 988, 17, 0}, /* NAN */ + { 293, 13, 22}, /* BREAKBEFORE */ + { 252, 13, 22}, /* BB */ + { 680, 13, 23}, /* HEBREWLETTER */ + { 691, 13, 23}, /* HL */ + { 428, 13, 24}, /* COMPLEXCONTEXT */ + {1204, 13, 24}, /* SA */ + { 745, 13, 25}, /* JL */ + { 753, 13, 26}, /* JV */ + { 752, 13, 27}, /* JT */ + {1036, 13, 28}, /* NONSTARTER */ + {1041, 13, 28}, /* NS */ + {1469, 13, 29}, /* ZWSPACE */ + {1467, 13, 29}, /* ZW */ + {1468, 13, 30}, /* ZWJ */ + { 294, 13, 31}, /* BREAKBOTH */ + { 239, 13, 31}, /* B2 */ + { 729, 13, 32}, /* INSEPARABLE */ + { 715, 13, 32}, /* IN */ + { 730, 13, 32}, /* INSEPERABLE */ + {1428, 13, 33}, /* WORDJOINER */ + {1425, 13, 33}, /* WJ */ + { 704, 13, 34}, /* IDEOGRAPHIC */ + { 700, 13, 34}, /* ID */ + { 529, 13, 35}, /* EBASE */ + { 528, 13, 35}, /* EB */ + { 429, 13, 36}, /* CONDITIONALJAPANESESTARTER */ + { 377, 13, 36}, /* CJ */ + { 650, 13, 37}, /* H2 */ + { 651, 13, 38}, /* H3 */ + {1297, 13, 39}, /* SURROGATE */ + {1227, 13, 39}, /* SG */ + { 444, 13, 40}, /* CONTINGENTBREAK */ + { 320, 13, 40}, /* CB */ + {1180, 13, 41}, /* REGIONALINDICATOR */ + {1185, 13, 41}, /* RI */ + { 542, 13, 42}, /* EMODIFIER */ + { 540, 13, 42}, /* EM */ + {1027, 14, 0}, /* NO */ + { 996, 14, 0}, /* N */ + {1444, 14, 1}, /* YES */ + {1440, 14, 1}, /* Y */ + { 935, 14, 2}, /* MAYBE */ + { 872, 14, 2}, /* M */ + {1027, 15, 0}, /* NO */ + { 996, 15, 0}, /* N */ + {1444, 15, 1}, /* YES */ + {1440, 15, 1}, /* Y */ + {1032, 16, 0}, /* NONE */ + { 489, 16, 1}, /* DECIMAL */ + { 488, 16, 1}, /* DE */ + { 508, 16, 2}, /* DIGIT */ + { 500, 16, 2}, /* DI */ + {1050, 16, 3}, /* NUMERIC */ + {1045, 16, 3}, /* NU */ + {1000, 17, 0}, /* NAN */ { 1, 17, 1}, /* 0 */ { 2, 17, 2}, /* 1 */ { 53, 17, 3}, /* 2 */ @@ -2854,386 +2904,395 @@ RE_PropertyValue re_property_values[] = { { 29, 17, 140}, /* 10000000000 */ { 27, 17, 141}, /* 10000000 */ { 61, 17, 142}, /* 20000000 */ - {1367, 18, 0}, /* UNKNOWN */ - {1446, 18, 0}, /* ZZZZ */ - { 421, 18, 1}, /* COMMON */ - {1445, 18, 1}, /* ZYYY */ - { 790, 18, 2}, /* LATIN */ - { 806, 18, 2}, /* LATN */ - { 275, 18, 3}, /* BOPOMOFO */ - { 274, 18, 3}, /* BOPO */ - { 715, 18, 4}, /* INHERITED */ - {1438, 18, 4}, /* ZINH */ - {1157, 18, 4}, /* QAAI */ - { 631, 18, 5}, /* GREEK */ - { 635, 18, 5}, /* GREK */ - { 446, 18, 6}, /* COPTIC */ - { 445, 18, 6}, /* COPT */ - {1156, 18, 6}, /* QAAC */ - { 466, 18, 7}, /* CYRILLIC */ - { 476, 18, 7}, /* CYRL */ - { 216, 18, 8}, /* ARMENIAN */ - { 218, 18, 8}, /* ARMN */ - { 673, 18, 9}, /* HEBREW */ - { 672, 18, 9}, /* HEBR */ + {1387, 18, 0}, /* UNKNOWN */ + {1471, 18, 0}, /* ZZZZ */ + { 423, 18, 1}, /* COMMON */ + {1470, 18, 1}, /* ZYYY */ + { 798, 18, 2}, /* LATIN */ + { 818, 18, 2}, /* LATN */ + { 277, 18, 3}, /* BOPOMOFO */ + { 276, 18, 3}, /* BOPO */ + { 721, 18, 4}, /* INHERITED */ + {1461, 18, 4}, /* ZINH */ + {1171, 18, 4}, /* QAAI */ + { 637, 18, 5}, /* GREEK */ + { 641, 18, 5}, /* GREK */ + { 448, 18, 6}, /* COPTIC */ + { 447, 18, 6}, /* COPT */ + {1170, 18, 6}, /* QAAC */ + { 470, 18, 7}, /* CYRILLIC */ + { 480, 18, 7}, /* CYRL */ + { 218, 18, 8}, /* ARMENIAN */ + { 220, 18, 8}, /* ARMN */ + { 679, 18, 9}, /* HEBREW */ + { 678, 18, 9}, /* HEBR */ { 203, 18, 10}, /* ARABIC */ { 202, 18, 10}, /* ARAB */ - {1295, 18, 11}, /* SYRIAC */ - {1294, 18, 11}, /* SYRC */ - {1335, 18, 12}, /* THAANA */ - {1334, 18, 12}, /* THAA */ - {1012, 18, 13}, /* NKO */ - {1013, 18, 13}, /* NKOO */ - {1193, 18, 14}, /* SAMARITAN */ - {1194, 18, 14}, /* SAMR */ - { 881, 18, 15}, /* MANDAIC */ - { 880, 18, 15}, /* MAND */ - { 493, 18, 16}, /* DEVANAGARI */ - { 492, 18, 16}, /* DEVA */ - { 257, 18, 17}, /* BENGALI */ - { 256, 18, 17}, /* BENG */ - { 641, 18, 18}, /* GURMUKHI */ - { 642, 18, 18}, /* GURU */ - { 638, 18, 19}, /* GUJARATI */ - { 639, 18, 19}, /* GUJR */ - {1071, 18, 20}, /* ORIYA */ - {1074, 18, 20}, /* ORYA */ - {1314, 18, 21}, /* TAMIL */ - {1317, 18, 21}, /* TAML */ - {1328, 18, 22}, /* TELUGU */ - {1327, 18, 22}, /* TELU */ - { 761, 18, 23}, /* KANNADA */ - { 779, 18, 23}, /* KNDA */ - { 868, 18, 24}, /* MALAYALAM */ - { 959, 18, 24}, /* MLYM */ - {1227, 18, 25}, /* SINHALA */ - {1226, 18, 25}, /* SINH */ - {1336, 18, 26}, /* THAI */ - { 788, 18, 27}, /* LAO */ - { 789, 18, 27}, /* LAOO */ - {1337, 18, 28}, /* TIBETAN */ - {1338, 18, 28}, /* TIBT */ - { 978, 18, 29}, /* MYANMAR */ - { 983, 18, 29}, /* MYMR */ - { 607, 18, 30}, /* GEORGIAN */ - { 606, 18, 30}, /* GEOR */ - { 654, 18, 31}, /* HANGUL */ - { 653, 18, 31}, /* HANG */ - { 560, 18, 32}, /* ETHIOPIC */ - { 559, 18, 32}, /* ETHI */ - { 367, 18, 33}, /* CHEROKEE */ - { 366, 18, 33}, /* CHER */ - { 305, 18, 34}, /* CANADIANABORIGINAL */ - { 309, 18, 34}, /* CANS */ - {1050, 18, 35}, /* OGHAM */ - {1049, 18, 35}, /* OGAM */ - {1186, 18, 36}, /* RUNIC */ - {1187, 18, 36}, /* RUNR */ - {1300, 18, 37}, /* TAGALOG */ - {1333, 18, 37}, /* TGLG */ - { 668, 18, 38}, /* HANUNOO */ - { 665, 18, 38}, /* HANO */ - { 297, 18, 39}, /* BUHID */ - { 296, 18, 39}, /* BUHD */ - {1302, 18, 40}, /* TAGBANWA */ - {1301, 18, 40}, /* TAGB */ - { 772, 18, 41}, /* KHMER */ - { 774, 18, 41}, /* KHMR */ - { 968, 18, 42}, /* MONGOLIAN */ - { 967, 18, 42}, /* MONG */ - { 825, 18, 43}, /* LIMBU */ - { 824, 18, 43}, /* LIMB */ - {1305, 18, 44}, /* TAILE */ - {1312, 18, 44}, /* TALE */ - {1001, 18, 45}, /* NEWTAILUE */ - {1313, 18, 45}, /* TALU */ - { 295, 18, 46}, /* BUGINESE */ - { 294, 18, 46}, /* BUGI */ - {1306, 18, 47}, /* TAITHAM */ - { 787, 18, 47}, /* LANA */ - { 240, 18, 48}, /* BALINESE */ - { 239, 18, 48}, /* BALI */ - {1260, 18, 49}, /* SUNDANESE */ - {1259, 18, 49}, /* SUND */ - { 248, 18, 50}, /* BATAK */ - { 249, 18, 50}, /* BATK */ - { 819, 18, 51}, /* LEPCHA */ - { 818, 18, 51}, /* LEPC */ - {1054, 18, 52}, /* OLCHIKI */ - {1055, 18, 52}, /* OLCK */ - { 288, 18, 53}, /* BRAILLE */ - { 287, 18, 53}, /* BRAI */ - { 614, 18, 54}, /* GLAGOLITIC */ - { 613, 18, 54}, /* GLAG */ - {1339, 18, 55}, /* TIFINAGH */ - {1332, 18, 55}, /* TFNG */ - { 652, 18, 56}, /* HAN */ - { 661, 18, 56}, /* HANI */ - { 684, 18, 57}, /* HIRAGANA */ - { 683, 18, 57}, /* HIRA */ - { 763, 18, 58}, /* KATAKANA */ - { 752, 18, 58}, /* KANA */ - {1424, 18, 59}, /* YI */ - {1425, 18, 59}, /* YIII */ - { 835, 18, 60}, /* LISU */ - {1373, 18, 61}, /* VAI */ - {1374, 18, 61}, /* VAII */ - { 242, 18, 62}, /* BAMUM */ - { 241, 18, 62}, /* BAMU */ - {1289, 18, 63}, /* SYLOTINAGRI */ - {1288, 18, 63}, /* SYLO */ - {1119, 18, 64}, /* PHAGSPA */ - {1118, 18, 64}, /* PHAG */ - {1197, 18, 65}, /* SAURASHTRA */ - {1196, 18, 65}, /* SAUR */ - { 767, 18, 66}, /* KAYAHLI */ - { 751, 18, 66}, /* KALI */ - {1169, 18, 67}, /* REJANG */ - {1178, 18, 67}, /* RJNG */ - { 737, 18, 68}, /* JAVANESE */ - { 736, 18, 68}, /* JAVA */ - { 360, 18, 69}, /* CHAM */ - {1307, 18, 70}, /* TAIVIET */ - {1323, 18, 70}, /* TAVT */ - { 932, 18, 71}, /* MEETEIMAYEK */ - { 973, 18, 71}, /* MTEI */ - { 829, 18, 72}, /* LINEARB */ - { 827, 18, 72}, /* LINB */ - { 857, 18, 73}, /* LYCIAN */ - { 856, 18, 73}, /* LYCI */ - { 312, 18, 74}, /* CARIAN */ - { 311, 18, 74}, /* CARI */ - {1057, 18, 75}, /* OLDITALIC */ - { 732, 18, 75}, /* ITAL */ - { 622, 18, 76}, /* GOTHIC */ - { 621, 18, 76}, /* GOTH */ - {1059, 18, 77}, /* OLDPERMIC */ - {1116, 18, 77}, /* PERM */ - {1361, 18, 78}, /* UGARITIC */ - {1360, 18, 78}, /* UGAR */ - {1060, 18, 79}, /* OLDPERSIAN */ - {1414, 18, 79}, /* XPEO */ - { 491, 18, 80}, /* DESERET */ - { 515, 18, 80}, /* DSRT */ - {1216, 18, 81}, /* SHAVIAN */ - {1217, 18, 81}, /* SHAW */ - {1078, 18, 82}, /* OSMANYA */ - {1077, 18, 82}, /* OSMA */ - {1075, 18, 83}, /* OSAGE */ - {1076, 18, 83}, /* OSGE */ - { 533, 18, 84}, /* ELBASAN */ - { 532, 18, 84}, /* ELBA */ - { 317, 18, 85}, /* CAUCASIANALBANIAN */ + {1309, 18, 11}, /* SYRIAC */ + {1308, 18, 11}, /* SYRC */ + {1350, 18, 12}, /* THAANA */ + {1349, 18, 12}, /* THAA */ + {1024, 18, 13}, /* NKO */ + {1025, 18, 13}, /* NKOO */ + {1207, 18, 14}, /* SAMARITAN */ + {1208, 18, 14}, /* SAMR */ + { 893, 18, 15}, /* MANDAIC */ + { 892, 18, 15}, /* MAND */ + { 497, 18, 16}, /* DEVANAGARI */ + { 496, 18, 16}, /* DEVA */ + { 259, 18, 17}, /* BENGALI */ + { 258, 18, 17}, /* BENG */ + { 647, 18, 18}, /* GURMUKHI */ + { 648, 18, 18}, /* GURU */ + { 644, 18, 19}, /* GUJARATI */ + { 645, 18, 19}, /* GUJR */ + {1084, 18, 20}, /* ORIYA */ + {1087, 18, 20}, /* ORYA */ + {1328, 18, 21}, /* TAMIL */ + {1331, 18, 21}, /* TAML */ + {1343, 18, 22}, /* TELUGU */ + {1342, 18, 22}, /* TELU */ + { 769, 18, 23}, /* KANNADA */ + { 787, 18, 23}, /* KNDA */ + { 880, 18, 24}, /* MALAYALAM */ + { 971, 18, 24}, /* MLYM */ + {1241, 18, 25}, /* SINHALA */ + {1240, 18, 25}, /* SINH */ + {1351, 18, 26}, /* THAI */ + { 796, 18, 27}, /* LAO */ + { 797, 18, 27}, /* LAOO */ + {1353, 18, 28}, /* TIBETAN */ + {1354, 18, 28}, /* TIBT */ + { 990, 18, 29}, /* MYANMAR */ + { 995, 18, 29}, /* MYMR */ + { 613, 18, 30}, /* GEORGIAN */ + { 612, 18, 30}, /* GEOR */ + { 660, 18, 31}, /* HANGUL */ + { 659, 18, 31}, /* HANG */ + { 564, 18, 32}, /* ETHIOPIC */ + { 563, 18, 32}, /* ETHI */ + { 369, 18, 33}, /* CHEROKEE */ + { 368, 18, 33}, /* CHER */ + { 307, 18, 34}, /* CANADIANABORIGINAL */ + { 311, 18, 34}, /* CANS */ + {1062, 18, 35}, /* OGHAM */ + {1061, 18, 35}, /* OGAM */ + {1200, 18, 36}, /* RUNIC */ + {1201, 18, 36}, /* RUNR */ + {1314, 18, 37}, /* TAGALOG */ + {1348, 18, 37}, /* TGLG */ + { 674, 18, 38}, /* HANUNOO */ + { 671, 18, 38}, /* HANO */ + { 299, 18, 39}, /* BUHID */ + { 298, 18, 39}, /* BUHD */ + {1316, 18, 40}, /* TAGBANWA */ + {1315, 18, 40}, /* TAGB */ + { 780, 18, 41}, /* KHMER */ + { 782, 18, 41}, /* KHMR */ + { 980, 18, 42}, /* MONGOLIAN */ + { 979, 18, 42}, /* MONG */ + { 837, 18, 43}, /* LIMBU */ + { 836, 18, 43}, /* LIMB */ + {1319, 18, 44}, /* TAILE */ + {1326, 18, 44}, /* TALE */ + {1013, 18, 45}, /* NEWTAILUE */ + {1327, 18, 45}, /* TALU */ + { 297, 18, 46}, /* BUGINESE */ + { 296, 18, 46}, /* BUGI */ + {1320, 18, 47}, /* TAITHAM */ + { 795, 18, 47}, /* LANA */ + { 242, 18, 48}, /* BALINESE */ + { 241, 18, 48}, /* BALI */ + {1274, 18, 49}, /* SUNDANESE */ + {1273, 18, 49}, /* SUND */ + { 250, 18, 50}, /* BATAK */ + { 251, 18, 50}, /* BATK */ + { 831, 18, 51}, /* LEPCHA */ + { 830, 18, 51}, /* LEPC */ + {1066, 18, 52}, /* OLCHIKI */ + {1067, 18, 52}, /* OLCK */ + { 290, 18, 53}, /* BRAILLE */ + { 289, 18, 53}, /* BRAI */ + { 620, 18, 54}, /* GLAGOLITIC */ + { 619, 18, 54}, /* GLAG */ + {1355, 18, 55}, /* TIFINAGH */ + {1347, 18, 55}, /* TFNG */ + { 658, 18, 56}, /* HAN */ + { 667, 18, 56}, /* HANI */ + { 690, 18, 57}, /* HIRAGANA */ + { 689, 18, 57}, /* HIRA */ + { 771, 18, 58}, /* KATAKANA */ + { 758, 18, 58}, /* KANA */ + {1447, 18, 59}, /* YI */ + {1448, 18, 59}, /* YIII */ + { 847, 18, 60}, /* LISU */ + {1393, 18, 61}, /* VAI */ + {1394, 18, 61}, /* VAII */ + { 244, 18, 62}, /* BAMUM */ + { 243, 18, 62}, /* BAMU */ + {1303, 18, 63}, /* SYLOTINAGRI */ + {1302, 18, 63}, /* SYLO */ + {1133, 18, 64}, /* PHAGSPA */ + {1132, 18, 64}, /* PHAG */ + {1211, 18, 65}, /* SAURASHTRA */ + {1210, 18, 65}, /* SAUR */ + { 775, 18, 66}, /* KAYAHLI */ + { 757, 18, 66}, /* KALI */ + {1183, 18, 67}, /* REJANG */ + {1192, 18, 67}, /* RJNG */ + { 743, 18, 68}, /* JAVANESE */ + { 742, 18, 68}, /* JAVA */ + { 362, 18, 69}, /* CHAM */ + {1321, 18, 70}, /* TAIVIET */ + {1338, 18, 70}, /* TAVT */ + { 944, 18, 71}, /* MEETEIMAYEK */ + { 985, 18, 71}, /* MTEI */ + { 841, 18, 72}, /* LINEARB */ + { 839, 18, 72}, /* LINB */ + { 869, 18, 73}, /* LYCIAN */ + { 868, 18, 73}, /* LYCI */ + { 314, 18, 74}, /* CARIAN */ + { 313, 18, 74}, /* CARI */ + {1069, 18, 75}, /* OLDITALIC */ + { 738, 18, 75}, /* ITAL */ + { 628, 18, 76}, /* GOTHIC */ + { 627, 18, 76}, /* GOTH */ + {1071, 18, 77}, /* OLDPERMIC */ + {1130, 18, 77}, /* PERM */ + {1380, 18, 78}, /* UGARITIC */ + {1379, 18, 78}, /* UGAR */ + {1072, 18, 79}, /* OLDPERSIAN */ + {1437, 18, 79}, /* XPEO */ + { 495, 18, 80}, /* DESERET */ + { 519, 18, 80}, /* DSRT */ + {1230, 18, 81}, /* SHAVIAN */ + {1231, 18, 81}, /* SHAW */ + {1091, 18, 82}, /* OSMANYA */ + {1090, 18, 82}, /* OSMA */ + {1088, 18, 83}, /* OSAGE */ + {1089, 18, 83}, /* OSGE */ + { 537, 18, 84}, /* ELBASAN */ + { 536, 18, 84}, /* ELBA */ + { 319, 18, 85}, /* CAUCASIANALBANIAN */ { 176, 18, 85}, /* AGHB */ - { 828, 18, 86}, /* LINEARA */ - { 826, 18, 86}, /* LINA */ - { 464, 18, 87}, /* CYPRIOT */ - { 451, 18, 87}, /* CPRT */ - { 708, 18, 88}, /* IMPERIALARAMAIC */ - { 217, 18, 88}, /* ARMI */ - {1102, 18, 89}, /* PALMYRENE */ - {1101, 18, 89}, /* PALM */ - { 987, 18, 90}, /* NABATAEAN */ - { 995, 18, 90}, /* NBAT */ - { 670, 18, 91}, /* HATRAN */ - { 669, 18, 91}, /* HATR */ - {1125, 18, 92}, /* PHOENICIAN */ - {1124, 18, 92}, /* PHNX */ - { 859, 18, 93}, /* LYDIAN */ - { 858, 18, 93}, /* LYDI */ - { 940, 18, 94}, /* MEROITICHIEROGLYPHS */ - { 938, 18, 94}, /* MERO */ - { 939, 18, 95}, /* MEROITICCURSIVE */ - { 937, 18, 95}, /* MERC */ - { 770, 18, 96}, /* KHAROSHTHI */ - { 769, 18, 96}, /* KHAR */ - {1062, 18, 97}, /* OLDSOUTHARABIAN */ - {1195, 18, 97}, /* SARB */ - {1058, 18, 98}, /* OLDNORTHARABIAN */ - { 992, 18, 98}, /* NARB */ - { 884, 18, 99}, /* MANICHAEAN */ - { 883, 18, 99}, /* MANI */ - { 234, 18, 100}, /* AVESTAN */ - { 235, 18, 100}, /* AVST */ - { 722, 18, 101}, /* INSCRIPTIONALPARTHIAN */ - {1149, 18, 101}, /* PRTI */ - { 721, 18, 102}, /* INSCRIPTIONALPAHLAVI */ - {1122, 18, 102}, /* PHLI */ - {1151, 18, 103}, /* PSALTERPAHLAVI */ - {1123, 18, 103}, /* PHLP */ - {1063, 18, 104}, /* OLDTURKIC */ - {1072, 18, 104}, /* ORKH */ - {1056, 18, 105}, /* OLDHUNGARIAN */ - { 691, 18, 105}, /* HUNG */ - { 662, 18, 106}, /* HANIFIROHINGYA */ - {1182, 18, 106}, /* ROHG */ - {1423, 18, 107}, /* YEZIDI */ - {1422, 18, 107}, /* YEZI */ - {1061, 18, 108}, /* OLDSOGDIAN */ - {1241, 18, 108}, /* SOGO */ - {1240, 18, 109}, /* SOGDIAN */ - {1239, 18, 109}, /* SOGD */ - { 371, 18, 110}, /* CHORASMIAN */ - { 372, 18, 110}, /* CHRS */ - { 535, 18, 111}, /* ELYMAIC */ - { 534, 18, 111}, /* ELYM */ - { 285, 18, 112}, /* BRAHMI */ - { 284, 18, 112}, /* BRAH */ - { 750, 18, 113}, /* KAITHI */ - { 781, 18, 113}, /* KTHI */ - {1243, 18, 114}, /* SORASOMPENG */ - {1242, 18, 114}, /* SORA */ - { 359, 18, 115}, /* CHAKMA */ - { 303, 18, 115}, /* CAKM */ - { 862, 18, 116}, /* MAHAJANI */ - { 863, 18, 116}, /* MAHJ */ - {1215, 18, 117}, /* SHARADA */ - {1220, 18, 117}, /* SHRD */ - { 776, 18, 118}, /* KHOJKI */ - { 775, 18, 118}, /* KHOJ */ - { 975, 18, 119}, /* MULTANI */ - { 974, 18, 119}, /* MULT */ - { 777, 18, 120}, /* KHUDAWADI */ - {1224, 18, 120}, /* SIND */ - { 624, 18, 121}, /* GRANTHA */ - { 623, 18, 121}, /* GRAN */ - { 999, 18, 122}, /* NEWA */ - {1341, 18, 123}, /* TIRHUTA */ - {1340, 18, 123}, /* TIRH */ - {1222, 18, 124}, /* SIDDHAM */ - {1221, 18, 124}, /* SIDD */ - { 961, 18, 125}, /* MODI */ - {1311, 18, 126}, /* TAKRI */ - {1310, 18, 126}, /* TAKR */ - { 178, 18, 127}, /* AHOM */ - { 508, 18, 128}, /* DOGRA */ - { 507, 18, 128}, /* DOGR */ - {1396, 18, 129}, /* WARANGCITI */ - {1395, 18, 129}, /* WARA */ - { 506, 18, 130}, /* DIVESAKURU */ - { 503, 18, 130}, /* DIAK */ - { 990, 18, 131}, /* NANDINAGARI */ - { 989, 18, 131}, /* NAND */ - {1435, 18, 132}, /* ZANABAZARSQUARE */ - {1436, 18, 132}, /* ZANB */ - {1245, 18, 133}, /* SOYOMBO */ - {1244, 18, 133}, /* SOYO */ - {1109, 18, 134}, /* PAUCINHAU */ - {1108, 18, 134}, /* PAUC */ - { 259, 18, 135}, /* BHAIKSUKI */ - { 260, 18, 135}, /* BHKS */ - { 913, 18, 136}, /* MARCHEN */ - { 912, 18, 136}, /* MARC */ - { 915, 18, 137}, /* MASARAMGONDI */ - { 620, 18, 137}, /* GONM */ - { 640, 18, 138}, /* GUNJALAGONDI */ - { 619, 18, 138}, /* GONG */ - { 867, 18, 139}, /* MAKASAR */ - { 866, 18, 139}, /* MAKA */ - { 454, 18, 140}, /* CUNEIFORM */ - {1415, 18, 140}, /* XSUX */ - { 531, 18, 141}, /* EGYPTIANHIEROGLYPHS */ - { 529, 18, 141}, /* EGYP */ - { 195, 18, 142}, /* ANATOLIANHIEROGLYPHS */ - { 686, 18, 142}, /* HLUW */ - { 971, 18, 143}, /* MRO */ - { 972, 18, 143}, /* MROO */ - { 247, 18, 144}, /* BASSAVAH */ - { 246, 18, 144}, /* BASS */ - {1100, 18, 145}, /* PAHAWHHMONG */ - { 687, 18, 145}, /* HMNG */ - { 928, 18, 146}, /* MEDEFAIDRIN */ - { 929, 18, 146}, /* MEDF */ - { 941, 18, 147}, /* MIAO */ - {1132, 18, 147}, /* PLRD */ - {1319, 18, 148}, /* TANGUT */ - {1318, 18, 148}, /* TANG */ - {1042, 18, 149}, /* NUSHU */ - {1030, 18, 149}, /* NSHU */ - { 771, 18, 150}, /* KHITANSMALLSCRIPT */ - { 778, 18, 150}, /* KITS */ - { 519, 18, 151}, /* DUPLOYAN */ - { 518, 18, 151}, /* DUPL */ - {1223, 18, 152}, /* SIGNWRITING */ - {1214, 18, 152}, /* SGNW */ - {1045, 18, 153}, /* NYIAKENGPUACHUEHMONG */ - { 688, 18, 153}, /* HMNP */ - {1394, 18, 154}, /* WANCHO */ - {1399, 18, 154}, /* WCHO */ - { 936, 18, 155}, /* MENDEKIKAKUI */ - { 935, 18, 155}, /* MEND */ - { 170, 18, 156}, /* ADLAM */ - { 171, 18, 156}, /* ADLM */ - { 765, 18, 157}, /* KATAKANAORHIRAGANA */ - { 689, 18, 157}, /* HRKT */ - {1079, 19, 0}, /* OTHER */ - {1416, 19, 0}, /* XX */ - {1246, 19, 1}, /* SP */ - { 823, 19, 2}, /* LF */ - { 452, 19, 3}, /* CR */ - {1256, 19, 4}, /* STERM */ - {1255, 19, 4}, /* ST */ - { 406, 19, 5}, /* CLOSE */ - { 405, 19, 5}, /* CL */ - {1200, 19, 6}, /* SCONTINUE */ - {1199, 19, 6}, /* SC */ - { 228, 19, 7}, /* ATERM */ - { 223, 19, 7}, /* AT */ - {1038, 19, 8}, /* NUMERIC */ - {1033, 19, 8}, /* NU */ - {1369, 19, 9}, /* UPPER */ - {1368, 19, 9}, /* UP */ - { 843, 19, 10}, /* LOWER */ - { 840, 19, 10}, /* LO */ - {1211, 19, 11}, /* SEP */ - {1205, 19, 11}, /* SE */ - { 590, 19, 12}, /* FORMAT */ - { 588, 19, 12}, /* FO */ - {1064, 19, 13}, /* OLETTER */ - { 809, 19, 13}, /* LE */ - { 573, 19, 14}, /* EXTEND */ - { 570, 19, 14}, /* EX */ - {1079, 20, 0}, /* OTHER */ - {1416, 20, 0}, /* XX */ - { 823, 20, 1}, /* LF */ - {1000, 20, 2}, /* NEWLINE */ - {1014, 20, 2}, /* NL */ - { 452, 20, 3}, /* CR */ - {1407, 20, 4}, /* WSEGSPACE */ - { 513, 20, 5}, /* DOUBLEQUOTE */ - { 514, 20, 5}, /* DQ */ - {1225, 20, 6}, /* SINGLEQUOTE */ - {1252, 20, 6}, /* SQ */ - { 943, 20, 7}, /* MIDNUM */ - { 960, 20, 7}, /* MN */ - { 944, 20, 8}, /* MIDNUMLET */ - { 924, 20, 8}, /* MB */ - {1038, 20, 9}, /* NUMERIC */ - {1033, 20, 9}, /* NU */ - { 942, 20, 10}, /* MIDLETTER */ - { 958, 20, 10}, /* ML */ + {1408, 18, 86}, /* VITHKUQI */ + {1407, 18, 86}, /* VITH */ + { 840, 18, 87}, /* LINEARA */ + { 838, 18, 87}, /* LINA */ + { 467, 18, 88}, /* CYPRIOT */ + { 454, 18, 88}, /* CPRT */ + { 714, 18, 89}, /* IMPERIALARAMAIC */ + { 219, 18, 89}, /* ARMI */ + {1116, 18, 90}, /* PALMYRENE */ + {1115, 18, 90}, /* PALM */ + { 999, 18, 91}, /* NABATAEAN */ + {1007, 18, 91}, /* NBAT */ + { 676, 18, 92}, /* HATRAN */ + { 675, 18, 92}, /* HATR */ + {1139, 18, 93}, /* PHOENICIAN */ + {1138, 18, 93}, /* PHNX */ + { 871, 18, 94}, /* LYDIAN */ + { 870, 18, 94}, /* LYDI */ + { 952, 18, 95}, /* MEROITICHIEROGLYPHS */ + { 950, 18, 95}, /* MERO */ + { 951, 18, 96}, /* MEROITICCURSIVE */ + { 949, 18, 96}, /* MERC */ + { 778, 18, 97}, /* KHAROSHTHI */ + { 777, 18, 97}, /* KHAR */ + {1074, 18, 98}, /* OLDSOUTHARABIAN */ + {1209, 18, 98}, /* SARB */ + {1070, 18, 99}, /* OLDNORTHARABIAN */ + {1004, 18, 99}, /* NARB */ + { 896, 18, 100}, /* MANICHAEAN */ + { 895, 18, 100}, /* MANI */ + { 236, 18, 101}, /* AVESTAN */ + { 237, 18, 101}, /* AVST */ + { 728, 18, 102}, /* INSCRIPTIONALPARTHIAN */ + {1163, 18, 102}, /* PRTI */ + { 727, 18, 103}, /* INSCRIPTIONALPAHLAVI */ + {1136, 18, 103}, /* PHLI */ + {1165, 18, 104}, /* PSALTERPAHLAVI */ + {1137, 18, 104}, /* PHLP */ + {1075, 18, 105}, /* OLDTURKIC */ + {1085, 18, 105}, /* ORKH */ + {1068, 18, 106}, /* OLDHUNGARIAN */ + { 697, 18, 106}, /* HUNG */ + { 668, 18, 107}, /* HANIFIROHINGYA */ + {1196, 18, 107}, /* ROHG */ + {1446, 18, 108}, /* YEZIDI */ + {1445, 18, 108}, /* YEZI */ + {1073, 18, 109}, /* OLDSOGDIAN */ + {1255, 18, 109}, /* SOGO */ + {1254, 18, 110}, /* SOGDIAN */ + {1253, 18, 110}, /* SOGD */ + {1076, 18, 111}, /* OLDUYGHUR */ + {1107, 18, 111}, /* OUGR */ + { 373, 18, 112}, /* CHORASMIAN */ + { 374, 18, 112}, /* CHRS */ + { 539, 18, 113}, /* ELYMAIC */ + { 538, 18, 113}, /* ELYM */ + { 287, 18, 114}, /* BRAHMI */ + { 286, 18, 114}, /* BRAH */ + { 756, 18, 115}, /* KAITHI */ + { 789, 18, 115}, /* KTHI */ + {1257, 18, 116}, /* SORASOMPENG */ + {1256, 18, 116}, /* SORA */ + { 361, 18, 117}, /* CHAKMA */ + { 305, 18, 117}, /* CAKM */ + { 874, 18, 118}, /* MAHAJANI */ + { 875, 18, 118}, /* MAHJ */ + {1229, 18, 119}, /* SHARADA */ + {1234, 18, 119}, /* SHRD */ + { 784, 18, 120}, /* KHOJKI */ + { 783, 18, 120}, /* KHOJ */ + { 987, 18, 121}, /* MULTANI */ + { 986, 18, 121}, /* MULT */ + { 785, 18, 122}, /* KHUDAWADI */ + {1238, 18, 122}, /* SIND */ + { 630, 18, 123}, /* GRANTHA */ + { 629, 18, 123}, /* GRAN */ + {1011, 18, 124}, /* NEWA */ + {1357, 18, 125}, /* TIRHUTA */ + {1356, 18, 125}, /* TIRH */ + {1236, 18, 126}, /* SIDDHAM */ + {1235, 18, 126}, /* SIDD */ + { 973, 18, 127}, /* MODI */ + {1325, 18, 128}, /* TAKRI */ + {1324, 18, 128}, /* TAKR */ + { 178, 18, 129}, /* AHOM */ + { 512, 18, 130}, /* DOGRA */ + { 511, 18, 130}, /* DOGR */ + {1419, 18, 131}, /* WARANGCITI */ + {1418, 18, 131}, /* WARA */ + { 510, 18, 132}, /* DIVESAKURU */ + { 507, 18, 132}, /* DIAK */ + {1002, 18, 133}, /* NANDINAGARI */ + {1001, 18, 133}, /* NAND */ + {1458, 18, 134}, /* ZANABAZARSQUARE */ + {1459, 18, 134}, /* ZANB */ + {1259, 18, 135}, /* SOYOMBO */ + {1258, 18, 135}, /* SOYO */ + {1123, 18, 136}, /* PAUCINHAU */ + {1122, 18, 136}, /* PAUC */ + { 261, 18, 137}, /* BHAIKSUKI */ + { 262, 18, 137}, /* BHKS */ + { 925, 18, 138}, /* MARCHEN */ + { 924, 18, 138}, /* MARC */ + { 927, 18, 139}, /* MASARAMGONDI */ + { 626, 18, 139}, /* GONM */ + { 646, 18, 140}, /* GUNJALAGONDI */ + { 625, 18, 140}, /* GONG */ + { 879, 18, 141}, /* MAKASAR */ + { 878, 18, 141}, /* MAKA */ + { 457, 18, 142}, /* CUNEIFORM */ + {1438, 18, 142}, /* XSUX */ + { 469, 18, 143}, /* CYPROMINOAN */ + { 453, 18, 143}, /* CPMN */ + { 535, 18, 144}, /* EGYPTIANHIEROGLYPHS */ + { 533, 18, 144}, /* EGYP */ + { 195, 18, 145}, /* ANATOLIANHIEROGLYPHS */ + { 692, 18, 145}, /* HLUW */ + { 983, 18, 146}, /* MRO */ + { 984, 18, 146}, /* MROO */ + {1333, 18, 147}, /* TANGSA */ + {1359, 18, 147}, /* TNSA */ + { 249, 18, 148}, /* BASSAVAH */ + { 248, 18, 148}, /* BASS */ + {1114, 18, 149}, /* PAHAWHHMONG */ + { 693, 18, 149}, /* HMNG */ + { 940, 18, 150}, /* MEDEFAIDRIN */ + { 941, 18, 150}, /* MEDF */ + { 953, 18, 151}, /* MIAO */ + {1146, 18, 151}, /* PLRD */ + {1334, 18, 152}, /* TANGUT */ + {1332, 18, 152}, /* TANG */ + {1054, 18, 153}, /* NUSHU */ + {1042, 18, 153}, /* NSHU */ + { 779, 18, 154}, /* KHITANSMALLSCRIPT */ + { 786, 18, 154}, /* KITS */ + { 523, 18, 155}, /* DUPLOYAN */ + { 522, 18, 155}, /* DUPL */ + {1237, 18, 156}, /* SIGNWRITING */ + {1228, 18, 156}, /* SGNW */ + {1057, 18, 157}, /* NYIAKENGPUACHUEHMONG */ + { 694, 18, 157}, /* HMNP */ + {1369, 18, 158}, /* TOTO */ + {1417, 18, 159}, /* WANCHO */ + {1422, 18, 159}, /* WCHO */ + { 948, 18, 160}, /* MENDEKIKAKUI */ + { 947, 18, 160}, /* MEND */ + { 170, 18, 161}, /* ADLAM */ + { 171, 18, 161}, /* ADLM */ + { 773, 18, 162}, /* KATAKANAORHIRAGANA */ + { 695, 18, 162}, /* HRKT */ + {1092, 19, 0}, /* OTHER */ + {1439, 19, 0}, /* XX */ + {1260, 19, 1}, /* SP */ + { 835, 19, 2}, /* LF */ + { 455, 19, 3}, /* CR */ + {1270, 19, 4}, /* STERM */ + {1269, 19, 4}, /* ST */ + { 408, 19, 5}, /* CLOSE */ + { 407, 19, 5}, /* CL */ + {1214, 19, 6}, /* SCONTINUE */ + {1213, 19, 6}, /* SC */ + { 230, 19, 7}, /* ATERM */ + { 225, 19, 7}, /* AT */ + {1050, 19, 8}, /* NUMERIC */ + {1045, 19, 8}, /* NU */ + {1389, 19, 9}, /* UPPER */ + {1388, 19, 9}, /* UP */ + { 855, 19, 10}, /* LOWER */ + { 852, 19, 10}, /* LO */ + {1225, 19, 11}, /* SEP */ + {1219, 19, 11}, /* SE */ + { 596, 19, 12}, /* FORMAT */ + { 594, 19, 12}, /* FO */ + {1077, 19, 13}, /* OLETTER */ + { 821, 19, 13}, /* LE */ + { 579, 19, 14}, /* EXTEND */ + { 576, 19, 14}, /* EX */ + {1092, 20, 0}, /* OTHER */ + {1439, 20, 0}, /* XX */ + { 835, 20, 1}, /* LF */ + {1012, 20, 2}, /* NEWLINE */ + {1026, 20, 2}, /* NL */ + { 455, 20, 3}, /* CR */ + {1430, 20, 4}, /* WSEGSPACE */ + { 517, 20, 5}, /* DOUBLEQUOTE */ + { 518, 20, 5}, /* DQ */ + {1239, 20, 6}, /* SINGLEQUOTE */ + {1266, 20, 6}, /* SQ */ + { 955, 20, 7}, /* MIDNUM */ + { 972, 20, 7}, /* MN */ + { 956, 20, 8}, /* MIDNUMLET */ + { 936, 20, 8}, /* MB */ + {1050, 20, 9}, /* NUMERIC */ + {1045, 20, 9}, /* NU */ + { 954, 20, 10}, /* MIDLETTER */ + { 970, 20, 10}, /* ML */ { 186, 20, 11}, /* ALETTER */ - { 809, 20, 11}, /* LE */ - { 576, 20, 12}, /* EXTENDNUMLET */ - { 570, 20, 12}, /* EX */ - { 590, 20, 13}, /* FORMAT */ - { 588, 20, 13}, /* FO */ - { 573, 20, 14}, /* EXTEND */ - { 674, 20, 15}, /* HEBREWLETTER */ - { 685, 20, 15}, /* HL */ - {1443, 20, 16}, /* ZWJ */ - { 763, 20, 17}, /* KATAKANA */ - { 748, 20, 17}, /* KA */ - {1166, 20, 18}, /* REGIONALINDICATOR */ - {1171, 20, 18}, /* RI */ - { 525, 20, 19}, /* EBASE */ - { 524, 20, 19}, /* EB */ - { 526, 20, 20}, /* EBASEGAZ */ - { 527, 20, 20}, /* EBG */ - { 538, 20, 21}, /* EMODIFIER */ - { 536, 20, 21}, /* EM */ - { 618, 20, 22}, /* GLUEAFTERZWJ */ - { 597, 20, 22}, /* GAZ */ + { 821, 20, 11}, /* LE */ + { 582, 20, 12}, /* EXTENDNUMLET */ + { 576, 20, 12}, /* EX */ + { 596, 20, 13}, /* FORMAT */ + { 594, 20, 13}, /* FO */ + { 579, 20, 14}, /* EXTEND */ + { 680, 20, 15}, /* HEBREWLETTER */ + { 691, 20, 15}, /* HL */ + {1468, 20, 16}, /* ZWJ */ + { 771, 20, 17}, /* KATAKANA */ + { 754, 20, 17}, /* KA */ + {1180, 20, 18}, /* REGIONALINDICATOR */ + {1185, 20, 18}, /* RI */ + { 529, 20, 19}, /* EBASE */ + { 528, 20, 19}, /* EB */ + { 530, 20, 20}, /* EBASEGAZ */ + { 531, 20, 20}, /* EBG */ + { 542, 20, 21}, /* EMODIFIER */ + { 540, 20, 21}, /* EM */ + { 624, 20, 22}, /* GLUEAFTERZWJ */ + { 603, 20, 22}, /* GAZ */ }; /* Codepoints which expand on full case-folding. */ @@ -3257,17 +3316,17 @@ RE_UINT16 re_expand_on_folding[] = { static RE_UINT8 re_alphabetic_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 10, 10, 10, 10, 10, 10, 10, 10, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 10, 10, 13, 31, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 10, 10, 10, 10, 10, 10, 10, 10, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 30, 13, 31, 10, 10, 10, 32, 10, 10, 10, 10, 10, 10, 10, 10, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 10, 37, 10, 10, 38, - 10, 10, 10, 10, 10, 39, 10, 10, 40, 10, 41, 42, 43, 10, 10, 10, + 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 37, 38, 10, 10, 39, + 10, 10, 10, 10, 10, 40, 10, 41, 42, 43, 44, 45, 46, 10, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 44, 13, 13, 13, 45, 46, 13, - 13, 13, 13, 47, 13, 13, 13, 13, 13, 13, 48, 10, 10, 10, 49, 10, - 13, 13, 13, 13, 50, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 47, 13, 13, 13, 48, 49, 13, + 13, 13, 13, 50, 13, 13, 13, 13, 13, 13, 51, 10, 10, 10, 52, 10, + 13, 13, 13, 13, 53, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -3325,12 +3384,12 @@ static RE_UINT8 re_alphabetic_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 }; -static RE_UINT8 re_alphabetic_table_2[] = { +static RE_UINT16 re_alphabetic_table_2[] = { 0, 0, 1, 1, 0, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 6, 0, 0, 7, 8, 9, 10, 4, 11, 4, 4, 4, 4, 12, 4, 4, 4, 4, 13, 14, 4, 15, 16, 17, 18, 19, 4, 20, 21, 4, 4, 22, 23, 24, 4, 25, 4, 4, 26, 27, 28, - 29, 30, 31, 32, 0, 33, 34, 35, 4, 36, 37, 38, 39, 40, 41, 42, + 29, 30, 31, 32, 33, 4, 34, 35, 4, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 48, 52, 53, 54, 55, 56, 0, 57, 58, 59, 60, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 0, 78, 0, 79, 80, 81, 82, 0, 0, @@ -3338,96 +3397,102 @@ static RE_UINT8 re_alphabetic_table_2[] = { 4, 4, 87, 4, 88, 89, 90, 4, 91, 4, 73, 0, 92, 4, 4, 93, 72, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 94, 1, 4, 4, 95, 96, 97, 97, 98, 4, 99, 100, 0, - 0, 4, 4, 31, 4, 101, 4, 102, 103, 104, 24, 105, 4, 106, 107, 0, - 108, 4, 103, 109, 0, 110, 78, 0, 4, 111, 112, 0, 4, 113, 4, 114, + 0, 4, 4, 31, 4, 32, 4, 101, 102, 103, 24, 104, 4, 105, 106, 0, + 107, 4, 102, 108, 0, 109, 110, 0, 4, 111, 112, 0, 4, 113, 4, 114, 4, 115, 116, 117, 118, 65, 0, 119, 4, 4, 4, 4, 4, 4, 0, 120, 4, 4, 4, 4, 4, 4, 4, 4, 93, 4, 121, 117, 4, 122, 123, 124, 0, 0, 0, 125, 126, 0, 0, 0, 127, 128, 129, 4, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 130, 4, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 4, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 131, 103, 4, 4, 4, 4, 132, 4, 85, 4, 133, 115, 134, 134, 4, - 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 136, 137, 72, 4, 138, 72, 4, 86, 139, 13, 4, 4, 140, 4, 0, 24, + 4, 4, 4, 4, 4, 4, 4, 131, 4, 85, 4, 132, 115, 133, 133, 4, + 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 135, 136, 72, 4, 137, 72, 4, 86, 138, 13, 4, 4, 139, 4, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 82, 4, 4, 4, 4, 30, 0, 24, 117, 4, 4, 4, 4, 4, 4, 4, 4, - 141, 142, 4, 143, 4, 4, 4, 92, 144, 145, 4, 4, 146, 4, 147, 148, - 149, 150, 4, 97, 4, 4, 151, 152, 27, 101, 153, 82, 4, 154, 135, 155, - 4, 115, 156, 157, 4, 103, 158, 159, 160, 161, 86, 162, 4, 4, 4, 32, + 140, 141, 4, 142, 4, 4, 4, 92, 143, 144, 4, 4, 145, 4, 146, 147, + 148, 149, 4, 97, 4, 4, 150, 151, 27, 32, 152, 82, 4, 153, 134, 154, + 4, 115, 155, 156, 4, 102, 157, 158, 159, 160, 86, 161, 4, 4, 4, 162, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 163, 164, 108, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 163, 164, 107, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 165, 4, 4, 166, 0, 167, 168, 169, 4, 4, 26, 170, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 117, 24, 4, 171, 4, 150, 172, - 0, 0, 0, 173, 4, 4, 4, 82, 0, 1, 1, 174, 4, 103, 175, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 117, 24, 4, 171, 4, 149, 172, + 0, 0, 0, 173, 4, 4, 4, 82, 0, 1, 1, 174, 4, 102, 175, 0, 176, 177, 178, 0, 4, 4, 4, 73, 0, 0, 4, 179, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 4, 180, 0, 4, 25, 101, 73, 117, 4, 181, 0, - 4, 4, 4, 4, 117, 24, 182, 108, 4, 183, 4, 60, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 115, 102, 150, 0, 0, 0, 0, - 184, 185, 102, 115, 103, 0, 0, 186, 102, 166, 0, 0, 4, 187, 0, 0, - 188, 102, 0, 82, 82, 0, 79, 189, 4, 102, 102, 153, 26, 0, 0, 0, - 4, 4, 15, 0, 4, 153, 4, 153, 4, 150, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 190, 0, 0, 82, 191, 192, 0, 0, 24, 189, 115, - 4, 4, 192, 0, 145, 31, 24, 15, 4, 153, 193, 194, 4, 4, 195, 0, - 196, 197, 0, 0, 198, 118, 4, 15, 39, 48, 199, 60, 0, 0, 0, 0, - 4, 4, 200, 201, 4, 4, 202, 0, 0, 0, 0, 0, 4, 203, 204, 0, - 4, 103, 205, 0, 4, 206, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, - 4, 31, 0, 0, 0, 4, 4, 207, 208, 209, 210, 0, 0, 211, 29, 212, - 4, 213, 24, 4, 214, 0, 4, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 215, 216, 78, 217, 171, 218, 0, 0, 219, 220, 221, 222, 223, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 224, 0, 0, + 0, 0, 0, 0, 82, 4, 180, 0, 4, 25, 32, 73, 117, 4, 181, 0, + 4, 4, 4, 4, 117, 24, 182, 107, 4, 183, 4, 184, 185, 186, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 115, 101, 149, 148, 187, 0, 0, + 188, 189, 101, 115, 102, 0, 0, 190, 101, 166, 0, 0, 4, 191, 0, 0, + 192, 101, 0, 82, 82, 0, 79, 193, 4, 101, 101, 152, 26, 0, 0, 0, + 4, 4, 15, 0, 4, 152, 4, 152, 4, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 194, 0, 0, 82, 195, 196, 24, 197, 24, 193, 115, + 4, 4, 196, 198, 144, 31, 199, 15, 4, 152, 200, 201, 4, 4, 202, 0, + 203, 204, 0, 0, 205, 118, 4, 15, 39, 48, 206, 60, 0, 0, 0, 0, + 4, 4, 207, 197, 4, 4, 208, 0, 0, 0, 0, 0, 4, 209, 210, 0, + 4, 102, 211, 0, 4, 212, 0, 0, 65, 162, 213, 0, 0, 0, 0, 0, + 4, 31, 0, 0, 0, 4, 4, 214, 215, 216, 217, 0, 0, 218, 29, 219, + 4, 220, 24, 4, 221, 24, 4, 31, 0, 0, 0, 0, 0, 0, 0, 0, + 222, 223, 78, 147, 171, 224, 0, 0, 225, 226, 227, 228, 229, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 230, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 166, 0, 0, 0, - 4, 4, 4, 140, 4, 4, 4, 4, 4, 4, 60, 0, 0, 0, 0, 0, + 4, 4, 4, 139, 4, 4, 4, 4, 4, 4, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 4, 180, + 4, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 31, 103, 0, 0, 0, 24, 156, 4, 92, 60, 226, 92, 0, 0, 0, + 4, 31, 102, 24, 4, 102, 24, 155, 4, 92, 60, 231, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 227, 4, 228, 0, 0, 229, + 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 232, 4, 233, 0, 0, 234, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 230, - 4, 4, 4, 4, 4, 4, 102, 0, 15, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 235, + 4, 4, 4, 4, 4, 4, 101, 0, 15, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 217, 237, 200, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 240, 4, 241, 242, 243, 4, 244, 245, 246, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 247, 248, 86, 240, 240, 249, 249, 222, 222, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 103, 0, 231, 193, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 108, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 232, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, + 251, 252, 0, 0, 0, 0, 0, 0, 4, 253, 254, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 155, 4, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 33, 4, 234, 235, 236, 4, 237, 238, 239, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 240, 241, 86, 33, 33, 131, 131, 215, 215, 242, 0, - 243, 244, 0, 0, 0, 0, 0, 0, 4, 245, 246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 189, 0, 4, 4, 248, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 4, 4, 4, 4, 4, 4, 193, 0, 4, 4, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 236, 249, 250, 251, 252, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 162, 162, 107, 0, 0, 0, + 243, 258, 259, 260, 261, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 161, 161, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 117, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 179, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 31, 4, 4, 4, 4, 4, 4, 117, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 254, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 263, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 78, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 32, 0, 0, 0, 0, 0 + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 162, 0, 0, 0, 0, 0 }; static RE_UINT8 re_alphabetic_table_3[] = { @@ -3439,14 +3504,14 @@ static RE_UINT8 re_alphabetic_table_3[] = { 255, 255, 255, 254, 0, 192, 255, 255, 255, 255, 239, 31, 254, 225, 0, 156, 0, 0, 255, 255, 0, 224, 255, 255, 255, 255, 3, 0, 0, 252, 255, 255, 255, 7, 48, 4, 255, 255, 255, 252, 255, 31, 0, 0, 255, 255, 255, 1, - 255, 7, 0, 0, 255, 255, 223, 255, 255, 0, 240, 255, 248, 3, 255, 255, + 255, 7, 255, 255, 255, 126, 0, 0, 255, 3, 240, 255, 248, 3, 255, 255, 255, 255, 255, 239, 255, 223, 225, 255, 15, 0, 254, 255, 239, 159, 249, 255, 255, 253, 197, 227, 159, 89, 128, 176, 15, 0, 3, 16, 238, 135, 249, 255, 255, 253, 109, 195, 135, 25, 2, 94, 0, 0, 63, 0, 238, 191, 251, 255, 255, 253, 237, 227, 191, 27, 1, 0, 15, 0, 0, 30, 238, 159, 249, 255, 159, 25, 192, 176, 15, 0, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, - 199, 29, 129, 0, 239, 223, 253, 255, 255, 253, 255, 227, 223, 29, 96, 7, - 15, 0, 0, 0, 255, 253, 239, 227, 223, 29, 96, 64, 15, 0, 6, 0, + 199, 29, 129, 0, 239, 223, 253, 255, 255, 253, 255, 227, 223, 29, 96, 39, + 15, 0, 0, 0, 255, 253, 239, 227, 223, 29, 96, 96, 15, 0, 6, 0, 255, 223, 253, 255, 255, 255, 255, 231, 223, 93, 240, 128, 15, 0, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, 127, 128, 95, 255, 0, 0, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, 127, 32, 0, 0, 214, 247, 255, 255, @@ -3455,46 +3520,48 @@ static RE_UINT8 re_alphabetic_table_3[] = { 255, 255, 0, 60, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 0, 0, 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, - 255, 223, 15, 0, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 207, 255, - 255, 1, 128, 16, 255, 7, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, - 255, 15, 255, 1, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, - 255, 255, 255, 15, 254, 255, 31, 0, 128, 0, 0, 128, 255, 255, 239, 255, - 239, 15, 0, 0, 255, 243, 0, 252, 191, 255, 3, 0, 255, 255, 127, 0, + 255, 255, 15, 128, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 207, 255, + 255, 1, 128, 16, 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 1, + 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, 255, 255, 255, 15, + 254, 255, 31, 0, 128, 0, 0, 128, 1, 112, 0, 0, 255, 255, 239, 255, + 239, 31, 0, 0, 255, 243, 0, 252, 191, 255, 3, 0, 255, 255, 127, 0, 0, 224, 0, 252, 255, 255, 255, 63, 255, 1, 255, 255, 0, 222, 111, 4, 128, 255, 31, 0, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 62, - 80, 189, 255, 243, 224, 67, 0, 0, 0, 0, 192, 255, 255, 127, 255, 255, - 31, 120, 12, 0, 255, 128, 0, 0, 127, 127, 127, 127, 0, 128, 0, 0, - 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 224, 224, 255, 255, 255, - 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 240, 143, - 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 252, 7, 0, 0, - 0, 0, 224, 255, 191, 255, 255, 255, 255, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 252, 232, 255, 255, 7, 0, 255, 255, 247, 255, 255, 255, 0, 124, - 255, 63, 0, 0, 255, 255, 127, 252, 5, 0, 0, 56, 255, 255, 60, 0, - 126, 126, 126, 0, 127, 127, 255, 255, 255, 3, 255, 255, 15, 0, 255, 255, + 80, 189, 255, 243, 224, 67, 0, 0, 0, 0, 192, 255, 31, 120, 12, 0, + 255, 128, 0, 0, 127, 127, 127, 127, 0, 128, 0, 0, 224, 0, 0, 0, + 254, 3, 62, 31, 255, 255, 127, 224, 224, 255, 255, 255, 255, 127, 0, 0, + 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 240, 143, 0, 0, 128, 255, + 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, 0, 0, 252, 255, + 191, 255, 255, 255, 255, 0, 0, 0, 47, 0, 0, 0, 0, 0, 252, 232, + 255, 255, 7, 0, 255, 255, 247, 255, 255, 255, 0, 124, 255, 63, 0, 0, + 255, 255, 127, 252, 5, 0, 0, 56, 255, 255, 60, 0, 126, 126, 126, 0, + 127, 127, 255, 255, 255, 3, 255, 255, 255, 7, 0, 0, 15, 0, 255, 255, 127, 248, 255, 255, 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 0, 0, 255, 15, 0, 0, 223, 255, 192, 255, 255, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 255, 255, 31, 0, 255, 255, 1, 0, 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, + 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 31, 0, 0, 0, 255, 27, 3, 0, 128, 0, 255, 255, - 63, 0, 0, 0, 240, 0, 255, 255, 255, 255, 71, 0, 30, 192, 0, 20, - 255, 255, 251, 255, 255, 255, 159, 64, 127, 189, 255, 191, 159, 25, 129, 224, - 187, 7, 0, 128, 3, 0, 0, 0, 179, 0, 0, 0, 255, 255, 63, 127, - 0, 0, 0, 63, 17, 0, 0, 0, 255, 255, 63, 1, 0, 0, 0, 128, - 127, 242, 111, 255, 255, 255, 191, 153, 7, 0, 0, 0, 255, 252, 255, 255, - 26, 0, 0, 0, 255, 255, 231, 127, 255, 255, 255, 32, 255, 253, 255, 255, - 255, 255, 127, 127, 0, 0, 252, 255, 255, 254, 127, 0, 127, 251, 255, 255, - 255, 255, 127, 180, 203, 0, 0, 0, 191, 253, 255, 255, 255, 127, 123, 1, - 0, 0, 1, 0, 127, 0, 0, 0, 248, 255, 255, 224, 255, 135, 255, 255, - 255, 128, 255, 255, 11, 0, 3, 0, 255, 255, 255, 0, 0, 0, 7, 0, - 255, 7, 255, 31, 255, 1, 255, 67, 255, 255, 255, 223, 100, 222, 255, 235, - 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, - 63, 255, 255, 255, 253, 255, 255, 247, 247, 15, 0, 0, 127, 255, 255, 249, + 63, 0, 0, 0, 3, 0, 0, 0, 0, 0, 62, 0, 4, 0, 255, 255, + 240, 0, 255, 255, 255, 255, 71, 0, 30, 192, 0, 20, 255, 255, 251, 255, + 255, 255, 159, 64, 127, 189, 255, 191, 159, 25, 129, 224, 187, 7, 0, 128, + 179, 0, 0, 0, 255, 255, 63, 127, 0, 0, 0, 63, 17, 0, 0, 0, + 255, 255, 63, 1, 127, 0, 0, 0, 0, 0, 0, 128, 127, 242, 111, 255, + 255, 255, 191, 153, 7, 0, 0, 0, 255, 252, 255, 255, 26, 0, 0, 0, + 255, 255, 231, 127, 255, 255, 255, 32, 255, 253, 255, 255, 255, 255, 127, 127, + 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, 203, 0, 0, 0, + 191, 253, 255, 255, 255, 127, 123, 1, 0, 0, 1, 0, 248, 255, 255, 224, + 255, 135, 255, 255, 255, 128, 255, 255, 11, 0, 3, 0, 255, 255, 255, 0, + 0, 0, 239, 111, 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 67, + 255, 255, 223, 255, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, + 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, + 253, 255, 255, 247, 255, 127, 255, 255, 247, 15, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 128, 63, 0, 64, 0, 0, 255, 15, 0, 0, - 143, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, - 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 127, 111, 255, 127, 143, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, + 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 }; RE_UINT32 re_get_alphabetic(RE_UINT32 codepoint) { @@ -3520,17 +3587,17 @@ RE_UINT32 re_get_alphabetic(RE_UINT32 codepoint) { static RE_UINT8 re_alphanumeric_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 10, 10, 10, 10, 10, 10, 10, 10, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 10, 10, 13, 31, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 10, 10, 10, 10, 10, 10, 10, 10, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 30, 13, 31, 10, 10, 10, 32, 10, 10, 10, 10, 10, 10, 10, 10, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 10, 37, 10, 10, 38, - 10, 10, 10, 10, 10, 39, 10, 10, 40, 10, 41, 42, 43, 10, 44, 10, + 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 37, 38, 10, 10, 39, + 10, 10, 10, 10, 10, 40, 10, 41, 42, 43, 44, 45, 46, 10, 47, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 45, 13, 13, 13, 46, 47, 13, - 13, 13, 13, 48, 13, 13, 13, 13, 13, 13, 49, 10, 10, 10, 50, 10, - 13, 13, 13, 13, 51, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 48, 13, 13, 13, 49, 50, 13, + 13, 13, 13, 51, 13, 13, 13, 13, 13, 13, 52, 10, 10, 10, 53, 10, + 13, 13, 13, 13, 54, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -3593,7 +3660,7 @@ static RE_UINT16 re_alphanumeric_table_2[] = { 5, 5, 5, 5, 5, 5, 6, 7, 0, 0, 8, 9, 10, 11, 5, 12, 5, 5, 5, 5, 13, 5, 5, 5, 5, 14, 15, 5, 16, 17, 18, 19, 20, 5, 21, 22, 5, 5, 23, 24, 25, 5, 26, 5, 5, 27, 5, 28, - 29, 30, 31, 32, 0, 33, 34, 35, 5, 36, 37, 38, 39, 40, 41, 42, + 29, 30, 31, 32, 33, 5, 34, 35, 5, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 48, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 58, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 0, 76, 77, 78, 0, 79, 80, 81, 82, 83, 84, 0, 0, @@ -3601,8 +3668,8 @@ static RE_UINT16 re_alphanumeric_table_2[] = { 5, 5, 90, 5, 91, 92, 93, 5, 94, 5, 74, 0, 95, 5, 5, 96, 73, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 97, 2, 5, 5, 98, 99, 100, 100, 101, 5, 102, 103, 80, - 1, 5, 5, 31, 5, 104, 5, 105, 106, 107, 108, 109, 5, 110, 111, 0, - 112, 5, 106, 113, 111, 114, 79, 0, 5, 115, 116, 0, 5, 117, 5, 118, + 1, 5, 5, 31, 5, 32, 5, 104, 105, 106, 107, 108, 5, 109, 110, 0, + 111, 5, 105, 112, 110, 113, 114, 0, 5, 115, 116, 0, 5, 117, 5, 118, 5, 119, 120, 87, 121, 66, 0, 122, 5, 5, 5, 5, 5, 5, 0, 123, 5, 5, 5, 5, 5, 5, 5, 5, 96, 5, 124, 87, 5, 125, 126, 127, 0, 0, 0, 128, 129, 0, 0, 0, 130, 131, 132, 5, 16, 0, 0, 0, @@ -3611,88 +3678,94 @@ static RE_UINT16 re_alphanumeric_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 134, 106, 5, 5, 5, 5, 135, 5, 88, 5, 136, 119, 137, 137, 5, - 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 139, 140, 73, 5, 141, 73, 5, 89, 142, 14, 5, 5, 143, 5, 0, 25, + 5, 5, 5, 5, 5, 5, 5, 134, 5, 88, 5, 135, 119, 136, 136, 5, + 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 139, 73, 5, 140, 73, 5, 89, 141, 14, 5, 5, 142, 5, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 84, 5, 5, 5, 5, 30, 0, 25, 87, 5, 5, 5, 5, 5, 5, 5, 5, - 144, 145, 5, 146, 5, 5, 5, 95, 147, 148, 5, 5, 149, 5, 150, 151, - 152, 153, 5, 100, 5, 5, 154, 155, 5, 104, 156, 84, 5, 157, 158, 106, - 5, 119, 159, 160, 5, 106, 161, 162, 163, 164, 89, 86, 5, 5, 5, 165, + 143, 144, 5, 145, 5, 5, 5, 95, 146, 147, 5, 5, 148, 5, 149, 150, + 151, 152, 5, 100, 5, 5, 153, 154, 5, 32, 155, 84, 5, 156, 157, 105, + 5, 119, 158, 159, 5, 105, 160, 161, 162, 163, 89, 86, 5, 5, 5, 164, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 166, 167, 112, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 165, 166, 111, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 168, 5, 5, 169, 0, 170, 171, 172, 5, 5, 27, 173, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 87, 25, 5, 174, 5, 153, 175, - 0, 0, 0, 176, 5, 5, 5, 84, 1, 2, 2, 108, 5, 106, 177, 0, - 178, 179, 180, 0, 5, 5, 5, 74, 0, 0, 5, 181, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 5, 182, 0, 5, 26, 104, 74, 87, 5, 183, 0, - 5, 5, 5, 5, 87, 86, 184, 112, 5, 185, 5, 186, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 119, 105, 153, 0, 0, 0, 0, - 187, 188, 105, 119, 106, 0, 0, 189, 105, 169, 0, 0, 5, 190, 0, 0, - 191, 105, 0, 84, 84, 0, 81, 192, 5, 105, 105, 156, 27, 0, 0, 0, - 5, 5, 16, 0, 5, 156, 5, 156, 5, 193, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5, 194, 0, 0, 84, 195, 196, 0, 0, 25, 192, 119, - 5, 5, 196, 57, 148, 31, 25, 197, 5, 198, 199, 200, 5, 5, 201, 0, - 202, 203, 0, 0, 204, 121, 5, 197, 39, 48, 205, 186, 0, 0, 0, 0, - 5, 5, 206, 207, 5, 5, 208, 0, 0, 0, 0, 0, 5, 209, 210, 0, - 5, 106, 211, 0, 5, 212, 80, 0, 66, 165, 0, 0, 0, 0, 0, 0, - 5, 31, 0, 0, 0, 5, 5, 213, 214, 215, 216, 0, 0, 217, 29, 218, - 5, 219, 25, 5, 220, 0, 5, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 221, 222, 223, 224, 174, 225, 0, 0, 226, 227, 228, 229, 230, 80, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 231, 0, 0, + 5, 5, 5, 167, 5, 5, 168, 0, 169, 170, 171, 5, 5, 27, 172, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 87, 25, 5, 173, 5, 152, 174, + 0, 0, 0, 175, 5, 5, 5, 84, 1, 2, 2, 107, 5, 105, 176, 0, + 177, 178, 179, 0, 5, 5, 5, 74, 0, 0, 5, 180, 0, 0, 0, 0, + 0, 0, 0, 0, 84, 5, 181, 0, 5, 26, 32, 74, 87, 5, 182, 0, + 5, 5, 5, 5, 87, 86, 183, 111, 5, 184, 5, 185, 186, 187, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 119, 104, 152, 151, 188, 0, 0, + 189, 190, 104, 119, 105, 0, 0, 191, 104, 168, 0, 0, 5, 192, 0, 0, + 193, 104, 0, 84, 84, 0, 81, 194, 5, 104, 104, 155, 27, 0, 0, 0, + 5, 5, 16, 0, 5, 155, 5, 155, 5, 195, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 196, 0, 0, 84, 197, 198, 25, 199, 25, 194, 119, + 5, 5, 198, 200, 147, 31, 201, 202, 5, 203, 204, 205, 5, 5, 206, 0, + 207, 208, 0, 0, 209, 121, 5, 202, 39, 48, 210, 211, 0, 0, 0, 0, + 5, 5, 212, 199, 5, 5, 213, 0, 0, 0, 0, 0, 5, 214, 215, 0, + 5, 105, 216, 0, 5, 217, 80, 0, 66, 164, 218, 0, 0, 0, 0, 0, + 5, 31, 0, 0, 0, 5, 5, 219, 220, 221, 222, 0, 0, 223, 29, 224, + 5, 225, 25, 5, 226, 25, 5, 31, 0, 0, 0, 0, 0, 0, 0, 0, + 227, 228, 229, 150, 173, 230, 0, 0, 231, 232, 233, 234, 235, 80, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 236, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 169, 0, 0, 0, - 5, 5, 5, 143, 5, 5, 5, 5, 5, 5, 186, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 168, 0, 0, 0, + 5, 5, 5, 142, 5, 5, 5, 5, 5, 5, 211, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 5, 5, 181, + 5, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 31, 106, 80, 0, 0, 25, 233, 5, 95, 234, 235, 95, 0, 0, 0, + 5, 31, 105, 86, 5, 105, 86, 237, 5, 95, 238, 239, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 236, 5, 237, 0, 0, 238, + 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 240, 5, 241, 0, 0, 242, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 239, - 5, 5, 5, 5, 5, 5, 105, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 243, + 5, 5, 5, 5, 5, 5, 104, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 106, 0, 240, 199, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 112, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 241, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 33, 5, 243, 244, 245, 5, 246, 247, 248, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 249, 250, 89, 33, 33, 134, 134, 221, 221, 251, 5, - 252, 253, 0, 0, 0, 0, 0, 0, 5, 254, 255, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 192, 0, 5, 5, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 245, 246, 204, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 111, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 247, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 249, 5, 250, 251, 252, 5, 253, 254, 255, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 256, 257, 89, 249, 249, 258, 258, 227, 227, 259, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 260, 261, 0, 0, 0, 0, 0, 0, 5, 262, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 25, 237, 5, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 258, 259, 260, 261, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, + 5, 5, 5, 5, 5, 5, 194, 0, 5, 5, 266, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 252, 267, 268, 269, 270, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 86, 86, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 87, 0, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 181, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 31, 5, 5, 5, 5, 5, 5, 87, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 263, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 272, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 79, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 32, 0, 0, 0, 0, 0 + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 273, 0, 0, 0, 0, 0 }; static RE_UINT8 re_alphanumeric_table_3[] = { @@ -3704,14 +3777,14 @@ static RE_UINT8 re_alphanumeric_table_3[] = { 0, 0, 255, 7, 255, 255, 255, 254, 255, 195, 255, 255, 255, 255, 239, 31, 254, 225, 255, 159, 0, 0, 255, 255, 0, 224, 255, 255, 255, 255, 3, 0, 255, 7, 48, 4, 255, 255, 255, 252, 255, 31, 0, 0, 255, 255, 255, 1, - 255, 7, 0, 0, 255, 255, 223, 255, 255, 0, 240, 255, 248, 3, 255, 255, + 255, 7, 255, 255, 255, 126, 0, 0, 255, 3, 240, 255, 248, 3, 255, 255, 255, 255, 255, 239, 255, 223, 225, 255, 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 227, 159, 89, 128, 176, 207, 255, 3, 16, 238, 135, 249, 255, 255, 253, 109, 195, 135, 25, 2, 94, 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 227, 191, 27, 1, 0, 207, 255, 0, 30, 238, 159, 249, 255, 159, 25, 192, 176, 207, 255, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 29, 129, 0, 192, 255, 0, 0, 239, 223, 253, 255, 255, 253, 255, 227, - 223, 29, 96, 7, 207, 255, 0, 0, 255, 253, 239, 227, 223, 29, 96, 64, + 223, 29, 96, 39, 207, 255, 0, 0, 255, 253, 239, 227, 223, 29, 96, 96, 207, 255, 6, 0, 255, 223, 253, 255, 255, 255, 255, 231, 223, 93, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, 127, 128, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, 127, 32, 255, 3, @@ -3720,48 +3793,51 @@ static RE_UINT8 re_alphanumeric_table_3[] = { 255, 255, 255, 31, 255, 255, 127, 249, 255, 3, 255, 255, 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 0, 0, - 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, 255, 223, 15, 0, + 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, 255, 255, 15, 128, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 207, 255, 255, 1, 128, 16, - 255, 7, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 1, - 192, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 3, - 255, 255, 255, 15, 254, 255, 31, 0, 128, 0, 0, 128, 255, 255, 239, 255, - 239, 15, 255, 3, 255, 243, 255, 255, 191, 255, 3, 0, 255, 255, 127, 0, + 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 1, 192, 255, 255, 255, + 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 3, 255, 255, 255, 15, + 254, 255, 31, 0, 128, 0, 0, 128, 1, 112, 0, 0, 255, 255, 239, 255, + 239, 31, 255, 3, 255, 243, 255, 255, 191, 255, 3, 0, 255, 255, 127, 0, 255, 227, 255, 255, 255, 1, 255, 255, 0, 222, 111, 4, 128, 255, 31, 0, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 62, 80, 189, 255, 243, - 224, 67, 0, 0, 0, 0, 192, 255, 255, 127, 255, 255, 31, 120, 12, 0, - 255, 128, 0, 0, 127, 127, 127, 127, 0, 128, 0, 0, 224, 0, 0, 0, - 254, 3, 62, 31, 255, 255, 127, 224, 224, 255, 255, 255, 255, 127, 0, 0, - 255, 31, 255, 255, 255, 15, 0, 0, 255, 127, 240, 143, 0, 0, 128, 255, - 252, 255, 255, 255, 255, 249, 255, 255, 252, 7, 0, 0, 0, 0, 224, 255, - 191, 255, 255, 255, 255, 0, 0, 0, 47, 0, 255, 3, 0, 0, 252, 232, - 255, 255, 7, 0, 255, 255, 247, 255, 0, 128, 255, 3, 255, 63, 255, 3, - 255, 255, 127, 252, 5, 0, 0, 56, 255, 255, 60, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 7, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, - 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 0, 0, 255, 15, - 0, 0, 223, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, - 255, 63, 255, 63, 255, 255, 31, 0, 255, 255, 1, 0, 15, 255, 62, 0, - 255, 255, 15, 255, 255, 0, 255, 255, 15, 0, 0, 0, 63, 253, 255, 255, - 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, - 31, 0, 0, 0, 255, 0, 255, 3, 255, 27, 3, 0, 128, 0, 255, 255, - 63, 0, 0, 0, 255, 1, 255, 3, 255, 255, 199, 255, 240, 0, 255, 255, - 255, 255, 71, 0, 30, 192, 255, 23, 255, 255, 251, 255, 255, 255, 159, 64, - 127, 189, 255, 191, 159, 25, 129, 224, 187, 7, 255, 131, 3, 0, 0, 0, - 179, 0, 255, 3, 255, 255, 63, 127, 0, 0, 0, 63, 17, 0, 255, 3, - 255, 255, 63, 1, 255, 3, 0, 128, 127, 242, 111, 255, 255, 255, 191, 153, - 7, 0, 255, 3, 255, 252, 255, 255, 26, 0, 0, 0, 255, 255, 231, 127, - 255, 255, 255, 32, 255, 253, 255, 255, 255, 255, 127, 127, 1, 0, 255, 3, - 0, 0, 252, 255, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, - 203, 0, 255, 3, 191, 253, 255, 255, 255, 127, 123, 1, 0, 0, 1, 0, - 127, 0, 0, 0, 255, 63, 0, 0, 15, 0, 255, 3, 248, 255, 255, 224, + 224, 67, 0, 0, 0, 0, 192, 255, 31, 120, 12, 0, 255, 128, 0, 0, + 127, 127, 127, 127, 0, 128, 0, 0, 224, 0, 0, 0, 254, 3, 62, 31, + 255, 255, 127, 224, 224, 255, 255, 255, 255, 127, 0, 0, 255, 31, 255, 255, + 255, 15, 0, 0, 255, 127, 240, 143, 0, 0, 128, 255, 252, 255, 255, 255, + 255, 249, 255, 255, 255, 7, 235, 3, 0, 0, 252, 255, 191, 255, 255, 255, + 255, 0, 0, 0, 47, 0, 255, 3, 0, 0, 252, 232, 255, 255, 7, 0, + 255, 255, 247, 255, 0, 128, 255, 3, 255, 63, 255, 3, 255, 255, 127, 252, + 5, 0, 0, 56, 255, 255, 60, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 7, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, 255, 63, 255, 255, + 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, + 0, 0, 248, 255, 255, 255, 252, 255, 0, 0, 255, 15, 0, 0, 223, 255, + 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, + 255, 255, 31, 0, 255, 255, 1, 0, 15, 255, 62, 0, 255, 255, 15, 255, + 255, 0, 255, 255, 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, + 255, 255, 255, 192, 111, 240, 239, 254, 31, 0, 0, 0, 255, 0, 255, 3, + 255, 27, 3, 0, 128, 0, 255, 255, 63, 0, 0, 0, 3, 0, 0, 0, + 192, 255, 62, 0, 4, 0, 255, 255, 255, 1, 255, 3, 255, 255, 199, 255, + 240, 0, 255, 255, 255, 255, 71, 0, 30, 192, 255, 23, 255, 255, 251, 255, + 255, 255, 159, 64, 127, 189, 255, 191, 159, 25, 129, 224, 15, 0, 0, 0, + 187, 7, 255, 131, 179, 0, 255, 3, 255, 255, 63, 127, 0, 0, 0, 63, + 17, 0, 255, 3, 255, 255, 63, 1, 127, 0, 0, 0, 255, 3, 0, 128, + 127, 242, 111, 255, 255, 255, 191, 153, 7, 0, 255, 3, 255, 252, 255, 255, + 26, 0, 0, 0, 255, 255, 231, 127, 255, 255, 255, 32, 255, 253, 255, 255, + 255, 255, 127, 127, 1, 0, 255, 3, 255, 254, 127, 0, 127, 251, 255, 255, + 255, 255, 127, 180, 203, 0, 255, 3, 191, 253, 255, 255, 255, 127, 123, 1, + 0, 0, 1, 0, 255, 63, 0, 0, 15, 0, 255, 3, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, 11, 0, 3, 0, 255, 255, 255, 0, - 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 67, 255, 255, 255, 223, - 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, - 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, 247, 207, 255, 255, + 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, 255, 7, 255, 31, + 255, 1, 255, 67, 255, 255, 223, 255, 255, 255, 255, 223, 100, 222, 255, 235, + 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, + 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, 247, 207, 255, 255, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 128, 63, 255, 67, 0, 0, - 255, 15, 255, 3, 143, 8, 255, 3, 150, 254, 247, 10, 132, 234, 150, 170, - 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 255, 15, 255, 3, 127, 111, 255, 127, 143, 8, 255, 3, 150, 254, 247, 10, + 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, + 3, 0, 255, 255, 255, 7, 0, 0 }; RE_UINT32 re_get_alphanumeric(RE_UINT32 codepoint) { @@ -3809,67 +3885,67 @@ static RE_UINT8 re_bidi_class_table_1[] = { 19, 13, 20, 21, 22, 23, 24, 25, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 26, 27, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 28, - 13, 13, 13, 13, 29, 30, 31, 13, 32, 13, 33, 34, 35, 36, 37, 38, + 13, 13, 13, 29, 30, 31, 32, 13, 33, 13, 34, 35, 36, 37, 38, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, - 39, 40, 40, 40, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, + 40, 41, 41, 41, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38 + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39 }; static RE_UINT16 re_bidi_class_table_2[] = { @@ -3877,84 +3953,86 @@ static RE_UINT16 re_bidi_class_table_2[] = { 7, 7, 7, 7, 7, 8, 9, 10, 11, 11, 11, 12, 13, 7, 7, 14, 7, 7, 7, 7, 15, 7, 7, 7, 7, 7, 7, 7, 16, 17, 18, 19, 20, 21, 22, 23, 21, 21, 24, 25, 26, 27, 28, 21, 21, 29, 19, 30, - 31, 32, 33, 34, 19, 21, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 31, 32, 33, 21, 34, 21, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 42, 46, 47, 45, 42, 48, 49, 41, 50, 51, 40, 52, 7, 53, 54, 55, 56, 57, 58, 41, 42, 59, 40, 60, 61, 43, 40, 41, 7, 62, 7, 7, 63, 64, 7, 7, 65, 66, 7, 67, 68, 7, 69, 70, 71, 72, 7, 7, 73, 74, 75, 76, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 77, 7, 78, 7, 7, 7, 79, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 80, 7, 7, 7, 81, 81, 82, 82, 7, 83, 84, 78, + 7, 7, 7, 7, 80, 7, 7, 7, 81, 82, 82, 82, 7, 83, 84, 78, 85, 7, 7, 7, 86, 87, 7, 7, 7, 88, 89, 7, 7, 7, 90, 91, 92, 7, 93, 94, 7, 95, 96, 7, 97, 98, 52, 99, 60, 100, 7, 101, - 7, 102, 7, 7, 7, 7, 103, 104, 7, 7, 7, 7, 7, 7, 11, 105, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 7, 120, 91, 91, 91, - 121, 91, 91, 91, 91, 91, 91, 91, 91, 122, 7, 123, 124, 91, 91, 91, - 91, 125, 126, 91, 127, 7, 7, 128, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 129, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 7, 102, 7, 7, 7, 7, 103, 104, 7, 7, 7, 7, 7, 7, 11, 11, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 7, 119, 91, 91, 91, + 120, 91, 91, 91, 91, 91, 91, 91, 91, 121, 7, 122, 123, 91, 91, 91, + 91, 124, 125, 91, 126, 7, 7, 127, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 128, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 7, 7, 7, 7, 7, 7, 7, 7, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 130, 131, 91, 91, 91, - 7, 7, 7, 7, 7, 7, 7, 132, 7, 7, 7, 133, 7, 7, 7, 11, - 91, 91, 134, 7, 135, 91, 91, 136, 91, 91, 91, 91, 91, 91, 122, 137, - 138, 139, 7, 7, 140, 79, 7, 141, 7, 7, 7, 7, 7, 7, 91, 142, - 143, 7, 144, 145, 7, 146, 147, 7, 7, 7, 7, 148, 7, 7, 90, 149, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 129, 130, 91, 91, 91, + 7, 7, 7, 7, 7, 7, 7, 131, 7, 7, 7, 132, 7, 7, 7, 11, + 91, 91, 133, 7, 134, 91, 91, 135, 91, 91, 91, 91, 91, 91, 121, 136, + 137, 138, 7, 7, 139, 79, 7, 140, 7, 7, 7, 7, 7, 7, 91, 141, + 142, 7, 143, 144, 7, 145, 146, 7, 7, 7, 7, 147, 7, 7, 90, 148, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 91, 91, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 144, 91, 125, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 150, 7, 7, 151, 56, 7, 7, 152, 91, 153, 7, 7, 154, 7, 7, 7, + 7, 7, 7, 7, 143, 91, 124, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 149, 7, 7, 150, 151, 7, 7, 152, 91, 153, 7, 7, 154, 7, 7, 7, 155, 156, 7, 157, 7, 7, 158, 159, 7, 160, 161, 7, 37, 162, 7, 163, 7, 164, 165, 42, 7, 166, 41, 167, 7, 7, 7, 168, 7, 7, 7, 169, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 170, 171, 172, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 173, 21, 21, 21, 21, 174, 175, - 176, 177, 178, 179, 21, 21, 21, 180, 181, 2, 2, 182, 7, 7, 7, 183, - 7, 7, 7, 7, 7, 7, 7, 7, 184, 7, 91, 91, 185, 79, 7, 186, - 7, 7, 7, 7, 7, 7, 7, 187, 7, 7, 7, 188, 7, 7, 7, 7, - 19, 19, 19, 19, 19, 19, 19, 19, 189, 19, 19, 19, 19, 19, 19, 19, - 190, 191, 19, 19, 19, 19, 19, 192, 19, 193, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 21, 194, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 195, 19, 196, 19, 19, 19, 172, 29, 34, 19, 19, 19, 19, - 41, 197, 198, 199, 60, 200, 7, 7, 37, 201, 7, 202, 60, 203, 204, 7, - 7, 205, 7, 7, 7, 7, 133, 206, 60, 61, 96, 207, 7, 7, 7, 7, - 7, 197, 208, 7, 7, 209, 210, 7, 7, 7, 7, 7, 7, 211, 212, 7, - 7, 213, 96, 214, 7, 215, 7, 7, 77, 216, 7, 7, 7, 7, 7, 7, - 7, 217, 7, 7, 7, 7, 7, 7, 7, 218, 219, 7, 7, 7, 220, 96, - 221, 222, 223, 7, 224, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 225, 7, 7, 226, 227, 7, 7, 7, 228, 229, 7, 230, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 231, 7, 7, 7, 7, 7, 7, 232, 233, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 173, 174, 21, 21, 21, 175, 176, + 177, 178, 179, 180, 21, 21, 21, 181, 182, 2, 2, 183, 7, 7, 7, 184, + 7, 7, 7, 7, 7, 7, 7, 7, 185, 7, 91, 91, 186, 79, 7, 187, + 7, 7, 7, 7, 7, 7, 7, 188, 7, 7, 7, 189, 7, 7, 7, 7, + 19, 19, 19, 19, 19, 19, 19, 19, 190, 19, 19, 19, 19, 19, 19, 19, + 191, 192, 19, 19, 19, 19, 19, 193, 19, 194, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 21, 195, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 196, 19, 197, 19, 19, 19, 172, 29, 198, 199, 19, 19, 19, + 41, 200, 201, 202, 60, 203, 52, 7, 37, 204, 7, 205, 60, 206, 207, 7, + 7, 208, 7, 7, 7, 7, 132, 209, 60, 61, 210, 211, 7, 7, 7, 7, + 7, 200, 212, 7, 7, 213, 214, 7, 7, 7, 7, 7, 7, 215, 216, 7, + 7, 217, 210, 218, 7, 219, 7, 7, 77, 220, 7, 7, 7, 7, 7, 7, + 7, 221, 7, 7, 7, 7, 7, 7, 7, 222, 223, 7, 7, 7, 224, 210, + 225, 226, 227, 7, 228, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 229, 7, 7, 230, 231, 7, 7, 7, 232, 233, 7, 234, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 235, 7, 7, 7, 7, 7, 7, 236, 237, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 238, 7, 239, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 234, 7, 235, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 240, 7, 241, 7, 7, 242, + 7, 7, 7, 7, 243, 244, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 236, 7, 237, 7, 7, 238, - 7, 7, 7, 7, 239, 240, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 241, 242, 243, 7, 7, - 91, 91, 244, 7, 7, 7, 7, 7, 91, 91, 245, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 11, 245, 246, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 247, 248, 249, 7, 250, + 91, 91, 251, 7, 7, 7, 7, 7, 91, 91, 252, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 141, 7, 246, 7, 247, 7, 248, 7, 249, 250, + 7, 7, 7, 7, 7, 7, 140, 7, 253, 7, 254, 7, 255, 7, 256, 257, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 11, 251, 11, 252, 253, 254, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 255, 256, 7, 7, 7, 7, 7, 7, 7, 235, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 257, 7, 7, 7, 7, 7, 7, 7, 7, - 19, 19, 19, 19, 19, 19, 258, 19, 19, 19, 259, 19, 19, 19, 19, 19, + 11, 258, 11, 259, 260, 261, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 262, 263, 7, 7, 7, 7, 7, 7, 7, 239, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 264, 7, 265, 7, 7, 7, 7, 7, 7, 7, 7, + 19, 19, 19, 19, 19, 19, 266, 19, 19, 19, 267, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 172, 21, 21, 19, 19, 21, 21, 34, 19, 19, 19, 19, 19, - 21, 21, 21, 21, 21, 21, 21, 260, 19, 19, 19, 19, 19, 19, 19, 19, - 91, 261, 91, 91, 136, 262, 263, 122, 264, 247, 7, 265, 7, 266, 7, 7, - 7, 7, 7, 182, 7, 7, 7, 7, 91, 91, 91, 91, 91, 91, 91, 91, + 19, 19, 19, 172, 21, 21, 19, 19, 21, 21, 198, 19, 19, 19, 19, 19, + 21, 21, 21, 21, 21, 21, 21, 268, 19, 19, 19, 19, 19, 19, 19, 19, + 91, 269, 91, 91, 135, 270, 271, 121, 272, 254, 7, 273, 7, 274, 7, 7, + 7, 7, 7, 183, 7, 7, 7, 7, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 267, 185, 91, 91, 91, 136, 91, 91, 268, 269, - 261, 91, 270, 91, 271, 272, 7, 7, 91, 91, 91, 273, 91, 91, 129, 91, - 91, 91, 136, 274, 275, 276, 277, 7, 91, 91, 91, 91, 278, 91, 126, 279, + 91, 91, 91, 91, 91, 91, 275, 186, 91, 91, 91, 135, 91, 91, 276, 277, + 269, 91, 278, 91, 279, 280, 7, 7, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 135, 281, 282, 283, 284, 285, 91, 91, 91, 91, 286, 91, 125, 287, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 280, - 281, 281, 281, 281, 281, 281, 281, 281, 11, 11, 11, 11, 11, 11, 11, 282, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281 + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 288, + 289, 289, 289, 289, 289, 289, 289, 289, 11, 11, 11, 11, 11, 11, 11, 290, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289 }; static RE_UINT8 re_bidi_class_table_3[] = { @@ -4027,9 +4105,9 @@ static RE_UINT8 re_bidi_class_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 11, 11, 11, 11, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 12, 12, 13, 13, 13, 13, 13, 13, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4071,7 +4149,7 @@ static RE_UINT8 re_bidi_class_table_3[] = { 10, 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, 10, 10, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 10, 10, 10, 0, 0, 0, 0, 0, 10, 10, 10, 0, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4128,7 +4206,7 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 6, 0, 10, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 1, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 1, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 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, @@ -4150,7 +4228,7 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 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, @@ -4168,8 +4246,6 @@ static RE_UINT8 re_bidi_class_table_3[] = { 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 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, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, @@ -4227,7 +4303,7 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 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, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -4263,6 +4339,8 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 5, 0, 0, 0, 0, 0, 0, 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, 10, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4306,10 +4384,12 @@ static RE_UINT8 re_bidi_class_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -4351,13 +4431,17 @@ static RE_UINT8 re_bidi_class_table_3[] = { 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 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, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 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, + 10, 0, 0, 10, 10, 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, 10, 10, 10, 10, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 0, 10, 10, 10, @@ -4372,6 +4456,8 @@ static RE_UINT8 re_bidi_class_table_3[] = { 10, 10, 0, 0, 10, 0, 10, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 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, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4440,12 +4526,18 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 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, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 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, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, 10, 10, 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, 10, 10, 10, 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, 5, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 10, 10, 10, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -4471,6 +4563,8 @@ static RE_UINT8 re_bidi_class_table_3[] = { 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 0, 10, 10, 10, 10, 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, 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, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, @@ -4493,26 +4587,26 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, - 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -4645,13 +4739,13 @@ static RE_UINT8 re_bidi_mirrored_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 40, 41, 0, 0, 0, 0, 1, 2, 42, 43, 0, 0, 0, 0, + 0, 0, 41, 42, 0, 0, 0, 0, 1, 2, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0 + 0, 0, 0, 0, 0, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0 }; static RE_UINT8 re_bidi_mirrored_table_3[] = { @@ -4664,10 +4758,10 @@ static RE_UINT8 re_bidi_mirrored_table_3[] = { 248, 255, 255, 249, 253, 255, 0, 1, 63, 194, 55, 31, 58, 3, 240, 51, 0, 252, 255, 223, 83, 122, 48, 112, 0, 0, 128, 1, 48, 188, 25, 254, 255, 255, 255, 255, 207, 191, 255, 255, 255, 255, 127, 80, 124, 112, 136, 47, - 0, 0, 0, 64, 60, 54, 0, 48, 255, 3, 0, 0, 0, 255, 243, 15, - 0, 0, 0, 126, 48, 0, 0, 0, 0, 0, 0, 168, 13, 0, 0, 0, - 0, 0, 0, 8, 0, 0, 32, 0, 0, 128, 0, 0, 0, 2, 0, 0, - 8, 0, 0, 0 + 0, 0, 0, 64, 60, 54, 0, 48, 255, 3, 0, 0, 0, 0, 224, 31, + 0, 255, 243, 15, 0, 0, 0, 126, 48, 0, 0, 0, 0, 0, 0, 168, + 13, 0, 0, 0, 0, 0, 0, 8, 0, 0, 32, 0, 0, 128, 0, 0, + 0, 2, 0, 0, 8, 0, 0, 0 }; RE_UINT32 re_get_bidi_mirrored(RE_UINT32 codepoint) { @@ -4717,15 +4811,15 @@ static RE_UINT8 re_block_table_1[] = { 13, 13, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 17, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 21, 22, 23, 23, 23, 23, 23, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 36, 37, 38, 36, 36, - 36, 39, 36, 36, 36, 36, 36, 36, 36, 36, 40, 41, 42, 42, 42, 42, - 42, 42, 43, 44, 36, 36, 36, 36, 36, 36, 36, 36, 45, 36, 36, 46, - 36, 36, 36, 36, 47, 48, 49, 36, 50, 36, 51, 52, 53, 54, 55, 36, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 58, 58, 58, 59, 60, 61, - 61, 61, 61, 62, 63, 63, 63, 63, 63, 63, 64, 36, 36, 36, 65, 36, - 66, 66, 66, 66, 67, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 36, 36, + 36, 40, 36, 36, 36, 36, 36, 36, 36, 36, 41, 42, 43, 43, 43, 43, + 43, 43, 44, 45, 36, 36, 36, 36, 36, 36, 36, 46, 47, 36, 36, 48, + 36, 36, 36, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 36, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 62, 63, 63, 63, 64, 65, 66, + 66, 66, 66, 67, 68, 68, 68, 68, 68, 68, 69, 36, 36, 36, 70, 36, + 71, 71, 71, 71, 72, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, @@ -4769,18 +4863,18 @@ static RE_UINT8 re_block_table_1[] = { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 68, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 73, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75 }; static RE_UINT16 re_block_table_2[] = { @@ -4837,95 +4931,105 @@ static RE_UINT16 re_block_table_2[] = { 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 179, 180, 181, 182, 183, 183, 183, 183, 184, 184, 184, 184, 184, 184, 184, 185, 186, 186, 186, 186, 187, 187, 187, 187, 188, 188, 189, 189, 190, 191, 192, 193, - 26, 26, 26, 26, 194, 195, 195, 196, 197, 198, 199, 200, 201, 202, 202, 26, - 203, 203, 204, 205, 206, 207, 208, 208, 209, 210, 211, 212, 26, 26, 26, 26, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 26, 26, 26, 26, - 214, 214, 215, 216, 217, 218, 26, 219, 220, 221, 26, 26, 222, 223, 223, 223, - 224, 224, 224, 225, 226, 26, 227, 227, 228, 228, 229, 230, 231, 232, 26, 26, - 233, 233, 234, 26, 235, 235, 235, 235, 236, 236, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 237, 238, 238, 26, 26, 239, 240, 241, 242, 26, 243, 244, 245, - 246, 246, 246, 246, 247, 247, 248, 249, 250, 250, 251, 252, 253, 253, 253, 254, - 255, 255, 256, 26, 257, 258, 259, 259, 260, 260, 260, 260, 26, 26, 26, 26, - 261, 261, 261, 261, 262, 262, 262, 26, 26, 26, 26, 26, 263, 263, 263, 263, - 264, 264, 264, 265, 266, 266, 267, 26, 268, 268, 26, 26, 26, 26, 26, 26, - 269, 269, 270, 26, 26, 271, 271, 271, 272, 272, 272, 26, 26, 273, 273, 273, - 274, 274, 275, 276, 276, 277, 278, 278, 26, 26, 26, 26, 26, 26, 26, 26, - 279, 279, 279, 280, 281, 281, 26, 26, 282, 282, 282, 283, 283, 284, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 285, 26, 26, 26, 26, 26, 286, 287, 287, - 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 289, 289, 289, 289, 290, 290, 290, 290, 290, 290, 291, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, - 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, - 292, 293, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, - 294, 294, 294, 294, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, - 295, 295, 296, 297, 26, 26, 298, 299, 300, 300, 300, 300, 301, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 302, 302, 302, 26, 26, 26, 303, 303, 303, 303, 303, 26, 26, 304, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 307, 307, 307, 307, 307, 307, 307, 307, - 307, 307, 307, 307, 307, 307, 307, 307, 308, 308, 308, 308, 309, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 310, 310, 310, 310, 310, 310, 310, 310, 311, 312, 313, 314, 315, 315, 315, 315, - 315, 315, 315, 315, 315, 315, 315, 315, 26, 26, 26, 26, 26, 26, 26, 26, - 316, 316, 316, 316, 316, 317, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 318, 318, 318, 318, 318, 318, 318, 318, 319, 319, 319, 319, 319, 319, 319, 319, - 320, 320, 321, 26, 26, 26, 26, 322, 323, 323, 323, 324, 26, 26, 26, 26, - 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, - 326, 326, 326, 326, 326, 327, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 328, 329, 26, 26, 26, 26, 26, 26, 330, 330, 331, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 332, 332, 26, 26, 26, 26, 26, 26, 26, 26, - 333, 333, 333, 333, 333, 333, 333, 26, 334, 334, 334, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 335, 336, 336, 26, 26, 337, 337, 338, 26, 26, 26, 26, 26, - 339, 339, 339, 339, 339, 339, 339, 339, 26, 26, 26, 26, 26, 26, 26, 26, - 340, 341, 342, 342, 342, 343, 343, 343, 344, 344, 344, 344, 344, 344, 344, 344, - 345, 345, 345, 345, 345, 345, 345, 345, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 347, 347, 348, 349, 350, 350, 350, 350, 351, 351, 351, 351, 352, 352, 352, 352, - 353, 353, 353, 353, 353, 353, 353, 353, 354, 354, 354, 354, 354, 354, 354, 354, - 355, 355, 355, 356, 357, 357, 357, 357, 358, 358, 358, 358, 358, 358, 358, 358, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 26, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, + 194, 194, 194, 194, 195, 196, 196, 197, 198, 199, 200, 201, 202, 203, 203, 194, + 204, 204, 205, 206, 207, 208, 209, 209, 210, 211, 212, 213, 214, 214, 194, 194, + 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, 194, 194, + 217, 217, 218, 219, 220, 221, 194, 222, 223, 224, 194, 194, 225, 226, 226, 226, + 227, 227, 227, 228, 229, 194, 230, 230, 231, 231, 232, 233, 234, 235, 194, 194, + 236, 236, 237, 194, 238, 238, 238, 238, 239, 239, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 240, 241, 241, 194, 194, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 250, 250, 250, 251, 251, 252, 253, 254, 254, 255, 256, 257, 257, 257, 258, + 259, 259, 260, 194, 261, 262, 263, 263, 264, 264, 264, 264, 194, 194, 194, 194, + 265, 265, 265, 265, 266, 266, 266, 194, 194, 194, 194, 194, 267, 267, 267, 267, + 268, 268, 268, 269, 270, 270, 271, 194, 272, 272, 273, 194, 194, 194, 194, 194, + 274, 274, 275, 194, 194, 276, 276, 276, 277, 277, 277, 194, 194, 278, 278, 278, + 279, 279, 280, 281, 281, 282, 283, 283, 194, 194, 194, 194, 194, 194, 194, 194, + 284, 284, 284, 285, 286, 286, 194, 194, 287, 287, 287, 288, 288, 289, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 290, 194, 194, 194, 194, 194, 291, 292, 292, + 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, + 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, + 294, 294, 294, 294, 295, 295, 295, 295, 295, 295, 296, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 297, 298, 298, 298, + 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, + 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, + 299, 300, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, + 302, 302, 303, 304, 305, 305, 306, 307, 308, 308, 308, 308, 309, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 310, 310, 310, 194, 194, 194, 311, 311, 311, 311, 311, 194, 194, 312, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 315, 315, 315, 315, 315, 315, 315, 315, + 315, 315, 315, 315, 315, 315, 315, 315, 316, 316, 316, 316, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 317, + 318, 318, 318, 318, 318, 318, 318, 318, 319, 320, 321, 322, 323, 323, 323, 323, + 323, 323, 323, 323, 323, 323, 323, 323, 194, 194, 194, 194, 194, 194, 194, 194, + 324, 324, 324, 324, 324, 325, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 326, 326, 326, 326, 326, 326, 327, 194, + 328, 328, 328, 328, 328, 328, 328, 328, 329, 329, 329, 329, 329, 329, 329, 329, + 330, 330, 331, 194, 194, 194, 194, 332, 333, 333, 333, 334, 194, 194, 194, 194, + 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, + 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, + 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, + 336, 336, 336, 336, 336, 337, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 338, 338, 338, 338, 338, 338, 338, 338, + 339, 340, 194, 194, 194, 194, 194, 194, 341, 341, 342, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 343, 344, 345, 345, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 346, + 347, 347, 347, 347, 347, 347, 347, 194, 348, 348, 348, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 349, 350, 350, 194, 194, 351, 351, 352, 194, 194, 194, 194, 194, + 353, 353, 353, 353, 353, 353, 353, 353, 194, 194, 194, 194, 194, 194, 194, 194, + 354, 355, 356, 356, 356, 357, 357, 357, 358, 358, 358, 358, 358, 358, 358, 358, + 359, 359, 359, 359, 359, 359, 359, 359, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 361, 361, 361, 361, 361, 361, - 361, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 365, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 368, 26, 26, 26, 26, 26, - 369, 369, 369, 369, 26, 26, 26, 26, 370, 370, 370, 370, 370, 370, 370, 371, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, + 361, 361, 362, 363, 364, 364, 364, 364, 365, 365, 365, 365, 366, 366, 366, 366, + 367, 367, 367, 367, 367, 367, 367, 367, 368, 368, 368, 368, 368, 368, 368, 368, + 369, 369, 369, 370, 371, 371, 371, 371, 372, 372, 372, 372, 372, 372, 372, 372, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, - 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373 + 373, 373, 373, 373, 373, 373, 373, 194, 374, 374, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 375, 375, 375, 375, 375, 375, + 375, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 377, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 379, + 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, + 380, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 382, 194, 194, 194, 194, 194, + 383, 383, 383, 383, 194, 194, 194, 194, 384, 384, 384, 384, 384, 384, 384, 385, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, + 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, + 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, + 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387 }; static RE_UINT16 re_block_table_3[] = { @@ -4980,9 +5084,7 @@ static RE_UINT16 re_block_table_3[] = { 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, @@ -5041,7 +5143,6 @@ static RE_UINT16 re_block_table_3[] = { 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, @@ -5053,38 +5154,39 @@ static RE_UINT16 re_block_table_3[] = { 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, @@ -5095,7 +5197,6 @@ static RE_UINT16 re_block_table_3[] = { 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, @@ -5111,12 +5212,13 @@ static RE_UINT16 re_block_table_3[] = { 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, 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, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, @@ -5137,9 +5239,9 @@ static RE_UINT16 re_block_table_3[] = { 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, @@ -5157,12 +5259,12 @@ static RE_UINT16 re_block_table_3[] = { 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, @@ -5171,9 +5273,9 @@ static RE_UINT16 re_block_table_3[] = { 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, @@ -5181,19 +5283,19 @@ static RE_UINT16 re_block_table_3[] = { 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 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, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, @@ -5205,14 +5307,14 @@ static RE_UINT16 re_block_table_3[] = { 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, @@ -5225,9 +5327,9 @@ static RE_UINT16 re_block_table_3[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, @@ -5235,12 +5337,12 @@ static RE_UINT16 re_block_table_3[] = { 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, @@ -5255,17 +5357,16 @@ static RE_UINT16 re_block_table_3[] = { 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, @@ -5273,6 +5374,7 @@ static RE_UINT16 re_block_table_3[] = { 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, @@ -5283,25 +5385,25 @@ static RE_UINT16 re_block_table_3[] = { 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, @@ -5309,35 +5411,36 @@ static RE_UINT16 re_block_table_3[] = { 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, @@ -5353,26 +5456,27 @@ static RE_UINT16 re_block_table_3[] = { 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, @@ -5393,129 +5497,127 @@ static RE_UINT16 re_block_table_3[] = { 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, - 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, - 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, @@ -5532,8 +5634,6 @@ static RE_UINT16 re_block_table_3[] = { 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, @@ -5541,10 +5641,14 @@ static RE_UINT16 re_block_table_3[] = { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, + 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, @@ -5553,36 +5657,32 @@ static RE_UINT16 re_block_table_3[] = { 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, - 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, - 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, - 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, - 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, @@ -5591,60 +5691,64 @@ static RE_UINT16 re_block_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, @@ -5653,30 +5757,58 @@ static RE_UINT16 re_block_table_3[] = { 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, + 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, - 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308 + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, + 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, + 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, + 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, + 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, + 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, + 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, + 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320 }; RE_UINT32 re_get_block(RE_UINT32 codepoint) { @@ -5773,59 +5905,59 @@ static RE_UINT8 re_canonical_combining_class_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 6, 7, 8, 0, 9, 0, 10, 11, 0, 0, 12, 13, 14, 15, 16, 0, 0, 0, 0, 17, - 18, 19, 20, 0, 0, 0, 21, 22, 0, 23, 24, 0, 0, 23, 25, 26, - 0, 23, 25, 0, 0, 23, 25, 0, 0, 23, 25, 0, 0, 0, 25, 0, - 0, 0, 27, 0, 0, 23, 25, 0, 0, 28, 25, 0, 0, 0, 29, 0, - 0, 30, 31, 0, 0, 32, 33, 0, 34, 35, 0, 36, 37, 0, 38, 0, - 0, 39, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, + 18, 19, 20, 0, 21, 0, 22, 23, 0, 24, 25, 0, 0, 24, 26, 27, + 0, 24, 26, 0, 0, 24, 26, 0, 0, 24, 26, 0, 0, 0, 26, 0, + 0, 24, 28, 0, 0, 24, 26, 0, 0, 29, 26, 0, 0, 0, 30, 0, + 0, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 37, 38, 0, 39, 0, + 0, 40, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 42, 42, 0, 0, 0, 0, 43, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, - 46, 0, 0, 47, 0, 48, 49, 0, 0, 50, 51, 52, 0, 53, 0, 54, - 0, 55, 0, 0, 0, 0, 56, 57, 0, 0, 0, 0, 0, 0, 58, 59, + 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 0, 0, 0, 0, 45, 0, + 0, 0, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, + 48, 0, 0, 49, 0, 50, 51, 0, 0, 52, 53, 54, 0, 55, 0, 56, + 0, 57, 0, 0, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, + 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 65, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 67, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 67, 68, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 70, 71, 0, 0, 0, 0, 51, 72, 0, 73, 74, 0, 0, 75, 76, 0, - 0, 0, 0, 0, 0, 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, 25, + 0, 0, 0, 69, 70, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 73, 0, 0, 0, 0, 53, 74, 0, 75, 76, 0, 0, 77, 78, 0, + 0, 0, 0, 0, 0, 79, 80, 81, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 83, 0, 0, 0, 0, + 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 85, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, - 0, 0, 70, 63, 0, 90, 0, 0, 91, 92, 0, 75, 0, 0, 93, 0, - 0, 94, 0, 0, 0, 0, 0, 95, 0, 96, 25, 97, 0, 0, 0, 0, - 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 63, 100, 0, - 0, 63, 0, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, - 0, 90, 0, 0, 0, 0, 0, 0, 0, 103, 104, 0, 0, 0, 0, 76, - 0, 42, 105, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 108, 0, 0, 0, + 87, 88, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 92, 0, 93, 0, 0, 0, + 0, 0, 72, 94, 0, 95, 0, 0, 96, 97, 0, 77, 0, 0, 98, 0, + 0, 99, 0, 0, 0, 0, 0, 100, 0, 101, 26, 102, 0, 0, 0, 0, + 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 65, 105, 0, + 0, 65, 0, 0, 0, 106, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, + 0, 95, 0, 0, 0, 0, 0, 0, 0, 108, 109, 0, 0, 0, 0, 78, + 0, 44, 110, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 0, 110, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 114, 0, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, - 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, + 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, 0, 0, - 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 117, 118, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 119, 120, 0, 0, + 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -5873,7 +6005,9 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 3, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 3, + 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 1, 1, 3, 1, 1, 3, 1, 1, 1, 3, 3, 3, 31, 32, 33, 1, 1, 1, 3, 1, 1, 3, 3, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5915,6 +6049,8 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, @@ -5928,7 +6064,7 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, 1, 3, 0, 3, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 1, 1, 3, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5949,7 +6085,7 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 9, 49, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 11, 11, 3, 0, 1, 8, 3, 1, 3, + 1, 1, 1, 1, 1, 1, 2, 11, 11, 3, 50, 1, 8, 3, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 6, 6, 1, 1, 1, 1, 6, 6, 6, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 6, 6, 1, 3, 1, 6, 6, 3, 3, 3, 3, @@ -5996,6 +6132,8 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, @@ -6010,6 +6148,10 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 1, 1, 3, 1, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 3, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 38, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6068,6 +6210,8 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6102,7 +6246,7 @@ static RE_UINT8 re_cased_table_1[] = { 2, 12, 2, 13, 2, 2, 14, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 17, 2, 18, 2, 2, 2, + 2, 2, 2, 2, 2, 16, 2, 17, 2, 2, 18, 2, 19, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -6180,29 +6324,31 @@ static RE_UINT8 re_cased_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 37, 38, 4, 4, 4, 4, 39, 4, 40, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 37, 4, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 41, 25, 0, 0, 0, 0, 42, 4, 4, 43, 4, 44, 45, + 0, 0, 4, 39, 25, 0, 0, 0, 0, 40, 4, 4, 41, 4, 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 5, 23, 4, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 5, 23, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, - 4, 4, 48, 0, 0, 46, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 51, 4, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 46, 0, 0, 44, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 0, 0, + 0, 0, 0, 0, 4, 54, 4, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 52, 4, 53, 54, 55, 4, 56, 57, 58, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 59, 60, 5, 52, 52, 37, 37, 61, 61, 62, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 63, 0, 0, 0, 0, 0, + 4, 4, 55, 4, 56, 57, 58, 4, 59, 60, 61, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 62, 63, 5, 55, 55, 64, 64, 65, 65, 66, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 64, 64, 36, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 69, 69, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6216,14 +6362,15 @@ static RE_UINT8 re_cased_table_3[] = { 63, 63, 255, 170, 255, 255, 255, 63, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 62, 80, 189, 31, 242, 224, 67, 0, 0, 24, 0, 0, 0, 0, 0, 192, 255, - 255, 3, 0, 0, 255, 127, 255, 255, 255, 255, 255, 127, 31, 120, 12, 0, - 191, 32, 0, 0, 255, 63, 0, 0, 252, 255, 255, 255, 255, 120, 255, 255, - 252, 7, 0, 0, 0, 0, 96, 7, 0, 0, 255, 255, 127, 0, 248, 0, - 255, 255, 0, 0, 255, 255, 15, 255, 255, 255, 255, 15, 255, 255, 7, 0, - 255, 255, 223, 255, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, - 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, - 253, 255, 255, 247, 255, 253, 255, 255, 247, 15, 0, 0, 15, 0, 0, 0, - 255, 3, 255, 255 + 255, 3, 0, 0, 31, 120, 12, 0, 191, 32, 0, 0, 255, 63, 0, 0, + 252, 255, 255, 255, 255, 120, 255, 255, 255, 7, 235, 3, 0, 0, 96, 7, + 0, 0, 255, 255, 127, 0, 248, 0, 255, 255, 0, 0, 255, 255, 15, 255, + 255, 255, 255, 15, 0, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 185, 255, 255, 255, 255, 255, 253, 7, 255, 255, 7, 0, 255, 255, 223, 255, + 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, + 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, + 255, 127, 255, 255, 255, 253, 255, 255, 247, 15, 0, 0, 255, 251, 255, 127, + 15, 0, 0, 0, 255, 3, 255, 255 }; RE_UINT32 re_get_cased(RE_UINT32 codepoint) { @@ -6251,10 +6398,10 @@ static RE_UINT8 re_case_ignorable_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 13, 14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 15, 16, - 17, 9, 18, 19, 20, 21, 22, 23, 9, 9, 9, 9, 9, 24, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25, 26, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 27, - 9, 9, 9, 9, 28, 9, 29, 9, 30, 9, 31, 9, 32, 9, 9, 9, + 17, 18, 19, 20, 21, 22, 23, 24, 9, 9, 9, 9, 9, 25, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 26, 27, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 28, 9, 9, 9, 29, + 9, 9, 9, 30, 31, 9, 32, 9, 33, 9, 34, 9, 35, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -6303,7 +6450,7 @@ static RE_UINT8 re_case_ignorable_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 33, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 36, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -6322,69 +6469,75 @@ static RE_UINT8 re_case_ignorable_table_2[] = { 0, 0, 0, 0, 0, 5, 6, 6, 6, 6, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 11, 12, 13, 14, 15, 0, 16, 17, 0, 0, 18, 19, 20, 5, 21, 0, 0, 22, 0, 23, - 24, 25, 26, 0, 0, 0, 27, 6, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 33, 37, 38, 36, 33, 39, 40, 32, 41, 42, 43, 44, 0, 45, 0, - 46, 47, 48, 43, 32, 41, 49, 43, 50, 51, 34, 43, 32, 0, 52, 0, - 0, 53, 54, 0, 0, 55, 56, 0, 57, 58, 0, 59, 60, 61, 62, 0, - 0, 63, 64, 65, 66, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, + 24, 25, 26, 0, 27, 0, 28, 6, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 34, 38, 39, 37, 34, 40, 41, 33, 42, 43, 44, 45, 0, 46, 0, + 47, 48, 49, 44, 33, 42, 50, 44, 51, 52, 35, 44, 33, 0, 53, 0, + 0, 54, 55, 0, 0, 56, 57, 0, 58, 59, 0, 60, 61, 62, 63, 0, + 0, 64, 65, 66, 67, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 69, 70, 70, 70, 0, 71, 72, 0, + 73, 0, 74, 0, 75, 76, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, + 78, 0, 79, 80, 0, 81, 82, 0, 83, 84, 45, 85, 51, 86, 0, 87, + 0, 88, 0, 89, 0, 0, 90, 91, 0, 92, 6, 93, 94, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 96, 97, + 98, 99, 0, 100, 101, 0, 5, 102, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 68, 69, 69, 0, 70, 71, 0, - 72, 0, 73, 0, 74, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, - 77, 0, 78, 79, 0, 80, 3, 0, 81, 82, 44, 83, 50, 84, 0, 85, - 0, 86, 0, 87, 0, 0, 88, 89, 0, 90, 6, 91, 92, 6, 6, 93, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 95, 96, - 97, 98, 0, 99, 100, 0, 5, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 105, 0, 0, 0, 6, + 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 108, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, + 112, 0, 0, 113, 114, 0, 0, 115, 6, 51, 0, 17, 116, 0, 0, 117, + 118, 119, 0, 0, 0, 0, 120, 121, 0, 122, 123, 0, 29, 124, 106, 75, + 0, 125, 126, 127, 0, 128, 129, 130, 0, 0, 94, 131, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 6, - 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 106, 107, 0, 0, 108, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 133, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 134, 135, 136, 0, 0, 0, 0, 137, 1, 2, 3, 17, 138, 0, 0, 139, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, + 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, - 111, 0, 0, 112, 113, 0, 0, 114, 6, 50, 0, 17, 115, 0, 0, 57, - 116, 117, 0, 0, 0, 0, 118, 119, 0, 120, 121, 0, 28, 122, 105, 74, - 0, 123, 124, 125, 0, 126, 127, 128, 0, 0, 92, 129, 0, 0, 0, 130, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 131, 50, 0, + 144, 145, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 22, 0, 148, 0, 0, 0, + 33, 149, 150, 151, 51, 152, 153, 0, 29, 154, 0, 155, 51, 156, 157, 0, + 0, 158, 0, 0, 0, 0, 137, 159, 51, 52, 3, 160, 0, 0, 0, 0, + 0, 149, 161, 0, 0, 162, 163, 0, 0, 0, 0, 0, 0, 164, 165, 0, + 0, 166, 3, 0, 0, 167, 0, 0, 68, 168, 0, 0, 0, 0, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, 0, 170, 74, 0, 0, 0, 171, 3, + 172, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 176, 0, 0, 133, 177, 0, 0, 0, 178, 179, 0, 180, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 133, 134, 0, 0, 0, 0, 135, 1, 2, 3, 17, 47, 0, 0, 136, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, - 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 139, 140, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, - 32, 143, 144, 135, 50, 145, 146, 0, 28, 147, 0, 148, 50, 149, 150, 0, - 0, 151, 0, 0, 0, 0, 135, 152, 50, 51, 3, 153, 0, 0, 0, 0, - 0, 143, 154, 0, 0, 155, 156, 0, 0, 0, 0, 0, 0, 157, 158, 0, - 0, 159, 3, 0, 0, 160, 0, 0, 67, 161, 0, 0, 0, 0, 0, 0, - 0, 162, 0, 0, 0, 0, 0, 0, 0, 163, 73, 0, 0, 0, 164, 3, - 165, 166, 167, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 169, 0, 0, 131, 170, 0, 0, 0, 171, 172, 0, 173, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 183, 0, 184, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 185, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 176, 0, 177, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 0, 0, 0, 0, 188, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 178, 0, 0, 179, - 0, 0, 0, 0, 180, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 182, 183, 0, 0, - 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 189, 150, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 191, 192, 0, 0, + 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 185, 6, 186, 187, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 193, 0, 0, 0, 0, 0, + 6, 194, 6, 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 198, 199, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 201, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, - 32, 6, 6, 6, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 133, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, + 33, 6, 6, 6, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6395,49 +6548,51 @@ static RE_UINT8 re_case_ignorable_table_3[] = { 255, 255, 255, 191, 182, 0, 0, 0, 0, 0, 16, 0, 63, 0, 255, 23, 1, 248, 255, 255, 0, 0, 1, 0, 0, 0, 192, 191, 255, 61, 0, 0, 0, 128, 2, 0, 255, 7, 0, 0, 192, 255, 1, 0, 0, 248, 63, 36, - 0, 0, 192, 255, 255, 63, 0, 0, 0, 0, 0, 14, 0, 0, 248, 255, - 7, 0, 0, 0, 0, 0, 0, 20, 254, 33, 254, 0, 12, 0, 2, 0, - 2, 0, 0, 0, 0, 0, 0, 16, 30, 32, 0, 0, 12, 0, 0, 64, - 6, 0, 0, 0, 134, 57, 2, 0, 0, 0, 35, 0, 190, 33, 0, 0, - 12, 0, 0, 252, 0, 0, 0, 144, 30, 32, 96, 0, 12, 0, 0, 0, - 4, 0, 0, 0, 1, 32, 0, 0, 17, 0, 0, 0, 0, 0, 0, 192, - 193, 61, 96, 0, 64, 48, 0, 0, 3, 0, 0, 0, 0, 0, 0, 24, - 0, 4, 92, 0, 0, 0, 242, 7, 192, 127, 0, 0, 0, 0, 242, 31, - 64, 63, 0, 0, 0, 0, 0, 3, 0, 0, 160, 2, 0, 0, 254, 127, - 223, 224, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 0, 224, 253, 102, - 0, 0, 0, 195, 1, 0, 30, 0, 100, 32, 0, 32, 0, 0, 0, 224, - 0, 0, 28, 0, 0, 0, 12, 0, 0, 0, 176, 63, 64, 254, 143, 32, - 0, 120, 0, 0, 8, 0, 0, 0, 96, 0, 0, 0, 0, 2, 0, 0, - 135, 1, 4, 14, 0, 0, 128, 9, 0, 0, 64, 127, 229, 31, 248, 159, - 128, 0, 255, 255, 15, 0, 0, 0, 0, 0, 208, 23, 0, 248, 15, 0, - 60, 59, 0, 0, 64, 163, 3, 0, 0, 240, 207, 0, 0, 0, 0, 63, - 0, 0, 247, 255, 253, 33, 16, 3, 0, 240, 255, 255, 255, 7, 0, 1, - 0, 0, 0, 248, 255, 255, 255, 251, 0, 0, 0, 160, 3, 224, 0, 224, - 0, 224, 0, 96, 0, 248, 0, 3, 144, 124, 0, 0, 223, 255, 2, 128, - 0, 0, 255, 31, 255, 255, 1, 0, 0, 0, 0, 48, 0, 128, 3, 0, - 0, 128, 0, 128, 0, 128, 0, 0, 32, 0, 0, 0, 0, 60, 62, 8, - 0, 0, 0, 126, 0, 0, 0, 112, 0, 0, 32, 0, 0, 16, 0, 0, - 0, 128, 247, 191, 0, 0, 0, 240, 0, 0, 3, 0, 0, 7, 0, 0, - 68, 8, 0, 0, 96, 16, 0, 0, 48, 0, 0, 0, 255, 255, 3, 128, - 192, 63, 0, 0, 128, 255, 3, 0, 0, 0, 200, 51, 0, 126, 102, 0, - 8, 16, 0, 0, 0, 0, 1, 16, 0, 0, 157, 193, 2, 0, 0, 32, - 0, 48, 88, 0, 0, 14, 0, 0, 32, 33, 0, 0, 0, 0, 252, 255, - 255, 255, 8, 0, 255, 255, 0, 0, 0, 0, 36, 0, 0, 0, 0, 128, - 8, 0, 0, 14, 0, 0, 0, 32, 0, 0, 192, 7, 110, 240, 0, 0, - 0, 0, 0, 135, 240, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 255, - 127, 0, 0, 0, 0, 0, 120, 38, 0, 32, 0, 0, 128, 239, 31, 0, - 0, 0, 8, 0, 0, 0, 192, 127, 0, 158, 0, 0, 0, 128, 211, 64, - 248, 7, 0, 0, 192, 31, 31, 0, 92, 0, 0, 64, 0, 0, 248, 133, - 13, 0, 0, 0, 0, 0, 60, 176, 1, 0, 0, 48, 0, 0, 248, 167, - 0, 40, 191, 0, 188, 15, 0, 0, 0, 128, 255, 6, 0, 0, 0, 88, - 0, 0, 240, 12, 254, 7, 0, 0, 0, 0, 248, 121, 128, 0, 126, 14, - 0, 252, 127, 3, 0, 0, 127, 191, 255, 252, 109, 0, 0, 0, 126, 180, - 191, 0, 0, 0, 0, 0, 163, 0, 0, 0, 24, 0, 0, 0, 255, 1, - 0, 0, 31, 0, 0, 0, 127, 0, 0, 128, 255, 255, 27, 0, 0, 0, - 0, 0, 0, 96, 128, 3, 248, 255, 231, 15, 0, 0, 0, 60, 0, 0, - 28, 0, 0, 0, 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, - 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 0, 0, 255, 63, - 0, 240, 0, 0, 240, 15, 0, 0 + 0, 0, 192, 255, 255, 63, 0, 0, 0, 0, 0, 14, 0, 1, 3, 255, + 0, 254, 255, 255, 7, 0, 0, 0, 0, 0, 0, 20, 254, 33, 254, 0, + 12, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 16, 30, 32, 0, 0, + 12, 0, 0, 64, 6, 0, 0, 0, 134, 57, 2, 0, 0, 0, 35, 0, + 190, 33, 0, 0, 12, 0, 0, 252, 0, 0, 0, 144, 30, 32, 96, 0, + 12, 0, 0, 0, 4, 0, 0, 0, 1, 32, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 208, 193, 61, 96, 0, 64, 48, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 24, 0, 4, 92, 0, 0, 0, 242, 7, 192, 127, 0, 0, + 0, 0, 242, 31, 64, 63, 0, 0, 0, 0, 0, 3, 0, 0, 160, 2, + 0, 0, 254, 127, 223, 224, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, + 0, 224, 253, 102, 0, 0, 0, 195, 1, 0, 30, 0, 100, 32, 0, 32, + 0, 0, 0, 224, 0, 0, 28, 0, 0, 0, 12, 0, 0, 0, 176, 63, + 64, 254, 143, 32, 0, 248, 0, 0, 8, 0, 0, 0, 96, 0, 0, 0, + 0, 2, 0, 0, 135, 1, 4, 14, 0, 0, 128, 9, 0, 0, 64, 127, + 229, 31, 248, 159, 128, 0, 255, 255, 255, 127, 0, 0, 15, 0, 0, 0, + 0, 0, 208, 23, 0, 248, 15, 0, 60, 59, 0, 0, 64, 163, 3, 0, + 0, 240, 207, 0, 0, 0, 0, 63, 0, 0, 247, 255, 253, 33, 16, 3, + 0, 240, 255, 255, 255, 7, 0, 1, 0, 0, 0, 248, 0, 0, 0, 160, + 3, 224, 0, 224, 0, 224, 0, 96, 0, 248, 0, 3, 144, 124, 0, 0, + 223, 255, 2, 128, 0, 0, 255, 31, 255, 255, 1, 0, 0, 0, 0, 48, + 0, 128, 3, 0, 0, 128, 0, 128, 0, 128, 0, 0, 32, 0, 0, 0, + 0, 60, 62, 8, 0, 0, 0, 126, 0, 0, 0, 112, 0, 0, 32, 0, + 0, 16, 0, 0, 0, 128, 247, 191, 0, 0, 0, 240, 0, 0, 3, 0, + 0, 7, 0, 0, 0, 0, 28, 3, 68, 8, 0, 0, 96, 16, 0, 0, + 48, 0, 0, 0, 255, 255, 3, 128, 192, 63, 0, 0, 128, 255, 3, 0, + 0, 0, 200, 51, 0, 126, 102, 0, 8, 16, 0, 0, 0, 0, 1, 16, + 0, 0, 157, 193, 2, 0, 0, 32, 0, 48, 88, 0, 0, 14, 0, 0, + 32, 33, 0, 0, 0, 0, 252, 255, 255, 255, 8, 0, 255, 255, 0, 0, + 0, 0, 36, 0, 0, 0, 0, 128, 0, 0, 0, 192, 8, 0, 0, 14, + 0, 0, 0, 32, 0, 0, 192, 7, 191, 255, 255, 255, 255, 255, 253, 7, + 110, 240, 0, 0, 0, 0, 0, 135, 240, 0, 0, 0, 0, 24, 0, 0, + 60, 0, 0, 0, 0, 0, 0, 255, 127, 0, 0, 0, 0, 0, 25, 128, + 0, 0, 120, 38, 4, 32, 0, 0, 128, 239, 31, 0, 0, 0, 8, 0, + 0, 0, 192, 127, 0, 158, 0, 0, 0, 128, 211, 64, 248, 7, 0, 0, + 192, 31, 31, 0, 92, 0, 0, 64, 0, 0, 248, 133, 13, 0, 0, 0, + 0, 0, 60, 176, 1, 0, 0, 48, 0, 0, 248, 167, 0, 40, 191, 0, + 188, 15, 0, 0, 0, 128, 255, 6, 0, 0, 0, 88, 0, 0, 240, 12, + 254, 7, 0, 0, 0, 0, 248, 121, 128, 0, 126, 14, 0, 252, 127, 3, + 0, 0, 127, 191, 255, 252, 109, 0, 0, 0, 126, 180, 191, 0, 0, 0, + 0, 0, 163, 0, 0, 0, 24, 0, 0, 0, 255, 1, 0, 0, 31, 0, + 0, 0, 127, 0, 0, 128, 255, 255, 27, 0, 0, 0, 0, 0, 239, 111, + 0, 0, 0, 96, 255, 63, 255, 255, 128, 3, 248, 255, 231, 15, 0, 0, + 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 127, 248, 255, 31, 32, 0, + 16, 0, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, + 0, 0, 255, 63, 0, 64, 0, 0, 0, 240, 0, 0, 240, 15, 0, 0 }; RE_UINT32 re_get_case_ignorable(RE_UINT32 codepoint) { @@ -6546,25 +6701,25 @@ static RE_UINT8 re_changes_when_casefolded_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 42, 0, 43, 4, 4, 4, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 20, 21, 0, 42, 4, 4, 4, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 45, 46, 0, 0, 0, 0, 47, 4, 48, 49, 50, 51, 2, + 0, 0, 4, 44, 45, 0, 0, 0, 0, 46, 4, 47, 48, 49, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 20, 20, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 20, 54, 0, 0, 0, 52, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 20, 53, 0, 0, 0, 51, 54, 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 20, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 20, 57, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6579,11 +6734,11 @@ static RE_UINT8 re_changes_when_casefolded_table_3[] = { 0, 0, 0, 63, 255, 1, 255, 255, 255, 255, 255, 231, 85, 85, 21, 76, 0, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 170, 0, 255, 0, 0, 255, 255, 156, 31, 156, 31, 0, 15, 0, 31, 156, 31, 64, 12, 4, 0, - 8, 0, 0, 0, 0, 0, 192, 255, 255, 127, 0, 0, 157, 234, 37, 192, - 5, 40, 4, 0, 85, 21, 0, 0, 85, 85, 85, 5, 84, 85, 84, 85, - 85, 85, 0, 106, 85, 40, 69, 85, 85, 125, 95, 85, 244, 2, 0, 0, - 0, 0, 255, 255, 127, 0, 248, 0, 255, 0, 0, 0, 255, 255, 15, 0, - 255, 255, 7, 0, 3, 0, 0, 0 + 8, 0, 0, 0, 0, 0, 192, 255, 157, 234, 37, 192, 5, 40, 4, 0, + 85, 21, 0, 0, 85, 85, 85, 5, 84, 85, 84, 85, 85, 85, 0, 106, + 85, 40, 69, 85, 85, 125, 95, 85, 245, 2, 65, 1, 0, 0, 255, 255, + 127, 0, 248, 0, 255, 0, 0, 0, 255, 255, 15, 0, 0, 0, 255, 247, + 255, 247, 55, 0, 255, 255, 7, 0, 3, 0, 0, 0 }; RE_UINT32 re_get_changes_when_casefolded(RE_UINT32 codepoint) { @@ -6692,25 +6847,25 @@ static RE_UINT8 re_changes_when_casemapped_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 4, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 40, 41, 42, 4, 4, 4, 43, 4, 44, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 40, 4, 4, 4, 41, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 45, 46, 0, 0, 0, 0, 47, 4, 48, 49, 40, 50, 51, + 0, 0, 4, 43, 44, 0, 0, 0, 0, 45, 4, 46, 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 4, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, - 4, 4, 55, 0, 0, 53, 56, 46, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 54, 0, 0, 52, 55, 44, 0, 0, 0, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 57, 4, 57, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 59, 4, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 58, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6725,11 +6880,12 @@ static RE_UINT8 re_changes_when_casemapped_table_3[] = { 0, 0, 0, 34, 0, 64, 0, 0, 255, 255, 255, 79, 63, 63, 255, 170, 255, 255, 255, 63, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 64, 12, 4, 0, 24, 0, 0, 0, 0, 0, 192, 255, 255, 3, 0, 0, - 255, 127, 255, 255, 255, 255, 255, 127, 255, 255, 109, 192, 15, 120, 12, 0, - 191, 32, 0, 0, 255, 63, 0, 0, 255, 255, 255, 15, 252, 255, 252, 255, - 255, 255, 0, 254, 255, 56, 223, 255, 252, 7, 0, 0, 0, 0, 96, 0, - 0, 0, 8, 0, 0, 0, 255, 255, 127, 0, 248, 0, 255, 255, 0, 0, - 255, 255, 15, 255, 255, 255, 7, 0, 15, 0, 0, 0 + 255, 255, 109, 192, 15, 120, 12, 0, 191, 32, 0, 0, 255, 63, 0, 0, + 255, 255, 255, 15, 252, 255, 252, 255, 255, 255, 0, 254, 255, 56, 223, 255, + 255, 127, 255, 255, 255, 7, 195, 3, 0, 0, 96, 0, 0, 0, 8, 0, + 0, 0, 255, 255, 127, 0, 248, 0, 255, 255, 0, 0, 255, 255, 15, 255, + 0, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, 255, 255, 7, 0, + 15, 0, 0, 0 }; RE_UINT32 re_get_changes_when_casemapped(RE_UINT32 codepoint) { @@ -6838,21 +6994,21 @@ static RE_UINT8 re_changes_when_lowercased_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 18, 39, 0, 40, 3, 3, 3, 41, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 19, 0, 39, 3, 3, 3, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 42, 43, 0, 0, 0, 0, 44, 3, 45, 46, 47, 48, 49, + 0, 0, 3, 41, 42, 0, 0, 0, 0, 43, 3, 44, 45, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 18, 50, 0, 0, 0, 26, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 49, 0, 0, 0, 26, 50, 0, 0, 0, 0, 51, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 18, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 18, 53, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6866,11 +7022,11 @@ static RE_UINT8 re_changes_when_lowercased_table_3[] = { 191, 32, 0, 0, 255, 255, 63, 0, 0, 0, 255, 255, 255, 255, 255, 231, 85, 85, 21, 64, 0, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 170, 0, 255, 0, 0, 0, 255, 0, 31, 0, 31, 0, 15, 0, 31, 0, 31, - 64, 12, 4, 0, 8, 0, 0, 0, 0, 0, 192, 255, 255, 127, 0, 0, - 157, 234, 37, 192, 5, 40, 4, 0, 85, 21, 0, 0, 85, 85, 85, 5, - 84, 85, 84, 85, 85, 85, 0, 106, 85, 40, 69, 85, 85, 125, 95, 85, - 244, 2, 0, 0, 0, 0, 32, 0, 255, 0, 0, 0, 255, 255, 15, 0, - 255, 255, 7, 0, 3, 0, 0, 0 + 64, 12, 4, 0, 8, 0, 0, 0, 0, 0, 192, 255, 157, 234, 37, 192, + 5, 40, 4, 0, 85, 21, 0, 0, 85, 85, 85, 5, 84, 85, 84, 85, + 85, 85, 0, 106, 85, 40, 69, 85, 85, 125, 95, 85, 245, 2, 65, 1, + 0, 0, 32, 0, 255, 0, 0, 0, 255, 255, 15, 0, 0, 0, 255, 247, + 255, 247, 55, 0, 255, 255, 7, 0, 3, 0, 0, 0 }; RE_UINT32 re_get_changes_when_lowercased(RE_UINT32 codepoint) { @@ -6979,25 +7135,25 @@ static RE_UINT8 re_changes_when_titlecased_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 23, 44, 45, 5, 5, 5, 46, 24, 47, 0, 0, 0, 0, 0, 0, + 0, 23, 24, 44, 5, 5, 5, 45, 24, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 48, 49, 0, 0, 0, 0, 50, 5, 51, 52, 53, 54, 55, + 0, 0, 5, 47, 48, 0, 0, 0, 0, 49, 5, 50, 51, 52, 53, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 23, 24, 24, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 23, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 58, 59, 0, 0, 0, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 57, 58, 0, 0, 0, 59, 60, 0, 0, 0, 0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -7013,12 +7169,12 @@ static RE_UINT8 re_changes_when_titlecased_table_3[] = { 0, 0, 0, 34, 0, 64, 0, 0, 170, 170, 234, 15, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 255, 0, 255, 0, 255, 63, 255, 0, 223, 64, 220, 0, 207, 0, 255, 0, 220, 0, 16, 0, 0, 0, 255, 3, 0, 0, - 255, 255, 255, 127, 98, 21, 72, 0, 10, 80, 8, 0, 191, 32, 0, 0, - 170, 42, 0, 0, 170, 170, 170, 10, 168, 170, 168, 170, 170, 170, 0, 148, - 170, 16, 154, 170, 170, 2, 160, 170, 8, 5, 0, 0, 0, 0, 64, 0, - 0, 0, 8, 0, 127, 0, 248, 0, 0, 255, 255, 255, 255, 255, 0, 0, - 0, 0, 0, 255, 255, 255, 255, 15, 255, 255, 7, 0, 252, 255, 255, 255, - 15, 0, 0, 0 + 98, 21, 72, 0, 10, 80, 8, 0, 191, 32, 0, 0, 170, 42, 0, 0, + 170, 170, 170, 10, 168, 170, 168, 170, 170, 170, 0, 148, 170, 16, 154, 170, + 170, 2, 160, 170, 10, 5, 130, 2, 0, 0, 64, 0, 0, 0, 8, 0, + 127, 0, 248, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 15, 0, 0, 128, 255, 251, 255, 251, 27, 255, 255, 7, 0, + 252, 255, 255, 255, 15, 0, 0, 0 }; RE_UINT32 re_get_changes_when_titlecased(RE_UINT32 codepoint) { @@ -7127,25 +7283,25 @@ static RE_UINT8 re_changes_when_uppercased_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 23, 45, 46, 5, 5, 5, 47, 24, 48, 0, 0, 0, 0, 0, 0, + 0, 23, 24, 45, 5, 5, 5, 46, 24, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 49, 50, 0, 0, 0, 0, 51, 5, 52, 53, 54, 55, 56, + 0, 0, 5, 48, 49, 0, 0, 0, 0, 50, 5, 51, 52, 53, 54, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 23, 24, 24, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 23, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 59, 60, 0, 0, 0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 58, 59, 0, 0, 0, 60, 61, 0, 0, 0, 0, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -7161,12 +7317,12 @@ static RE_UINT8 re_changes_when_uppercased_table_3[] = { 255, 1, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 170, 170, 234, 15, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 255, 0, 255, 0, 255, 63, 255, 255, 223, 80, 220, 16, 207, 0, 255, 0, 220, 16, 16, 0, 0, 0, - 255, 3, 0, 0, 255, 255, 255, 127, 98, 21, 72, 0, 10, 80, 8, 0, - 191, 32, 0, 0, 170, 42, 0, 0, 170, 170, 170, 10, 168, 170, 168, 170, - 170, 170, 0, 148, 170, 16, 154, 170, 170, 2, 160, 170, 8, 5, 0, 0, - 0, 0, 64, 0, 0, 0, 8, 0, 127, 0, 248, 0, 0, 255, 255, 255, - 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 255, 15, 255, 255, 7, 0, - 252, 255, 255, 255, 15, 0, 0, 0 + 255, 3, 0, 0, 98, 21, 72, 0, 10, 80, 8, 0, 191, 32, 0, 0, + 170, 42, 0, 0, 170, 170, 170, 10, 168, 170, 168, 170, 170, 170, 0, 148, + 170, 16, 154, 170, 170, 2, 160, 170, 10, 5, 130, 2, 0, 0, 64, 0, + 0, 0, 8, 0, 127, 0, 248, 0, 0, 255, 255, 255, 255, 255, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 15, 0, 0, 128, 255, 251, 255, 251, 27, + 255, 255, 7, 0, 252, 255, 255, 255, 15, 0, 0, 0 }; RE_UINT32 re_get_changes_when_uppercased(RE_UINT32 codepoint) { @@ -7274,11 +7430,11 @@ static RE_UINT8 re_dash_table_2[] = { 6, 0, 7, 8, 9, 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, - 11, 12, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 13, 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 15, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 15, 16, 17, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 16, 17, 18, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -7287,8 +7443,8 @@ static RE_UINT8 re_dash_table_3[] = { 0, 0, 0, 0, 0, 32, 0, 0, 0, 4, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 4, 0, 0, 0, 128, 4, - 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 1, 0, 0, 0, 6, 0, - 0, 0, 0, 1, 8, 0, 0, 0 + 0, 0, 0, 12, 1, 0, 0, 32, 0, 0, 0, 16, 0, 0, 1, 0, + 0, 0, 6, 0, 0, 0, 0, 1, 8, 0, 0, 0 }; RE_UINT32 re_get_dash(RE_UINT32 codepoint) { @@ -7316,14 +7472,14 @@ static RE_UINT8 re_decomposition_type_table_1[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 5, 5, 5, 5, 5, 5, 5, 5, 17, 18, - 5, 5, 5, 5, 19, 20, 21, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 19, 5, 5, 20, 21, 22, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 22, 23, 5, 5, 5, 5, 5, 24, 25, 5, 26, 5, + 5, 5, 5, 5, 23, 24, 5, 5, 5, 5, 5, 25, 26, 5, 27, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 27, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 28, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -7421,22 +7577,24 @@ static RE_UINT8 re_decomposition_type_table_2[] = { 124, 125, 60, 126, 60, 60, 62, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 135, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 158, 159, 160, 161, 162, 163, - 0, 0, 0, 0, 164, 165, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 165, 0, 0, + 0, 0, 0, 0, 166, 167, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 172, 0, 173, 174, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 175, 176, 175, 177, 178, 179, 175, 180, 181, 182, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 183, 175, 175, 175, 175, 175, 175, 175, 175, 184, 175, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 174, 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 179, 185, 186, 187, 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 190, 191, 192, 193, 194, 0, 0, 0, - 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 177, 177, 178, 177, 179, 180, 181, 177, 182, 183, 184, 177, 177, 177, 177, 177, + 177, 177, 177, 177, 177, 185, 177, 177, 177, 177, 177, 177, 177, 177, 186, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 181, 187, 188, 189, 190, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 193, 194, 195, 196, 0, 0, 0, + 197, 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -7683,7 +7841,7 @@ static RE_UINT8 re_decomposition_type_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 3, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, @@ -7770,6 +7928,10 @@ static RE_UINT8 re_decomposition_type_table_3[] = { 0, 0, 17, 17, 17, 17, 17, 17, 0, 0, 17, 17, 17, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, @@ -7944,25 +8106,25 @@ static RE_UINT8 re_default_ignorable_code_point_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 7, 8, 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, 11, 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, - 10, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 12, - 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 11, + 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14 }; static RE_UINT8 re_default_ignorable_code_point_table_3[] = { 0, 0, 0, 0, 0, 32, 0, 0, 0, 128, 0, 0, 0, 0, 0, 16, - 0, 0, 0, 128, 1, 0, 0, 0, 0, 0, 48, 0, 0, 120, 0, 0, - 0, 248, 0, 0, 0, 124, 0, 0, 255, 255, 0, 0, 16, 0, 0, 0, - 0, 0, 255, 1, 15, 0, 0, 0, 0, 0, 248, 7, 255, 255, 255, 255 + 0, 0, 0, 128, 1, 0, 0, 0, 0, 0, 48, 0, 0, 248, 0, 0, + 0, 124, 0, 0, 255, 255, 0, 0, 16, 0, 0, 0, 0, 0, 255, 1, + 15, 0, 0, 0, 0, 0, 248, 7, 255, 255, 255, 255 }; RE_UINT32 re_get_default_ignorable_code_point(RE_UINT32 codepoint) { @@ -8012,10 +8174,10 @@ static RE_UINT8 re_diacritic_table_1[] = { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 13, 14, - 15, 8, 16, 17, 18, 19, 20, 21, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 22, 23, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 24, 8, 8, 8, 25, 8, 26, 8, 8, 8, 8, 8, + 15, 16, 17, 18, 19, 20, 21, 22, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 23, 24, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 25, 8, 8, 8, 8, + 8, 8, 8, 26, 27, 8, 8, 8, 28, 8, 29, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, @@ -8083,55 +8245,61 @@ static RE_UINT8 re_diacritic_table_2[] = { 0, 0, 0, 0, 0, 4, 5, 5, 5, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 11, 12, 13, 0, 0, 0, 14, 0, 0, 0, 15, 16, 0, 4, 17, 0, 0, 18, 0, 19, - 20, 0, 0, 0, 0, 0, 0, 21, 0, 22, 23, 24, 0, 22, 25, 0, - 0, 22, 25, 0, 0, 22, 25, 26, 0, 22, 27, 0, 0, 0, 25, 0, - 0, 0, 25, 0, 0, 22, 25, 0, 0, 28, 25, 0, 0, 0, 29, 0, - 0, 0, 30, 0, 0, 31, 32, 0, 20, 33, 0, 0, 34, 0, 35, 0, - 0, 36, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 41, 0, 42, 0, 0, 0, 43, 44, 45, 0, 46, 0, 0, - 0, 47, 0, 48, 0, 0, 4, 49, 0, 50, 5, 17, 0, 0, 51, 52, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 55, + 20, 0, 0, 0, 21, 0, 22, 23, 0, 24, 25, 26, 0, 24, 27, 0, + 0, 24, 27, 0, 0, 24, 27, 28, 0, 24, 29, 0, 0, 0, 27, 0, + 0, 24, 27, 0, 0, 24, 27, 0, 0, 30, 27, 0, 0, 0, 31, 0, + 0, 0, 32, 0, 0, 33, 34, 0, 20, 35, 0, 0, 36, 0, 37, 0, + 0, 38, 0, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 42, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 45, 46, 0, 0, 47, 48, 49, 0, 50, 0, 0, + 0, 51, 0, 52, 0, 0, 4, 53, 0, 54, 5, 17, 0, 0, 55, 56, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 58, 0, 0, 59, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 62, 0, 0, 63, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 60, 61, 0, 0, 62, 5, 63, 0, 0, 64, 0, 0, 20, - 0, 0, 0, 0, 0, 0, 44, 65, 0, 66, 67, 0, 0, 67, 2, 68, - 0, 0, 0, 69, 0, 15, 70, 71, 0, 0, 72, 73, 0, 0, 0, 74, + 0, 0, 0, 64, 65, 0, 0, 66, 5, 67, 0, 0, 68, 0, 0, 20, + 0, 0, 0, 0, 0, 0, 48, 69, 0, 70, 71, 0, 0, 71, 2, 72, + 0, 0, 0, 73, 0, 15, 74, 75, 0, 0, 76, 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 1, 2, 76, 77, 0, 0, 78, + 0, 79, 0, 0, 0, 0, 0, 0, 0, 1, 2, 80, 81, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 0, 0, 82, 0, 67, 0, 0, 83, 0, - 0, 84, 0, 0, 0, 0, 0, 85, 0, 22, 25, 86, 0, 0, 0, 0, - 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 15, 2, 0, - 0, 15, 0, 0, 0, 47, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 0, 90, 78, 0, 0, 0, 0, 2, - 0, 43, 91, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 93, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 84, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 87, 0, 0, 0, + 0, 0, 37, 80, 0, 88, 0, 0, 0, 89, 0, 71, 0, 0, 90, 0, + 0, 91, 0, 0, 0, 0, 0, 92, 0, 24, 27, 93, 0, 0, 0, 0, + 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 15, 2, 0, + 0, 15, 0, 0, 0, 51, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, + 0, 88, 0, 0, 0, 0, 0, 0, 0, 97, 82, 0, 0, 0, 0, 2, + 0, 47, 98, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 95, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 101, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 62, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 98, 99, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 105, 106, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 108, 109, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 110, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -8141,27 +8309,30 @@ static RE_UINT8 re_diacritic_table_3[] = { 48, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 2, 0, 0, 254, 255, 251, 255, 255, 191, 22, 0, 0, 0, 0, 248, 135, 1, 0, 0, 0, 128, 97, 28, 0, 0, 255, 7, 0, 0, 192, 255, 1, 0, 0, 248, 63, 0, - 0, 0, 0, 3, 248, 255, 255, 127, 0, 0, 0, 16, 0, 32, 30, 0, - 0, 0, 2, 0, 0, 32, 0, 0, 0, 0, 0, 224, 0, 32, 32, 0, - 0, 0, 0, 24, 0, 4, 0, 0, 128, 95, 0, 0, 0, 0, 0, 4, - 0, 31, 0, 0, 0, 0, 160, 194, 220, 0, 0, 0, 64, 0, 0, 0, - 0, 0, 128, 6, 24, 62, 0, 0, 128, 191, 0, 12, 0, 254, 15, 32, - 0, 0, 0, 14, 0, 0, 224, 159, 0, 0, 255, 63, 0, 0, 16, 0, + 0, 0, 0, 3, 0, 0, 0, 255, 0, 254, 7, 0, 248, 255, 255, 127, + 0, 0, 0, 16, 0, 32, 30, 0, 0, 0, 2, 0, 0, 32, 0, 0, + 0, 0, 0, 224, 0, 32, 32, 0, 0, 0, 0, 24, 0, 4, 0, 0, + 128, 95, 0, 0, 0, 0, 0, 4, 0, 31, 0, 0, 0, 0, 160, 194, + 220, 0, 0, 0, 64, 0, 0, 0, 0, 0, 128, 6, 24, 62, 0, 0, + 128, 191, 0, 12, 0, 0, 48, 0, 0, 254, 15, 32, 0, 0, 0, 14, + 0, 0, 224, 159, 0, 0, 255, 127, 254, 15, 0, 0, 0, 0, 16, 0, 16, 0, 0, 0, 0, 248, 15, 0, 0, 12, 0, 0, 0, 0, 192, 0, 0, 0, 0, 63, 255, 33, 144, 3, 0, 240, 255, 255, 240, 255, 0, 0, - 0, 0, 224, 227, 0, 0, 0, 160, 3, 224, 0, 224, 0, 224, 0, 96, + 0, 0, 224, 255, 0, 0, 0, 160, 3, 224, 0, 224, 0, 224, 0, 96, 0, 128, 3, 0, 0, 128, 0, 0, 0, 252, 0, 0, 0, 0, 0, 30, 0, 128, 0, 176, 0, 0, 0, 48, 0, 0, 3, 0, 3, 0, 0, 0, 0, 7, 0, 0, 255, 255, 3, 0, 0, 120, 0, 0, 0, 0, 8, 0, 32, 0, 0, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 248, 0, 14, 0, 0, 0, 48, 0, 0, 255, 255, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 192, 8, 0, 0, 0, 96, 0, 0, 0, - 252, 0, 0, 0, 0, 0, 0, 6, 0, 0, 24, 0, 1, 28, 0, 0, - 0, 0, 96, 0, 0, 6, 0, 0, 192, 31, 31, 0, 68, 0, 0, 0, - 12, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 96, 128, 0, 0, 0, - 52, 0, 0, 0, 0, 0, 128, 0, 0, 0, 31, 0, 0, 0, 127, 0, - 0, 128, 255, 255, 128, 227, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, - 0, 240, 0, 0, 112, 7, 0, 0 + 0, 0, 1, 0, 0, 0, 0, 192, 8, 0, 0, 0, 191, 255, 255, 255, + 255, 255, 253, 7, 96, 0, 0, 0, 252, 0, 0, 0, 60, 0, 0, 0, + 0, 0, 0, 6, 0, 0, 24, 0, 1, 28, 0, 0, 0, 0, 96, 0, + 0, 6, 0, 0, 192, 31, 31, 0, 68, 0, 0, 0, 12, 0, 0, 0, + 0, 8, 0, 0, 0, 0, 0, 96, 128, 0, 0, 0, 52, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 31, 0, 0, 0, 127, 0, 0, 128, 255, 255, + 0, 0, 239, 111, 255, 63, 255, 255, 127, 0, 0, 0, 128, 227, 7, 248, + 231, 15, 0, 0, 0, 60, 0, 0, 0, 64, 0, 0, 0, 240, 0, 0, + 112, 7, 0, 0 }; RE_UINT32 re_get_diacritic(RE_UINT32 codepoint) { @@ -8191,16 +8362,16 @@ static RE_UINT8 re_east_asian_width_table_1[] = { 9, 9, 9, 9, 9, 13, 2, 2, 14, 14, 14, 14, 14, 14, 15, 16, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 17, 9, 9, 9, 9, - 9, 18, 9, 19, 2, 2, 2, 2, 2, 2, 2, 2, 20, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 21, 22, 23, 2, + 9, 18, 9, 19, 2, 2, 2, 2, 2, 2, 2, 20, 21, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 22, 23, 24, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 24, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 24, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -8241,18 +8412,18 @@ static RE_UINT8 re_east_asian_width_table_1[] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 25, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 26, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 26, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 26 + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27 }; static RE_UINT8 re_east_asian_width_table_2[] = { @@ -8296,20 +8467,22 @@ static RE_UINT8 re_east_asian_width_table_2[] = { 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 97, 21, 21, 21, 21, 21, 21, 70, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 21, 21, 21, 21, 21, 21, 21, 21, 73, 0, 99, 100, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 0, 103, 0, 104, 105, 14, 106, 107, 108, 0, 0, - 109, 101, 110, 111, 0, 0, 0, 0, 21, 112, 21, 113, 69, 21, 114, 115, - 21, 73, 116, 21, 21, 21, 21, 117, 21, 118, 119, 120, 121, 102, 0, 122, - 21, 21, 123, 0, 21, 21, 124, 125, 0, 0, 0, 0, 0, 0, 0, 126, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, 21, 21, 131, 21, - 0, 0, 0, 132, 133, 134, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 100, 101, 102, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 103, 0, 0, 0, 0, 0, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 105, 0, 106, 107, 14, 108, 109, 110, 0, 0, + 111, 103, 112, 113, 0, 0, 0, 0, 21, 114, 21, 115, 69, 21, 116, 117, + 21, 73, 118, 21, 21, 21, 21, 119, 21, 120, 121, 122, 123, 104, 0, 124, + 21, 21, 125, 0, 21, 21, 126, 127, 0, 0, 0, 0, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 131, 21, 21, 21, 21, 21, + 0, 0, 0, 132, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 118, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 120, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 136 + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 137 }; static RE_UINT8 re_east_asian_width_table_3[] = { @@ -8512,6 +8685,10 @@ static RE_UINT8 re_east_asian_width_table_3[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 0, + 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -8562,28 +8739,26 @@ static RE_UINT8 re_east_asian_width_table_3[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, - 3, 3, 3, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0 @@ -8695,8 +8870,8 @@ static RE_UINT8 re_emoji_table_2[] = { 39, 40, 41, 0, 0, 0, 0, 0, 42, 43, 42, 42, 44, 42, 42, 45, 42, 42, 42, 42, 42, 42, 42, 46, 42, 47, 48, 49, 50, 51, 52, 53, 42, 42, 54, 0, 42, 42, 55, 56, 0, 0, 0, 0, 0, 0, 0, 57, - 0, 0, 0, 0, 0, 0, 0, 0, 58, 59, 60, 61, 42, 42, 62, 42, - 0, 0, 0, 63, 64, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 58, 59, 60, 42, 42, 42, 42, 42, + 0, 0, 0, 61, 62, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_emoji_table_3[] = { @@ -8713,10 +8888,10 @@ static RE_UINT8 re_emoji_table_3[] = { 0, 128, 252, 7, 0, 0, 3, 0, 255, 255, 255, 255, 243, 255, 255, 255, 255, 255, 207, 206, 255, 255, 185, 255, 255, 255, 255, 191, 255, 255, 255, 63, 0, 126, 255, 255, 255, 128, 249, 7, 128, 60, 97, 0, 48, 1, 6, 16, - 28, 0, 14, 112, 10, 129, 8, 252, 255, 255, 0, 0, 63, 248, 231, 0, - 63, 26, 249, 31, 255, 15, 0, 0, 0, 240, 255, 255, 255, 255, 255, 247, - 191, 255, 255, 255, 255, 255, 255, 253, 255, 239, 255, 255, 0, 0, 31, 7, - 127, 0, 255, 255, 255, 1, 127, 0, 7, 0, 127, 0 + 28, 0, 14, 112, 10, 129, 8, 252, 255, 255, 0, 0, 63, 248, 231, 224, + 63, 26, 249, 31, 255, 15, 1, 0, 0, 240, 255, 255, 255, 255, 255, 247, + 191, 255, 255, 255, 0, 0, 31, 31, 127, 0, 255, 255, 255, 31, 255, 7, + 63, 0, 255, 3, 255, 0, 127, 0 }; RE_UINT32 re_get_emoji(RE_UINT32 codepoint) { @@ -8942,7 +9117,7 @@ static RE_UINT8 re_emoji_modifier_base_table_2[] = { 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 0, 12, 0, 0, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 17, 0, 18, 19, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_emoji_modifier_base_table_3[] = { @@ -8950,7 +9125,8 @@ static RE_UINT8 re_emoji_modifier_base_table_3[] = { 32, 0, 0, 0, 156, 28, 0, 0, 204, 255, 1, 0, 192, 255, 255, 17, 238, 128, 2, 0, 0, 4, 0, 0, 0, 0, 48, 4, 0, 0, 97, 0, 224, 248, 0, 0, 8, 0, 112, 0, 1, 16, 0, 0, 0, 144, 0, 255, - 64, 0, 255, 115, 0, 0, 128, 0, 0, 0, 96, 11, 0, 224, 254, 63 + 64, 0, 255, 115, 0, 0, 128, 0, 0, 0, 96, 11, 0, 224, 254, 63, + 56, 0, 0, 0, 0, 0, 127, 0 }; RE_UINT32 re_get_emoji_modifier_base(RE_UINT32 codepoint) { @@ -9057,8 +9233,8 @@ static RE_UINT8 re_emoji_presentation_table_2[] = { 22, 23, 24, 0, 0, 0, 0, 0, 25, 26, 25, 27, 28, 25, 29, 30, 25, 31, 32, 25, 25, 25, 25, 33, 25, 34, 35, 36, 37, 18, 0, 38, 25, 25, 39, 0, 25, 25, 40, 41, 0, 0, 0, 0, 0, 0, 0, 42, - 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 25, 25, 47, 25, - 0, 0, 0, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 25, 25, 25, 25, 25, + 0, 0, 0, 46, 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_emoji_presentation_table_3[] = { @@ -9072,9 +9248,9 @@ static RE_UINT8 re_emoji_presentation_table_3[] = { 255, 255, 15, 0, 255, 135, 15, 0, 255, 255, 17, 255, 255, 255, 255, 127, 253, 255, 255, 255, 255, 255, 255, 159, 255, 255, 255, 63, 0, 120, 255, 255, 255, 0, 0, 4, 0, 0, 96, 0, 0, 0, 0, 248, 255, 255, 0, 0, - 63, 16, 231, 0, 0, 24, 240, 31, 255, 15, 0, 0, 0, 240, 255, 255, - 255, 255, 255, 247, 191, 255, 255, 255, 255, 255, 255, 253, 255, 239, 255, 255, - 0, 0, 31, 7, 127, 0, 255, 255, 255, 1, 127, 0, 7, 0, 127, 0 + 63, 16, 231, 224, 0, 24, 240, 31, 255, 15, 1, 0, 0, 240, 255, 255, + 255, 255, 255, 247, 191, 255, 255, 255, 0, 0, 31, 31, 127, 0, 255, 255, + 255, 31, 255, 7, 63, 0, 255, 3, 255, 0, 127, 0 }; RE_UINT32 re_get_emoji_presentation(RE_UINT32 codepoint) { @@ -9232,10 +9408,10 @@ static RE_UINT8 re_extender_table_1[] = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 9, 10, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, - 4, 4, 4, 4, 12, 13, 14, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 15, 16, 4, 4, 4, 4, + 4, 12, 4, 4, 13, 14, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 16, 17, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 17, 4, 18, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 18, 4, 19, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -9324,18 +9500,20 @@ static RE_UINT8 re_extender_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -9345,8 +9523,8 @@ static RE_UINT8 re_extender_table_3[] = { 8, 0, 0, 0, 128, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 8, 32, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 96, 0, 0, 0, 112, 0, 16, 0, 0, 0, 128, 0, 0, 0, 0, 1, 0, 0, 0, 0, 32, - 0, 0, 24, 0, 192, 1, 0, 0, 0, 0, 0, 1, 12, 0, 0, 0, - 11, 0, 0, 0, 0, 0, 0, 48, 112, 0, 0, 0 + 0, 0, 24, 0, 6, 0, 0, 0, 192, 1, 0, 0, 0, 0, 0, 1, + 12, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 48, 112, 0, 0, 0 }; RE_UINT32 re_get_extender(RE_UINT32 codepoint) { @@ -9372,72 +9550,72 @@ RE_UINT32 re_get_extender(RE_UINT32 codepoint) { static RE_UINT8 re_general_category_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 19, 20, 20, 21, 21, 21, 21, 21, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34, 13, 35, 34, 34, - 34, 36, 34, 34, 34, 34, 34, 34, 34, 34, 37, 38, 13, 13, 13, 13, - 13, 39, 13, 40, 34, 34, 34, 34, 34, 34, 34, 34, 41, 34, 34, 42, - 34, 34, 34, 34, 43, 44, 45, 34, 46, 34, 47, 48, 49, 50, 51, 34, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 52, 13, 13, 13, 53, 54, 13, - 13, 13, 13, 55, 13, 13, 13, 13, 13, 13, 56, 34, 34, 34, 57, 34, - 13, 13, 13, 13, 58, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 59, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 60, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 60 + 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 18, 19, 19, 20, 20, 20, 20, 20, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 13, 35, 33, 33, + 33, 36, 33, 33, 33, 33, 33, 33, 33, 33, 37, 38, 13, 13, 13, 13, + 13, 39, 13, 40, 33, 33, 33, 33, 33, 33, 33, 41, 42, 33, 33, 43, + 33, 33, 33, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 33, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 56, 13, 13, 13, 57, 58, 13, + 13, 13, 13, 59, 13, 13, 13, 13, 13, 13, 60, 33, 33, 33, 61, 33, + 13, 13, 13, 13, 62, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 63, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 64, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 64 }; static RE_UINT16 re_general_category_table_2[] = { @@ -9445,124 +9623,132 @@ static RE_UINT16 re_general_category_table_2[] = { 7, 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 23, 24, 25, 26, 27, 28, 29, 17, 7, 30, 7, 31, 7, 7, 32, 33, 17, 34, 35, 36, 37, 38, 39, 40, 41, 39, 39, 42, 43, 44, 45, 46, 39, 39, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 54, 101, 102, 103, 54, 104, 105, 106, 107, 108, 109, 110, 54, + 50, 51, 52, 53, 54, 39, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 100, 104, 105, 106, 107, 108, 109, 110, 100, 39, 111, 112, 113, 114, 28, 115, 116, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 117, 39, 118, 119, 120, 39, 121, 39, 122, 123, 124, 28, 28, 125, 126, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 127, 128, 39, 39, 129, 130, 131, 132, 133, 39, 134, 135, 136, 137, 39, 138, 139, 140, 141, 39, 142, 143, 144, 145, 146, 39, 147, 148, 149, - 150, 39, 151, 152, 153, 154, 155, 54, 156, 157, 158, 159, 160, 161, 39, 162, - 39, 163, 164, 165, 166, 167, 168, 169, 17, 170, 171, 172, 173, 171, 22, 174, - 7, 7, 7, 7, 175, 7, 7, 7, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 200, 200, 200, 200, 200, 200, 200, 201, 202, 149, 203, 204, 205, 206, 207, - 149, 208, 209, 210, 211, 149, 149, 212, 149, 149, 149, 149, 149, 213, 214, 215, - 149, 149, 149, 216, 149, 149, 149, 149, 149, 149, 149, 217, 218, 149, 219, 220, - 149, 149, 149, 149, 149, 149, 149, 149, 200, 200, 200, 200, 221, 200, 222, 223, - 200, 200, 200, 200, 200, 200, 200, 200, 149, 224, 225, 226, 227, 149, 149, 149, - 28, 228, 229, 230, 7, 7, 7, 231, 17, 232, 39, 233, 234, 235, 235, 22, - 236, 237, 238, 54, 239, 149, 149, 240, 149, 149, 149, 149, 149, 149, 241, 242, - 243, 244, 98, 39, 245, 126, 39, 246, 247, 248, 39, 39, 249, 39, 149, 250, - 251, 252, 253, 149, 252, 254, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 150, 39, 151, 152, 153, 154, 155, 100, 156, 157, 158, 159, 160, 161, 39, 162, + 39, 163, 164, 165, 166, 167, 168, 169, 17, 170, 171, 172, 173, 171, 22, 22, + 7, 7, 7, 7, 174, 7, 7, 7, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 199, 199, 199, 199, 199, 199, 199, 200, 201, 149, 202, 203, 204, 205, 206, + 149, 207, 208, 209, 210, 149, 149, 211, 149, 149, 149, 149, 149, 212, 213, 214, + 149, 149, 149, 215, 149, 149, 149, 149, 149, 149, 149, 216, 217, 149, 218, 219, + 149, 149, 149, 149, 149, 149, 149, 149, 199, 199, 199, 199, 220, 199, 221, 222, + 199, 199, 199, 199, 199, 199, 199, 199, 149, 223, 224, 225, 226, 149, 149, 149, + 28, 29, 17, 227, 7, 7, 7, 228, 17, 229, 39, 230, 231, 232, 232, 22, + 233, 234, 235, 100, 236, 149, 149, 237, 149, 149, 149, 149, 149, 149, 238, 239, + 240, 241, 97, 39, 242, 126, 39, 243, 244, 245, 39, 39, 246, 39, 149, 247, + 248, 249, 250, 149, 249, 251, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 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, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 149, 149, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 252, 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, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 255, - 256, 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, 257, 149, 258, 165, 39, 39, 39, 39, 39, 39, 39, 39, - 259, 260, 7, 261, 262, 39, 39, 263, 264, 265, 7, 266, 267, 268, 269, 270, - 271, 272, 39, 273, 274, 275, 276, 277, 48, 278, 279, 255, 58, 280, 281, 282, - 39, 283, 284, 285, 39, 286, 287, 288, 289, 290, 291, 292, 17, 17, 39, 293, + 39, 39, 39, 39, 253, 149, 254, 165, 39, 39, 39, 39, 39, 39, 39, 39, + 255, 256, 7, 257, 258, 39, 39, 259, 260, 261, 7, 262, 263, 264, 265, 266, + 267, 268, 39, 269, 270, 271, 272, 273, 48, 274, 275, 276, 57, 277, 278, 279, + 39, 280, 281, 282, 39, 283, 284, 285, 286, 287, 288, 289, 17, 17, 39, 290, 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, 294, 295, 296, - 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 299, 39, 39, 300, 54, 301, 302, 303, 39, 39, 304, 305, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 306, 307, 39, 308, 39, 309, 310, - 311, 312, 313, 314, 39, 39, 39, 315, 316, 2, 317, 318, 319, 143, 320, 321, - 322, 323, 324, 54, 39, 39, 39, 325, 326, 327, 195, 328, 329, 330, 331, 332, - 54, 54, 54, 54, 255, 39, 333, 334, 39, 335, 336, 337, 338, 39, 339, 54, - 28, 340, 341, 39, 342, 343, 344, 345, 39, 346, 39, 347, 54, 54, 54, 54, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 234, 142, 309, 54, 54, 54, 54, - 348, 349, 350, 351, 143, 352, 54, 353, 354, 355, 54, 54, 39, 356, 357, 210, - 358, 359, 360, 361, 362, 54, 363, 364, 39, 365, 366, 367, 368, 369, 54, 54, - 39, 39, 370, 54, 28, 371, 17, 372, 39, 373, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 374, 39, 375, 54, 54, 362, 376, 377, 54, 54, 307, 378, 234, - 379, 380, 381, 382, 160, 383, 384, 385, 386, 387, 388, 389, 160, 390, 391, 392, - 393, 394, 54, 54, 395, 396, 397, 398, 399, 400, 401, 402, 54, 54, 54, 54, - 39, 403, 404, 405, 39, 406, 407, 54, 54, 54, 54, 54, 39, 408, 409, 54, - 39, 410, 411, 412, 39, 413, 414, 54, 122, 415, 54, 54, 54, 54, 54, 54, - 39, 416, 54, 54, 54, 28, 17, 417, 418, 419, 420, 54, 54, 421, 422, 423, - 424, 425, 426, 39, 427, 428, 39, 139, 54, 54, 54, 54, 54, 54, 54, 54, - 429, 430, 431, 432, 433, 434, 54, 54, 435, 436, 437, 438, 439, 414, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 440, 54, 54, 54, 54, 54, 441, 442, 443, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 291, 292, 293, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 296, 39, 39, 297, 100, 298, 299, 300, 39, 39, 301, 302, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 303, 304, 39, 305, 39, 306, 307, + 308, 309, 310, 311, 39, 39, 39, 312, 313, 2, 314, 315, 316, 143, 317, 318, + 319, 320, 321, 100, 39, 39, 39, 322, 323, 324, 194, 325, 326, 327, 328, 329, + 100, 100, 100, 100, 276, 39, 330, 331, 39, 332, 333, 334, 335, 39, 336, 100, + 28, 337, 338, 39, 339, 340, 341, 342, 39, 343, 39, 344, 345, 346, 100, 100, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 231, 142, 347, 348, 349, 100, 100, + 350, 351, 352, 353, 143, 354, 100, 355, 356, 357, 100, 100, 39, 358, 359, 209, + 360, 361, 362, 363, 364, 100, 365, 366, 39, 367, 368, 369, 370, 371, 100, 100, + 39, 39, 372, 100, 28, 373, 17, 374, 39, 375, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 376, 39, 377, 100, 100, 364, 378, 379, 380, 381, 380, 382, 231, + 383, 384, 385, 386, 160, 387, 388, 389, 390, 391, 392, 393, 160, 394, 395, 396, + 397, 398, 100, 100, 399, 400, 401, 402, 403, 404, 405, 406, 100, 100, 100, 100, + 39, 407, 408, 409, 39, 410, 411, 100, 100, 100, 100, 100, 39, 412, 413, 100, + 39, 414, 415, 416, 39, 417, 418, 100, 122, 419, 420, 100, 100, 100, 100, 100, + 39, 421, 100, 100, 100, 28, 17, 422, 423, 424, 425, 100, 100, 426, 427, 428, + 429, 430, 431, 39, 432, 433, 39, 139, 100, 100, 100, 100, 100, 100, 100, 100, + 434, 435, 436, 437, 438, 439, 100, 100, 440, 441, 442, 443, 444, 418, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 445, 100, 100, 100, 100, 100, 446, 447, 448, 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, 300, 54, 54, 54, - 195, 195, 195, 444, 39, 39, 39, 39, 39, 39, 445, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 39, 446, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 297, 100, 100, 100, + 194, 194, 194, 449, 39, 39, 39, 39, 39, 39, 450, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 380, 39, 39, 451, + 39, 452, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 447, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 39, 39, 420, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 139, 143, 448, 54, 54, 307, 449, 39, 450, 451, 452, 453, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 28, 17, 454, 54, 54, 54, 39, 39, 455, 456, 457, 54, 54, 458, + 39, 139, 143, 453, 39, 143, 454, 455, 39, 456, 457, 458, 459, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 28, 17, 460, 100, 100, 100, 39, 39, 461, 462, 463, 100, 100, 464, 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, 459, - 39, 39, 39, 39, 39, 39, 142, 54, 370, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 39, 39, 39, 39, 39, 39, 39, 39, 143, 54, 460, 461, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 296, 54, 54, 54, 54, 54, 54, 54, 54, - 39, 39, 39, 462, 463, 464, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 149, 149, 149, 149, 149, 149, 149, 241, 149, 465, 149, 466, 467, 468, 149, 469, - 149, 149, 470, 54, 54, 54, 54, 471, 149, 149, 472, 473, 54, 54, 54, 54, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 474, 475, 487, - 477, 488, 489, 490, 481, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 465, + 39, 39, 39, 39, 39, 39, 142, 100, 372, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 466, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 467, 468, 469, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 293, 100, 100, 100, 100, 100, 100, 100, 100, + 39, 39, 39, 470, 471, 472, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 22, 473, 474, 149, 149, 149, 475, 100, + 149, 149, 149, 149, 149, 149, 149, 238, 149, 476, 149, 477, 478, 479, 149, 208, + 149, 149, 480, 100, 100, 100, 100, 481, 149, 149, 482, 483, 100, 100, 100, 100, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 484, 485, 497, + 487, 498, 499, 500, 491, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 22, 502, 22, 503, 504, 505, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 506, 507, 54, 54, 54, 54, 54, 54, 39, 508, 509, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 39, 510, 54, 54, 54, 54, 54, 54, 54, 54, - 39, 39, 39, 39, 39, 39, 511, 54, 28, 512, 513, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 514, 210, 515, 54, 54, 516, 517, 54, 54, 54, 54, 54, 54, - 518, 519, 520, 521, 522, 523, 54, 524, 54, 54, 54, 54, 54, 54, 54, 54, - 149, 525, 149, 149, 240, 526, 527, 241, 528, 149, 149, 149, 149, 529, 54, 530, - 531, 532, 533, 534, 54, 54, 54, 54, 149, 149, 149, 149, 149, 149, 149, 535, + 22, 512, 22, 513, 514, 515, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 516, 100, 100, 100, 100, 100, 100, 100, + 517, 518, 100, 100, 100, 100, 100, 100, 39, 519, 520, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 380, 521, 39, 522, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 523, + 39, 39, 39, 39, 39, 39, 524, 100, 28, 525, 526, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 527, 209, 528, 100, 100, 529, 530, 100, 100, 100, 100, 100, 100, + 531, 532, 533, 534, 535, 536, 100, 537, 100, 100, 100, 100, 100, 100, 100, 100, + 149, 538, 149, 149, 237, 539, 540, 238, 541, 149, 149, 149, 149, 542, 100, 543, + 544, 545, 546, 547, 100, 100, 100, 100, 149, 149, 149, 149, 149, 149, 149, 548, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 536, 537, 149, 149, 149, 240, 149, 149, 538, 539, - 525, 149, 540, 149, 541, 542, 54, 54, 149, 149, 149, 543, 149, 149, 544, 149, - 149, 149, 240, 545, 546, 547, 548, 54, 149, 149, 149, 149, 549, 149, 209, 550, + 149, 149, 149, 149, 149, 149, 549, 550, 149, 149, 149, 237, 149, 149, 551, 552, + 538, 149, 553, 149, 554, 555, 100, 100, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 237, 556, 557, 558, 559, 560, 149, 149, 149, 149, 561, 149, 208, 562, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 342, 54, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 100, 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, 551, 39, 39, 39, 39, 39, 39, - 342, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 139, 39, 39, 39, 39, 39, 39, + 339, 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, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 552, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 563, 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, 39, 39, 39, 39, 39, 553, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 564, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 342, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 339, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 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, 53, 54, 54, 54, 54, 54, - 554, 555, 555, 555, 54, 54, 54, 54, 22, 22, 22, 22, 22, 22, 22, 556, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 557 + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 565, 100, 100, 100, 100, 100, + 566, 567, 567, 567, 100, 100, 100, 100, 22, 22, 22, 22, 22, 22, 22, 568, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 569 }; static RE_UINT8 re_general_category_table_3[] = { @@ -9643,7 +9829,7 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 15, 15, 15, 15, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 7, 7, 7, 3, 3, 4, 3, 3, 14, 14, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 3, 17, 0, 3, 3, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 3, 17, 3, 3, 3, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 21, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, @@ -9673,13 +9859,11 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 0, 0, 3, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 15, 15, 15, 15, 15, 15, 15, 15, 11, 15, 15, 15, 15, 15, 15, 0, + 17, 17, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 21, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 17, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -9733,9 +9917,9 @@ static RE_UINT8 re_general_category_table_3[] = { 22, 24, 24, 24, 22, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 15, 22, 22, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 22, 15, 22, 22, 22, 24, 24, 24, 24, 0, 22, 22, 22, 0, 22, 22, 22, 22, 0, 0, - 0, 0, 0, 0, 0, 22, 22, 0, 15, 15, 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 22, 0, 15, 15, 15, 0, 0, 15, 0, 0, 15, 15, 22, 22, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 3, 18, 18, 18, 18, 18, 18, 18, 14, 15, 22, 24, 24, 3, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, @@ -9743,7 +9927,7 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 0, 0, 22, 15, 24, 22, 24, 24, 24, 24, 24, 0, 22, 24, 24, 0, 24, 24, 22, 22, 0, 0, - 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 15, 15, 0, 15, 15, 22, 22, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 24, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, @@ -9768,7 +9952,9 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 22, 15, 15, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 4, 15, 15, 15, 15, 15, 15, 21, 22, 22, 22, 22, 22, 22, 22, 22, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 0, 0, 0, 0, - 0, 15, 15, 0, 15, 0, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 15, 0, 15, 0, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 15, 0, 0, @@ -9826,10 +10012,10 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 5, 6, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 3, 3, 3, 25, 25, 25, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, - 15, 15, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 22, 22, 22, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 22, 22, 22, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 22, 22, 24, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, @@ -9840,7 +10026,7 @@ static RE_UINT8 re_general_category_table_3[] = { 22, 22, 22, 22, 3, 3, 3, 21, 3, 3, 3, 4, 15, 22, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, - 3, 3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 22, 22, 22, 17, 0, + 3, 3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 22, 22, 22, 17, 22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 15, 15, 15, 21, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -9876,16 +10062,16 @@ static RE_UINT8 re_general_category_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 21, 3, 3, 3, 3, 3, 3, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 22, - 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 24, 22, 22, 22, 22, 22, 24, 22, 24, 24, 24, - 24, 24, 22, 24, 24, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, + 24, 24, 22, 24, 24, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 3, 3, 3, 3, 3, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, + 22, 22, 22, 22, 14, 14, 14, 14, 14, 14, 14, 14, 14, 3, 3, 0, 22, 22, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, 22, 22, 22, 22, 24, 24, 22, 22, 24, 22, 22, 22, 15, 15, @@ -9914,8 +10100,6 @@ static RE_UINT8 re_general_category_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 21, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 21, 21, 21, 21, 21, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 10, 10, 10, 10, 10, 10, 10, @@ -9946,7 +10130,7 @@ static RE_UINT8 re_general_category_table_3[] = { 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 22, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -10022,10 +10206,6 @@ static RE_UINT8 re_general_category_table_3[] = { 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 10, 13, 10, 10, 10, 13, 13, 10, 13, 10, 13, 10, 13, 10, 10, 10, 10, 13, 10, 13, 13, 10, 13, 13, 13, 13, 13, 13, 21, 21, 10, 10, 10, 13, 10, 13, 13, 14, 14, 14, 14, 14, 14, 10, 13, 10, 13, 22, @@ -10043,7 +10223,7 @@ static RE_UINT8 re_general_category_table_3[] = { 16, 19, 5, 6, 5, 6, 5, 6, 5, 6, 3, 3, 3, 3, 3, 21, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 8, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 14, 14, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 3, 3, 3, 5, 6, 5, 6, 5, 6, 5, 6, 8, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, @@ -10077,8 +10257,6 @@ static RE_UINT8 re_general_category_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 21, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, @@ -10104,10 +10282,10 @@ static RE_UINT8 re_general_category_table_3[] = { 10, 13, 10, 13, 13, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 10, 10, 10, 10, 13, 10, 10, 10, 10, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, - 0, 0, 10, 13, 10, 10, 10, 10, 13, 10, 13, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 13, 10, 13, 10, 10, 10, 10, 13, 10, 13, 0, 0, 0, 0, 0, + 10, 13, 0, 13, 0, 13, 10, 13, 10, 13, 0, 0, 0, 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, 13, 15, 21, 21, 13, 15, 15, 15, 15, 15, + 0, 0, 21, 21, 21, 10, 13, 15, 21, 21, 13, 15, 15, 15, 15, 15, 15, 15, 22, 15, 15, 15, 22, 15, 15, 15, 15, 22, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, 24, 22, 22, 24, 14, 14, 14, 14, 22, 0, 0, 0, @@ -10127,6 +10305,8 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 24, 24, 22, 22, 22, 22, 24, 24, 22, 22, 24, 24, 24, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 21, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 3, 3, @@ -10176,18 +10356,18 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 6, 5, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 4, 14, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 4, 14, 14, 14, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 3, 3, 3, 3, 3, 3, 3, 5, 6, 3, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, @@ -10261,7 +10441,17 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, + 10, 10, 10, 0, 10, 10, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 0, 0, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -10322,6 +10512,10 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 18, 18, 18, 18, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 22, 22, 22, 22, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 22, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -10331,10 +10525,10 @@ static RE_UINT8 re_general_category_table_3[] = { 22, 22, 22, 22, 22, 22, 22, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, + 22, 15, 15, 22, 22, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, 24, 24, 22, 22, 22, 22, 24, 24, 22, 22, 3, 3, 17, 3, 3, - 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, + 3, 3, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, @@ -10393,11 +10587,13 @@ static RE_UINT8 re_general_category_table_3[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 24, 22, 24, 24, - 22, 22, 22, 22, 22, 22, 24, 22, 15, 0, 0, 0, 0, 0, 0, 0, + 22, 22, 22, 22, 22, 22, 24, 22, 15, 3, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 22, 22, 22, 22, 24, 22, 22, 22, 22, 22, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 18, 18, 3, 3, 3, 14, + 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, 24, 24, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 22, 22, 3, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 18, 18, 18, 18, 18, 18, @@ -10423,7 +10619,7 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 22, 22, 3, 3, 3, 15, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, @@ -10458,12 +10654,14 @@ static RE_UINT8 re_general_category_table_3[] = { 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 3, 3, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 22, 22, 22, 22, 22, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -10487,6 +10685,10 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 0, + 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -10496,6 +10698,12 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 14, 22, 22, 3, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 24, 24, 22, 22, 22, 14, 14, 14, 24, 24, 24, @@ -10504,8 +10712,6 @@ static RE_UINT8 re_general_category_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 22, 22, 22, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 22, 22, 22, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, @@ -10578,6 +10784,8 @@ static RE_UINT8 re_general_category_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 0, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, @@ -10586,8 +10794,12 @@ static RE_UINT8 re_general_category_table_3[] = { 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 15, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 4, + 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 0, 15, 15, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -10639,41 +10851,39 @@ static RE_UINT8 re_general_category_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, - 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, @@ -10705,258 +10915,268 @@ RE_UINT32 re_get_general_category(RE_UINT32 codepoint) { static RE_UINT8 re_graph_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 14, 13, 15, 16, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 17, 18, 18, 13, 13, 13, 13, 13, 13, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 18, 18, 13, 31, 18, 18, - 18, 32, 18, 18, 18, 18, 18, 18, 18, 18, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 18, 18, 18, 18, 18, 18, 18, 18, 37, 18, 18, 38, - 18, 18, 18, 18, 39, 40, 41, 18, 42, 18, 43, 44, 45, 46, 47, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 16, 17, 17, 13, 13, 13, 13, 13, 13, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 17, 30, 13, 31, 17, 17, + 17, 32, 17, 17, 17, 17, 17, 17, 17, 17, 33, 34, 13, 13, 13, 13, + 13, 35, 13, 36, 17, 17, 17, 17, 17, 17, 17, 37, 38, 17, 17, 39, + 17, 17, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 48, 13, 13, 13, 49, 50, 13, - 13, 13, 13, 51, 13, 13, 13, 13, 13, 13, 52, 18, 18, 18, 53, 18, - 13, 13, 13, 13, 54, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 55, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 52, 13, 13, 13, 53, 54, 13, + 13, 13, 13, 55, 13, 13, 13, 13, 13, 13, 56, 17, 17, 17, 57, 17, + 13, 13, 13, 13, 58, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 59, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 56, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 60, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 56 + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 60 }; static RE_UINT16 re_graph_table_2[] = { 0, 1, 2, 3, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 5, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 8, 2, 9, 2, 10, 11, - 12, 2, 2, 2, 2, 2, 2, 2, 13, 2, 14, 2, 2, 15, 2, 16, - 2, 17, 18, 19, 0, 20, 21, 2, 2, 2, 2, 2, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 31, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 41, 45, 46, 47, 41, 2, 48, 49, 50, 51, 52, 53, - 1, 54, 55, 0, 56, 57, 58, 0, 2, 2, 59, 60, 61, 12, 62, 0, - 2, 2, 2, 2, 2, 2, 63, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 64, 2, 65, 66, 67, 2, 68, 2, 16, 69, 70, 2, 2, 71, + 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, 13, 2, 2, 14, 2, 15, + 2, 16, 17, 18, 19, 2, 2, 2, 2, 2, 2, 2, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 29, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 39, 43, 44, 45, 39, 2, 46, 47, 48, 49, 50, 51, + 1, 52, 53, 0, 54, 55, 56, 0, 2, 2, 57, 58, 59, 60, 61, 0, + 2, 2, 2, 2, 2, 2, 62, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 63, 2, 64, 65, 66, 2, 67, 2, 15, 68, 69, 2, 2, 70, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 72, 2, 2, 73, 74, 75, 76, 77, 2, 2, 78, 79, - 80, 2, 2, 73, 2, 81, 2, 82, 3, 83, 84, 85, 2, 86, 87, 2, - 88, 2, 3, 89, 79, 90, 91, 0, 2, 2, 86, 69, 2, 2, 2, 92, - 2, 93, 94, 2, 95, 16, 10, 96, 2, 2, 2, 2, 2, 2, 2, 97, - 2, 2, 2, 2, 2, 2, 2, 2, 71, 2, 98, 78, 2, 20, 99, 100, - 101, 102, 3, 103, 104, 2, 105, 106, 2, 2, 2, 2, 86, 2, 2, 2, + 2, 2, 2, 2, 71, 2, 2, 72, 73, 74, 75, 76, 2, 2, 77, 78, + 69, 2, 2, 72, 2, 18, 2, 79, 3, 80, 81, 82, 2, 83, 84, 2, + 85, 2, 3, 86, 78, 87, 88, 0, 2, 2, 89, 3, 2, 2, 2, 90, + 2, 91, 92, 2, 93, 15, 10, 94, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 70, 2, 95, 77, 2, 96, 97, 98, + 99, 100, 3, 101, 102, 2, 103, 104, 2, 2, 2, 2, 83, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 107, 19, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 105, 106, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 108, 109, 2, 2, 2, - 2, 110, 3, 2, 2, 2, 2, 111, 2, 63, 2, 112, 75, 113, 113, 2, - 2, 2, 114, 0, 97, 2, 2, 76, 2, 2, 2, 2, 2, 2, 82, 115, - 1, 2, 1, 2, 8, 2, 2, 2, 116, 7, 2, 2, 110, 2, 2, 117, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 107, 108, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 109, 2, 62, 2, 110, 74, 111, 111, 2, + 2, 2, 77, 0, 112, 2, 2, 75, 2, 2, 2, 2, 2, 2, 79, 113, + 1, 2, 1, 2, 8, 2, 2, 2, 114, 7, 2, 2, 115, 2, 2, 116, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 89, 2, 117, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 118, 2, 2, 2, 2, 2, 119, 2, 2, 2, 2, 2, 2, 120, 121, + 2, 122, 2, 119, 2, 2, 123, 2, 2, 2, 124, 68, 2, 2, 125, 3, + 2, 74, 126, 2, 2, 2, 127, 74, 128, 129, 2, 83, 2, 2, 2, 130, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 69, - 2, 2, 2, 2, 118, 2, 119, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 120, 2, 2, 2, 2, 2, 121, 2, 2, 2, 2, 2, 2, 122, 123, - 2, 124, 2, 121, 2, 2, 125, 2, 2, 2, 126, 69, 2, 2, 127, 3, - 2, 75, 128, 2, 2, 2, 129, 75, 130, 131, 2, 86, 2, 2, 2, 132, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 117, 133, 55, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 116, 131, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 90, 2, 2, 70, 0, 134, 135, 136, 2, 2, 2, 137, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 105, 2, 138, 2, 139, 140, - 70, 2, 141, 142, 2, 2, 2, 89, 1, 2, 2, 2, 2, 3, 143, 144, - 145, 146, 147, 0, 2, 2, 2, 96, 148, 149, 2, 2, 104, 91, 105, 78, - 0, 0, 0, 0, 69, 2, 106, 55, 2, 150, 81, 96, 151, 2, 152, 0, - 2, 2, 2, 2, 78, 153, 154, 55, 2, 10, 2, 155, 0, 0, 0, 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 75, 82, 139, 0, 0, 0, 0, - 156, 157, 109, 2, 3, 158, 0, 159, 160, 161, 0, 0, 2, 162, 138, 2, - 163, 164, 165, 2, 2, 0, 2, 166, 2, 167, 168, 169, 170, 171, 0, 0, - 2, 2, 172, 0, 2, 114, 2, 173, 2, 174, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 2, 175, 0, 0, 2, 10, 70, 0, 0, 105, 120, 75, - 2, 2, 176, 177, 2, 2, 178, 179, 2, 20, 10, 75, 2, 2, 2, 180, - 181, 3, 0, 0, 182, 153, 2, 183, 22, 184, 185, 186, 0, 0, 0, 0, - 2, 2, 187, 188, 2, 2, 174, 0, 0, 0, 0, 0, 2, 168, 78, 0, - 2, 2, 189, 190, 2, 73, 191, 0, 16, 86, 0, 0, 0, 0, 0, 0, - 2, 55, 0, 0, 0, 2, 2, 192, 193, 194, 195, 0, 0, 196, 4, 197, - 2, 2, 10, 2, 2, 198, 2, 73, 0, 0, 0, 0, 0, 0, 0, 0, - 199, 200, 201, 118, 138, 202, 0, 0, 203, 204, 174, 205, 206, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 207, 2, 208, + 2, 2, 2, 87, 2, 2, 69, 0, 132, 133, 134, 2, 2, 2, 135, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 136, 2, 137, 138, + 69, 2, 139, 140, 2, 2, 2, 86, 1, 2, 2, 2, 2, 3, 141, 142, + 143, 144, 145, 0, 2, 2, 2, 94, 146, 147, 2, 2, 102, 148, 138, 77, + 0, 0, 0, 0, 68, 2, 104, 53, 2, 149, 18, 94, 150, 2, 151, 0, + 2, 2, 2, 2, 77, 152, 153, 53, 2, 10, 2, 154, 155, 156, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 74, 79, 157, 158, 159, 0, 0, + 160, 161, 108, 2, 3, 162, 0, 163, 164, 165, 0, 0, 2, 166, 136, 2, + 167, 168, 169, 2, 2, 0, 2, 170, 2, 171, 172, 173, 174, 175, 0, 0, + 2, 2, 176, 0, 2, 177, 2, 178, 2, 179, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 2, 180, 0, 0, 2, 10, 69, 138, 181, 138, 118, 74, + 2, 2, 182, 73, 2, 2, 183, 184, 2, 96, 10, 74, 2, 2, 2, 185, + 186, 3, 0, 0, 187, 152, 2, 188, 20, 189, 190, 191, 0, 0, 0, 0, + 2, 2, 192, 193, 2, 2, 179, 0, 0, 0, 0, 0, 2, 172, 77, 0, + 2, 2, 194, 195, 2, 69, 181, 0, 15, 83, 105, 0, 0, 0, 0, 0, + 2, 53, 0, 0, 0, 2, 2, 196, 197, 198, 199, 0, 0, 200, 4, 201, + 2, 2, 10, 2, 2, 202, 2, 72, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 204, 205, 89, 136, 206, 0, 0, 207, 208, 179, 209, 210, 181, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 211, 2, 212, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 70, 0, 0, 0, - 2, 2, 2, 209, 2, 2, 2, 2, 2, 2, 210, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 69, 0, 0, 0, + 2, 2, 2, 213, 2, 2, 2, 2, 2, 2, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 2, 2, 177, + 2, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 73, 3, 212, 0, 0, 105, 213, 2, 2, 214, 215, 216, 0, 0, 0, + 2, 72, 3, 216, 2, 3, 152, 217, 2, 2, 218, 219, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2, 2, 96, 0, 0, 0, 2, 2, 217, 2, 218, 0, 0, 219, + 0, 0, 2, 2, 94, 0, 0, 0, 2, 2, 221, 2, 222, 0, 0, 223, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 121, - 2, 2, 2, 2, 2, 2, 82, 0, 172, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 119, + 2, 2, 2, 2, 2, 2, 79, 0, 176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 2, 2, 2, 2, 2, 2, 3, 0, 220, 221, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 55, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 2, 222, 223, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 225, 226, 227, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 228, 229, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 2, 2, 2, 2, 2, 82, 2, 224, 2, 2, 2, 2, 2, 172, - 2, 2, 225, 0, 0, 0, 0, 76, 2, 2, 75, 73, 0, 0, 0, 0, - 2, 2, 20, 2, 12, 226, 227, 2, 228, 229, 230, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 231, 2, 2, 2, 2, 2, 2, 2, 2, 232, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 87, 117, 2, 2, 2, 214, 0, + 2, 2, 2, 2, 2, 2, 2, 79, 2, 230, 2, 2, 2, 2, 2, 106, + 2, 2, 231, 0, 0, 0, 0, 75, 2, 2, 74, 72, 0, 0, 0, 0, + 2, 2, 96, 2, 60, 232, 233, 2, 234, 235, 236, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 237, 2, 2, 2, 2, 2, 2, 2, 2, 238, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 233, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 0, 0, 0, 0, 0, 0, 2, 237, 212, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 161, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 2, 2, 2, 2, 238, 0, 2, 2, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 2, 241, 0, 0, 1, 78, 0, 0, 0, 0, 0, 0, - 227, 242, 243, 244, 245, 246, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 86, 2, 2, 76, 248, 249, 82, 2, 2, 2, 2, 2, 250, 0, 251, - 252, 55, 253, 225, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 239, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 241, 242, 0, 0, 0, 0, 0, 0, 2, 243, 244, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 88, 2, 165, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, + 2, 2, 2, 2, 2, 2, 246, 0, 2, 2, 247, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 248, 2, 249, 0, 0, 1, 77, 0, 0, 0, 0, 0, 0, + 233, 250, 251, 252, 253, 254, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 83, 2, 2, 75, 256, 257, 79, 2, 2, 2, 2, 2, 258, 0, 259, + 202, 53, 260, 231, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 121, 254, 2, 2, 2, 76, 2, 2, 73, 120, - 86, 2, 174, 2, 10, 255, 0, 0, 2, 2, 2, 256, 2, 2, 145, 2, - 2, 2, 76, 257, 119, 258, 259, 0, 2, 2, 2, 2, 141, 2, 19, 260, + 2, 2, 2, 2, 2, 2, 261, 262, 2, 2, 2, 75, 2, 2, 72, 263, + 83, 2, 179, 2, 10, 264, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 75, 265, 117, 266, 267, 268, 2, 2, 2, 2, 139, 2, 106, 269, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 78, 0, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 241, 2, 2, 2, 2, 2, 2, - 78, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 72, 2, 2, 2, 2, 2, 2, + 77, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 261, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 270, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 91, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 148, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 19, 0, 0, 0, 0, 0, - 262, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 216, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 106, 0, 0, 0, 0, 0, + 271, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 78 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 77 }; static RE_UINT8 re_graph_table_3[] = { 0, 0, 0, 0, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 255, 255, 255, 252, 240, 215, 255, 255, 251, 255, 255, 255, 255, 255, 254, 255, 255, 255, 127, 254, 255, 231, 254, 255, 255, 0, 255, 255, 255, 135, 31, 0, - 255, 255, 255, 223, 255, 191, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, - 255, 255, 255, 231, 255, 63, 255, 127, 255, 255, 255, 79, 255, 7, 0, 0, - 255, 255, 223, 255, 255, 0, 248, 255, 239, 159, 249, 255, 255, 253, 197, 243, - 159, 121, 128, 176, 207, 255, 255, 127, 238, 135, 249, 255, 255, 253, 109, 211, - 135, 57, 2, 94, 192, 255, 127, 0, 238, 191, 251, 255, 255, 253, 237, 243, - 191, 59, 1, 0, 207, 255, 3, 254, 238, 159, 249, 255, 159, 57, 224, 176, - 207, 255, 255, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, - 192, 255, 255, 7, 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, - 207, 255, 128, 255, 255, 253, 239, 243, 223, 61, 96, 64, 207, 255, 6, 0, - 223, 253, 240, 255, 207, 255, 255, 255, 238, 255, 127, 252, 255, 255, 251, 47, - 127, 132, 95, 255, 192, 255, 28, 0, 255, 255, 255, 135, 255, 255, 255, 15, - 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, 255, 254, 255, 255, - 255, 31, 254, 255, 255, 255, 255, 254, 255, 223, 255, 7, 191, 32, 255, 255, - 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, - 255, 255, 61, 255, 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, - 254, 255, 255, 31, 255, 255, 255, 1, 255, 223, 31, 0, 255, 255, 127, 0, - 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 255, 63, 255, 3, 255, 3, - 255, 127, 255, 3, 255, 7, 255, 255, 255, 255, 63, 0, 255, 15, 255, 15, - 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 199, - 255, 255, 255, 207, 255, 255, 255, 159, 255, 63, 255, 255, 1, 0, 0, 0, - 255, 255, 15, 240, 255, 255, 255, 248, 255, 227, 255, 255, 255, 1, 255, 255, - 255, 255, 255, 7, 255, 255, 255, 251, 63, 63, 255, 170, 223, 255, 207, 239, - 255, 255, 220, 127, 0, 248, 255, 255, 255, 124, 255, 255, 223, 255, 243, 255, - 255, 127, 255, 31, 0, 0, 255, 255, 255, 255, 1, 0, 127, 0, 0, 0, - 255, 255, 207, 255, 255, 255, 191, 255, 255, 127, 255, 255, 255, 255, 15, 254, - 255, 128, 1, 128, 127, 127, 127, 127, 255, 255, 7, 0, 0, 0, 255, 15, - 224, 255, 255, 255, 15, 0, 255, 255, 255, 31, 255, 255, 127, 0, 255, 255, - 255, 15, 0, 0, 255, 255, 255, 0, 252, 7, 0, 0, 0, 0, 224, 255, - 255, 31, 255, 3, 63, 192, 255, 3, 255, 255, 15, 128, 255, 191, 255, 195, - 255, 63, 255, 243, 7, 0, 0, 248, 126, 126, 126, 0, 127, 127, 255, 255, - 255, 63, 255, 3, 127, 248, 255, 255, 127, 0, 248, 224, 255, 255, 127, 95, - 219, 255, 255, 255, 3, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, - 0, 0, 255, 63, 255, 255, 247, 255, 127, 15, 223, 255, 252, 252, 252, 28, - 127, 127, 0, 62, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, - 135, 255, 255, 255, 255, 255, 143, 255, 15, 224, 255, 255, 255, 255, 255, 191, - 15, 255, 63, 0, 255, 3, 255, 255, 255, 255, 15, 255, 15, 128, 0, 0, + 255, 191, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 255, 231, + 255, 63, 255, 127, 255, 255, 255, 79, 255, 7, 255, 255, 255, 127, 3, 255, + 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, 207, 255, 255, 127, + 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, 192, 255, 127, 0, + 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, 207, 255, 3, 254, + 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 255, 0, 236, 199, 61, 214, + 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 255, 7, 255, 223, 253, 255, + 255, 253, 255, 243, 223, 61, 96, 39, 207, 255, 128, 255, 255, 253, 239, 243, + 223, 61, 96, 96, 207, 255, 6, 0, 223, 253, 240, 255, 207, 255, 255, 255, + 238, 255, 127, 252, 255, 255, 251, 47, 127, 132, 95, 255, 192, 255, 28, 0, + 255, 255, 255, 135, 255, 255, 255, 15, 214, 247, 255, 255, 175, 255, 255, 63, + 95, 63, 255, 243, 255, 254, 255, 255, 255, 31, 254, 255, 255, 255, 255, 254, + 255, 255, 255, 223, 255, 223, 255, 7, 191, 32, 255, 255, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, 254, 255, 255, 31, + 255, 255, 255, 1, 255, 255, 63, 128, 255, 255, 127, 0, 255, 255, 15, 0, + 255, 223, 13, 0, 255, 255, 255, 63, 255, 3, 255, 3, 255, 255, 63, 0, + 255, 15, 255, 15, 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, + 255, 3, 255, 199, 255, 255, 255, 207, 255, 255, 255, 159, 255, 63, 255, 255, + 255, 127, 0, 0, 255, 31, 255, 255, 255, 255, 15, 240, 255, 255, 255, 248, + 255, 227, 255, 255, 255, 1, 255, 255, 255, 255, 255, 7, 63, 63, 255, 170, + 255, 255, 223, 255, 223, 255, 207, 239, 255, 255, 220, 127, 0, 248, 255, 255, + 255, 124, 255, 255, 223, 255, 243, 255, 255, 127, 255, 31, 1, 0, 255, 255, + 255, 255, 1, 0, 127, 0, 0, 0, 255, 7, 0, 0, 255, 255, 207, 255, + 255, 255, 191, 255, 255, 255, 15, 254, 255, 128, 1, 128, 127, 127, 127, 127, + 255, 255, 255, 251, 0, 0, 255, 15, 224, 255, 255, 255, 255, 127, 255, 255, + 15, 0, 255, 255, 127, 0, 255, 255, 255, 15, 0, 0, 255, 255, 255, 0, + 255, 7, 235, 3, 0, 0, 252, 255, 255, 31, 255, 3, 63, 192, 255, 3, + 255, 255, 15, 128, 255, 191, 255, 195, 255, 63, 255, 243, 7, 0, 0, 248, + 126, 126, 126, 0, 127, 127, 255, 255, 255, 63, 255, 3, 127, 248, 255, 255, + 127, 0, 248, 224, 255, 255, 127, 95, 219, 255, 255, 255, 7, 0, 248, 255, + 255, 255, 252, 255, 255, 128, 0, 0, 0, 0, 255, 255, 255, 255, 247, 255, + 127, 15, 223, 255, 252, 252, 252, 28, 127, 127, 0, 62, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 135, 255, 255, 255, 255, 255, 143, 255, + 1, 0, 0, 0, 15, 224, 255, 255, 255, 255, 255, 191, 15, 255, 63, 0, + 255, 3, 255, 255, 255, 255, 15, 255, 15, 128, 255, 247, 255, 247, 183, 255, + 251, 255, 251, 27, 255, 0, 0, 0, 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 128, 255, 0, 0, 255, 255, 55, 248, 255, 255, 255, 143, 255, 255, 255, 131, 255, 255, 255, 240, 111, 240, 239, 254, 255, 255, 63, 135, 255, 1, 255, 1, 127, 248, 127, 0, 255, 255, 63, 254, 255, 255, 63, 255, 255, 255, 7, 255, 255, 255, 3, 30, 0, 254, 0, 0, - 255, 1, 0, 0, 255, 255, 7, 252, 255, 0, 255, 3, 255, 59, 3, 0, - 255, 63, 252, 255, 255, 255, 0, 128, 3, 32, 255, 255, 255, 1, 255, 3, - 254, 255, 31, 0, 255, 255, 251, 255, 127, 189, 255, 191, 255, 7, 255, 3, - 255, 253, 237, 251, 159, 57, 129, 224, 207, 31, 31, 0, 255, 255, 255, 239, - 3, 0, 0, 0, 31, 0, 255, 3, 255, 31, 0, 0, 255, 3, 0, 0, + 255, 1, 0, 0, 255, 255, 7, 0, 255, 255, 7, 252, 255, 0, 255, 3, + 255, 59, 3, 0, 255, 3, 0, 0, 255, 63, 252, 255, 7, 32, 255, 255, + 255, 1, 255, 3, 254, 255, 31, 0, 255, 255, 251, 255, 127, 189, 255, 191, + 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, 207, 31, 31, 0, + 255, 255, 255, 239, 3, 0, 0, 0, 31, 0, 255, 3, 255, 31, 0, 0, 255, 255, 7, 128, 127, 242, 111, 255, 255, 255, 191, 249, 127, 0, 255, 3, - 255, 252, 255, 255, 31, 0, 0, 0, 7, 0, 0, 0, 255, 253, 255, 255, + 255, 252, 255, 255, 31, 0, 0, 0, 7, 0, 255, 255, 255, 253, 255, 255, 255, 255, 127, 255, 63, 0, 255, 255, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, 255, 255, 3, 128, 255, 127, 31, 0, 15, 0, 0, 0, 255, 127, 255, 1, - 255, 195, 0, 0, 255, 63, 63, 0, 63, 0, 255, 251, 251, 255, 255, 224, + 255, 195, 255, 255, 255, 63, 63, 0, 63, 0, 255, 251, 251, 255, 255, 224, 255, 255, 0, 0, 255, 135, 255, 255, 255, 128, 255, 255, 31, 0, 3, 0, - 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, 255, 1, 255, 243, - 127, 254, 255, 255, 63, 0, 0, 0, 100, 222, 255, 235, 239, 255, 255, 255, - 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, - 255, 207, 255, 255, 255, 15, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, - 219, 7, 0, 0, 255, 31, 255, 63, 159, 255, 127, 0, 255, 15, 255, 195, + 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, 240, 0, 255, 255, + 255, 7, 255, 31, 255, 1, 255, 243, 127, 254, 255, 255, 63, 0, 0, 0, + 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, + 95, 252, 253, 255, 63, 255, 255, 255, 255, 207, 255, 255, 255, 15, 0, 248, + 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, + 255, 195, 0, 0, 127, 111, 255, 127, 159, 255, 127, 0, 255, 15, 255, 195, 0, 0, 254, 255, 255, 255, 31, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 0, 0, 3, 0, 255, 127, 254, 255, 254, 255, 254, 255, 255, 63, 0, 0, 192, 255, 255, 255, - 7, 0, 255, 255, 255, 1, 3, 0, 255, 31, 255, 31, 255, 63, 3, 0, - 255, 255, 255, 253, 255, 63, 31, 7, 255, 1, 127, 0, 7, 0, 127, 0, - 0, 0, 255, 3, 3, 0, 255, 255, 2, 0, 0, 0 + 255, 1, 3, 0, 255, 255, 255, 224, 255, 31, 255, 31, 255, 15, 1, 0, + 255, 63, 3, 0, 255, 63, 31, 31, 255, 31, 255, 7, 63, 0, 255, 3, + 255, 0, 127, 0, 0, 0, 255, 3, 3, 0, 255, 255, 2, 0, 0, 0 }; RE_UINT32 re_get_graph(RE_UINT32 codepoint) { @@ -10982,183 +11202,191 @@ RE_UINT32 re_get_graph(RE_UINT32 codepoint) { static RE_UINT8 re_grapheme_base_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 14, 13, 15, 16, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 18, 18, 13, 31, 18, 18, - 18, 32, 18, 18, 18, 18, 18, 18, 18, 18, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 18, 18, 18, 18, 18, 18, 18, 18, 37, 18, 18, 38, - 18, 18, 18, 18, 39, 40, 41, 18, 42, 18, 43, 44, 45, 46, 47, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 17, 30, 13, 31, 17, 17, + 17, 32, 17, 17, 17, 17, 17, 17, 17, 17, 33, 34, 13, 13, 13, 13, + 13, 35, 13, 36, 17, 17, 17, 17, 17, 17, 17, 37, 38, 17, 17, 39, + 17, 17, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 48, 13, 13, 13, 49, 50, 13, - 13, 13, 13, 51, 13, 13, 13, 13, 13, 13, 52, 18, 18, 18, 53, 18, - 13, 13, 13, 13, 54, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 -}; - -static RE_UINT16 re_grapheme_base_table_2[] = { - 0, 1, 1, 2, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 4, 5, 6, 1, 1, - 1, 1, 1, 1, 7, 1, 1, 1, 1, 8, 9, 1, 10, 11, 12, 13, - 14, 1, 15, 8, 1, 1, 16, 17, 18, 19, 20, 1, 1, 21, 1, 22, - 23, 24, 25, 15, 0, 26, 27, 0, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 0, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 0, - 1, 81, 82, 83, 84, 1, 85, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 86, 1, 87, 88, 89, 1, 90, 1, 91, 92, 93, 1, 1, 94, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 52, 13, 13, 13, 53, 54, 13, + 13, 13, 13, 55, 13, 13, 13, 13, 13, 13, 56, 17, 17, 17, 57, 17, + 13, 13, 13, 13, 58, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +}; + +static RE_UINT16 re_grapheme_base_table_2[] = { + 0, 1, 1, 2, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 4, 5, 6, 1, 1, + 1, 1, 1, 1, 7, 1, 1, 1, 1, 8, 9, 1, 10, 11, 12, 13, + 14, 1, 15, 8, 1, 1, 16, 17, 18, 19, 20, 1, 1, 21, 1, 22, + 23, 24, 25, 26, 27, 1, 28, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 0, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 0, + 1, 82, 83, 84, 85, 1, 86, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 87, 1, 88, 89, 90, 1, 91, 1, 92, 93, 94, 1, 1, 95, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 92, 1, 1, 95, 96, 97, 98, 99, 1, 100, 101, 102, - 103, 1, 1, 95, 104, 105, 1, 106, 2, 107, 108, 109, 1, 110, 111, 1, - 112, 1, 113, 114, 102, 115, 0, 0, 116, 117, 118, 119, 120, 121, 1, 122, - 1, 123, 124, 1, 125, 126, 127, 128, 1, 1, 1, 1, 1, 1, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 94, 1, 129, 130, 1, 26, 131, 132, - 133, 134, 1, 135, 136, 1, 0, 0, 1, 1, 1, 1, 110, 1, 1, 1, + 1, 1, 1, 1, 93, 1, 1, 96, 97, 98, 99, 100, 1, 101, 102, 103, + 104, 1, 1, 96, 105, 106, 1, 107, 2, 108, 109, 110, 1, 111, 112, 1, + 113, 1, 114, 115, 103, 116, 0, 0, 117, 118, 119, 120, 121, 122, 1, 123, + 1, 124, 125, 1, 126, 127, 128, 129, 1, 1, 1, 1, 1, 1, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 95, 1, 130, 131, 1, 132, 133, 134, + 26, 135, 1, 136, 137, 1, 138, 0, 1, 1, 1, 1, 111, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 137, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 139, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 138, 139, 1, 1, 1, - 1, 140, 2, 1, 1, 1, 1, 141, 1, 85, 1, 142, 143, 144, 144, 0, - 1, 1, 145, 0, 146, 1, 1, 147, 1, 1, 1, 1, 1, 1, 106, 148, - 1, 149, 68, 1, 150, 1, 1, 1, 151, 8, 1, 1, 140, 1, 1, 152, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 140, 141, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 142, 1, 86, 1, 143, 144, 145, 145, 0, + 1, 1, 131, 0, 146, 1, 1, 147, 1, 1, 1, 1, 1, 1, 107, 148, + 1, 149, 69, 1, 150, 1, 1, 1, 151, 8, 1, 1, 152, 1, 1, 153, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 154, 1, 155, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 156, 1, 157, 131, 1, 1, 158, 1, 1, 1, 1, 1, 1, 159, 160, + 161, 162, 1, 163, 1, 1, 164, 165, 1, 166, 167, 93, 29, 168, 169, 170, + 1, 171, 172, 173, 1, 174, 175, 176, 177, 178, 1, 111, 1, 1, 1, 179, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 92, - 1, 1, 1, 1, 153, 1, 154, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 155, 1, 156, 130, 1, 1, 157, 1, 1, 1, 1, 1, 1, 158, 159, - 160, 161, 1, 162, 1, 1, 163, 164, 1, 165, 166, 92, 28, 167, 168, 169, - 1, 170, 171, 172, 1, 173, 174, 175, 176, 177, 1, 110, 1, 1, 1, 178, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 152, 179, 180, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 153, 180, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 181, 1, 1, 93, 0, 182, 183, 184, 1, 1, 1, 185, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 186, 1, 187, 1, 27, 188, - 189, 186, 190, 191, 1, 1, 1, 92, 68, 1, 1, 1, 130, 2, 192, 193, - 194, 195, 196, 0, 1, 1, 1, 91, 197, 198, 1, 1, 136, 199, 186, 92, - 0, 0, 0, 0, 92, 1, 200, 201, 1, 202, 133, 106, 203, 1, 204, 0, - 1, 1, 1, 1, 130, 149, 205, 180, 1, 206, 1, 207, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 143, 106, 27, 0, 0, 0, 0, - 208, 209, 139, 1, 2, 210, 0, 211, 212, 213, 0, 0, 1, 214, 187, 1, - 215, 106, 216, 1, 1, 0, 1, 217, 1, 218, 219, 220, 221, 222, 0, 0, - 1, 1, 223, 0, 1, 145, 1, 224, 1, 225, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 1, 226, 0, 0, 1, 206, 227, 0, 0, 186, 155, 143, - 228, 162, 229, 19, 120, 230, 231, 232, 28, 233, 206, 234, 120, 235, 236, 237, - 238, 239, 0, 0, 240, 149, 2, 241, 44, 242, 243, 244, 0, 0, 0, 0, - 1, 162, 245, 246, 1, 247, 248, 0, 0, 0, 0, 0, 1, 249, 201, 0, - 1, 250, 251, 252, 1, 253, 254, 0, 91, 255, 0, 0, 0, 0, 0, 0, - 1, 256, 0, 0, 0, 1, 1, 257, 258, 259, 260, 0, 0, 261, 262, 263, - 264, 265, 266, 1, 267, 268, 1, 95, 0, 0, 0, 0, 0, 0, 0, 0, - 269, 270, 271, 153, 19, 272, 0, 0, 273, 200, 274, 275, 276, 254, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 278, 1, 279, + 1, 1, 1, 182, 1, 1, 94, 0, 183, 184, 185, 1, 1, 1, 186, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 187, 1, 188, 189, + 190, 189, 191, 192, 1, 1, 1, 93, 69, 1, 1, 1, 131, 2, 193, 194, + 195, 196, 197, 0, 1, 1, 1, 92, 198, 199, 1, 1, 137, 138, 189, 93, + 0, 0, 0, 0, 93, 1, 200, 201, 1, 202, 26, 107, 203, 1, 204, 0, + 1, 1, 1, 1, 131, 149, 205, 181, 1, 206, 1, 207, 208, 209, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 144, 107, 210, 211, 212, 0, 0, + 213, 214, 141, 1, 2, 215, 0, 216, 217, 218, 0, 0, 1, 219, 187, 1, + 220, 107, 221, 1, 1, 0, 1, 222, 1, 223, 224, 225, 226, 227, 0, 0, + 1, 1, 228, 0, 1, 229, 1, 230, 1, 231, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 1, 232, 0, 0, 1, 206, 233, 189, 234, 189, 156, 144, + 235, 163, 236, 237, 121, 238, 239, 240, 29, 241, 206, 242, 121, 243, 244, 245, + 246, 247, 0, 0, 248, 149, 2, 249, 45, 250, 251, 252, 0, 0, 0, 0, + 1, 163, 253, 254, 1, 255, 256, 0, 0, 0, 0, 0, 1, 257, 201, 0, + 1, 258, 259, 260, 1, 261, 28, 0, 92, 262, 139, 0, 0, 0, 0, 0, + 1, 263, 0, 0, 0, 1, 1, 264, 265, 266, 267, 0, 0, 268, 269, 270, + 271, 272, 273, 1, 274, 275, 1, 96, 0, 0, 0, 0, 0, 0, 0, 0, + 276, 277, 278, 154, 19, 279, 0, 0, 280, 200, 281, 282, 283, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 0, 0, 0, 0, 285, 1, 286, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 93, 0, 0, 0, - 1, 1, 1, 280, 1, 1, 1, 1, 1, 1, 244, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 94, 0, 0, 0, + 1, 1, 1, 287, 1, 1, 1, 1, 1, 1, 252, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 1, 1, 229, + 1, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 95, 2, 282, 0, 0, 186, 283, 1, 284, 285, 286, 19, 0, 0, 0, + 1, 96, 2, 288, 1, 2, 149, 289, 1, 290, 291, 292, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 91, 0, 0, 0, 1, 1, 133, 1, 287, 0, 0, 288, + 0, 0, 1, 1, 92, 0, 0, 0, 1, 1, 26, 1, 293, 0, 0, 294, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 162, - 1, 1, 1, 1, 1, 1, 106, 0, 223, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 163, + 1, 1, 1, 1, 1, 1, 107, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 289, 290, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 180, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 291, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 106, 1, 293, 1, 294, 295, 296, 1, 223, - 1, 1, 297, 0, 0, 0, 0, 147, 1, 1, 143, 95, 0, 0, 0, 0, - 1, 1, 26, 1, 298, 299, 300, 1, 301, 302, 303, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 304, 1, 1, 1, 1, 1, 1, 1, 1, 305, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 296, 297, 298, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 181, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 1, 1, 1, 252, 0, + 1, 1, 1, 1, 1, 1, 1, 107, 1, 301, 1, 302, 303, 288, 1, 15, + 1, 1, 304, 0, 0, 0, 0, 147, 1, 1, 144, 96, 0, 0, 0, 0, + 1, 1, 132, 1, 305, 306, 307, 1, 308, 309, 310, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 311, 1, 1, 1, 1, 1, 1, 1, 1, 312, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 306, 0, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 309, 282, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 310, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 311, 0, 1, 1, 312, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 313, 1, 314, 0, 0, 68, 130, 0, 0, 0, 0, 0, 0, - 300, 315, 316, 317, 318, 319, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 110, 1, 1, 147, 321, 322, 106, 1, 1, 1, 1, 1, 115, 0, 323, - 324, 180, 325, 326, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 313, 0, 314, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 316, 317, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 189, 116, 1, 318, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, + 1, 1, 1, 1, 1, 1, 320, 0, 1, 1, 321, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 322, 1, 323, 0, 0, 69, 131, 0, 0, 0, 0, 0, 0, + 307, 324, 325, 326, 327, 328, 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 111, 1, 1, 147, 330, 331, 107, 1, 1, 1, 1, 1, 116, 0, 332, + 275, 181, 333, 334, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 162, 327, 1, 1, 1, 147, 1, 1, 95, 155, - 110, 1, 328, 1, 206, 329, 0, 0, 1, 1, 1, 330, 1, 1, 194, 1, - 1, 1, 147, 331, 154, 332, 333, 0, 1, 1, 1, 1, 190, 1, 15, 189, + 1, 1, 1, 1, 1, 1, 335, 336, 1, 1, 1, 147, 1, 1, 96, 337, + 111, 1, 338, 1, 206, 339, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 147, 340, 155, 341, 342, 343, 1, 1, 1, 1, 191, 1, 15, 190, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 130, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 314, 1, 1, 1, 1, 1, 1, - 130, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 96, 1, 1, 1, 1, 1, 1, + 131, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 231, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 239, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 199, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 138, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 0, 0, 0, 0, 0 }; @@ -11167,87 +11395,89 @@ static RE_UINT8 re_grapheme_base_table_3[] = { 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 127, 255, 223, 255, 255, 0, 0, 255, 252, 240, 215, 255, 255, 251, 255, 255, 255, 7, 252, 255, 255, 255, 255, 254, 255, 255, 255, 127, 254, 255, 231, 0, 0, 0, 0, 0, 64, - 73, 0, 255, 255, 255, 135, 31, 0, 192, 255, 0, 200, 255, 7, 0, 0, + 73, 0, 255, 255, 255, 135, 31, 0, 192, 255, 0, 232, 255, 7, 0, 0, 255, 255, 63, 64, 96, 194, 255, 255, 255, 63, 253, 255, 255, 255, 0, 0, 0, 224, 255, 255, 63, 0, 2, 0, 255, 7, 240, 199, 255, 255, 63, 4, - 16, 1, 255, 127, 255, 255, 255, 65, 255, 255, 223, 255, 255, 0, 0, 0, - 248, 255, 255, 255, 255, 255, 255, 235, 1, 222, 1, 255, 243, 255, 255, 255, - 237, 159, 249, 255, 255, 253, 197, 163, 129, 89, 0, 176, 195, 255, 255, 63, - 232, 135, 249, 255, 255, 253, 109, 195, 1, 0, 0, 94, 192, 255, 92, 0, - 232, 191, 251, 255, 255, 253, 237, 227, 1, 26, 1, 0, 195, 255, 3, 2, - 236, 159, 249, 255, 255, 253, 237, 35, 129, 25, 0, 176, 195, 255, 255, 0, - 232, 199, 61, 214, 24, 199, 255, 131, 198, 29, 1, 0, 192, 255, 255, 7, - 238, 223, 253, 255, 255, 253, 255, 35, 30, 0, 0, 7, 195, 255, 128, 255, - 253, 223, 253, 255, 255, 253, 239, 99, 155, 13, 0, 64, 195, 255, 6, 0, - 252, 223, 253, 255, 255, 255, 255, 167, 193, 221, 112, 255, 195, 255, 255, 255, - 236, 255, 127, 252, 255, 255, 251, 47, 127, 0, 3, 127, 192, 255, 28, 0, - 254, 255, 255, 255, 255, 255, 13, 128, 127, 128, 255, 15, 214, 247, 255, 255, - 175, 255, 13, 32, 95, 0, 255, 243, 255, 255, 255, 252, 255, 255, 95, 253, - 255, 254, 255, 255, 255, 31, 0, 128, 32, 31, 0, 0, 0, 0, 0, 192, - 191, 223, 255, 7, 255, 31, 2, 153, 255, 255, 255, 60, 254, 255, 225, 255, - 155, 223, 255, 223, 191, 32, 255, 255, 255, 61, 127, 61, 255, 61, 255, 255, - 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 255, 7, - 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, 255, 255, 255, 1, - 255, 223, 3, 0, 255, 255, 99, 0, 255, 255, 3, 0, 255, 223, 1, 0, - 255, 255, 79, 192, 191, 1, 240, 31, 255, 3, 255, 3, 255, 7, 255, 3, - 159, 255, 255, 255, 255, 5, 255, 255, 255, 255, 63, 0, 120, 14, 251, 1, - 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 199, - 255, 255, 127, 198, 255, 255, 191, 0, 26, 224, 7, 0, 255, 63, 0, 0, - 240, 255, 255, 255, 255, 255, 15, 232, 251, 15, 255, 255, 255, 7, 240, 31, - 252, 255, 255, 255, 195, 196, 255, 255, 191, 92, 12, 240, 255, 15, 48, 248, - 255, 227, 255, 255, 255, 1, 255, 255, 255, 255, 255, 231, 255, 0, 8, 0, - 2, 222, 239, 4, 63, 63, 255, 170, 255, 255, 255, 63, 223, 255, 207, 239, - 255, 255, 220, 127, 255, 7, 255, 255, 255, 128, 255, 255, 0, 0, 243, 255, - 255, 127, 255, 31, 127, 0, 0, 0, 255, 255, 207, 255, 255, 255, 191, 255, - 255, 127, 255, 255, 255, 127, 12, 254, 255, 128, 1, 0, 255, 255, 127, 0, - 127, 127, 127, 127, 255, 255, 7, 0, 255, 255, 255, 251, 255, 255, 15, 0, + 16, 1, 255, 127, 255, 255, 255, 65, 255, 7, 255, 255, 255, 127, 0, 0, + 255, 3, 0, 0, 248, 255, 255, 255, 255, 255, 255, 235, 1, 222, 1, 255, + 243, 255, 255, 255, 237, 159, 249, 255, 255, 253, 197, 163, 129, 89, 0, 176, + 195, 255, 255, 63, 232, 135, 249, 255, 255, 253, 109, 195, 1, 0, 0, 94, + 192, 255, 92, 0, 232, 191, 251, 255, 255, 253, 237, 227, 1, 26, 1, 0, + 195, 255, 3, 2, 236, 159, 249, 255, 255, 253, 237, 35, 129, 25, 0, 176, + 195, 255, 255, 0, 232, 199, 61, 214, 24, 199, 255, 131, 198, 29, 1, 0, + 192, 255, 255, 7, 238, 223, 253, 255, 255, 253, 255, 35, 30, 0, 0, 39, + 195, 255, 128, 255, 253, 223, 253, 255, 255, 253, 239, 99, 155, 13, 0, 96, + 195, 255, 6, 0, 252, 223, 253, 255, 255, 255, 255, 167, 193, 221, 112, 255, + 195, 255, 255, 255, 236, 255, 127, 252, 255, 255, 251, 47, 127, 0, 3, 127, + 192, 255, 28, 0, 254, 255, 255, 255, 255, 255, 13, 128, 127, 128, 255, 15, + 214, 247, 255, 255, 175, 255, 13, 32, 95, 0, 255, 243, 255, 255, 255, 252, + 255, 255, 95, 253, 255, 254, 255, 255, 255, 31, 0, 128, 32, 31, 0, 0, + 0, 0, 0, 192, 191, 223, 255, 7, 255, 31, 2, 153, 255, 255, 255, 60, + 254, 255, 225, 255, 155, 223, 255, 223, 191, 32, 255, 255, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 7, 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, + 255, 255, 255, 1, 255, 255, 35, 128, 255, 255, 115, 0, 255, 255, 3, 0, + 255, 223, 1, 0, 255, 255, 79, 192, 191, 1, 240, 31, 255, 3, 255, 3, + 255, 7, 255, 3, 159, 255, 255, 255, 255, 5, 255, 255, 255, 255, 63, 0, + 120, 14, 251, 1, 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, + 255, 3, 255, 199, 255, 255, 127, 198, 255, 255, 191, 0, 26, 224, 7, 0, + 255, 63, 0, 0, 240, 255, 255, 255, 255, 255, 15, 232, 251, 31, 255, 255, + 255, 7, 240, 127, 252, 255, 255, 255, 195, 196, 255, 255, 191, 92, 12, 240, + 255, 15, 48, 248, 255, 227, 255, 255, 255, 1, 255, 255, 255, 255, 255, 231, + 255, 0, 8, 0, 2, 222, 239, 4, 63, 63, 255, 170, 255, 255, 255, 63, + 255, 255, 223, 255, 223, 255, 207, 239, 255, 255, 220, 127, 255, 128, 255, 255, + 0, 0, 243, 255, 255, 127, 255, 31, 1, 0, 0, 0, 127, 0, 0, 0, + 255, 255, 207, 255, 255, 255, 191, 255, 255, 127, 12, 254, 255, 128, 1, 0, + 255, 255, 127, 0, 127, 127, 127, 127, 255, 255, 255, 251, 255, 255, 15, 0, 0, 0, 255, 15, 255, 3, 255, 255, 255, 255, 127, 248, 224, 255, 255, 255, - 15, 0, 255, 255, 255, 31, 255, 255, 127, 0, 255, 255, 255, 15, 0, 0, - 255, 127, 8, 192, 255, 255, 252, 0, 252, 7, 0, 0, 0, 0, 224, 255, - 187, 247, 255, 255, 159, 15, 255, 3, 255, 255, 255, 0, 15, 192, 255, 3, - 0, 0, 252, 127, 63, 192, 255, 255, 127, 0, 12, 128, 255, 255, 55, 204, - 255, 191, 255, 195, 223, 255, 255, 127, 255, 129, 25, 0, 247, 47, 255, 243, - 255, 255, 255, 239, 255, 255, 98, 62, 5, 0, 0, 248, 255, 207, 63, 0, - 126, 126, 126, 0, 127, 127, 255, 255, 223, 30, 255, 3, 127, 248, 255, 255, - 255, 255, 255, 15, 255, 63, 255, 255, 127, 0, 248, 160, 255, 255, 127, 95, - 219, 255, 255, 255, 3, 0, 248, 255, 0, 0, 255, 255, 255, 255, 252, 255, - 0, 0, 255, 63, 0, 0, 255, 3, 255, 255, 247, 255, 127, 15, 223, 255, - 252, 252, 252, 28, 127, 127, 0, 48, 255, 239, 255, 255, 127, 255, 255, 183, - 255, 63, 255, 63, 135, 255, 255, 255, 255, 255, 143, 255, 1, 0, 0, 0, + 255, 127, 255, 255, 15, 0, 255, 255, 255, 31, 255, 255, 127, 0, 255, 255, + 255, 15, 0, 0, 255, 127, 8, 192, 255, 255, 252, 0, 255, 7, 235, 3, + 0, 0, 252, 255, 187, 247, 255, 255, 159, 15, 255, 3, 255, 255, 255, 0, + 15, 192, 255, 3, 0, 0, 252, 127, 63, 192, 255, 255, 127, 0, 12, 128, + 255, 255, 55, 204, 255, 191, 255, 195, 223, 255, 255, 127, 255, 129, 25, 0, + 247, 47, 255, 243, 255, 255, 255, 239, 255, 255, 98, 62, 5, 0, 0, 248, + 255, 207, 63, 0, 126, 126, 126, 0, 127, 127, 255, 255, 223, 30, 255, 3, + 127, 248, 255, 255, 255, 255, 255, 15, 255, 63, 255, 255, 127, 0, 248, 160, + 255, 255, 127, 95, 219, 255, 255, 255, 7, 0, 248, 255, 255, 255, 252, 255, + 255, 128, 0, 0, 0, 0, 255, 255, 0, 0, 255, 3, 255, 255, 247, 255, + 127, 15, 223, 255, 252, 252, 252, 28, 127, 127, 0, 48, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 135, 255, 255, 255, 255, 255, 143, 255, 255, 255, 1, 0, 254, 255, 255, 15, 15, 224, 255, 255, 255, 255, 255, 191, - 15, 255, 63, 0, 255, 255, 15, 255, 255, 0, 255, 255, 15, 128, 0, 0, - 63, 253, 255, 255, 255, 255, 191, 145, 128, 255, 0, 0, 255, 255, 55, 248, - 255, 255, 255, 143, 255, 255, 255, 131, 255, 255, 255, 240, 1, 0, 239, 254, - 255, 1, 255, 1, 31, 248, 127, 0, 255, 255, 63, 254, 255, 255, 63, 255, - 255, 255, 7, 255, 255, 255, 3, 30, 0, 254, 0, 0, 255, 1, 0, 0, - 255, 255, 7, 252, 15, 0, 255, 3, 255, 35, 3, 0, 63, 0, 254, 3, - 253, 255, 255, 255, 128, 63, 252, 255, 255, 255, 135, 217, 3, 0, 255, 255, + 15, 255, 63, 0, 255, 255, 15, 255, 255, 0, 255, 255, 15, 128, 255, 247, + 255, 247, 183, 255, 251, 255, 251, 27, 255, 0, 0, 0, 191, 255, 255, 255, + 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 128, 255, 0, 0, + 255, 255, 55, 248, 255, 255, 255, 143, 255, 255, 255, 131, 255, 255, 255, 240, + 1, 0, 239, 254, 255, 1, 255, 1, 31, 248, 127, 0, 255, 255, 63, 254, + 255, 255, 63, 255, 255, 255, 7, 255, 255, 255, 3, 30, 0, 254, 0, 0, + 255, 1, 0, 0, 255, 255, 7, 0, 255, 255, 7, 252, 15, 0, 255, 3, + 255, 35, 3, 0, 63, 0, 254, 3, 195, 3, 0, 0, 253, 255, 255, 255, + 128, 63, 252, 255, 255, 255, 38, 0, 255, 255, 135, 217, 3, 0, 255, 255, 255, 1, 255, 3, 127, 16, 192, 255, 255, 255, 119, 0, 255, 255, 63, 128, 255, 97, 255, 255, 254, 255, 31, 0, 255, 255, 251, 255, 255, 127, 44, 63, 127, 189, 255, 191, 7, 0, 255, 3, 255, 253, 237, 163, 158, 57, 1, 224, 15, 0, 0, 0, 163, 255, 255, 175, 3, 0, 0, 0, 255, 255, 6, 90, 242, 0, 255, 3, 255, 127, 3, 79, 255, 255, 7, 88, 30, 0, 255, 3, - 255, 31, 0, 0, 255, 215, 64, 1, 255, 3, 0, 0, 67, 0, 255, 255, - 255, 127, 0, 9, 255, 255, 7, 128, 127, 242, 111, 255, 255, 255, 190, 161, - 119, 0, 255, 3, 255, 252, 255, 255, 255, 255, 15, 240, 30, 0, 0, 0, - 1, 248, 255, 255, 255, 255, 7, 134, 127, 0, 129, 241, 255, 3, 128, 252, - 7, 0, 0, 0, 255, 253, 255, 255, 255, 255, 0, 64, 63, 0, 255, 255, - 0, 2, 18, 0, 127, 251, 255, 255, 64, 0, 255, 3, 191, 253, 255, 255, - 255, 127, 88, 1, 255, 255, 231, 1, 0, 0, 1, 0, 255, 255, 3, 128, - 255, 127, 31, 0, 255, 127, 0, 0, 255, 195, 0, 0, 255, 63, 32, 0, - 255, 255, 128, 255, 63, 0, 255, 251, 251, 255, 255, 224, 255, 0, 248, 255, - 15, 0, 3, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, + 255, 31, 0, 0, 255, 215, 64, 3, 67, 0, 255, 255, 255, 127, 0, 9, + 255, 255, 7, 128, 127, 242, 111, 255, 255, 255, 190, 161, 119, 0, 255, 3, + 255, 252, 255, 255, 255, 255, 15, 240, 30, 0, 0, 0, 1, 248, 255, 255, + 255, 255, 7, 134, 127, 0, 129, 241, 255, 3, 128, 252, 7, 0, 255, 255, + 255, 253, 255, 255, 255, 255, 0, 64, 63, 0, 255, 255, 0, 2, 18, 0, + 127, 251, 255, 255, 64, 0, 255, 3, 191, 253, 255, 255, 255, 127, 88, 1, + 255, 255, 231, 1, 0, 0, 1, 0, 255, 255, 3, 128, 255, 127, 31, 0, + 255, 195, 255, 255, 255, 63, 32, 0, 255, 255, 128, 255, 63, 0, 255, 251, + 251, 255, 255, 224, 255, 0, 248, 255, 15, 0, 3, 0, 0, 0, 239, 111, + 7, 0, 0, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, 255, 1, 255, 147, 127, 254, 255, 255, 95, 60, 0, 0, 24, 240, 255, 255, - 255, 195, 255, 255, 35, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, - 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, - 63, 255, 255, 255, 255, 207, 255, 255, 0, 0, 128, 7, 0, 224, 223, 255, - 239, 15, 0, 0, 255, 31, 128, 63, 255, 15, 255, 131, 159, 255, 0, 0, - 15, 8, 255, 195, 0, 0, 254, 255, 255, 255, 31, 0, 150, 254, 247, 10, - 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, - 0, 0, 3, 0, 255, 127, 254, 255, 254, 255, 254, 255, 192, 255, 255, 255, - 7, 0, 255, 255, 255, 1, 3, 0, 63, 0, 0, 0, 255, 31, 255, 31, - 255, 0, 255, 3, 255, 63, 3, 0, 255, 255, 255, 253, 255, 63, 31, 7, - 255, 1, 127, 0, 7, 0, 127, 0 + 35, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, + 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, + 255, 207, 255, 255, 0, 0, 128, 7, 0, 224, 223, 255, 239, 15, 0, 0, + 255, 31, 128, 63, 255, 195, 0, 0, 255, 15, 255, 131, 127, 111, 255, 127, + 159, 255, 0, 0, 15, 8, 255, 195, 0, 0, 254, 255, 255, 255, 31, 0, + 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, + 238, 251, 255, 15, 0, 0, 3, 0, 255, 127, 254, 255, 254, 255, 254, 255, + 192, 255, 255, 255, 255, 1, 3, 0, 63, 0, 0, 0, 255, 255, 255, 224, + 255, 31, 255, 31, 255, 15, 1, 0, 255, 0, 255, 3, 255, 63, 3, 0, + 255, 63, 31, 31, 255, 31, 255, 7, 63, 0, 255, 3, 255, 0, 127, 0 }; RE_UINT32 re_get_grapheme_base(RE_UINT32 codepoint) { @@ -11278,7 +11508,7 @@ static RE_UINT8 re_grapheme_cluster_break_table_1[] = { 24, 9, 25, 26, 27, 28, 29, 30, 9, 9, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 34, - 9, 9, 9, 9, 35, 9, 36, 9, 37, 9, 38, 9, 39, 9, 9, 9, + 9, 9, 9, 35, 36, 9, 37, 9, 38, 9, 39, 9, 40, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -11327,7 +11557,7 @@ static RE_UINT8 re_grapheme_cluster_break_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 40, 41, 41, 41, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 41, 42, 42, 42, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -11346,17 +11576,17 @@ static RE_UINT8 re_grapheme_cluster_break_table_2[] = { 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 6, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 8, 9, 10, 1, 11, 1, 12, 13, 1, 1, 14, 15, 16, 17, 18, 1, 1, 19, 1, 20, - 21, 22, 23, 1, 1, 1, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 34, 35, 38, 39, 30, 40, 41, 29, 42, 43, 44, 1, - 45, 46, 47, 29, 30, 48, 49, 29, 50, 51, 52, 29, 30, 1, 53, 54, + 21, 22, 23, 1, 24, 1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 35, 36, 39, 40, 31, 41, 42, 30, 43, 44, 45, 1, + 46, 41, 47, 30, 31, 48, 49, 30, 50, 51, 52, 30, 31, 1, 53, 54, 1, 55, 56, 1, 1, 57, 58, 1, 59, 60, 1, 61, 62, 63, 64, 1, 1, 65, 66, 67, 68, 1, 1, 1, 69, 69, 69, 70, 70, 71, 72, 72, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 73, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 74, 74, 75, 75, 1, 76, 77, 1, - 78, 1, 1, 1, 79, 80, 1, 1, 1, 81, 1, 1, 1, 1, 1, 1, - 82, 1, 83, 84, 1, 17, 85, 1, 86, 87, 88, 89, 90, 91, 1, 92, - 1, 93, 1, 1, 1, 1, 94, 95, 1, 1, 1, 1, 1, 1, 5, 96, + 1, 1, 1, 1, 1, 1, 1, 1, 74, 75, 76, 76, 1, 77, 78, 1, + 79, 1, 1, 1, 80, 81, 1, 1, 1, 82, 1, 1, 1, 1, 1, 1, + 83, 1, 84, 85, 1, 17, 86, 1, 87, 88, 89, 90, 91, 92, 1, 93, + 1, 94, 1, 1, 1, 1, 95, 96, 1, 1, 1, 1, 1, 1, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 97, 98, 1, 99, 1, 1, 17, 100, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -11367,62 +11597,64 @@ static RE_UINT8 re_grapheme_cluster_break_table_2[] = { 1, 103, 1, 1, 104, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 105, 46, 1, 1, 106, 1, 1, 1, 1, 1, 1, 1, 1, - 107, 108, 1, 1, 109, 110, 111, 112, 1, 113, 114, 115, 26, 116, 117, 118, - 1, 119, 120, 121, 1, 122, 123, 124, 1, 1, 1, 1, 1, 1, 1, 125, - 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, - 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, - 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, - 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, - 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, - 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, - 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, - 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, - 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, - 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, - 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, - 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, - 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, - 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, - 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, - 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 133, 134, 135, + 1, 1, 1, 105, 106, 1, 1, 107, 1, 1, 1, 1, 1, 1, 1, 1, + 108, 109, 1, 1, 110, 111, 112, 113, 1, 114, 115, 116, 27, 117, 118, 119, + 1, 120, 121, 122, 1, 123, 124, 125, 1, 1, 1, 1, 1, 1, 1, 126, + 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, + 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, + 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, + 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, + 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, + 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, + 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, + 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, + 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, + 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, + 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, + 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, + 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, + 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, + 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, + 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 134, 135, 136, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 136, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 137, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 6, 6, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 46, 1, 1, 137, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 138, - 1, 1, 1, 1, 1, 1, 1, 85, 1, 1, 1, 139, 1, 1, 1, 1, + 6, 6, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 106, 1, 1, 138, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 139, + 1, 1, 1, 1, 1, 1, 1, 140, 1, 1, 1, 141, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 142, 143, 1, 1, 1, 1, 1, 80, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 144, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 145, 1, 1, 1, 1, 19, 1, 146, 1, 1, 1, + 147, 148, 149, 150, 91, 151, 152, 1, 153, 154, 155, 156, 91, 157, 158, 1, + 1, 159, 1, 1, 1, 1, 102, 160, 50, 51, 161, 162, 1, 1, 1, 1, + 1, 163, 164, 1, 1, 165, 166, 1, 1, 1, 1, 1, 1, 167, 168, 1, + 1, 169, 140, 1, 1, 170, 1, 1, 73, 171, 1, 1, 1, 1, 1, 1, + 1, 172, 1, 1, 1, 1, 1, 1, 1, 173, 174, 1, 1, 1, 175, 176, + 177, 178, 179, 1, 180, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 181, 1, 1, 182, 183, 1, 1, 1, 184, 185, 1, 186, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 187, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 188, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 140, 141, 1, 1, 1, 1, 1, 79, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 142, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 143, 1, 1, 1, 1, 19, 1, 1, 1, 1, 1, - 144, 145, 146, 102, 90, 147, 148, 1, 149, 150, 151, 152, 90, 153, 154, 1, - 1, 155, 1, 1, 1, 1, 102, 156, 50, 51, 157, 158, 1, 1, 1, 1, - 1, 159, 160, 1, 1, 161, 162, 1, 1, 1, 1, 1, 1, 163, 164, 1, - 1, 165, 85, 1, 1, 166, 1, 1, 73, 167, 1, 1, 1, 1, 1, 1, - 1, 168, 1, 1, 1, 1, 1, 1, 1, 169, 170, 1, 1, 1, 171, 172, - 173, 174, 175, 1, 176, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 177, 1, 1, 178, 179, 1, 1, 1, 180, 181, 1, 182, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 183, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 184, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 189, 1, 190, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 185, 1, 186, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 192, 193, 1, 1, 194, + 1, 1, 1, 1, 195, 196, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 187, 188, 189, 1, 1, 190, - 1, 1, 1, 1, 191, 192, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 193, 194, 195, 1, 1, - 1, 1, 196, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 5, 197, 149, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 198, 199, 200, 1, 1, + 1, 1, 201, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 5, 197, 5, 198, 199, 200, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 201, 202, 1, 1, 1, 1, 1, 1, 1, 186, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 203, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 186, 1, 1, 1, 204, 1, 1, 1, 1, 1, + 5, 202, 5, 203, 204, 205, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 206, 207, 1, 1, 1, 1, 1, 1, 1, 190, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 208, 1, 209, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 190, 1, 1, 1, 210, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 205, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 206, - 3, 5, 5, 5, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 207, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 211, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 212, + 3, 5, 5, 5, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 213, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 @@ -11478,7 +11710,9 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11521,8 +11755,6 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 6, 6, 0, 4, 4, 4, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11578,14 +11810,16 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4, 4, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 4, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11599,7 +11833,7 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 6, 4, 6, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, - 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11621,8 +11855,6 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 6, 4, 4, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 10, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, @@ -11642,6 +11874,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11707,6 +11941,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 4, 4, 0, 0, 0, 0, 0, 4, 4, 4, 4, @@ -11717,6 +11953,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11724,8 +11962,10 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 4, 4, 4, 4, 6, 6, 4, 4, 0, 0, 5, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, + 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11763,7 +12003,7 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 4, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 4, 6, 6, 4, 4, 4, 4, 4, 4, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 0, 0, 0, 0, + 0, 0, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 0, 0, 0, 0, 0, @@ -11815,6 +12055,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 4, 6, 4, 4, 4, 0, 0, 0, 6, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, @@ -11835,6 +12077,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, @@ -11873,7 +12117,7 @@ static RE_UINT8 re_grapheme_extend_table_1[] = { 16, 9, 17, 18, 19, 20, 21, 22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 23, 24, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25, - 9, 9, 9, 9, 26, 9, 27, 9, 28, 9, 29, 9, 9, 9, 9, 9, + 9, 9, 9, 26, 27, 9, 28, 9, 29, 9, 30, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -11922,7 +12166,7 @@ static RE_UINT8 re_grapheme_extend_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 30, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -11941,61 +12185,63 @@ static RE_UINT8 re_grapheme_extend_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 0, 7, 0, 8, 9, 0, 0, 10, 11, 12, 13, 14, 0, 0, 15, 0, 16, - 17, 18, 19, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 30, 31, 34, 35, 26, 36, 37, 25, 38, 39, 40, 0, - 41, 42, 43, 25, 26, 44, 45, 25, 46, 47, 28, 25, 26, 0, 48, 0, + 17, 18, 19, 0, 20, 0, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 31, 32, 35, 36, 27, 37, 38, 26, 39, 40, 41, 0, + 42, 37, 43, 26, 27, 44, 45, 26, 46, 47, 29, 26, 27, 0, 48, 0, 0, 49, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 56, 57, 58, 0, 0, 59, 60, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 65, 65, 0, 66, 67, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 65, 65, 0, 66, 67, 0, 68, 0, 0, 0, 69, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, - 72, 0, 73, 74, 0, 13, 75, 0, 76, 77, 38, 78, 46, 79, 0, 80, - 0, 81, 0, 0, 0, 0, 82, 83, 0, 0, 0, 0, 0, 0, 1, 84, + 72, 0, 73, 74, 0, 13, 75, 0, 76, 77, 39, 78, 46, 79, 0, 80, + 0, 81, 0, 0, 0, 0, 82, 83, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 85, 0, 0, 0, 0, 0, 13, 86, 0, 0, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 0, 0, 0, 13, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 89, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 88, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 91, 42, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, - 93, 94, 0, 0, 0, 0, 95, 96, 0, 97, 98, 0, 22, 99, 0, 100, - 0, 101, 102, 31, 0, 103, 26, 104, 0, 0, 0, 0, 0, 0, 0, 105, + 0, 0, 0, 90, 91, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, + 93, 94, 0, 0, 0, 0, 95, 96, 0, 97, 98, 0, 23, 99, 0, 100, + 0, 101, 102, 32, 0, 103, 27, 104, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, + 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, - 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 107, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 108, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 109, 110, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, 15, 0, 113, 0, 0, 0, + 27, 20, 114, 115, 46, 116, 39, 0, 23, 117, 0, 118, 46, 119, 120, 0, + 0, 121, 0, 0, 0, 0, 87, 122, 46, 47, 123, 124, 0, 0, 0, 0, + 0, 20, 125, 0, 0, 126, 127, 0, 0, 0, 0, 0, 0, 128, 129, 0, + 0, 130, 107, 0, 0, 131, 0, 0, 63, 132, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 0, 0, 0, 0, 134, 135, 0, 0, 0, 136, 107, + 137, 138, 139, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 141, 0, 0, 142, 143, 0, 0, 0, 144, 145, 0, 146, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 108, 109, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, - 26, 112, 113, 88, 46, 114, 0, 0, 22, 115, 0, 116, 46, 117, 118, 0, - 0, 119, 0, 0, 0, 0, 88, 120, 46, 47, 121, 122, 0, 0, 0, 0, - 0, 112, 123, 0, 0, 124, 125, 0, 0, 0, 0, 0, 0, 126, 127, 0, - 0, 128, 75, 0, 0, 129, 0, 0, 63, 130, 0, 0, 0, 0, 0, 0, - 0, 131, 0, 0, 0, 0, 0, 0, 0, 132, 133, 0, 0, 0, 134, 75, - 135, 136, 137, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 139, 0, 0, 140, 141, 0, 0, 0, 142, 143, 0, 144, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 148, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 146, 0, 147, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 151, 0, 0, 152, + 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, 149, 0, 0, 150, - 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 154, 0, 0, - 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 154, 114, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 156, 157, 0, 0, + 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 156, 1, 157, 158, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 161, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 163, 0, 0, 0, 0, 0, + 1, 159, 1, 160, 161, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 163, 164, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 165, 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 @@ -12007,42 +12253,43 @@ static RE_UINT8 re_grapheme_extend_table_3[] = { 0, 248, 255, 255, 0, 0, 1, 0, 0, 0, 192, 159, 159, 61, 0, 0, 0, 0, 2, 0, 0, 0, 255, 255, 255, 7, 0, 0, 192, 255, 1, 0, 0, 248, 15, 32, 0, 0, 192, 251, 239, 62, 0, 0, 0, 0, 0, 14, - 0, 0, 248, 255, 251, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 20, - 254, 33, 254, 0, 12, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 80, - 30, 32, 128, 0, 12, 0, 0, 64, 6, 0, 0, 0, 0, 0, 0, 16, - 134, 57, 2, 0, 0, 0, 35, 0, 190, 33, 0, 0, 12, 0, 0, 252, - 0, 0, 0, 208, 30, 32, 224, 0, 4, 0, 0, 0, 0, 0, 0, 64, - 1, 32, 128, 0, 17, 0, 0, 0, 0, 0, 0, 192, 193, 61, 96, 0, + 0, 0, 0, 255, 0, 252, 255, 255, 251, 255, 255, 255, 7, 0, 0, 0, + 0, 0, 0, 20, 254, 33, 254, 0, 12, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 80, 30, 32, 128, 0, 12, 0, 0, 64, 6, 0, 0, 0, + 0, 0, 0, 16, 134, 57, 2, 0, 0, 0, 35, 0, 190, 33, 0, 0, + 12, 0, 0, 252, 0, 0, 0, 208, 30, 32, 224, 0, 4, 0, 0, 0, + 0, 0, 0, 64, 1, 32, 128, 0, 17, 0, 0, 0, 193, 61, 96, 0, 0, 0, 0, 144, 68, 48, 96, 0, 3, 0, 0, 0, 0, 0, 0, 88, 0, 132, 92, 128, 0, 0, 242, 7, 128, 127, 0, 0, 0, 0, 242, 31, 0, 63, 0, 0, 0, 0, 0, 3, 0, 0, 160, 2, 0, 0, 254, 127, 223, 224, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 0, 224, 253, 102, 0, 0, 0, 195, 1, 0, 30, 0, 100, 32, 0, 32, 0, 0, 0, 224, 0, 0, 28, 0, 0, 0, 12, 0, 0, 0, 176, 63, 64, 254, 15, 32, - 0, 56, 0, 0, 96, 0, 0, 0, 0, 2, 0, 0, 135, 1, 4, 14, - 0, 0, 128, 9, 0, 0, 64, 127, 229, 31, 248, 159, 1, 0, 0, 0, + 0, 184, 0, 0, 96, 0, 0, 0, 0, 2, 0, 0, 135, 1, 4, 14, + 0, 0, 128, 9, 0, 0, 64, 127, 229, 31, 248, 159, 255, 127, 0, 0, 15, 0, 0, 0, 0, 0, 240, 23, 0, 248, 15, 0, 60, 59, 0, 0, 64, 163, 3, 0, 0, 240, 207, 0, 0, 0, 247, 255, 253, 33, 16, 3, - 255, 255, 255, 251, 0, 16, 0, 0, 255, 255, 1, 0, 0, 128, 3, 0, - 0, 0, 0, 128, 0, 252, 0, 0, 0, 0, 0, 6, 0, 128, 247, 63, + 0, 16, 0, 0, 255, 255, 1, 0, 0, 128, 3, 0, 0, 0, 0, 128, + 0, 252, 0, 0, 0, 0, 0, 6, 0, 128, 247, 63, 0, 0, 0, 192, 0, 0, 3, 0, 68, 8, 0, 0, 96, 16, 0, 0, 48, 0, 0, 0, 255, 255, 3, 128, 192, 63, 0, 0, 128, 255, 3, 0, 0, 0, 200, 51, 32, 0, 0, 0, 0, 126, 102, 0, 8, 16, 0, 0, 0, 0, 157, 193, - 0, 48, 64, 0, 32, 33, 0, 0, 0, 0, 0, 32, 0, 0, 192, 7, - 110, 240, 0, 0, 0, 0, 0, 135, 240, 0, 0, 0, 0, 24, 0, 0, - 0, 0, 0, 255, 127, 0, 0, 0, 0, 0, 120, 6, 128, 239, 31, 0, - 0, 0, 8, 0, 0, 0, 192, 127, 0, 158, 0, 0, 0, 128, 211, 64, - 248, 7, 0, 0, 1, 0, 128, 0, 192, 31, 31, 0, 92, 0, 0, 64, - 0, 0, 249, 165, 13, 0, 0, 0, 0, 128, 60, 176, 1, 0, 0, 48, - 0, 0, 248, 167, 0, 40, 191, 0, 188, 15, 0, 0, 0, 128, 255, 6, - 0, 0, 1, 88, 8, 0, 0, 0, 0, 0, 240, 12, 254, 7, 0, 0, - 0, 0, 248, 121, 128, 0, 126, 14, 0, 252, 127, 3, 0, 0, 127, 191, - 0, 0, 252, 255, 255, 252, 109, 0, 0, 0, 126, 180, 191, 0, 0, 0, - 0, 0, 163, 0, 0, 0, 24, 0, 0, 0, 31, 0, 0, 0, 127, 0, - 0, 128, 0, 0, 0, 128, 7, 0, 16, 0, 0, 0, 0, 0, 0, 96, - 160, 195, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, - 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, - 127, 255, 255, 249, 219, 7, 0, 0, 0, 240, 0, 0, 240, 7, 0, 0 + 0, 48, 64, 0, 32, 33, 0, 0, 0, 0, 0, 32, 1, 0, 0, 0, + 0, 0, 192, 7, 110, 240, 0, 0, 0, 0, 0, 135, 240, 0, 0, 0, + 0, 24, 0, 0, 60, 0, 0, 0, 127, 0, 0, 0, 0, 0, 25, 128, + 0, 0, 120, 6, 128, 239, 31, 0, 0, 0, 8, 0, 0, 0, 192, 127, + 0, 158, 0, 0, 0, 128, 211, 64, 248, 7, 0, 0, 1, 0, 128, 0, + 192, 31, 31, 0, 92, 0, 0, 64, 0, 0, 249, 165, 13, 0, 0, 0, + 0, 128, 60, 176, 1, 0, 0, 48, 0, 0, 248, 167, 0, 40, 191, 0, + 188, 15, 0, 0, 0, 128, 255, 6, 0, 0, 1, 88, 8, 0, 0, 0, + 0, 0, 240, 12, 254, 7, 0, 0, 0, 0, 248, 121, 128, 0, 126, 14, + 0, 252, 127, 3, 0, 0, 127, 191, 0, 0, 252, 255, 255, 252, 109, 0, + 0, 0, 126, 180, 191, 0, 0, 0, 0, 0, 163, 0, 0, 0, 24, 0, + 0, 0, 31, 0, 0, 0, 127, 0, 0, 128, 0, 0, 0, 128, 7, 0, + 16, 0, 0, 0, 0, 0, 0, 96, 255, 63, 255, 255, 160, 195, 7, 248, + 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 127, 248, + 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, + 219, 7, 0, 0, 0, 64, 0, 0, 0, 240, 0, 0, 240, 7, 0, 0 }; RE_UINT32 re_get_grapheme_extend(RE_UINT32 codepoint) { @@ -12146,33 +12393,33 @@ static RE_UINT8 re_grapheme_link_table_2[] = { 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 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, 9, 0, 0, 0, 0, 0, 0, 5, 0, 0, 10, 0, 11, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, + 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 5, 0, 0, 11, 0, 12, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 13, 14, 0, 0, 0, 0, 5, 0, 0, 0, 15, 0, 0, 0, 9, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 1, + 14, 15, 0, 0, 0, 0, 5, 0, 0, 0, 16, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 13, 12, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 9, 0, - 0, 19, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 20, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 12, 0, 0, - 0, 12, 0, 0, 0, 16, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, - 0, 17, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 9, - 0, 7, 23, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 25, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 14, 18, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 10, 0, + 0, 21, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 13, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, + 0, 19, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 10, + 0, 8, 25, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_grapheme_link_table_3[] = { 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 24, 0, 4, 0, 0, - 0, 0, 0, 4, 16, 0, 0, 0, 0, 0, 0, 6, 0, 0, 16, 0, - 0, 0, 4, 0, 1, 0, 0, 0, 0, 12, 0, 0, 0, 0, 12, 0, - 0, 0, 0, 128, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, - 0, 0, 64, 0, 0, 0, 0, 2, 0, 0, 24, 0, 0, 0, 32, 0, - 4, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 96, 128, 0, 0, 0, - 48, 0, 0, 0, 0, 0, 128, 0 + 0, 0, 0, 4, 16, 0, 0, 0, 0, 0, 0, 6, 0, 0, 48, 0, + 0, 0, 16, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 12, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 16, 0, 0, + 0, 0, 8, 0, 0, 0, 64, 0, 0, 0, 1, 128, 0, 0, 0, 2, + 0, 0, 24, 0, 0, 0, 32, 0, 4, 0, 0, 0, 0, 8, 0, 0, + 0, 0, 0, 96, 128, 0, 0, 0, 48, 0, 0, 0, 0, 0, 128, 0 }; RE_UINT32 re_get_grapheme_link(RE_UINT32 codepoint) { @@ -12481,17 +12728,17 @@ RE_UINT32 re_get_hyphen(RE_UINT32 codepoint) { static RE_UINT8 re_id_continue_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 14, 12, 15, 16, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 17, 9, 9, 9, 9, 9, 9, 9, 9, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 9, 9, 12, 30, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 15, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 16, 9, 9, 9, 9, 9, 9, 9, 9, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 9, 29, 12, 30, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 12, 12, 12, 12, - 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 9, 36, 9, 9, 37, - 9, 9, 9, 9, 38, 39, 40, 9, 41, 9, 42, 43, 9, 9, 44, 9, + 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 36, 37, 9, 9, 38, + 9, 9, 9, 39, 40, 41, 42, 43, 44, 45, 46, 47, 9, 9, 48, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 45, 12, 12, 12, 46, 47, 12, - 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 49, 9, 9, 9, 50, 9, - 12, 12, 12, 12, 51, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 49, 12, 12, 12, 50, 51, 12, + 12, 12, 12, 52, 12, 12, 12, 12, 12, 12, 53, 9, 9, 9, 54, 9, + 12, 12, 12, 12, 55, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -12535,7 +12782,7 @@ static RE_UINT8 re_id_continue_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 52, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 56, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -12554,107 +12801,115 @@ static RE_UINT16 re_id_continue_table_2[] = { 6, 6, 6, 6, 6, 6, 7, 8, 6, 6, 6, 9, 10, 11, 6, 12, 6, 6, 6, 6, 13, 6, 6, 6, 6, 14, 15, 6, 16, 17, 18, 19, 20, 6, 6, 21, 6, 6, 22, 23, 24, 6, 25, 6, 6, 26, 6, 27, - 6, 28, 29, 30, 0, 31, 32, 11, 6, 6, 6, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 43, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 53, 6, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 0, 70, 71, 72, 0, 73, 74, 75, 76, 77, 78, 79, 0, - 6, 6, 80, 6, 81, 6, 82, 83, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 84, 6, 85, 86, 87, 6, 88, 6, 89, 90, 91, 6, 6, 92, - 67, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 93, 3, 6, 6, 94, 95, 96, 97, 98, 6, 6, 99, 100, - 101, 6, 6, 102, 6, 103, 6, 104, 105, 106, 107, 108, 6, 109, 110, 0, - 29, 6, 105, 111, 112, 113, 114, 0, 6, 6, 115, 116, 6, 6, 6, 97, - 6, 117, 118, 81, 119, 89, 120, 68, 6, 6, 6, 6, 6, 6, 6, 121, - 6, 6, 6, 6, 6, 6, 6, 6, 92, 6, 122, 81, 6, 123, 124, 125, - 0, 126, 127, 128, 129, 0, 129, 130, 131, 132, 133, 6, 134, 0, 0, 0, + 6, 28, 29, 30, 31, 6, 6, 11, 6, 6, 6, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 42, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 52, 6, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 0, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 0, + 6, 6, 79, 6, 80, 6, 81, 82, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 83, 6, 84, 85, 86, 6, 87, 6, 88, 89, 90, 6, 6, 91, + 66, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 92, 3, 6, 6, 93, 94, 95, 96, 97, 6, 6, 98, 99, + 100, 6, 6, 101, 6, 30, 6, 102, 103, 104, 105, 106, 6, 107, 108, 0, + 29, 6, 103, 109, 110, 111, 112, 0, 6, 6, 113, 114, 6, 6, 6, 96, + 6, 115, 116, 80, 117, 88, 118, 67, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 91, 6, 119, 80, 6, 120, 121, 122, + 0, 123, 124, 125, 126, 0, 126, 127, 128, 129, 130, 6, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 135, 105, 6, 6, 6, 6, 136, 6, 82, 6, 137, 138, 139, 139, 6, + 6, 6, 6, 6, 6, 6, 6, 132, 6, 81, 6, 133, 134, 135, 135, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 141, 67, 6, 142, 67, 6, 83, 143, 14, 6, 6, 144, 6, 0, 24, + 136, 137, 66, 6, 138, 66, 6, 82, 139, 14, 6, 6, 112, 6, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 140, 0, 24, 80, 6, 6, 6, 6, 6, 6, 6, 6, + 141, 142, 6, 143, 6, 6, 6, 26, 144, 145, 6, 6, 146, 6, 147, 148, + 6, 149, 6, 96, 6, 6, 150, 151, 6, 152, 96, 77, 6, 6, 153, 103, + 6, 134, 154, 155, 6, 6, 156, 157, 158, 159, 82, 79, 6, 6, 6, 160, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 78, - 6, 6, 6, 6, 145, 0, 24, 81, 6, 6, 6, 6, 6, 6, 6, 6, - 146, 147, 6, 148, 6, 6, 6, 26, 149, 150, 6, 6, 151, 6, 152, 153, - 6, 154, 6, 97, 6, 6, 155, 156, 6, 157, 97, 78, 6, 6, 158, 105, - 6, 138, 159, 160, 6, 6, 161, 162, 163, 164, 83, 80, 6, 6, 6, 165, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 166, 167, 29, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 161, 162, 29, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 157, 6, 6, 168, 0, 169, 170, 171, 6, 6, 26, 172, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 81, 24, 6, 173, 6, 174, 175, - 91, 176, 177, 178, 6, 6, 6, 78, 1, 2, 3, 107, 6, 105, 179, 0, - 180, 181, 182, 0, 6, 6, 6, 68, 0, 0, 6, 96, 0, 0, 0, 183, - 0, 0, 0, 0, 78, 6, 184, 114, 6, 185, 103, 68, 81, 6, 186, 0, - 6, 6, 6, 6, 81, 80, 187, 29, 6, 188, 6, 189, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 138, 104, 174, 0, 0, 0, 0, - 190, 191, 104, 138, 105, 0, 0, 192, 104, 168, 0, 0, 6, 193, 0, 0, - 194, 195, 0, 78, 78, 0, 75, 196, 6, 104, 104, 197, 26, 0, 0, 0, - 6, 6, 134, 0, 6, 197, 6, 197, 6, 198, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 199, 0, 0, 78, 200, 184, 0, 0, 24, 201, 138, - 6, 6, 196, 202, 6, 68, 24, 203, 6, 31, 204, 205, 6, 6, 206, 0, - 207, 208, 0, 0, 209, 119, 6, 210, 34, 211, 212, 213, 0, 0, 0, 0, - 6, 6, 214, 215, 6, 6, 216, 0, 0, 0, 0, 0, 6, 217, 218, 0, - 6, 6, 219, 0, 6, 102, 100, 0, 89, 115, 0, 0, 0, 0, 0, 0, - 6, 68, 0, 0, 0, 6, 6, 220, 221, 222, 223, 0, 0, 224, 225, 226, - 6, 105, 200, 6, 227, 0, 6, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 5, 229, 230, 173, 231, 0, 0, 232, 233, 198, 234, 235, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 236, 0, 0, + 6, 6, 6, 152, 6, 6, 163, 0, 164, 165, 166, 6, 6, 26, 167, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 80, 24, 6, 168, 6, 169, 170, + 90, 171, 172, 173, 6, 6, 6, 77, 1, 2, 3, 105, 6, 103, 174, 0, + 175, 176, 177, 0, 6, 6, 6, 67, 0, 0, 6, 95, 0, 0, 0, 178, + 0, 0, 0, 0, 77, 6, 179, 180, 6, 181, 30, 67, 80, 6, 182, 0, + 6, 6, 6, 6, 80, 79, 183, 29, 6, 184, 6, 185, 186, 187, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 134, 102, 169, 188, 189, 0, 0, + 190, 191, 102, 134, 103, 0, 0, 192, 102, 163, 0, 0, 6, 193, 0, 0, + 194, 195, 0, 77, 77, 0, 74, 196, 6, 102, 102, 197, 26, 0, 0, 0, + 6, 6, 131, 0, 6, 197, 6, 197, 6, 198, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 199, 0, 0, 77, 200, 179, 24, 201, 24, 202, 134, + 6, 6, 196, 203, 6, 67, 204, 205, 6, 206, 207, 208, 6, 6, 209, 0, + 210, 211, 0, 0, 212, 117, 6, 213, 33, 214, 215, 216, 0, 0, 0, 0, + 6, 6, 217, 218, 6, 6, 219, 0, 0, 0, 0, 0, 6, 220, 221, 0, + 6, 6, 222, 0, 6, 101, 99, 0, 88, 223, 196, 0, 0, 0, 0, 0, + 6, 67, 0, 0, 0, 6, 6, 224, 225, 226, 227, 0, 0, 228, 229, 230, + 6, 103, 200, 6, 231, 24, 6, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 232, 5, 233, 148, 168, 234, 0, 0, 235, 236, 198, 237, 238, 99, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 239, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 168, 0, 0, 0, - 6, 6, 6, 144, 6, 6, 6, 6, 6, 6, 189, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 163, 0, 0, 0, + 6, 6, 6, 112, 6, 6, 6, 6, 6, 6, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 6, 179, + 6, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 102, 105, 100, 0, 0, 24, 108, 6, 138, 223, 237, 91, 0, 0, 0, + 6, 101, 103, 79, 6, 103, 79, 106, 6, 134, 227, 241, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 238, 6, 239, 0, 0, 240, + 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 242, 6, 243, 0, 0, 244, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 117, - 6, 6, 6, 6, 6, 6, 104, 0, 134, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 115, + 6, 6, 6, 6, 6, 6, 102, 0, 131, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 105, 0, 241, 204, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 246, 247, 207, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 242, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 248, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 245, 246, 0, 0, - 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 31, 6, 248, 249, 250, 6, 251, 252, 253, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 254, 255, 83, 31, 31, 135, 135, 228, 228, 256, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 257, 6, 258, 259, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 261, 262, 0, 0, 0, 0, 0, 0, 6, 263, 264, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 265, 0, 6, 6, 115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 152, 196, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 251, 252, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 206, 6, 254, 255, 256, 6, 257, 258, 259, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 260, 261, 82, 206, 206, 262, 262, 232, 232, 263, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 264, 6, 265, 266, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 266, 267, 268, 269, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, + 268, 269, 0, 0, 0, 0, 0, 0, 6, 270, 271, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 112, 6, 163, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, + 6, 6, 6, 6, 6, 6, 273, 0, 6, 6, 223, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 256, 274, 275, 276, 277, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 81, 0, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 96, 6, 6, 6, 6, 6, 6, - 81, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 101, 6, 6, 6, 6, 6, 6, + 80, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 271, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 279, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 114, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 180, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 91, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 280, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -12666,67 +12921,70 @@ static RE_UINT8 re_id_continue_table_3[] = { 255, 1, 254, 255, 255, 255, 255, 191, 182, 0, 255, 255, 255, 135, 7, 0, 0, 0, 255, 7, 255, 195, 255, 255, 255, 255, 239, 159, 255, 253, 255, 159, 0, 0, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 63, 36, - 255, 63, 0, 0, 255, 255, 255, 15, 255, 7, 0, 0, 255, 255, 223, 255, - 255, 0, 248, 255, 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, - 159, 121, 128, 176, 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, - 135, 57, 2, 94, 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, - 191, 59, 1, 0, 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, - 207, 255, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, - 192, 255, 0, 0, 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, - 207, 255, 0, 0, 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 64, - 207, 255, 6, 0, 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, - 255, 255, 251, 47, 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, - 255, 255, 255, 7, 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, - 95, 63, 255, 243, 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, - 255, 31, 254, 255, 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, - 255, 3, 255, 255, 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, - 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, - 255, 255, 61, 255, 255, 255, 255, 231, 0, 254, 3, 0, 255, 255, 0, 0, - 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, 255, 223, 31, 0, - 255, 255, 31, 0, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 143, 48, - 255, 3, 0, 0, 0, 56, 255, 3, 255, 255, 255, 1, 255, 7, 255, 255, - 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 15, 192, 255, 255, 255, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 7, 255, 255, 255, 159, - 255, 3, 255, 3, 128, 0, 255, 191, 1, 0, 0, 0, 255, 15, 255, 3, - 0, 248, 15, 0, 255, 255, 255, 0, 255, 227, 255, 255, 255, 1, 255, 255, - 0, 0, 247, 255, 255, 255, 255, 251, 63, 63, 255, 170, 255, 255, 223, 95, - 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 0, 128, 1, 0, 16, 0, - 0, 0, 2, 128, 0, 0, 255, 31, 226, 255, 1, 0, 132, 252, 47, 63, - 80, 253, 255, 243, 224, 67, 0, 0, 255, 1, 0, 0, 255, 127, 255, 255, + 255, 63, 0, 0, 255, 255, 255, 15, 255, 7, 255, 255, 255, 126, 0, 255, + 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, + 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, + 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, + 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 2, 0, + 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 0, 0, + 255, 223, 253, 255, 255, 253, 255, 243, 223, 61, 96, 39, 207, 255, 0, 0, + 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 96, 207, 255, 6, 0, + 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, + 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, + 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, + 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, 255, 31, 254, 255, + 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 255, 3, 255, 255, + 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 231, 0, 254, 3, 0, 255, 255, 0, 0, 255, 255, 63, 63, + 255, 159, 255, 255, 255, 199, 255, 1, 255, 255, 63, 128, 255, 255, 31, 0, + 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 143, 48, 255, 3, 0, 0, + 0, 184, 255, 3, 255, 255, 255, 1, 255, 255, 63, 0, 255, 255, 255, 127, + 255, 15, 255, 15, 192, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, + 255, 3, 255, 7, 255, 255, 255, 159, 255, 3, 255, 3, 128, 0, 255, 191, + 255, 127, 0, 0, 255, 31, 255, 3, 0, 248, 15, 0, 255, 255, 255, 0, + 255, 227, 255, 255, 255, 1, 255, 255, 0, 0, 247, 255, 63, 63, 255, 170, + 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 0, 128, + 1, 0, 16, 0, 0, 0, 2, 128, 0, 0, 255, 31, 226, 255, 1, 0, + 132, 252, 47, 63, 80, 253, 255, 243, 224, 67, 0, 0, 255, 1, 0, 0, 31, 248, 15, 0, 255, 128, 0, 128, 255, 255, 127, 0, 127, 127, 127, 127, 224, 0, 0, 0, 254, 255, 62, 31, 255, 255, 127, 254, 224, 255, 255, 255, - 255, 127, 0, 0, 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, - 255, 255, 240, 191, 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, - 252, 7, 0, 0, 0, 0, 224, 255, 255, 16, 0, 0, 63, 0, 255, 3, - 255, 255, 255, 232, 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, - 255, 255, 127, 252, 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, - 0, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, - 255, 255, 24, 0, 0, 224, 0, 0, 0, 0, 223, 255, 252, 252, 252, 28, - 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, - 255, 255, 1, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, - 255, 0, 255, 255, 15, 0, 0, 0, 63, 253, 255, 255, 255, 255, 191, 145, + 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, 255, 255, 240, 191, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 255, 16, 0, 0, 63, 0, 255, 3, 255, 255, 255, 232, + 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, 255, 255, 127, 252, + 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 3, + 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, + 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, 255, 255, 24, 0, + 0, 224, 0, 0, 0, 0, 223, 255, 252, 252, 252, 28, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, 255, 255, 1, 0, + 1, 0, 0, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, + 255, 0, 255, 255, 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 255, 255, 63, 135, 127, 0, 0, 0, 255, 255, 7, 0, 255, 0, 255, 3, 255, 27, 3, 0, - 128, 0, 255, 255, 31, 0, 0, 0, 192, 255, 0, 128, 255, 1, 255, 3, - 240, 0, 255, 255, 255, 255, 79, 0, 31, 222, 255, 23, 255, 255, 251, 255, - 255, 255, 255, 64, 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, - 159, 57, 129, 224, 207, 31, 31, 0, 255, 7, 255, 195, 3, 0, 0, 0, - 191, 0, 255, 3, 255, 255, 63, 255, 1, 0, 0, 63, 17, 0, 255, 3, + 128, 0, 255, 255, 63, 0, 0, 0, 31, 0, 0, 0, 192, 255, 63, 128, + 4, 0, 255, 255, 255, 1, 255, 3, 255, 255, 223, 255, 240, 0, 255, 255, + 255, 255, 79, 0, 31, 222, 255, 23, 255, 255, 251, 255, 255, 255, 255, 64, + 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, + 207, 31, 31, 0, 255, 7, 255, 195, 3, 0, 0, 0, 191, 0, 255, 3, + 255, 255, 63, 255, 1, 0, 0, 63, 17, 0, 255, 3, 255, 15, 255, 3, 255, 3, 0, 128, 127, 242, 111, 255, 255, 255, 191, 249, 15, 0, 255, 3, 255, 252, 255, 255, 255, 255, 255, 252, 27, 0, 0, 0, 255, 255, 255, 35, - 255, 253, 255, 255, 1, 0, 255, 3, 0, 0, 252, 255, 255, 254, 127, 0, - 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, - 0, 0, 1, 0, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, - 27, 0, 3, 0, 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 99, - 224, 227, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, - 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, - 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, - 247, 207, 255, 255, 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, - 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, - 255, 67, 0, 0, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, - 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 255, 253, 255, 255, 1, 0, 255, 3, 255, 254, 127, 0, 127, 251, 255, 255, + 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, + 15, 0, 0, 0, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, + 27, 0, 3, 0, 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, + 255, 7, 255, 31, 255, 1, 255, 99, 224, 227, 7, 248, 231, 15, 0, 0, + 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, + 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, + 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, 247, 207, 255, 255, + 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, + 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, 255, 67, 0, 0, + 127, 111, 255, 127, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, + 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255, + 255, 7, 0, 0 }; RE_UINT32 re_get_id_continue(RE_UINT32 codepoint) { @@ -12752,17 +13010,17 @@ RE_UINT32 re_get_id_continue(RE_UINT32 codepoint) { static RE_UINT8 re_ideographic_table_1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 2, 2, 2, - 2, 7, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 2, 2, 2, + 2, 6, 2, 7, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 2, 2, 2, 11, 12, 2, - 2, 2, 2, 13, 2, 2, 2, 2, 2, 2, 14, 0, 0, 0, 15, 0, - 2, 2, 2, 2, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 2, 2, 2, 10, 11, 2, + 2, 2, 2, 12, 2, 2, 2, 2, 2, 2, 13, 0, 0, 0, 14, 0, + 2, 2, 2, 2, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -12829,40 +13087,38 @@ static RE_UINT8 re_ideographic_table_2[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 5, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 4, 3, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, - 3, 3, 3, 3, 3, 3, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, + 3, 3, 3, 3, 3, 3, 8, 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, 11, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 12, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 11, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 13, 0, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 14, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 12, 3, 3, 3, 3, 3, 3, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 16, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 17, 0, 0, 0, 0, 0 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 16, 0, 0, 0, 0, 0 }; static RE_UINT8 re_ideographic_table_3[] = { 0, 0, 0, 0, 192, 0, 0, 0, 254, 3, 0, 7, 255, 255, 255, 255, - 255, 255, 255, 31, 255, 63, 255, 255, 255, 255, 255, 3, 16, 0, 0, 0, - 255, 255, 255, 0, 255, 255, 63, 0, 255, 1, 0, 0, 0, 0, 255, 255, - 255, 255, 255, 15, 255, 255, 255, 63, 255, 255, 31, 0, 3, 0, 255, 255, - 1, 0, 0, 0, 255, 7, 0, 0 + 255, 63, 255, 255, 255, 255, 255, 3, 16, 0, 0, 0, 255, 255, 255, 0, + 255, 255, 63, 0, 255, 1, 0, 0, 0, 0, 255, 255, 255, 255, 255, 15, + 255, 255, 255, 1, 255, 255, 255, 63, 3, 0, 255, 255, 1, 0, 0, 0, + 255, 7, 0, 0 }; RE_UINT32 re_get_ideographic(RE_UINT32 codepoint) { @@ -12898,17 +13154,17 @@ RE_UINT32 re_get_ids_binary_operator(RE_UINT32 codepoint) { static RE_UINT8 re_id_start_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 14, 12, 15, 16, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 17, 9, 9, 9, 9, 9, 9, 9, 9, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 9, 9, 12, 30, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 15, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 16, 9, 9, 9, 9, 9, 9, 9, 9, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 9, 29, 12, 30, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 12, 12, 12, 12, - 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 9, 36, 9, 9, 37, - 9, 9, 9, 9, 9, 38, 9, 9, 39, 9, 40, 41, 9, 9, 9, 9, + 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 36, 37, 9, 9, 38, + 9, 9, 9, 9, 9, 39, 9, 40, 41, 42, 43, 44, 9, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 42, 12, 12, 12, 43, 44, 12, - 12, 12, 12, 45, 12, 12, 12, 12, 12, 12, 46, 9, 9, 9, 47, 9, - 12, 12, 12, 12, 48, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 45, 12, 12, 12, 46, 47, 12, + 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 49, 9, 9, 9, 50, 9, + 12, 12, 12, 12, 51, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -12971,96 +13227,102 @@ static RE_UINT8 re_id_start_table_2[] = { 4, 4, 4, 4, 4, 4, 5, 6, 0, 0, 0, 7, 8, 9, 4, 10, 4, 4, 4, 4, 11, 4, 4, 4, 4, 12, 13, 4, 14, 0, 15, 16, 0, 4, 17, 18, 4, 4, 19, 20, 21, 22, 23, 4, 4, 24, 25, 26, - 27, 28, 29, 17, 0, 30, 31, 0, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 45, 49, 50, 51, 52, 46, 0, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 0, - 68, 69, 67, 0, 70, 71, 72, 0, 73, 0, 74, 75, 76, 0, 0, 0, - 4, 77, 78, 79, 80, 4, 81, 82, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 83, 4, 84, 85, 86, 4, 87, 4, 88, 0, 22, 4, 4, 89, - 68, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 90, 1, 4, 4, 91, 92, 93, 93, 94, 4, 95, 96, 0, - 0, 4, 4, 29, 4, 97, 4, 98, 99, 0, 15, 100, 4, 101, 102, 0, - 103, 4, 104, 0, 0, 105, 0, 0, 106, 95, 107, 0, 108, 109, 4, 110, + 27, 28, 29, 30, 31, 4, 32, 0, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 46, 50, 51, 52, 53, 47, 0, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, + 69, 70, 68, 0, 71, 72, 73, 0, 74, 0, 75, 76, 77, 0, 0, 0, + 4, 78, 79, 80, 81, 4, 82, 83, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 84, 4, 85, 86, 87, 4, 88, 4, 89, 0, 22, 4, 4, 90, + 69, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 91, 1, 4, 4, 92, 93, 94, 94, 95, 4, 96, 97, 0, + 0, 4, 4, 29, 4, 98, 4, 99, 100, 0, 15, 101, 4, 102, 32, 0, + 103, 4, 104, 0, 0, 105, 0, 0, 106, 96, 107, 0, 108, 109, 4, 110, 4, 111, 112, 113, 114, 115, 0, 116, 4, 4, 4, 4, 4, 4, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 89, 4, 117, 113, 4, 118, 119, 120, + 4, 4, 4, 4, 4, 4, 4, 4, 90, 4, 117, 113, 4, 118, 119, 120, 0, 0, 0, 121, 122, 0, 0, 0, 123, 124, 125, 4, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 126, 99, 4, 4, 4, 4, 127, 4, 81, 4, 128, 103, 129, 129, 0, + 4, 4, 4, 4, 4, 4, 4, 126, 4, 82, 4, 127, 103, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 130, 131, 68, 4, 132, 68, 4, 82, 106, 12, 4, 4, 133, 4, 0, 15, + 129, 130, 69, 4, 131, 69, 4, 83, 106, 12, 4, 4, 132, 4, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 76, 0, 15, 113, 4, 4, 4, 4, 4, 4, 4, 4, + 133, 134, 4, 135, 113, 4, 4, 22, 136, 137, 4, 4, 138, 4, 139, 140, + 141, 142, 4, 96, 137, 96, 0, 143, 25, 144, 68, 145, 33, 146, 147, 148, + 4, 14, 149, 150, 4, 151, 152, 153, 154, 155, 83, 156, 4, 4, 4, 142, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 134, - 4, 4, 4, 4, 75, 0, 15, 113, 4, 4, 4, 4, 4, 4, 4, 4, - 135, 136, 4, 137, 113, 4, 4, 22, 138, 139, 4, 4, 140, 4, 141, 142, - 143, 144, 4, 95, 139, 95, 0, 145, 25, 146, 67, 134, 32, 147, 148, 149, - 4, 14, 150, 151, 4, 152, 153, 154, 155, 156, 82, 157, 4, 4, 4, 144, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 158, 159, 160, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 157, 158, 159, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 161, 4, 4, 162, 0, 163, 164, 165, 4, 4, 93, 166, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 113, 15, 4, 167, 4, 31, 168, - 0, 0, 0, 169, 4, 4, 4, 134, 0, 1, 1, 170, 4, 99, 171, 0, - 172, 173, 174, 0, 4, 4, 4, 88, 0, 0, 4, 104, 0, 0, 0, 0, - 0, 0, 0, 0, 134, 4, 175, 0, 4, 23, 176, 98, 113, 4, 177, 0, - 4, 4, 4, 4, 113, 15, 178, 160, 4, 179, 4, 111, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 103, 98, 31, 0, 0, 0, 0, - 180, 181, 98, 103, 99, 0, 0, 182, 98, 162, 0, 0, 4, 183, 0, 0, - 184, 98, 0, 134, 134, 0, 74, 185, 4, 98, 98, 147, 93, 0, 0, 0, - 4, 4, 14, 0, 4, 147, 4, 147, 4, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 186, 0, 0, 134, 187, 110, 0, 0, 15, 185, 103, - 108, 188, 0, 0, 108, 22, 15, 14, 108, 67, 189, 190, 108, 147, 191, 0, - 192, 193, 0, 0, 194, 114, 99, 0, 48, 45, 195, 56, 0, 0, 0, 0, - 4, 104, 196, 56, 4, 22, 197, 0, 0, 0, 0, 0, 4, 133, 198, 0, - 4, 22, 199, 0, 4, 200, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, - 4, 193, 0, 0, 0, 4, 4, 201, 202, 203, 204, 0, 0, 205, 175, 206, - 207, 208, 209, 4, 210, 0, 4, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 133, 73, 212, 22, 0, 0, 0, 213, 175, 214, 215, 216, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 46, 0, 0, + 4, 4, 4, 160, 4, 4, 161, 0, 162, 163, 164, 4, 4, 94, 165, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 113, 15, 4, 166, 4, 167, 168, + 0, 0, 0, 169, 4, 4, 4, 145, 0, 1, 1, 170, 4, 100, 171, 0, + 172, 173, 174, 0, 4, 4, 4, 89, 0, 0, 4, 104, 0, 0, 0, 0, + 0, 0, 0, 0, 145, 4, 175, 0, 4, 23, 30, 99, 113, 4, 176, 0, + 4, 4, 4, 4, 113, 15, 177, 159, 4, 178, 4, 179, 180, 181, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 103, 99, 167, 182, 183, 0, 0, + 184, 185, 99, 103, 100, 0, 0, 186, 99, 161, 0, 0, 4, 187, 0, 0, + 188, 99, 0, 145, 145, 0, 75, 189, 4, 99, 99, 146, 94, 0, 0, 0, + 4, 4, 14, 0, 4, 146, 4, 146, 4, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 190, 0, 0, 145, 191, 110, 15, 57, 15, 189, 103, + 108, 192, 0, 193, 108, 22, 15, 14, 108, 68, 194, 195, 108, 146, 196, 0, + 197, 198, 0, 0, 199, 114, 100, 0, 49, 46, 200, 57, 0, 0, 0, 0, + 4, 104, 201, 57, 4, 22, 202, 0, 0, 0, 0, 0, 4, 132, 203, 0, + 4, 22, 204, 0, 4, 205, 0, 0, 89, 0, 68, 0, 0, 0, 0, 0, + 4, 198, 0, 0, 0, 4, 4, 206, 207, 208, 209, 0, 0, 210, 175, 211, + 212, 213, 214, 4, 215, 15, 4, 29, 0, 0, 0, 0, 0, 0, 0, 0, + 216, 132, 74, 140, 22, 0, 0, 0, 217, 175, 218, 219, 220, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 47, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 162, 0, 0, 0, - 4, 4, 4, 133, 4, 4, 4, 4, 4, 4, 111, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 161, 0, 0, 0, + 4, 4, 4, 132, 4, 4, 4, 4, 4, 4, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 4, 4, 175, + 4, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 29, 99, 0, 0, 0, 15, 217, 4, 22, 111, 218, 22, 0, 0, 0, + 4, 29, 100, 15, 4, 100, 15, 221, 4, 22, 111, 222, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 219, 0, 166, 0, 0, 220, + 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 223, 0, 165, 0, 0, 224, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 188, - 4, 4, 4, 4, 4, 4, 98, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 192, + 4, 4, 4, 4, 4, 4, 99, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 99, 0, 221, 222, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 160, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 223, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 142, 226, 227, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 159, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 228, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 30, 4, 225, 226, 227, 4, 228, 229, 230, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 231, 232, 82, 30, 30, 126, 126, 211, 211, 150, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 233, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4, 193, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 185, 0, 4, 4, 235, 0, 0, 0, 0, 0, + 4, 4, 230, 4, 231, 232, 233, 4, 234, 235, 236, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 237, 238, 83, 230, 230, 239, 239, 216, 216, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 240, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 221, 4, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 227, 236, 237, 238, 239, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 4, 4, 4, 4, 4, 4, 189, 0, 4, 4, 243, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 233, 244, 245, 246, 247, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 113, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 104, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 29, 4, 4, 4, 4, 4, 4, 113, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 241, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 249, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 73, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 74, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -13075,58 +13337,60 @@ static RE_UINT8 re_id_start_table_3[] = { 255, 135, 7, 0, 255, 7, 0, 0, 0, 192, 254, 255, 255, 255, 47, 0, 96, 192, 0, 156, 0, 0, 253, 255, 255, 255, 0, 0, 0, 224, 255, 255, 63, 0, 2, 0, 0, 252, 255, 255, 255, 7, 48, 4, 255, 255, 63, 4, - 16, 1, 0, 0, 255, 255, 255, 1, 255, 255, 223, 255, 255, 0, 0, 0, - 240, 255, 255, 255, 255, 255, 255, 35, 0, 0, 1, 255, 3, 0, 254, 255, - 225, 159, 249, 255, 255, 253, 197, 35, 0, 64, 0, 176, 3, 0, 3, 16, - 224, 135, 249, 255, 255, 253, 109, 3, 0, 0, 0, 94, 0, 0, 28, 0, - 224, 191, 251, 255, 255, 253, 237, 35, 0, 0, 1, 0, 3, 0, 0, 2, - 224, 159, 249, 255, 0, 0, 0, 176, 3, 0, 2, 0, 232, 199, 61, 214, - 24, 199, 255, 3, 224, 223, 253, 255, 255, 253, 255, 35, 0, 0, 0, 7, - 3, 0, 0, 0, 225, 223, 253, 255, 255, 253, 239, 35, 0, 0, 0, 64, - 3, 0, 6, 0, 240, 223, 253, 255, 255, 255, 255, 39, 0, 64, 112, 128, - 3, 0, 0, 252, 224, 255, 127, 252, 255, 255, 251, 47, 127, 0, 0, 0, - 254, 255, 255, 255, 255, 255, 13, 0, 214, 247, 255, 255, 175, 255, 13, 32, - 95, 0, 0, 240, 1, 0, 0, 0, 255, 254, 255, 255, 255, 31, 0, 0, - 0, 31, 0, 0, 255, 7, 0, 128, 0, 0, 63, 60, 98, 192, 225, 255, - 3, 64, 0, 0, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, - 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, - 255, 255, 255, 7, 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, - 255, 223, 3, 0, 255, 255, 3, 0, 255, 223, 1, 0, 255, 255, 15, 0, - 0, 0, 128, 16, 255, 5, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, 255, 255, 127, 0, - 255, 255, 31, 0, 128, 0, 0, 0, 224, 255, 255, 255, 224, 15, 0, 0, + 16, 1, 0, 0, 255, 255, 255, 1, 255, 7, 255, 255, 255, 126, 0, 0, + 255, 3, 0, 0, 240, 255, 255, 255, 255, 255, 255, 35, 0, 0, 1, 255, + 3, 0, 254, 255, 225, 159, 249, 255, 255, 253, 197, 35, 0, 64, 0, 176, + 3, 0, 3, 16, 224, 135, 249, 255, 255, 253, 109, 3, 0, 0, 0, 94, + 0, 0, 28, 0, 224, 191, 251, 255, 255, 253, 237, 35, 0, 0, 1, 0, + 3, 0, 0, 2, 224, 159, 249, 255, 0, 0, 0, 176, 3, 0, 2, 0, + 232, 199, 61, 214, 24, 199, 255, 3, 224, 223, 253, 255, 255, 253, 255, 35, + 0, 0, 0, 39, 3, 0, 0, 0, 225, 223, 253, 255, 255, 253, 239, 35, + 0, 0, 0, 96, 3, 0, 6, 0, 240, 223, 253, 255, 255, 255, 255, 39, + 0, 64, 112, 128, 3, 0, 0, 252, 224, 255, 127, 252, 255, 255, 251, 47, + 127, 0, 0, 0, 254, 255, 255, 255, 255, 255, 13, 0, 214, 247, 255, 255, + 175, 255, 13, 32, 95, 0, 0, 240, 1, 0, 0, 0, 255, 254, 255, 255, + 255, 31, 0, 0, 0, 31, 0, 0, 255, 7, 0, 128, 0, 0, 63, 60, + 98, 192, 225, 255, 3, 64, 0, 0, 191, 32, 255, 255, 255, 255, 255, 247, + 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, + 255, 255, 61, 255, 255, 255, 255, 7, 255, 255, 63, 63, 255, 159, 255, 255, + 255, 199, 255, 1, 255, 255, 3, 128, 255, 255, 3, 0, 255, 223, 1, 0, + 255, 255, 15, 0, 0, 0, 128, 16, 255, 5, 255, 255, 255, 255, 63, 0, + 255, 255, 255, 127, 255, 63, 31, 0, 255, 15, 255, 255, 255, 255, 127, 0, + 255, 255, 31, 0, 128, 0, 0, 0, 224, 255, 255, 255, 224, 31, 0, 0, 248, 255, 255, 255, 1, 192, 0, 252, 63, 0, 0, 0, 15, 0, 0, 0, 0, 224, 0, 252, 255, 255, 255, 63, 255, 1, 255, 255, 255, 255, 255, 231, 0, 222, 111, 4, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 63, - 80, 253, 255, 243, 224, 67, 0, 0, 255, 127, 255, 255, 31, 120, 12, 0, - 255, 128, 0, 0, 127, 127, 127, 127, 224, 0, 0, 0, 254, 3, 62, 31, - 255, 255, 127, 248, 255, 127, 0, 0, 255, 255, 255, 31, 255, 31, 255, 255, - 0, 12, 0, 0, 255, 127, 0, 128, 0, 0, 128, 255, 252, 255, 255, 255, - 255, 249, 255, 255, 252, 7, 0, 0, 0, 0, 224, 255, 187, 247, 255, 255, - 7, 0, 0, 0, 0, 0, 252, 104, 63, 0, 255, 255, 255, 255, 7, 0, - 0, 128, 0, 0, 223, 255, 0, 124, 247, 15, 0, 0, 255, 255, 127, 196, - 255, 255, 98, 62, 5, 0, 0, 56, 255, 7, 28, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 3, 255, 255, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 15, 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 160, - 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, + 80, 253, 255, 243, 224, 67, 0, 0, 31, 120, 12, 0, 255, 128, 0, 0, + 127, 127, 127, 127, 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 248, + 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 0, 128, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 187, 247, 255, 255, 7, 0, 0, 0, 0, 0, 252, 104, + 63, 0, 255, 255, 255, 255, 255, 31, 255, 255, 7, 0, 0, 128, 0, 0, + 223, 255, 0, 124, 247, 15, 0, 0, 255, 255, 127, 196, 255, 255, 98, 62, + 5, 0, 0, 56, 255, 7, 28, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 3, 255, 255, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 15, + 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 160, 255, 253, 127, 95, + 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, 0, 0, 223, 255, 192, 255, 255, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 255, 255, 1, 0, - 255, 7, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, + 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, 15, 0, 255, 247, + 255, 247, 183, 255, 251, 255, 251, 27, 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 1, 0, 239, 254, 31, 0, 0, 0, 255, 3, 3, 0, 128, 0, 255, 255, - 255, 255, 255, 0, 144, 0, 255, 255, 255, 255, 71, 0, 30, 0, 0, 20, - 255, 255, 251, 255, 255, 15, 0, 0, 127, 189, 255, 191, 0, 0, 1, 224, - 128, 7, 0, 128, 176, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, - 255, 7, 0, 1, 0, 0, 0, 128, 127, 242, 111, 255, 255, 255, 0, 128, - 2, 0, 0, 0, 255, 252, 255, 255, 10, 0, 0, 0, 1, 248, 255, 255, - 255, 255, 7, 4, 0, 0, 1, 240, 255, 3, 0, 32, 255, 253, 255, 255, - 0, 0, 252, 255, 127, 251, 255, 255, 64, 0, 0, 0, 191, 253, 255, 255, + 255, 255, 255, 0, 0, 0, 38, 0, 144, 0, 255, 255, 255, 255, 71, 0, + 30, 0, 0, 20, 255, 255, 251, 255, 255, 15, 0, 0, 127, 189, 255, 191, + 0, 0, 1, 224, 128, 7, 0, 128, 176, 0, 0, 0, 0, 0, 0, 15, + 16, 0, 0, 0, 255, 7, 0, 1, 0, 0, 0, 128, 127, 242, 111, 255, + 255, 255, 0, 128, 2, 0, 0, 0, 255, 252, 255, 255, 10, 0, 0, 0, + 1, 248, 255, 255, 255, 255, 7, 4, 0, 0, 1, 240, 255, 3, 0, 32, + 255, 253, 255, 255, 127, 251, 255, 255, 64, 0, 0, 0, 191, 253, 255, 255, 255, 3, 0, 1, 255, 63, 0, 0, 248, 255, 255, 224, 255, 7, 1, 0, - 11, 0, 0, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, - 255, 1, 255, 3, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, - 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, - 253, 255, 255, 247, 255, 31, 128, 63, 0, 64, 0, 0, 15, 8, 0, 0, + 11, 0, 0, 0, 0, 0, 239, 111, 0, 0, 7, 0, 240, 0, 255, 255, + 255, 7, 255, 31, 255, 1, 255, 3, 255, 255, 223, 255, 255, 255, 255, 223, + 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, + 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, + 255, 31, 128, 63, 0, 64, 0, 0, 127, 111, 255, 127, 15, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 }; @@ -13240,25 +13504,25 @@ static RE_UINT8 re_indic_positional_category_table_2[] = { 0, 38, 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 42, 42, 43, 43, 0, 44, 45, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 47, 48, 0, - 49, 0, 50, 51, 0, 0, 0, 0, 52, 53, 54, 55, 56, 57, 0, 58, - 0, 59, 0, 0, 0, 0, 60, 61, 0, 0, 0, 0, 0, 0, 0, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 44, 44, 0, 45, 46, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 48, 49, 0, + 50, 0, 51, 52, 0, 0, 0, 0, 53, 54, 55, 56, 57, 58, 0, 59, + 0, 60, 0, 0, 0, 0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 64, 65, 0, 0, 66, 67, 68, 69, 0, 70, 71, 0, 1, 72, 73, 74, - 0, 75, 76, 77, 0, 78, 79, 80, 0, 0, 0, 0, 0, 0, 0, 81, + 65, 66, 0, 0, 67, 68, 69, 70, 0, 71, 72, 0, 1, 73, 74, 75, + 0, 76, 77, 78, 0, 79, 80, 81, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 85, 86, 0, 56, 87, 0, 0, 88, 89, 90, 91, 56, 92, 93, 0, - 0, 94, 0, 0, 0, 0, 95, 96, 23, 97, 98, 99, 0, 0, 0, 0, - 0, 100, 101, 0, 0, 102, 103, 0, 0, 0, 0, 0, 0, 104, 105, 0, - 0, 106, 107, 0, 0, 108, 0, 0, 109, 110, 0, 0, 0, 0, 0, 0, - 0, 111, 0, 0, 0, 0, 0, 0, 0, 112, 113, 0, 0, 0, 114, 115, - 116, 117, 118, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 120, 0, 0, 121, 122, 0, 0, 0, 123, 124, 0, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0 + 83, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 85, 86, 87, 88, 57, 89, 90, 0, 91, 92, 93, 94, 57, 95, 96, 0, + 0, 97, 0, 0, 0, 0, 98, 99, 23, 100, 101, 102, 0, 0, 0, 0, + 0, 103, 104, 0, 0, 105, 106, 0, 0, 0, 0, 0, 0, 107, 108, 0, + 0, 109, 110, 0, 0, 111, 0, 0, 112, 113, 0, 0, 0, 0, 0, 0, + 0, 114, 0, 0, 0, 0, 0, 0, 0, 115, 116, 0, 0, 0, 117, 118, + 119, 120, 121, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 123, 0, 0, 124, 125, 0, 0, 0, 126, 127, 0, 128, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_indic_positional_category_table_3[] = { @@ -13303,7 +13567,7 @@ static RE_UINT8 re_indic_positional_category_table_3[] = { 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 2, 2, 2, 2, 0, 1, 1, 9, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 2, 2, 2, 0, 1, 6, 6, 0, 6, 6, 1, 1, 0, 0, @@ -13347,7 +13611,9 @@ static RE_UINT8 re_indic_positional_category_table_3[] = { 0, 0, 3, 2, 4, 1, 1, 2, 2, 2, 2, 2, 2, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 3, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -13437,7 +13703,11 @@ static RE_UINT8 re_indic_positional_category_table_3[] = { 3, 3, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 2, 3, 3, 1, 1, 2, 2, 3, 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 3, 4, 1, 9, 9, @@ -13632,14 +13902,14 @@ static RE_UINT8 re_indic_syllabic_category_table_2[] = { 107, 108, 109, 110, 54, 111, 112, 113, 0, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 117, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 119, 120, 121, 122, 123, 124, 0, 0, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 0, 0, 135, 136, 137, 138, 139, 140, 141, 142, 0, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 0, 0, 0, 0, 0, 143, 150, 151, 0, - 143, 152, 153, 0, 154, 155, 65, 0, 156, 157, 0, 0, 0, 0, 0, 0, - 154, 158, 0, 0, 0, 0, 0, 0, 159, 160, 161, 0, 0, 162, 163, 164, - 165, 166, 167, 54, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 169, 170, 171, 172, 173, 174, 0, 0, 175, 176, 177, 178, 179, 65, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0 + 119, 120, 121, 122, 123, 124, 125, 0, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 0, 0, 136, 137, 138, 139, 140, 141, 142, 143, 0, 0, 0, 0, + 144, 145, 146, 147, 148, 149, 150, 0, 0, 0, 0, 0, 144, 151, 152, 0, + 144, 153, 154, 0, 155, 156, 65, 0, 157, 158, 159, 0, 0, 0, 0, 0, + 155, 160, 0, 0, 0, 0, 0, 0, 161, 162, 163, 0, 0, 164, 165, 166, + 167, 168, 169, 54, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 171, 172, 173, 174, 175, 176, 0, 0, 177, 178, 179, 180, 181, 65, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_indic_syllabic_category_table_3[] = { @@ -13700,9 +13970,9 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 4, 4, 4, 5, 4, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 0, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 10, 8, 8, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 9, 10, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 11, 0, 0, - 0, 0, 0, 0, 0, 8, 8, 0, 7, 7, 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 8, 8, 0, 7, 7, 7, 0, 0, 13, 0, 0, 6, 6, 8, 8, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 5, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, @@ -13710,7 +13980,7 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 0, 0, 9, 10, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 11, 0, 0, - 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 13, 7, 0, 6, 6, 8, 8, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -13761,8 +14031,8 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 7, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 15, 8, 8, 8, 8, 20, 20, 20, 20, 20, 20, 20, 7, 20, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 20, 20, 8, 8, 0, 0, - 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, - 7, 7, 8, 8, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 8, 8, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -13795,13 +14065,13 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 8, 8, 8, 8, 4, 20, 20, 20, 20, 20, 18, 3, 3, 0, 0, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 26, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 4, 4, 4, 27, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 11, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, + 8, 8, 8, 8, 11, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, - 4, 26, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, + 4, 27, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 23, 23, 23, 8, 8, 8, 8, 8, 8, 18, 24, 23, 23, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 7, 7, 7, 27, 27, @@ -13849,7 +14119,7 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 27, 27, 27, 27, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 26, 5, 6, 6, 6, 6, 6, 7, 7, 7, 6, 6, 6, 7, + 4, 4, 27, 5, 6, 6, 6, 6, 6, 7, 7, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 15, 15, 15, @@ -13888,11 +14158,13 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 8, 8, 8, 8, 8, 8, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, + 18, 6, 6, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 9, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, @@ -13959,6 +14231,8 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 15, 15, 15, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 18, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, + 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 5, 11, 9, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, 0, 0, 7, 7, 7, 7, @@ -14109,11 +14383,11 @@ static RE_UINT8 re_joining_group_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, - 0, 0, 0, 12, 0, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -14143,18 +14417,20 @@ static RE_UINT8 re_joining_group_table_3[] = { 15, 15, 13, 13, 13, 19, 19, 20, 20, 20, 18, 8, 8, 9, 6, 6, 9, 8, 6, 2, 2, 14, 14, 1, 3, 3, 56, 56, 6, 9, 9, 17, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 0, 0, 0, 68, 0, 0, 20, 6, 11, 11, 13, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 6, 11, 15, 16, 18, 19, 1, 1, 8, 3, 68, 0, 7, 10, - 13, 69, 8, 12, 17, 0, 4, 4, 4, 8, 1, 70, 71, 72, 4, 4, - 4, 6, 13, 12, 71, 6, 6, 18, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 6, 11, 15, 16, 18, 19, 1, 1, 8, 3, 70, 0, 7, 10, + 13, 71, 8, 12, 17, 16, 4, 4, 4, 8, 1, 72, 73, 74, 4, 4, + 4, 6, 13, 12, 73, 6, 6, 18, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 73, 74, 74, 75, 75, 76, 0, 77, 0, 78, 78, 0, 0, 79, 80, 81, - 82, 82, 82, 83, 84, 85, 86, 87, 88, 89, 89, 90, 90, 91, 92, 92, - 92, 93, 0, 0, 94, 0, 0, 0, 0, 0, 0, 95, 96, 97, 98, 99, + 75, 76, 76, 77, 77, 78, 0, 79, 0, 80, 80, 0, 0, 81, 82, 83, + 84, 84, 84, 85, 86, 87, 88, 89, 90, 91, 91, 92, 92, 93, 94, 94, + 94, 95, 0, 0, 96, 0, 0, 0, 0, 0, 0, 97, 98, 99, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 100, 0, 101, 0, - 101, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 102, 0, 103, 0, + 103, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -14184,7 +14460,7 @@ static RE_UINT8 re_joining_type_table_1[] = { 16, 9, 17, 18, 19, 20, 21, 22, 9, 9, 9, 9, 9, 23, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 24, 25, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 26, - 9, 9, 9, 9, 27, 9, 28, 9, 29, 9, 30, 9, 9, 9, 9, 9, + 9, 9, 9, 27, 28, 9, 29, 9, 30, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -14233,7 +14509,7 @@ static RE_UINT8 re_joining_type_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 32, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -14252,19 +14528,19 @@ static RE_UINT8 re_joining_type_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 20, 21, 22, - 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 35, 39, 40, 38, 35, 41, 42, 34, 43, 44, 33, 45, 0, 46, 0, - 47, 48, 49, 33, 34, 43, 50, 33, 51, 52, 36, 33, 34, 0, 53, 0, - 0, 54, 55, 0, 0, 56, 57, 0, 58, 59, 0, 60, 61, 62, 63, 0, - 0, 64, 65, 66, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 36, 40, 41, 39, 36, 42, 43, 35, 44, 45, 34, 46, 0, 47, 0, + 48, 49, 50, 34, 35, 44, 51, 34, 52, 53, 37, 34, 35, 0, 54, 0, + 0, 55, 56, 0, 0, 57, 58, 0, 59, 60, 0, 61, 62, 63, 64, 0, + 0, 65, 66, 67, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 69, 69, 70, 70, 0, 71, 72, 0, - 73, 13, 13, 74, 75, 76, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, - 78, 0, 79, 80, 0, 81, 82, 0, 83, 84, 45, 85, 51, 86, 0, 87, - 0, 88, 0, 0, 0, 0, 89, 90, 0, 0, 0, 0, 0, 0, 2, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 70, 71, 71, 71, 0, 72, 73, 0, + 74, 13, 13, 75, 76, 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, + 79, 0, 80, 81, 0, 82, 83, 0, 84, 85, 46, 86, 52, 87, 0, 88, + 0, 89, 0, 0, 0, 0, 90, 91, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 92, 93, 0, 94, 0, 0, 81, 95, 0, 0, 0, 0, 0, 0, 0, 0, + 92, 93, 0, 94, 0, 0, 82, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14273,44 +14549,46 @@ static RE_UINT8 re_joining_type_table_2[] = { 0, 98, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 48, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 102, 103, 13, 104, 0, 0, 105, 106, 0, 107, 108, 0, 30, 109, 0, 110, - 0, 111, 112, 35, 0, 113, 34, 114, 0, 0, 0, 0, 0, 0, 0, 115, + 0, 0, 0, 100, 101, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, + 103, 104, 13, 105, 0, 0, 106, 107, 0, 108, 109, 0, 31, 110, 0, 111, + 0, 112, 113, 36, 0, 114, 35, 115, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 117, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, - 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 119, 0, 0, 0, 0, + 3, 3, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 118, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, + 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 122, 123, 0, 0, 0, 0, 124, 125, 0, 0, 0, 0, 126, 127, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 0, 0, 0, 131, 132, 133, 134, 135, 136, 0, + 35, 137, 138, 139, 52, 140, 46, 0, 31, 141, 0, 142, 52, 143, 144, 0, + 0, 145, 0, 0, 0, 0, 97, 146, 52, 53, 120, 147, 0, 0, 0, 0, + 0, 137, 148, 0, 0, 149, 150, 0, 0, 0, 0, 0, 0, 151, 152, 0, + 0, 153, 120, 0, 0, 154, 0, 0, 69, 155, 0, 0, 0, 0, 0, 0, + 0, 156, 0, 0, 0, 0, 0, 0, 0, 157, 158, 0, 0, 0, 159, 120, + 160, 161, 162, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 0, 0, 165, 166, 0, 0, 0, 167, 168, 0, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 120, 121, 0, 0, 0, 0, 122, 123, 0, 0, 0, 0, 124, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 0, 0, 0, 129, 130, 0, 0, 131, 132, 0, - 34, 133, 134, 97, 51, 135, 0, 0, 30, 136, 0, 137, 51, 138, 139, 0, - 0, 140, 0, 0, 0, 0, 97, 141, 51, 52, 82, 142, 0, 0, 0, 0, - 0, 133, 143, 0, 0, 144, 145, 0, 0, 0, 0, 0, 0, 146, 147, 0, - 0, 148, 82, 0, 0, 149, 0, 0, 68, 150, 0, 0, 0, 0, 0, 0, - 0, 151, 0, 0, 0, 0, 0, 0, 0, 152, 153, 0, 0, 0, 154, 82, - 155, 156, 157, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 159, 0, 0, 160, 161, 0, 0, 0, 162, 163, 0, 164, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 167, 0, 168, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 175, 0, 0, 176, + 0, 0, 0, 0, 177, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 170, 0, 0, 171, - 0, 0, 0, 0, 172, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 174, 98, 0, 0, - 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 178, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 180, 98, 0, 0, + 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 176, 2, 177, 178, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 180, 181, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 168, 0, 13, 13, 183, 0, 0, 0, 0, 0, + 2, 182, 2, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 173, 0, 13, 13, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 34, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 3, + 35, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -14368,11 +14646,13 @@ static RE_UINT8 re_joining_type_table_3[] = { 3, 2, 2, 2, 2, 2, 3, 3, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 3, 3, 3, 1, 1, 1, 0, 0, 0, 0, 2, 0, 2, 2, 2, 2, 0, 3, 2, 3, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 4, 4, 4, 2, 0, 0, 2, 2, 2, 2, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 0, 3, 2, - 2, 3, 3, 2, 2, 0, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14412,7 +14692,7 @@ static RE_UINT8 re_joining_type_table_3[] = { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, @@ -14461,7 +14741,7 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, @@ -14479,7 +14759,7 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14497,8 +14777,6 @@ static RE_UINT8 re_joining_type_table_3[] = { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, - 1, 1, 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, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, @@ -14518,6 +14796,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14553,6 +14833,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, @@ -14578,6 +14860,10 @@ static RE_UINT8 re_joining_type_table_3[] = { 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 3, 3, 3, 0, 2, 3, 3, 2, 2, 3, 2, 2, 0, 2, 3, 3, 2, 0, 0, 0, 0, 3, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14586,6 +14872,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14661,6 +14949,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, @@ -14679,6 +14969,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, @@ -14708,18 +15000,18 @@ static RE_UINT8 re_line_break_table_1[] = { 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 18, 19, 20, 25, 26, 26, 27, 27, 27, 27, 27, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 27, 27, 40, 41, 27, 27, - 27, 42, 27, 27, 27, 27, 27, 27, 27, 27, 43, 44, 13, 13, 13, 13, - 13, 45, 46, 47, 27, 27, 27, 27, 27, 27, 27, 27, 48, 27, 27, 49, - 27, 27, 27, 27, 50, 51, 52, 27, 53, 27, 54, 55, 56, 57, 58, 59, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 27, 40, 41, 42, 27, 27, + 27, 43, 27, 27, 27, 27, 27, 27, 27, 27, 44, 45, 13, 13, 13, 13, + 13, 46, 47, 48, 27, 27, 27, 27, 27, 27, 27, 49, 50, 27, 27, 51, + 27, 27, 27, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 59, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 64, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 59, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 64, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, @@ -14760,7 +15052,7 @@ static RE_UINT8 re_line_break_table_1[] = { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 60, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 65, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, @@ -14779,26 +15071,26 @@ static RE_UINT16 re_line_break_table_2[] = { 7, 7, 7, 7, 7, 7, 8, 7, 9, 9, 10, 11, 12, 13, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 15, 16, 7, 17, 18, 19, 20, 21, 7, 22, 23, 7, 7, 24, 25, 26, 27, 28, 7, 7, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 53, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 36, 82, 83, 84, 36, 85, 86, 87, 88, 89, 90, 91, 36, + 32, 33, 34, 35, 36, 7, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 52, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 81, 85, 86, 87, 88, 89, 90, 91, 81, 92, 92, 93, 92, 94, 7, 95, 7, 96, 96, 96, 97, 97, 98, 99, 99, 7, 7, 100, 7, 101, 102, 103, 7, 104, 7, 105, 106, 107, 7, 7, 108, 109, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 110, 7, 7, 111, 112, 113, 114, 115, 92, 92, 116, 117, 118, 7, 7, 119, 120, 121, 7, 122, 123, 124, 125, 126, 92, 127, 128, 7, - 129, 92, 130, 131, 132, 133, 134, 36, 135, 136, 137, 138, 139, 140, 7, 141, - 7, 142, 143, 144, 145, 146, 147, 148, 7, 7, 7, 7, 7, 7, 9, 149, - 7, 7, 7, 7, 7, 7, 7, 7, 108, 7, 150, 151, 7, 37, 152, 153, + 129, 92, 130, 131, 132, 133, 134, 81, 135, 136, 137, 138, 139, 140, 7, 141, + 7, 142, 143, 144, 145, 146, 147, 148, 7, 7, 7, 7, 7, 7, 9, 9, + 7, 7, 7, 7, 7, 7, 7, 7, 108, 7, 149, 150, 7, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 7, 167, 7, 168, 169, 170, 171, 172, 173, 7, 174, 175, 176, 7, 7, 7, 7, 7, 177, - 7, 178, 35, 179, 179, 179, 179, 180, 179, 179, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 7, 196, 197, 198, 7, 199, 200, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 201, 7, 202, 203, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 204, 205, 206, 7, 7, 7, - 7, 207, 123, 7, 7, 7, 7, 208, 7, 95, 7, 209, 210, 211, 211, 9, - 212, 213, 214, 36, 215, 216, 216, 217, 216, 216, 216, 216, 216, 216, 218, 219, + 7, 178, 179, 180, 180, 180, 180, 181, 180, 180, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 7, 197, 198, 199, 7, 200, 201, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 202, 7, 203, 204, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 205, 206, 207, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 208, 7, 95, 7, 209, 210, 211, 211, 9, + 212, 213, 214, 81, 215, 216, 216, 217, 216, 216, 216, 216, 216, 216, 218, 219, 220, 221, 222, 223, 224, 225, 223, 226, 227, 228, 216, 216, 229, 216, 216, 230, 231, 216, 232, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, @@ -14809,7 +15101,7 @@ static RE_UINT16 re_line_break_table_2[] = { 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 234, 216, 235, 144, 7, 7, 7, 7, 7, 7, 7, 7, 236, 237, 7, 238, 239, 7, 7, 240, 7, 7, 7, 7, 7, 7, 241, 242, - 243, 244, 7, 245, 246, 136, 247, 248, 30, 249, 250, 251, 40, 252, 253, 254, + 243, 244, 7, 245, 246, 136, 247, 248, 30, 249, 250, 251, 39, 252, 253, 254, 7, 255, 256, 92, 92, 92, 257, 258, 259, 260, 7, 261, 7, 7, 7, 262, 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, @@ -14829,74 +15121,84 @@ static RE_UINT16 re_line_break_table_2[] = { 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, 267, 268, 270, 271, 272, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 216, 216, 216, 216, 216, 216, 216, 216, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 274, 275, 276, 7, 7, 7, 277, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 278, 279, 7, 280, 7, 281, 282, - 283, 284, 285, 286, 7, 7, 7, 287, 288, 289, 290, 291, 292, 231, 293, 294, - 295, 296, 297, 36, 7, 7, 7, 298, 299, 300, 7, 7, 301, 302, 279, 303, - 36, 36, 36, 36, 304, 7, 305, 306, 7, 307, 308, 309, 310, 7, 311, 36, - 7, 7, 7, 7, 151, 312, 313, 314, 7, 315, 7, 316, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 210, 122, 281, 36, 36, 36, 36, - 317, 318, 319, 7, 123, 320, 36, 321, 322, 323, 36, 36, 7, 324, 280, 7, - 325, 326, 327, 7, 7, 36, 7, 328, 7, 329, 330, 331, 332, 333, 36, 36, - 7, 7, 334, 36, 7, 335, 7, 336, 7, 337, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 123, 7, 338, 36, 36, 7, 315, 339, 36, 36, 279, 340, 210, - 139, 341, 342, 343, 139, 344, 345, 346, 139, 347, 348, 349, 139, 252, 350, 351, - 352, 353, 36, 36, 354, 355, 356, 357, 358, 359, 360, 361, 36, 36, 36, 36, - 7, 362, 363, 364, 7, 27, 365, 36, 36, 36, 36, 36, 7, 366, 367, 36, - 7, 27, 368, 369, 7, 370, 371, 36, 372, 373, 36, 36, 36, 36, 36, 36, - 7, 374, 36, 36, 36, 7, 7, 375, 376, 377, 378, 36, 36, 379, 380, 381, - 382, 383, 384, 7, 385, 386, 7, 119, 36, 36, 36, 36, 36, 36, 36, 36, - 387, 388, 389, 390, 391, 392, 36, 36, 393, 394, 395, 396, 397, 371, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 398, 36, 36, 36, 36, 36, 399, 400, 401, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 278, 7, 7, 279, 7, 280, 281, + 282, 283, 284, 285, 7, 7, 7, 286, 287, 288, 289, 290, 291, 231, 292, 293, + 294, 295, 296, 81, 7, 7, 7, 297, 298, 299, 7, 7, 300, 301, 302, 303, + 81, 81, 81, 81, 304, 7, 305, 306, 7, 307, 35, 308, 309, 7, 310, 81, + 7, 7, 7, 7, 150, 311, 312, 313, 7, 314, 7, 315, 316, 317, 81, 81, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 210, 122, 318, 319, 320, 81, 81, + 321, 322, 323, 7, 123, 324, 81, 325, 326, 327, 81, 81, 7, 328, 279, 7, + 329, 330, 331, 7, 7, 81, 7, 332, 7, 333, 334, 335, 336, 337, 81, 81, + 7, 7, 338, 81, 7, 339, 7, 340, 7, 341, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 123, 7, 342, 81, 81, 7, 314, 343, 302, 344, 302, 345, 210, + 139, 346, 347, 348, 139, 349, 350, 351, 139, 352, 353, 354, 139, 252, 355, 356, + 357, 358, 81, 81, 359, 360, 361, 362, 363, 364, 365, 366, 81, 81, 81, 81, + 7, 367, 368, 369, 7, 27, 370, 81, 81, 81, 81, 81, 7, 371, 372, 81, + 7, 27, 373, 374, 7, 375, 376, 81, 377, 378, 379, 81, 81, 81, 81, 81, + 7, 380, 81, 81, 81, 7, 7, 381, 382, 383, 384, 81, 81, 385, 386, 387, + 388, 389, 390, 7, 391, 392, 7, 119, 81, 81, 81, 81, 81, 81, 81, 81, + 393, 394, 395, 396, 397, 398, 81, 81, 399, 400, 401, 402, 403, 376, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 404, 81, 81, 81, 81, 81, 405, 406, 407, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 107, 36, 36, 36, - 7, 7, 7, 402, 7, 7, 7, 7, 7, 7, 403, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 107, 81, 81, 81, + 7, 7, 7, 408, 7, 7, 7, 7, 7, 7, 409, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 302, 7, 7, 339, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 404, 7, 405, 7, 7, 7, 7, 7, 7, 406, 7, 7, 7, 7, - 7, 407, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 408, 7, - 7, 7, 178, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 7, 7, 410, 7, 411, 7, 7, 7, 7, 7, 7, 412, 7, 7, 7, 7, + 7, 413, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 414, 7, + 7, 7, 178, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 119, 123, 409, 36, 36, 279, 410, 7, 411, 412, 413, 414, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 7, 7, 415, 36, 36, 36, 7, 7, 416, 9, 417, 36, 36, 418, + 7, 119, 123, 415, 7, 123, 311, 416, 7, 417, 418, 419, 420, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 7, 7, 421, 81, 81, 81, 7, 7, 422, 9, 423, 81, 81, 424, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 419, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 425, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 122, 36, 420, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 216, 216, 216, 216, 216, 216, 216, 216, 231, 36, 421, 422, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 423, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 424, 425, 426, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 7, 122, 7, 427, 7, 428, 429, 430, 7, 334, - 7, 7, 431, 36, 36, 36, 36, 432, 7, 7, 210, 119, 36, 36, 36, 36, - 7, 7, 37, 7, 433, 434, 435, 7, 436, 437, 438, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 439, 7, 7, 7, 7, 7, 7, 7, 7, 440, 441, + 7, 7, 7, 7, 7, 7, 122, 81, 426, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 427, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 428, 429, 430, 216, 216, 216, 216, + 216, 216, 216, 216, 216, 216, 216, 431, 81, 81, 81, 81, 81, 81, 81, 81, + 7, 7, 7, 432, 433, 434, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 9, 435, 436, 7, 7, 7, 409, 81, + 7, 7, 7, 7, 7, 7, 7, 122, 7, 437, 7, 438, 439, 440, 7, 179, + 7, 7, 441, 81, 81, 81, 81, 442, 7, 7, 210, 119, 81, 81, 81, 81, + 7, 7, 151, 7, 443, 444, 445, 7, 446, 447, 448, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 449, 7, 7, 7, 7, 7, 7, 7, 7, 450, 451, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 9, 442, 9, 443, 444, 445, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 446, 447, 36, 36, 36, 36, 36, 36, 7, 448, 449, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 7, 450, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 451, 36, 7, 7, 452, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 453, 7, 454, 36, 36, 455, 151, 36, 36, 36, 36, 36, 36, - 435, 456, 457, 458, 459, 460, 36, 461, 36, 36, 36, 36, 36, 36, 36, 36, - 216, 216, 216, 216, 216, 216, 216, 216, 462, 463, 179, 464, 179, 465, 216, 466, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 467, 468, 469, 470, - 216, 216, 471, 472, 473, 474, 216, 216, 475, 476, 477, 478, 479, 216, 480, 481, - 216, 216, 482, 483, 216, 484, 485, 216, 7, 7, 7, 486, 7, 7, 487, 216, - 488, 7, 489, 7, 490, 491, 216, 216, 492, 493, 216, 494, 216, 495, 496, 216, - 7, 7, 486, 216, 216, 216, 216, 216, 7, 7, 7, 7, 497, 7, 35, 498, + 9, 452, 9, 453, 454, 455, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 123, 81, 81, 81, 81, 81, 81, 81, + 456, 457, 81, 81, 81, 81, 81, 81, 7, 458, 459, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 302, 460, 7, 461, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 462, + 7, 7, 7, 7, 7, 7, 463, 81, 7, 7, 464, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 465, 7, 466, 81, 81, 467, 150, 81, 81, 81, 81, 81, 81, + 445, 468, 469, 470, 471, 472, 81, 473, 81, 81, 81, 81, 81, 81, 81, 81, + 216, 216, 216, 216, 216, 216, 216, 216, 474, 475, 180, 476, 180, 477, 216, 478, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 479, 480, 481, 482, + 216, 216, 483, 484, 485, 486, 216, 216, 487, 488, 489, 490, 491, 216, 492, 493, + 216, 216, 494, 495, 216, 496, 497, 216, 7, 7, 7, 498, 7, 7, 499, 216, + 500, 7, 501, 7, 502, 503, 216, 216, 504, 505, 216, 506, 216, 507, 508, 216, + 7, 7, 498, 216, 216, 216, 509, 510, 7, 7, 7, 7, 511, 7, 179, 512, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 499, - 500, 9, 9, 9, 36, 36, 36, 36, 9, 9, 9, 9, 9, 9, 9, 501, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 513, + 514, 9, 9, 9, 81, 81, 81, 81, 9, 9, 9, 9, 9, 9, 9, 515, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81 }; static RE_UINT8 re_line_break_table_3[] = { @@ -14943,7 +15245,7 @@ static RE_UINT8 re_line_break_table_3[] = { 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 23, 23, 23, 23, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 11, 11, 11, 14, 14, 9, 9, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 0, 7, 7, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 7, 7, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 11, 17, 17, 9, 9, 9, @@ -14971,13 +15273,11 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 0, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, + 9, 9, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15029,9 +15329,9 @@ static RE_UINT8 re_line_break_table_3[] = { 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 1, 1, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 1, 9, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 9, 9, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 9, 9, 9, 0, 0, 9, 0, 0, 9, 9, 1, 1, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 22, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, @@ -15039,7 +15339,7 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 0, 0, 1, 9, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 9, 9, 0, 9, 9, 1, 1, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, @@ -15064,6 +15364,8 @@ static RE_UINT8 re_line_break_table_3[] = { 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 10, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 9, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 2, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 0, 24, 0, 24, 24, 24, 24, 24, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 24, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, @@ -15124,8 +15426,8 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 18, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, - 9, 9, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15136,7 +15438,7 @@ static RE_UINT8 re_line_break_table_3[] = { 24, 24, 24, 24, 2, 2, 28, 24, 2, 9, 2, 10, 24, 24, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, - 9, 9, 7, 7, 2, 2, 22, 9, 7, 7, 9, 1, 1, 1, 20, 0, + 9, 9, 7, 7, 2, 2, 22, 9, 7, 7, 9, 1, 1, 1, 20, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, @@ -15168,16 +15470,16 @@ static RE_UINT8 re_line_break_table_3[] = { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 2, 2, 9, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, + 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 0, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, @@ -15198,12 +15500,12 @@ static RE_UINT8 re_line_break_table_3[] = { 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 1, 9, 9, 9, 9, 9, 9, 1, 9, 9, 1, 1, 1, 9, 0, 0, 0, 0, 0, - 1, 1, 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, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 0, 9, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15220,7 +15522,7 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 10, 10, 10, 10, 11, 10, 10, 11, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15258,6 +15560,8 @@ static RE_UINT8 re_line_break_table_3[] = { 34, 34, 34, 34, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, @@ -15314,8 +15618,6 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 9, 9, 0, 0, 0, 0, 0, 7, 2, 2, 2, 9, 7, 2, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, @@ -15329,7 +15631,7 @@ static RE_UINT8 re_line_break_table_3[] = { 8, 8, 12, 18, 12, 18, 12, 18, 12, 18, 2, 2, 2, 2, 7, 9, 2, 2, 9, 2, 2, 9, 9, 9, 9, 9, 31, 31, 2, 2, 2, 9, 2, 2, 12, 2, 2, 2, 2, 2, 2, 2, 2, 9, 2, 9, 2, 2, - 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 7, 7, 12, 18, 12, 18, 12, 18, 12, 18, 2, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, @@ -15382,10 +15684,10 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 9, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, + 9, 9, 0, 9, 0, 9, 9, 9, 9, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 9, 9, 9, 1, 9, 9, 9, 9, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 9, 9, 9, 9, 1, 0, 0, 0, @@ -15454,18 +15756,16 @@ static RE_UINT8 re_line_break_table_3[] = { 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 0, 23, 0, 23, 23, 0, 23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 18, 12, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 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, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 11, 9, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 11, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 18, 18, 14, 14, 7, 7, 12, 18, 32, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -15506,6 +15806,8 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15516,8 +15818,6 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15533,7 +15833,17 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, + 9, 9, 9, 0, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 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, + 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15580,6 +15890,8 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, + 9, 9, 1, 1, 1, 1, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15587,10 +15899,10 @@ static RE_UINT8 re_line_break_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 2, 2, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 9, 9, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 2, 2, - 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, + 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, @@ -15641,13 +15953,15 @@ static RE_UINT8 re_line_break_table_3[] = { 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 24, 24, 2, 2, 2, 24, + 24, 24, 24, 24, 24, 24, 24, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 9, 9, 9, 9, 9, @@ -15673,7 +15987,7 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 9, 22, 22, 22, 2, 2, 0, 0, 0, 0, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, @@ -15719,7 +16033,7 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 18, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 2, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15743,6 +16057,10 @@ static RE_UINT8 re_line_break_table_3[] = { 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 0, + 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, @@ -15754,6 +16072,10 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 1, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 9, 9, 9, 1, 1, 1, @@ -15799,9 +16121,13 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 9, 9, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 10, + 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 0, 9, 9, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, @@ -15894,6 +16220,10 @@ static RE_UINT8 re_line_break_table_3[] = { 34, 34, 34, 34, 34, 35, 35, 34, 35, 35, 34, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34, + 34, 34, 34, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15952,7 +16282,7 @@ static RE_UINT8 re_lowercase_table_1[] = { 2, 12, 2, 13, 2, 2, 14, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 17, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 16, 2, 17, 2, 2, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -16030,27 +16360,29 @@ static RE_UINT8 re_lowercase_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 26, 48, 49, 5, 5, 5, 50, 15, 51, 0, 0, 0, 0, 0, 0, + 0, 26, 15, 48, 5, 5, 5, 49, 15, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 52, 53, 0, 0, 0, 0, 54, 5, 55, 56, 57, 58, 59, + 0, 0, 5, 51, 52, 0, 0, 0, 0, 53, 5, 54, 55, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 60, 61, 15, 15, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 59, 60, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 63, 64, 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 62, 63, 0, 0, 0, 64, 65, 0, 0, 0, 0, 66, 67, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, 0, 0, + 0, 0, 0, 0, 0, 0, 15, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 68, 69, 81, - 71, 72, 82, 64, 75, 83, 84, 85, 86, 82, 87, 26, 88, 75, 89, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 91, 0, 0, 0, 0, 0, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 71, 72, 84, + 74, 75, 85, 63, 78, 86, 87, 88, 89, 85, 90, 26, 91, 78, 92, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -16067,17 +16399,18 @@ static RE_UINT8 re_lowercase_table_3[] = { 63, 0, 255, 0, 255, 0, 255, 63, 255, 0, 223, 64, 220, 0, 207, 0, 255, 0, 220, 0, 0, 0, 2, 128, 0, 0, 255, 31, 0, 196, 8, 0, 0, 128, 16, 50, 192, 67, 0, 0, 16, 0, 0, 0, 255, 3, 0, 0, - 255, 255, 255, 127, 98, 21, 218, 63, 26, 80, 8, 0, 191, 32, 0, 0, - 170, 42, 0, 0, 170, 170, 170, 58, 168, 170, 171, 170, 170, 170, 255, 149, - 170, 80, 186, 170, 170, 130, 160, 170, 8, 5, 0, 0, 0, 0, 64, 7, - 255, 255, 255, 247, 255, 1, 255, 255, 127, 0, 248, 0, 0, 255, 255, 255, - 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 255, 15, 255, 255, 7, 0, - 0, 0, 0, 252, 255, 255, 15, 0, 0, 192, 223, 255, 255, 0, 0, 0, - 252, 255, 255, 15, 0, 0, 192, 235, 239, 255, 0, 0, 0, 252, 255, 255, - 15, 0, 0, 192, 255, 255, 255, 0, 0, 0, 252, 255, 255, 15, 0, 0, - 192, 255, 255, 255, 0, 192, 255, 255, 0, 0, 192, 255, 63, 0, 0, 0, - 252, 255, 255, 247, 3, 0, 0, 240, 255, 255, 223, 15, 255, 127, 63, 0, - 255, 253, 0, 0, 247, 11, 0, 0, 252, 255, 255, 255, 15, 0, 0, 0 + 98, 21, 218, 63, 26, 80, 8, 0, 191, 32, 0, 0, 170, 42, 0, 0, + 170, 170, 170, 58, 168, 170, 171, 170, 170, 170, 255, 149, 170, 80, 186, 170, + 170, 130, 160, 170, 10, 5, 170, 2, 0, 0, 64, 7, 255, 255, 255, 247, + 255, 1, 255, 255, 127, 0, 248, 0, 0, 255, 255, 255, 255, 255, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 15, 0, 0, 128, 255, 251, 255, 251, 27, + 185, 255, 255, 255, 255, 255, 253, 7, 255, 255, 7, 0, 0, 0, 0, 252, + 255, 255, 15, 0, 0, 192, 223, 255, 255, 0, 0, 0, 252, 255, 255, 15, + 0, 0, 192, 235, 239, 255, 0, 0, 0, 252, 255, 255, 15, 0, 0, 192, + 255, 255, 255, 0, 0, 0, 252, 255, 255, 15, 0, 0, 192, 255, 255, 255, + 0, 192, 255, 255, 0, 0, 192, 255, 63, 0, 0, 0, 252, 255, 255, 247, + 3, 0, 0, 240, 255, 255, 223, 15, 255, 127, 63, 0, 255, 253, 0, 0, + 247, 11, 0, 0, 255, 251, 255, 127, 252, 255, 255, 255, 15, 0, 0, 0 }; RE_UINT32 re_get_lowercase(RE_UINT32 codepoint) { @@ -16630,14 +16963,14 @@ static RE_UINT8 re_nfkc_quick_check_table_1[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 13, 14, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 15, 16, - 5, 5, 5, 5, 17, 18, 19, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 17, 5, 5, 18, 19, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 20, 21, 5, 5, 5, 5, 5, 22, 23, 5, 24, 5, + 5, 5, 5, 5, 21, 22, 5, 5, 5, 5, 5, 23, 24, 5, 25, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 25, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 26, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -16731,20 +17064,22 @@ static RE_UINT8 re_nfkc_quick_check_table_2[] = { 80, 81, 48, 82, 48, 48, 83, 0, 84, 85, 86, 48, 48, 87, 88, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 89, 90, 48, 91, 48, 92, 93, 94, 90, 95, 96, 48, 48, 48, 97, 98, 48, 48, 48, 48, 75, 99, 100, - 0, 0, 0, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, 0, 0, + 0, 0, 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, + 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 9, 0, 47, 70, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 9, 0, 47, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 48, 107, 48, 108, 109, 110, 48, 111, 112, 113, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 114, 48, 48, 48, 48, 48, 48, 48, 48, 115, 48, + 48, 48, 109, 48, 110, 111, 112, 48, 113, 114, 115, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 116, 48, 48, 48, 48, 48, 48, 48, 48, 117, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 110, 116, 117, 118, 119, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 121, 122, 123, 124, 77, 0, 0, 0, - 125, 126, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 112, 118, 119, 120, 121, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 123, 124, 125, 126, 77, 0, 0, 0, + 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, @@ -16909,7 +17244,7 @@ static RE_UINT8 re_nfkc_quick_check_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, @@ -16954,6 +17289,10 @@ static RE_UINT8 re_nfkc_quick_check_table_3[] = { 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, @@ -17033,14 +17372,14 @@ static RE_UINT8 re_nfkd_quick_check_table_1[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 5, 5, 5, 5, 5, 5, 5, 5, 17, 18, - 5, 5, 5, 5, 19, 20, 21, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 19, 5, 5, 20, 21, 22, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 22, 23, 5, 5, 5, 5, 5, 24, 25, 5, 26, 5, + 5, 5, 5, 5, 23, 24, 5, 5, 5, 5, 5, 25, 26, 5, 27, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 27, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 28, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -17138,20 +17477,22 @@ static RE_UINT8 re_nfkd_quick_check_table_2[] = { 107, 108, 59, 109, 59, 59, 61, 0, 110, 111, 112, 59, 59, 113, 114, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 64, 115, 59, 4, 59, 116, 117, 118, 115, 119, 120, 59, 59, 59, 121, 122, 59, 59, 59, 59, 100, 123, 124, - 0, 0, 0, 0, 125, 126, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 126, 0, 0, + 0, 0, 0, 0, 127, 128, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 15, 0, 58, 92, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 15, 0, 58, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 59, 59, 65, 59, 133, 134, 135, 59, 136, 137, 138, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 7, 59, 59, 59, 59, 59, 59, 59, 59, 139, 59, + 59, 59, 65, 59, 135, 136, 137, 59, 138, 139, 140, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 7, 59, 59, 59, 59, 59, 59, 59, 59, 141, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 135, 140, 141, 142, 143, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 145, 146, 147, 39, 102, 0, 0, 0, - 148, 60, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 137, 142, 143, 144, 145, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 147, 148, 149, 39, 102, 0, 0, 0, + 150, 60, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, @@ -17184,19 +17525,19 @@ static RE_UINT8 re_nfkd_quick_check_table_3[] = { 255, 255, 143, 255, 255, 127, 255, 255, 255, 255, 255, 127, 0, 0, 192, 255, 254, 255, 255, 255, 255, 255, 191, 248, 255, 175, 170, 170, 90, 253, 36, 201, 255, 255, 239, 39, 255, 255, 111, 56, 255, 255, 1, 0, 0, 128, 3, 0, - 0, 0, 0, 128, 0, 255, 0, 0, 255, 255, 254, 255, 255, 255, 255, 252, + 0, 0, 0, 128, 0, 255, 0, 0, 255, 255, 254, 255, 255, 255, 227, 252, 255, 255, 255, 15, 255, 253, 255, 255, 240, 255, 255, 255, 0, 192, 26, 128, 154, 3, 0, 0, 0, 192, 0, 0, 128, 255, 7, 95, 0, 0, 128, 160, 36, 0, 0, 0, 0, 0, 252, 255, 255, 255, 7, 0, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 0, 224, 255, 255, 0, 252, 96, 0, 8, 0, 128, 240, 40, 0, 0, 0, 0, 224, 1, 0, 0, 0, 3, 3, 3, 227, - 128, 128, 255, 255, 255, 255, 255, 235, 255, 247, 255, 255, 255, 63, 255, 255, - 255, 231, 255, 255, 255, 255, 255, 167, 255, 255, 255, 243, 255, 255, 255, 254, - 255, 255, 255, 63, 0, 0, 0, 32, 155, 33, 0, 20, 16, 0, 0, 0, - 64, 24, 32, 32, 0, 0, 0, 132, 160, 3, 2, 0, 0, 48, 0, 0, - 105, 1, 8, 245, 123, 21, 105, 85, 105, 8, 8, 161, 0, 4, 0, 240, - 17, 4, 0, 240, 0, 248, 0, 0, 0, 128, 0, 0, 0, 0, 255, 255, - 248, 255, 0, 0, 0, 254, 252, 255 + 128, 128, 255, 255, 65, 0, 0, 0, 0, 0, 2, 248, 255, 255, 255, 235, + 255, 247, 255, 255, 255, 63, 255, 255, 255, 231, 255, 255, 255, 255, 255, 167, + 255, 255, 255, 243, 255, 255, 255, 254, 255, 255, 255, 63, 0, 0, 0, 32, + 155, 33, 0, 20, 16, 0, 0, 0, 64, 24, 32, 32, 0, 0, 0, 132, + 160, 3, 2, 0, 0, 48, 0, 0, 105, 1, 8, 245, 123, 21, 105, 85, + 105, 8, 8, 161, 0, 4, 0, 240, 17, 4, 0, 240, 0, 248, 0, 0, + 0, 128, 0, 0, 0, 0, 255, 255, 248, 255, 0, 0, 0, 254, 252, 255 }; RE_UINT32 re_get_nfkd_quick_check(RE_UINT32 codepoint) { @@ -17480,7 +17821,7 @@ static RE_UINT8 re_numeric_type_table_2[] = { 20, 20, 20, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 101, 102, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -17919,7 +18260,7 @@ static RE_UINT8 re_numeric_value_table_2[] = { 112, 113, 114, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 116, 117, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 116, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -18363,23 +18704,23 @@ static RE_UINT8 re_other_alphabetic_table_2[] = { 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 81, 82, 0, 28, 83, 0, 0, 56, 69, 46, 0, 56, 84, 85, 0, - 0, 86, 0, 0, 0, 0, 52, 45, 16, 21, 22, 19, 0, 0, 0, 0, - 0, 55, 87, 0, 0, 10, 66, 0, 0, 0, 0, 0, 0, 88, 89, 0, - 0, 90, 53, 0, 0, 91, 0, 0, 92, 93, 0, 0, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 97, 98, - 99, 100, 101, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 103, 0, 0, 104, 105, 0, 0, 0, 106, 107, 0, 108, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 61, 111, 0, 0, 112, + 56, 81, 82, 83, 28, 84, 28, 0, 56, 69, 46, 0, 56, 85, 86, 0, + 0, 87, 0, 0, 0, 0, 52, 45, 16, 21, 22, 19, 0, 0, 0, 0, + 0, 55, 88, 0, 0, 10, 66, 0, 0, 0, 0, 0, 0, 89, 90, 0, + 0, 91, 92, 0, 0, 93, 0, 0, 94, 95, 0, 0, 0, 0, 0, 0, + 0, 96, 0, 0, 0, 0, 0, 0, 0, 97, 98, 0, 0, 0, 99, 100, + 101, 102, 103, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 105, 0, 0, 106, 107, 0, 0, 0, 108, 109, 0, 110, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 61, 113, 0, 0, 114, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 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, 116, 116, 62, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 118, 118, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -18397,23 +18738,23 @@ static RE_UINT8 re_other_alphabetic_table_3[] = { 0, 248, 127, 121, 0, 0, 192, 195, 157, 63, 30, 0, 252, 191, 0, 60, 0, 0, 192, 255, 255, 1, 0, 0, 96, 0, 0, 0, 0, 2, 0, 0, 255, 15, 255, 1, 0, 0, 128, 15, 0, 0, 224, 127, 254, 255, 31, 0, - 0, 0, 0, 128, 1, 0, 0, 0, 31, 0, 0, 0, 0, 0, 224, 255, + 0, 0, 0, 128, 1, 112, 0, 0, 31, 0, 0, 0, 0, 0, 224, 255, 7, 0, 0, 0, 254, 51, 0, 0, 128, 255, 3, 0, 240, 255, 127, 0, 128, 255, 31, 0, 255, 255, 255, 255, 255, 3, 0, 0, 0, 0, 240, 15, 4, 8, 0, 0, 248, 0, 0, 0, 3, 0, 0, 0, 47, 0, 0, 0, 192, 7, 0, 0, 128, 255, 7, 0, 0, 254, 127, 0, 8, 48, 0, 0, 0, 0, 0, 56, 0, 0, 157, 65, 0, 248, 32, 0, 248, 7, 0, 0, 0, 0, 0, 64, 0, 0, 192, 7, 110, 240, 0, 0, 240, 0, 0, 0, - 0, 24, 0, 0, 0, 0, 0, 255, 63, 0, 0, 0, 0, 0, 255, 1, - 0, 0, 248, 255, 0, 192, 0, 0, 0, 240, 159, 64, 59, 0, 0, 0, - 0, 128, 63, 127, 0, 0, 0, 48, 0, 0, 255, 127, 0, 248, 63, 0, - 0, 0, 0, 224, 255, 7, 0, 0, 0, 240, 255, 1, 0, 0, 191, 25, - 5, 0, 0, 0, 0, 0, 254, 252, 16, 0, 0, 0, 254, 7, 0, 0, - 0, 0, 224, 123, 0, 0, 254, 15, 0, 252, 255, 0, 0, 128, 127, 127, - 0, 0, 252, 255, 255, 254, 127, 0, 0, 0, 126, 180, 139, 0, 0, 0, - 0, 124, 123, 0, 0, 0, 120, 0, 0, 128, 254, 255, 255, 128, 7, 0, - 0, 0, 3, 0, 127, 255, 255, 249, 219, 7, 0, 0, 128, 0, 0, 0, - 255, 3, 255, 255 + 0, 24, 0, 0, 0, 0, 0, 255, 63, 0, 0, 0, 0, 0, 24, 0, + 0, 0, 255, 1, 0, 0, 248, 255, 0, 192, 0, 0, 0, 240, 159, 64, + 59, 0, 0, 0, 0, 128, 63, 127, 0, 0, 0, 48, 0, 0, 255, 127, + 1, 0, 0, 0, 0, 248, 63, 0, 0, 0, 0, 224, 255, 7, 0, 0, + 0, 240, 255, 1, 0, 0, 191, 25, 5, 0, 0, 0, 0, 0, 254, 252, + 16, 0, 0, 0, 254, 7, 0, 0, 0, 0, 224, 123, 0, 0, 254, 15, + 0, 252, 255, 0, 0, 128, 127, 127, 0, 0, 252, 255, 255, 254, 127, 0, + 0, 0, 126, 180, 139, 0, 0, 0, 0, 124, 123, 0, 0, 0, 120, 0, + 0, 128, 254, 255, 255, 128, 7, 0, 0, 0, 3, 0, 127, 255, 255, 249, + 219, 7, 0, 0, 128, 0, 0, 0, 255, 3, 255, 255 }; RE_UINT32 re_get_other_alphabetic(RE_UINT32 codepoint) { @@ -18712,7 +19053,7 @@ static RE_UINT8 re_other_lowercase_table_1[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -18794,7 +19135,9 @@ static RE_UINT8 re_other_lowercase_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 20, 0, 0 }; static RE_UINT8 re_other_lowercase_table_3[] = { @@ -18802,7 +19145,8 @@ static RE_UINT8 re_other_lowercase_table_3[] = { 31, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 4, 0, 240, 255, 255, 255, 255, 255, 255, 255, 7, 0, 1, 0, 0, 0, 248, 0, 0, 2, 128, 0, 0, 255, 31, 0, 0, 255, 255, 255, 3, 0, 0, 0, 0, 0, 48, - 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 240 + 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 240, 185, 255, 255, 255, + 255, 255, 253, 7 }; RE_UINT32 re_get_other_lowercase(RE_UINT32 codepoint) { @@ -19104,17 +19448,17 @@ RE_UINT32 re_get_pattern_white_space(RE_UINT32 codepoint) { static RE_UINT8 re_posix_alnum_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 10, 10, 10, 10, 10, 10, 10, 10, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 10, 10, 13, 31, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 10, 10, 10, 10, 10, 10, 10, 10, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 30, 13, 31, 10, 10, 10, 32, 10, 10, 10, 10, 10, 10, 10, 10, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 10, 37, 10, 10, 38, - 10, 10, 10, 10, 10, 39, 10, 10, 40, 10, 41, 42, 43, 10, 10, 10, + 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 37, 38, 10, 10, 39, + 10, 10, 10, 10, 10, 40, 10, 41, 42, 43, 44, 45, 46, 10, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 44, 13, 13, 13, 45, 46, 13, - 13, 13, 13, 47, 13, 13, 13, 13, 13, 13, 48, 10, 10, 10, 49, 10, - 13, 13, 13, 13, 50, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 47, 13, 13, 13, 48, 49, 13, + 13, 13, 13, 50, 13, 13, 13, 13, 13, 13, 51, 10, 10, 10, 52, 10, + 13, 13, 13, 13, 53, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -19172,12 +19516,12 @@ static RE_UINT8 re_posix_alnum_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 }; -static RE_UINT8 re_posix_alnum_table_2[] = { +static RE_UINT16 re_posix_alnum_table_2[] = { 0, 1, 2, 2, 0, 3, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 7, 0, 0, 8, 9, 10, 11, 5, 12, 5, 5, 5, 5, 13, 5, 5, 5, 5, 14, 15, 5, 16, 17, 18, 19, 20, 5, 21, 22, 5, 5, 23, 24, 25, 5, 26, 5, 5, 27, 28, 29, - 30, 31, 32, 33, 0, 34, 35, 36, 5, 37, 38, 39, 40, 41, 42, 43, + 30, 31, 32, 33, 34, 5, 35, 36, 5, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 49, 53, 54, 55, 56, 57, 0, 58, 59, 60, 61, 58, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 0, 76, 77, 78, 0, 79, 0, 80, 81, 82, 83, 0, 0, @@ -19185,96 +19529,102 @@ static RE_UINT8 re_posix_alnum_table_2[] = { 5, 5, 88, 5, 89, 90, 91, 5, 92, 5, 74, 0, 93, 5, 5, 94, 73, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 95, 2, 5, 5, 96, 97, 98, 98, 99, 5, 100, 101, 0, - 0, 5, 5, 32, 5, 102, 5, 103, 104, 105, 25, 106, 5, 107, 108, 0, - 109, 5, 104, 110, 0, 111, 79, 0, 5, 112, 113, 0, 5, 114, 5, 115, + 0, 5, 5, 32, 5, 33, 5, 102, 103, 104, 25, 105, 5, 106, 107, 0, + 108, 5, 103, 109, 0, 110, 111, 0, 5, 112, 113, 0, 5, 114, 5, 115, 5, 116, 117, 118, 119, 66, 0, 120, 5, 5, 5, 5, 5, 5, 0, 121, 5, 5, 5, 5, 5, 5, 5, 5, 94, 5, 122, 118, 5, 123, 124, 125, 0, 0, 0, 126, 127, 0, 0, 0, 128, 129, 130, 5, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 131, 5, 108, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 5, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 132, 104, 5, 5, 5, 5, 133, 5, 86, 5, 134, 116, 135, 135, 5, - 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 138, 73, 5, 139, 73, 5, 87, 140, 14, 5, 5, 141, 5, 0, 25, + 5, 5, 5, 5, 5, 5, 5, 132, 5, 86, 5, 133, 116, 134, 134, 5, + 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 136, 137, 73, 5, 138, 73, 5, 87, 139, 14, 5, 5, 140, 5, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 83, 5, 5, 5, 5, 31, 0, 25, 118, 5, 5, 5, 5, 5, 5, 5, 5, - 142, 143, 5, 144, 5, 5, 5, 93, 145, 146, 5, 5, 147, 5, 148, 149, - 150, 151, 5, 98, 5, 5, 152, 153, 28, 102, 154, 83, 5, 155, 136, 156, - 5, 116, 157, 158, 5, 104, 159, 160, 161, 162, 87, 163, 5, 5, 5, 33, + 141, 142, 5, 143, 5, 5, 5, 93, 144, 145, 5, 5, 146, 5, 147, 148, + 149, 150, 5, 98, 5, 5, 151, 152, 28, 33, 153, 83, 5, 154, 135, 155, + 5, 116, 156, 157, 5, 103, 158, 159, 160, 161, 87, 162, 5, 5, 5, 163, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 164, 165, 109, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 164, 165, 108, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 166, 5, 5, 167, 0, 168, 169, 170, 5, 5, 27, 171, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 118, 25, 5, 172, 5, 151, 173, - 0, 0, 0, 174, 5, 5, 5, 83, 0, 2, 2, 175, 5, 104, 176, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 118, 25, 5, 172, 5, 150, 173, + 0, 0, 0, 174, 5, 5, 5, 83, 0, 2, 2, 175, 5, 103, 176, 0, 177, 178, 179, 0, 5, 5, 5, 74, 0, 0, 5, 180, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 5, 181, 0, 5, 26, 102, 74, 118, 5, 182, 0, - 5, 5, 5, 5, 118, 25, 183, 109, 5, 184, 5, 61, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 116, 103, 151, 0, 0, 0, 0, - 185, 186, 103, 116, 104, 0, 0, 187, 103, 167, 0, 0, 5, 188, 0, 0, - 189, 103, 0, 83, 83, 0, 80, 190, 5, 103, 103, 154, 27, 0, 0, 0, - 5, 5, 16, 0, 5, 154, 5, 154, 5, 151, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5, 191, 0, 0, 83, 192, 193, 0, 0, 25, 190, 116, - 5, 5, 193, 0, 146, 32, 25, 16, 5, 154, 194, 195, 5, 5, 196, 0, - 197, 198, 0, 0, 199, 119, 5, 16, 40, 49, 200, 61, 0, 0, 0, 0, - 5, 5, 201, 202, 5, 5, 203, 0, 0, 0, 0, 0, 5, 204, 205, 0, - 5, 104, 206, 0, 5, 207, 0, 0, 66, 33, 0, 0, 0, 0, 0, 0, - 5, 32, 0, 0, 0, 5, 5, 208, 209, 210, 211, 0, 0, 212, 30, 213, - 5, 214, 25, 5, 215, 0, 5, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 216, 217, 79, 218, 172, 219, 0, 0, 220, 221, 222, 223, 224, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 225, 0, 0, + 0, 0, 0, 0, 83, 5, 181, 0, 5, 26, 33, 74, 118, 5, 182, 0, + 5, 5, 5, 5, 118, 25, 183, 108, 5, 184, 5, 185, 186, 187, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 116, 102, 150, 149, 188, 0, 0, + 189, 190, 102, 116, 103, 0, 0, 191, 102, 167, 0, 0, 5, 192, 0, 0, + 193, 102, 0, 83, 83, 0, 80, 194, 5, 102, 102, 153, 27, 0, 0, 0, + 5, 5, 16, 0, 5, 153, 5, 153, 5, 150, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 195, 0, 0, 83, 196, 197, 25, 198, 25, 194, 116, + 5, 5, 197, 199, 145, 32, 200, 16, 5, 153, 201, 202, 5, 5, 203, 0, + 204, 205, 0, 0, 206, 119, 5, 16, 40, 49, 207, 61, 0, 0, 0, 0, + 5, 5, 208, 198, 5, 5, 209, 0, 0, 0, 0, 0, 5, 210, 211, 0, + 5, 103, 212, 0, 5, 213, 0, 0, 66, 163, 214, 0, 0, 0, 0, 0, + 5, 32, 0, 0, 0, 5, 5, 215, 216, 217, 218, 0, 0, 219, 30, 220, + 5, 221, 25, 5, 222, 25, 5, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 223, 224, 79, 148, 172, 225, 0, 0, 226, 227, 228, 229, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 231, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 167, 0, 0, 0, - 5, 5, 5, 141, 5, 5, 5, 5, 5, 5, 61, 0, 0, 0, 0, 0, + 5, 5, 5, 140, 5, 5, 5, 5, 5, 5, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 5, 5, 181, + 5, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 32, 104, 0, 0, 0, 25, 157, 5, 93, 61, 227, 93, 0, 0, 0, + 5, 32, 103, 25, 5, 103, 25, 156, 5, 93, 61, 232, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 228, 5, 229, 0, 0, 230, + 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 233, 5, 234, 0, 0, 235, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 231, - 5, 5, 5, 5, 5, 5, 103, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 236, + 5, 5, 5, 5, 5, 5, 102, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 218, 238, 201, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 108, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 239, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 241, 5, 242, 243, 244, 5, 245, 246, 247, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 248, 249, 87, 241, 241, 250, 250, 223, 223, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 104, 0, 232, 194, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 233, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, + 252, 253, 0, 0, 0, 0, 0, 0, 5, 254, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 25, 156, 5, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 34, 5, 235, 236, 237, 5, 238, 239, 240, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 241, 242, 87, 34, 34, 132, 132, 216, 216, 243, 0, - 244, 245, 0, 0, 0, 0, 0, 0, 5, 246, 247, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5, 248, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 190, 0, 5, 5, 249, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, + 5, 5, 5, 5, 5, 5, 194, 0, 5, 5, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 237, 250, 251, 252, 253, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 163, 163, 108, 0, 0, 0, + 244, 259, 260, 261, 262, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 162, 162, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 118, 0, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 180, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 32, 5, 5, 5, 5, 5, 5, 118, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 255, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 264, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 79, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 33, 0, 0, 0, 0, 0 + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 163, 0, 0, 0, 0, 0 }; static RE_UINT8 re_posix_alnum_table_3[] = { @@ -19286,14 +19636,14 @@ static RE_UINT8 re_posix_alnum_table_3[] = { 0, 0, 255, 7, 255, 255, 255, 254, 0, 192, 255, 255, 255, 255, 239, 31, 254, 225, 0, 156, 0, 0, 255, 255, 0, 224, 255, 255, 255, 255, 3, 0, 0, 252, 255, 255, 255, 7, 48, 4, 255, 255, 255, 252, 255, 31, 0, 0, - 255, 255, 255, 1, 255, 7, 0, 0, 255, 255, 223, 255, 255, 0, 240, 255, + 255, 255, 255, 1, 255, 7, 255, 255, 255, 126, 0, 0, 255, 3, 240, 255, 248, 3, 255, 255, 255, 255, 255, 239, 255, 223, 225, 255, 15, 0, 254, 255, 239, 159, 249, 255, 255, 253, 197, 227, 159, 89, 128, 176, 15, 0, 3, 16, 238, 135, 249, 255, 255, 253, 109, 195, 135, 25, 2, 94, 0, 0, 63, 0, 238, 191, 251, 255, 255, 253, 237, 227, 191, 27, 1, 0, 15, 0, 0, 30, 238, 159, 249, 255, 159, 25, 192, 176, 15, 0, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 29, 129, 0, 239, 223, 253, 255, 255, 253, 255, 227, - 223, 29, 96, 7, 15, 0, 0, 0, 255, 253, 239, 227, 223, 29, 96, 64, + 223, 29, 96, 39, 15, 0, 0, 0, 255, 253, 239, 227, 223, 29, 96, 96, 15, 0, 6, 0, 255, 223, 253, 255, 255, 255, 255, 231, 223, 93, 240, 128, 15, 0, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, 127, 128, 95, 255, 0, 0, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, 127, 32, 0, 0, @@ -19302,46 +19652,49 @@ static RE_UINT8 re_posix_alnum_table_3[] = { 255, 255, 127, 249, 255, 255, 0, 60, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 0, 0, 255, 255, 63, 63, 255, 159, 255, 255, - 255, 199, 255, 1, 255, 223, 15, 0, 255, 255, 15, 0, 255, 223, 13, 0, - 255, 255, 207, 255, 255, 1, 128, 16, 255, 7, 255, 255, 255, 255, 63, 0, - 255, 255, 255, 127, 255, 15, 255, 1, 255, 63, 31, 0, 255, 15, 255, 255, - 255, 3, 0, 0, 255, 255, 255, 15, 254, 255, 31, 0, 128, 0, 0, 128, - 255, 255, 239, 255, 239, 15, 0, 0, 255, 243, 0, 252, 191, 255, 3, 0, + 255, 199, 255, 1, 255, 255, 15, 128, 255, 255, 15, 0, 255, 223, 13, 0, + 255, 255, 207, 255, 255, 1, 128, 16, 255, 255, 63, 0, 255, 255, 255, 127, + 255, 15, 255, 1, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, + 255, 255, 255, 15, 254, 255, 31, 0, 128, 0, 0, 128, 1, 112, 0, 0, + 255, 255, 239, 255, 239, 31, 0, 0, 255, 243, 0, 252, 191, 255, 3, 0, 255, 255, 127, 0, 0, 224, 0, 252, 255, 255, 255, 63, 255, 1, 255, 255, 0, 222, 111, 4, 128, 255, 31, 0, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 62, 80, 189, 255, 243, 224, 67, 0, 0, 0, 0, 192, 255, - 255, 127, 255, 255, 31, 120, 12, 0, 255, 128, 0, 0, 127, 127, 127, 127, - 0, 128, 0, 0, 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 224, - 224, 255, 255, 255, 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, - 255, 127, 240, 143, 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, - 252, 7, 0, 0, 0, 0, 224, 255, 191, 255, 255, 255, 255, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 252, 232, 255, 255, 7, 0, 255, 255, 247, 255, - 255, 255, 0, 124, 255, 63, 0, 0, 255, 255, 127, 252, 5, 0, 0, 56, - 255, 255, 60, 0, 126, 126, 126, 0, 127, 127, 255, 255, 255, 3, 255, 255, + 31, 120, 12, 0, 255, 128, 0, 0, 127, 127, 127, 127, 0, 128, 0, 0, + 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 224, 224, 255, 255, 255, + 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 240, 143, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 191, 255, 255, 255, 255, 0, 0, 0, 47, 0, 0, 0, + 0, 0, 252, 232, 255, 255, 7, 0, 255, 255, 247, 255, 255, 255, 0, 124, + 255, 63, 0, 0, 255, 255, 127, 252, 5, 0, 0, 56, 255, 255, 60, 0, + 126, 126, 126, 0, 127, 127, 255, 255, 255, 3, 255, 255, 255, 7, 0, 0, 15, 0, 255, 255, 127, 248, 255, 255, 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 0, 0, 255, 15, 0, 0, 223, 255, 192, 255, 255, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 255, 255, 31, 0, 255, 255, 1, 0, 15, 255, 62, 0, 255, 255, 15, 255, - 255, 0, 255, 255, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, + 255, 0, 255, 255, 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 31, 0, 0, 0, 255, 27, 3, 0, - 128, 0, 255, 255, 63, 0, 0, 0, 240, 0, 255, 255, 255, 255, 71, 0, - 30, 192, 0, 20, 255, 255, 251, 255, 255, 255, 159, 64, 127, 189, 255, 191, - 159, 25, 129, 224, 187, 7, 0, 128, 3, 0, 0, 0, 179, 0, 0, 0, - 255, 255, 63, 127, 0, 0, 0, 63, 17, 0, 0, 0, 255, 255, 63, 1, - 0, 0, 0, 128, 127, 242, 111, 255, 255, 255, 191, 153, 7, 0, 0, 0, - 255, 252, 255, 255, 26, 0, 0, 0, 255, 255, 231, 127, 255, 255, 255, 32, - 255, 253, 255, 255, 255, 255, 127, 127, 0, 0, 252, 255, 255, 254, 127, 0, - 127, 251, 255, 255, 255, 255, 127, 180, 203, 0, 0, 0, 191, 253, 255, 255, - 255, 127, 123, 1, 0, 0, 1, 0, 127, 0, 0, 0, 248, 255, 255, 224, - 255, 135, 255, 255, 255, 128, 255, 255, 11, 0, 3, 0, 255, 255, 255, 0, - 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 67, 255, 255, 255, 223, - 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, - 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, 247, 15, 0, 0, + 128, 0, 255, 255, 63, 0, 0, 0, 3, 0, 0, 0, 0, 0, 62, 0, + 4, 0, 255, 255, 240, 0, 255, 255, 255, 255, 71, 0, 30, 192, 0, 20, + 255, 255, 251, 255, 255, 255, 159, 64, 127, 189, 255, 191, 159, 25, 129, 224, + 187, 7, 0, 128, 179, 0, 0, 0, 255, 255, 63, 127, 0, 0, 0, 63, + 17, 0, 0, 0, 255, 255, 63, 1, 127, 0, 0, 0, 0, 0, 0, 128, + 127, 242, 111, 255, 255, 255, 191, 153, 7, 0, 0, 0, 255, 252, 255, 255, + 26, 0, 0, 0, 255, 255, 231, 127, 255, 255, 255, 32, 255, 253, 255, 255, + 255, 255, 127, 127, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, + 203, 0, 0, 0, 191, 253, 255, 255, 255, 127, 123, 1, 0, 0, 1, 0, + 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, 11, 0, 3, 0, + 255, 255, 255, 0, 0, 0, 239, 111, 0, 0, 7, 0, 255, 7, 255, 31, + 255, 1, 255, 67, 255, 255, 223, 255, 255, 255, 255, 223, 100, 222, 255, 235, + 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, + 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, 247, 15, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 128, 63, 0, 64, 0, 0, - 255, 15, 0, 0, 143, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, - 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 255, 15, 0, 0, 127, 111, 255, 127, 143, 8, 0, 0, 150, 254, 247, 10, + 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, + 3, 0, 255, 255 }; RE_UINT32 re_get_posix_alnum(RE_UINT32 codepoint) { @@ -19377,10 +19730,10 @@ static RE_UINT8 re_posix_punct_table_1[] = { 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 13, 27, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 28, 29, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 30, - 13, 13, 13, 13, 31, 32, 33, 13, 34, 13, 35, 36, 37, 38, 39, 13, + 19, 20, 21, 22, 23, 24, 25, 26, 13, 27, 13, 28, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 29, 30, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 31, + 13, 13, 13, 32, 33, 34, 35, 13, 36, 13, 37, 38, 39, 40, 41, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -19448,82 +19801,86 @@ static RE_UINT8 re_posix_punct_table_2[] = { 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 8, 9, 0, 0, 10, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 0, 0, 18, 0, 0, 19, 20, 21, 0, 0, 0, 0, 0, 0, 22, - 0, 23, 14, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 25, - 0, 0, 0, 10, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, - 0, 0, 0, 29, 30, 0, 0, 0, 0, 0, 31, 32, 0, 0, 0, 33, - 0, 34, 35, 0, 0, 0, 0, 0, 36, 37, 0, 0, 38, 39, 40, 0, - 0, 0, 41, 0, 39, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 0, 0, 0, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 47, 0, 0, 48, 0, 49, 0, 0, 0, 0, 50, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 39, 53, - 39, 0, 0, 0, 0, 54, 0, 0, 0, 0, 12, 55, 0, 0, 0, 56, - 0, 57, 0, 39, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 60, 61, - 62, 63, 64, 65, 66, 53, 0, 0, 67, 68, 69, 0, 70, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 71, 51, 0, 56, 72, 0, 0, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 72, 73, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 74, 75, 53, 53, 53, - 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 27, 0, 0, 0, 0, - 53, 77, 78, 0, 79, 53, 53, 80, 53, 53, 53, 53, 53, 53, 72, 81, - 82, 83, 0, 0, 47, 45, 0, 42, 0, 0, 0, 0, 84, 0, 53, 85, - 64, 86, 87, 53, 86, 88, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 0, 23, 14, 0, 24, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 26, + 0, 0, 0, 10, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 29, + 0, 0, 0, 30, 31, 0, 0, 0, 0, 0, 32, 33, 0, 0, 0, 34, + 0, 35, 36, 0, 0, 0, 0, 0, 37, 38, 0, 0, 39, 40, 41, 0, + 0, 0, 42, 0, 40, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 0, 0, 0, + 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 0, 0, 49, 0, 50, 0, 0, 0, 0, 51, 0, + 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 40, 54, + 40, 0, 0, 0, 0, 55, 0, 0, 0, 0, 12, 56, 0, 0, 0, 57, + 0, 58, 0, 40, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, + 63, 64, 65, 66, 67, 54, 46, 0, 68, 69, 70, 0, 71, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 72, 52, 0, 57, 73, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 73, 74, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 75, 76, 54, 54, 54, + 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 28, 0, 0, 0, 0, + 54, 78, 79, 0, 80, 54, 54, 81, 54, 54, 54, 54, 54, 54, 73, 82, + 83, 84, 0, 0, 48, 46, 0, 43, 0, 0, 0, 0, 85, 0, 54, 86, + 65, 87, 88, 54, 87, 89, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 53, 71, 39, 0, 0, 0, 0, 0, 0, 0, 0, - 89, 0, 0, 90, 0, 0, 0, 91, 92, 93, 0, 0, 94, 0, 0, 0, - 0, 95, 0, 96, 0, 0, 97, 98, 0, 97, 34, 0, 0, 0, 99, 0, - 0, 0, 56, 100, 0, 0, 39, 26, 0, 0, 42, 101, 0, 0, 0, 102, + 0, 0, 0, 0, 63, 54, 72, 40, 0, 0, 0, 0, 0, 0, 0, 0, + 90, 0, 0, 91, 0, 0, 0, 92, 93, 94, 0, 0, 95, 0, 0, 0, + 0, 96, 0, 97, 0, 0, 98, 99, 0, 98, 35, 0, 0, 0, 100, 0, + 0, 0, 57, 101, 0, 0, 40, 27, 0, 0, 43, 102, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 104, 93, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 105, - 44, 62, 106, 107, 0, 0, 0, 0, 1, 2, 2, 108, 0, 0, 0, 109, - 0, 0, 0, 0, 0, 0, 0, 0, 110, 111, 0, 112, 113, 45, 62, 114, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 105, 106, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 107, 0, 0, 0, 32, 57, + 45, 63, 108, 109, 0, 0, 0, 0, 1, 2, 2, 110, 0, 0, 0, 111, + 0, 0, 0, 0, 0, 0, 0, 0, 106, 112, 0, 113, 114, 46, 63, 115, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 28, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 115, 0, 0, 0, 0, 34, 34, 0, 0, 0, 0, 0, 0, - 0, 0, 116, 34, 0, 0, 117, 118, 0, 112, 0, 0, 119, 0, 0, 0, + 0, 0, 5, 116, 0, 0, 0, 0, 35, 35, 0, 0, 0, 0, 0, 0, + 0, 0, 117, 35, 0, 0, 24, 118, 0, 113, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, - 0, 0, 122, 0, 0, 123, 93, 0, 0, 0, 85, 124, 0, 0, 125, 0, - 0, 126, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 129, 0, - 0, 0, 130, 131, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, - 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 11, - 0, 34, 71, 0, 133, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 134, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, 135, 136, - 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 121, 0, 122, 0, 0, 0, + 0, 0, 123, 0, 0, 124, 94, 0, 0, 0, 86, 125, 0, 0, 126, 0, + 0, 127, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 130, 0, + 0, 0, 131, 132, 0, 33, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, + 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 11, + 0, 35, 72, 0, 134, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 135, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 136, 137, + 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 97, 0, 0, 0, 138, 0, 111, 139, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, - 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 98, 0, 0, 0, 140, 0, 112, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 53, 53, 53, 53, 53, 53, 72, 53, 142, 53, 143, 144, 145, 53, 43, - 53, 53, 146, 0, 0, 0, 0, 0, 53, 53, 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, + 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 147, 42, 138, 138, 31, 31, 103, 103, 148, 0, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 0, 140, 0, 149, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 153, 53, 53, 80, 154, 155, 72, 156, 157, 41, 41, 86, 21, 0, 158, - 159, 160, 161, 108, 0, 0, 0, 0, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 162, 163, 53, 53, 53, 80, 53, 53, 164, 165, - 153, 53, 166, 53, 63, 167, 0, 0, 53, 53, 53, 168, 53, 53, 169, 53, - 53, 53, 80, 170, 171, 172, 173, 0, 53, 53, 53, 53, 106, 53, 51, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 54, 54, 54, 86, 0, + 54, 54, 54, 54, 54, 54, 54, 73, 54, 144, 54, 145, 146, 147, 54, 52, + 54, 54, 148, 0, 0, 0, 0, 0, 54, 54, 93, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 149, 43, 140, 140, 32, 32, 104, 104, 150, 0, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 0, 142, 0, 151, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 153, 0, 0, 0, 154, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 155, 54, 54, 81, 156, 157, 73, 158, 107, 42, 42, 87, 21, 0, 159, + 160, 161, 162, 110, 0, 0, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 163, 164, 54, 54, 54, 81, 54, 54, 165, 166, + 155, 54, 167, 54, 64, 168, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 81, 169, 170, 171, 172, 173, 54, 54, 54, 54, 108, 54, 52, 0 }; static RE_UINT8 re_posix_punct_table_3[] = { @@ -19531,46 +19888,46 @@ static RE_UINT8 re_posix_punct_table_3[] = { 254, 219, 211, 137, 0, 0, 128, 0, 60, 0, 252, 255, 224, 175, 255, 255, 0, 0, 32, 64, 176, 0, 0, 0, 0, 0, 64, 0, 4, 0, 0, 0, 0, 0, 0, 252, 0, 230, 0, 0, 0, 0, 0, 64, 73, 0, 0, 0, - 0, 0, 24, 0, 192, 255, 0, 200, 0, 60, 0, 0, 0, 0, 16, 64, + 0, 0, 24, 0, 192, 255, 0, 232, 0, 60, 0, 0, 0, 0, 16, 64, 0, 2, 0, 96, 255, 63, 0, 0, 0, 0, 192, 195, 0, 0, 255, 127, - 48, 0, 1, 0, 0, 0, 12, 44, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 248, 7, 0, 0, 128, 128, 16, 0, 0, 0, 0, 128, 0, 0, - 0, 0, 0, 2, 0, 0, 16, 0, 0, 0, 0, 128, 0, 128, 0, 12, - 254, 255, 255, 252, 0, 0, 80, 61, 32, 0, 0, 0, 0, 0, 0, 192, - 191, 223, 255, 7, 0, 252, 0, 0, 0, 0, 0, 8, 255, 1, 0, 0, - 0, 0, 255, 3, 1, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 24, - 0, 56, 0, 0, 0, 0, 96, 0, 0, 0, 112, 15, 255, 7, 0, 0, - 49, 0, 0, 0, 255, 255, 255, 255, 127, 63, 0, 0, 255, 7, 240, 31, - 0, 0, 0, 240, 0, 0, 0, 248, 255, 0, 8, 0, 0, 0, 0, 160, - 3, 224, 0, 224, 0, 224, 0, 96, 0, 0, 255, 255, 255, 0, 255, 255, - 255, 255, 255, 127, 0, 0, 0, 124, 0, 124, 0, 0, 123, 3, 208, 193, - 175, 66, 0, 12, 31, 188, 0, 0, 0, 12, 255, 255, 127, 0, 0, 0, - 255, 255, 63, 0, 0, 0, 240, 255, 255, 255, 207, 255, 255, 255, 191, 255, - 224, 7, 0, 222, 255, 127, 255, 255, 255, 255, 7, 0, 255, 255, 255, 251, - 255, 255, 15, 0, 0, 0, 255, 15, 30, 255, 255, 255, 1, 0, 193, 224, - 0, 0, 195, 255, 15, 0, 0, 0, 0, 252, 255, 255, 255, 0, 1, 0, - 255, 255, 1, 0, 0, 224, 0, 0, 0, 0, 8, 64, 0, 0, 252, 0, - 255, 255, 127, 0, 3, 0, 0, 0, 0, 6, 0, 0, 0, 15, 192, 3, - 0, 0, 240, 0, 0, 192, 0, 0, 0, 0, 0, 23, 254, 63, 0, 192, - 0, 0, 128, 3, 0, 12, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, - 0, 0, 252, 255, 0, 0, 0, 48, 255, 255, 247, 255, 127, 15, 0, 0, - 63, 0, 0, 0, 127, 127, 0, 48, 7, 0, 0, 0, 0, 0, 128, 255, - 0, 0, 0, 254, 255, 115, 255, 31, 255, 255, 255, 31, 0, 0, 128, 1, - 0, 0, 255, 1, 0, 1, 0, 0, 0, 0, 127, 0, 0, 0, 0, 30, - 0, 32, 0, 0, 0, 0, 224, 3, 128, 63, 0, 0, 0, 0, 0, 216, - 0, 0, 48, 0, 224, 33, 0, 232, 0, 0, 0, 63, 0, 248, 0, 44, - 64, 0, 0, 0, 254, 255, 255, 0, 14, 0, 0, 0, 255, 31, 0, 0, - 112, 0, 0, 0, 0, 0, 0, 220, 62, 0, 0, 0, 0, 0, 224, 255, - 255, 255, 3, 128, 0, 0, 31, 0, 0, 0, 32, 0, 48, 0, 0, 0, - 0, 0, 128, 7, 0, 0, 0, 144, 127, 254, 255, 255, 31, 28, 0, 0, - 24, 240, 255, 255, 255, 195, 255, 255, 35, 0, 0, 0, 2, 0, 0, 8, - 8, 0, 0, 0, 0, 224, 223, 255, 239, 15, 0, 0, 0, 16, 1, 0, - 0, 64, 0, 0, 255, 15, 255, 255, 255, 127, 254, 255, 254, 255, 254, 255, - 0, 224, 255, 255, 255, 255, 0, 0, 192, 255, 255, 255, 7, 0, 255, 255, - 255, 255, 255, 15, 255, 1, 3, 0, 255, 255, 255, 0, 255, 31, 255, 31, - 255, 255, 255, 1, 255, 15, 0, 0, 255, 0, 255, 3, 255, 63, 3, 0, - 255, 255, 255, 253, 255, 239, 255, 255, 255, 63, 31, 7, 127, 0, 255, 255, - 255, 1, 127, 0, 7, 0, 127, 0 + 0, 1, 0, 0, 48, 0, 1, 0, 0, 0, 12, 44, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, 248, 7, 0, 0, 128, 128, 16, 0, 0, 0, + 0, 128, 0, 0, 0, 0, 0, 2, 0, 0, 16, 0, 0, 0, 0, 128, + 0, 128, 0, 12, 254, 255, 255, 252, 0, 0, 80, 61, 32, 0, 0, 0, + 0, 0, 0, 192, 191, 223, 255, 7, 0, 252, 0, 0, 0, 0, 0, 8, + 255, 1, 0, 0, 0, 0, 255, 3, 1, 0, 0, 0, 0, 96, 0, 0, + 0, 0, 0, 24, 0, 56, 0, 0, 0, 0, 96, 0, 0, 0, 112, 15, + 255, 7, 0, 0, 49, 0, 0, 0, 255, 255, 255, 255, 127, 63, 0, 0, + 255, 7, 240, 127, 0, 0, 0, 240, 0, 0, 0, 248, 255, 0, 8, 0, + 0, 0, 0, 160, 3, 224, 0, 224, 0, 224, 0, 96, 0, 0, 255, 255, + 255, 0, 255, 255, 255, 255, 255, 127, 0, 0, 0, 124, 0, 124, 0, 0, + 123, 3, 208, 193, 175, 66, 0, 12, 31, 188, 0, 0, 0, 12, 255, 255, + 127, 0, 0, 0, 255, 255, 63, 0, 0, 0, 240, 255, 255, 255, 207, 255, + 255, 255, 191, 255, 224, 7, 0, 222, 255, 127, 255, 255, 255, 255, 255, 63, + 255, 255, 255, 251, 255, 255, 15, 0, 0, 0, 255, 15, 30, 255, 255, 255, + 1, 0, 193, 224, 0, 0, 195, 255, 15, 0, 0, 0, 0, 252, 255, 255, + 255, 0, 1, 0, 255, 255, 1, 0, 0, 224, 0, 0, 0, 0, 8, 64, + 0, 0, 252, 0, 255, 255, 127, 0, 3, 0, 0, 0, 0, 6, 0, 0, + 0, 15, 192, 3, 0, 0, 240, 0, 0, 192, 0, 0, 0, 0, 0, 23, + 254, 63, 0, 192, 0, 0, 128, 3, 0, 12, 0, 0, 0, 8, 0, 0, + 0, 2, 0, 0, 0, 0, 252, 255, 7, 0, 0, 0, 255, 255, 0, 0, + 255, 255, 247, 255, 127, 15, 0, 0, 63, 0, 0, 0, 127, 127, 0, 48, + 0, 0, 128, 255, 0, 0, 0, 254, 255, 115, 255, 31, 255, 255, 255, 31, + 0, 0, 128, 1, 0, 0, 255, 1, 0, 0, 127, 0, 0, 0, 0, 30, + 0, 32, 0, 0, 0, 0, 224, 3, 192, 3, 0, 0, 128, 63, 0, 0, + 0, 0, 0, 216, 0, 0, 48, 0, 224, 33, 0, 232, 0, 0, 0, 63, + 0, 248, 0, 44, 64, 0, 0, 0, 254, 255, 255, 0, 14, 0, 0, 0, + 255, 31, 0, 0, 112, 0, 0, 0, 0, 0, 0, 220, 62, 0, 0, 0, + 0, 0, 224, 255, 255, 255, 3, 128, 0, 0, 31, 0, 0, 0, 6, 0, + 0, 0, 32, 0, 48, 0, 0, 0, 0, 0, 128, 7, 0, 0, 0, 144, + 127, 254, 255, 255, 31, 28, 0, 0, 24, 240, 255, 255, 255, 195, 255, 255, + 35, 0, 0, 0, 2, 0, 0, 8, 8, 0, 0, 0, 0, 224, 223, 255, + 239, 15, 0, 0, 0, 16, 1, 0, 0, 64, 0, 0, 255, 15, 255, 255, + 255, 127, 254, 255, 254, 255, 254, 255, 0, 224, 255, 255, 192, 255, 255, 255, + 7, 0, 255, 255, 255, 255, 255, 15, 255, 1, 3, 0, 255, 255, 255, 224, + 255, 31, 255, 31, 255, 255, 255, 1, 255, 15, 1, 0, 255, 0, 255, 3, + 255, 63, 3, 0, 255, 63, 31, 31, 127, 0, 255, 255, 255, 31, 255, 7, + 63, 0, 255, 3, 255, 0, 127, 0 }; RE_UINT32 re_get_posix_punct(RE_UINT32 codepoint) { @@ -19612,6 +19969,8 @@ RE_UINT32 re_get_prepended_concatenation_mark(RE_UINT32 codepoint) { return 1; if (codepoint == 0x070F) return 1; + if (0x0890 <= codepoint && codepoint <= 0x0891) + return 1; if (codepoint == 0x08E2) return 1; if (codepoint == 0x0110BD) @@ -19626,257 +19985,268 @@ RE_UINT32 re_get_prepended_concatenation_mark(RE_UINT32 codepoint) { static RE_UINT8 re_print_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 14, 13, 15, 16, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 17, 18, 18, 13, 13, 13, 13, 13, 13, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 18, 18, 13, 31, 18, 18, - 18, 32, 18, 18, 18, 18, 18, 18, 18, 18, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 18, 18, 18, 18, 18, 18, 18, 18, 37, 18, 18, 38, - 18, 18, 18, 18, 39, 40, 41, 18, 42, 18, 43, 44, 45, 46, 47, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 16, 17, 17, 13, 13, 13, 13, 13, 13, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 17, 30, 13, 31, 17, 17, + 17, 32, 17, 17, 17, 17, 17, 17, 17, 17, 33, 34, 13, 13, 13, 13, + 13, 35, 13, 36, 17, 17, 17, 17, 17, 17, 17, 37, 38, 17, 17, 39, + 17, 17, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 48, 13, 13, 13, 49, 50, 13, - 13, 13, 13, 51, 13, 13, 13, 13, 13, 13, 52, 18, 18, 18, 53, 18, - 13, 13, 13, 13, 54, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 55, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 52, 13, 13, 13, 53, 54, 13, + 13, 13, 13, 55, 13, 13, 13, 13, 13, 13, 56, 17, 17, 17, 57, 17, + 13, 13, 13, 13, 58, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 59, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 56, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 60, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 56 + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 60 }; static RE_UINT16 re_print_table_2[] = { 0, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 1, 8, 1, 9, 10, - 11, 1, 1, 1, 1, 1, 1, 1, 12, 1, 13, 1, 1, 14, 1, 15, - 1, 16, 17, 18, 0, 19, 20, 1, 1, 1, 1, 1, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 30, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 40, 44, 45, 46, 40, 1, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 0, 56, 57, 58, 0, 1, 1, 59, 60, 61, 11, 62, 0, - 1, 1, 1, 1, 1, 1, 63, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 64, 1, 65, 66, 67, 1, 68, 1, 15, 69, 70, 1, 1, 71, + 1, 1, 1, 1, 1, 1, 1, 1, 11, 1, 12, 1, 1, 13, 1, 14, + 1, 15, 16, 17, 18, 1, 1, 1, 1, 1, 1, 1, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 28, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 38, 42, 43, 44, 38, 1, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 0, 54, 55, 56, 0, 1, 1, 57, 58, 59, 60, 61, 0, + 1, 1, 1, 1, 1, 1, 62, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 63, 1, 64, 65, 66, 1, 67, 1, 14, 68, 69, 1, 1, 70, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 69, 1, 1, 72, 73, 74, 75, 76, 1, 1, 77, 78, - 79, 1, 1, 72, 1, 80, 1, 81, 2, 82, 83, 84, 1, 85, 86, 1, - 87, 1, 2, 88, 78, 89, 90, 0, 1, 1, 85, 69, 1, 1, 1, 91, - 1, 92, 93, 1, 94, 15, 9, 95, 1, 1, 1, 1, 1, 1, 1, 96, - 1, 1, 1, 1, 1, 1, 1, 1, 71, 1, 97, 77, 1, 19, 98, 99, - 1, 100, 1, 101, 102, 1, 103, 104, 1, 1, 1, 1, 85, 1, 1, 1, + 1, 1, 1, 1, 68, 1, 1, 71, 72, 73, 74, 75, 1, 1, 76, 77, + 69, 1, 1, 71, 1, 17, 1, 78, 2, 79, 80, 81, 1, 82, 83, 1, + 84, 1, 2, 85, 77, 86, 87, 0, 1, 1, 88, 2, 1, 1, 1, 89, + 1, 90, 91, 1, 92, 14, 9, 93, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 70, 1, 94, 76, 1, 95, 96, 97, + 1, 98, 1, 99, 100, 1, 101, 102, 1, 1, 1, 1, 82, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 105, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 103, 104, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 106, 107, 1, 1, 1, - 1, 108, 2, 1, 1, 1, 1, 109, 1, 63, 1, 110, 74, 111, 111, 1, - 1, 1, 112, 0, 96, 1, 1, 75, 1, 1, 1, 1, 1, 1, 81, 113, - 1, 1, 53, 1, 7, 1, 1, 1, 114, 6, 1, 1, 108, 1, 1, 115, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 105, 106, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 107, 1, 62, 1, 108, 73, 109, 109, 1, + 1, 1, 76, 0, 110, 1, 1, 74, 1, 1, 1, 1, 1, 1, 78, 111, + 1, 1, 51, 1, 7, 1, 1, 1, 112, 6, 1, 1, 113, 1, 1, 114, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 88, 1, 115, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 116, 1, 1, 1, 1, 1, 117, 1, 1, 1, 1, 1, 1, 118, 119, + 1, 120, 1, 117, 1, 1, 121, 1, 1, 1, 122, 68, 1, 1, 123, 2, + 1, 73, 124, 1, 1, 1, 125, 73, 126, 127, 1, 82, 1, 1, 1, 128, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69, - 1, 1, 1, 1, 116, 1, 117, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 118, 1, 1, 1, 1, 1, 119, 1, 1, 1, 1, 1, 1, 120, 121, - 1, 122, 1, 119, 1, 1, 123, 1, 1, 1, 124, 69, 1, 1, 125, 2, - 1, 74, 126, 1, 1, 1, 127, 74, 128, 129, 1, 85, 1, 1, 1, 130, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 115, 131, 55, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 114, 129, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 89, 1, 1, 70, 0, 132, 133, 134, 1, 1, 1, 135, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 103, 1, 136, 1, 137, 138, - 70, 1, 139, 140, 1, 1, 1, 88, 53, 1, 1, 1, 1, 2, 141, 142, - 143, 144, 145, 0, 1, 1, 1, 95, 146, 147, 1, 1, 102, 90, 103, 77, - 0, 0, 0, 0, 69, 1, 104, 55, 1, 148, 80, 95, 149, 1, 150, 0, - 1, 1, 1, 1, 77, 151, 152, 55, 1, 9, 1, 153, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 74, 81, 137, 0, 0, 0, 0, - 154, 155, 107, 1, 2, 156, 0, 157, 158, 159, 0, 0, 1, 160, 136, 1, - 161, 162, 163, 1, 1, 0, 1, 164, 1, 165, 166, 167, 168, 169, 0, 0, - 1, 1, 170, 0, 1, 112, 1, 171, 1, 172, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 1, 173, 0, 0, 1, 9, 70, 0, 0, 103, 118, 74, - 1, 1, 174, 175, 1, 1, 176, 177, 1, 19, 9, 74, 1, 1, 1, 178, - 179, 2, 0, 0, 180, 151, 1, 181, 21, 182, 183, 184, 0, 0, 0, 0, - 1, 1, 185, 186, 1, 1, 172, 0, 0, 0, 0, 0, 1, 166, 77, 0, - 1, 1, 187, 188, 1, 72, 189, 0, 15, 85, 0, 0, 0, 0, 0, 0, - 1, 55, 0, 0, 0, 1, 1, 190, 191, 192, 193, 0, 0, 100, 3, 194, - 1, 1, 9, 1, 1, 195, 1, 72, 0, 0, 0, 0, 0, 0, 0, 0, - 196, 197, 198, 116, 136, 199, 0, 0, 200, 201, 172, 202, 203, 189, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 204, 1, 205, + 1, 1, 1, 86, 1, 1, 69, 0, 130, 131, 132, 1, 1, 1, 133, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 134, 1, 135, 136, + 69, 1, 137, 138, 1, 1, 1, 85, 51, 1, 1, 1, 1, 2, 139, 140, + 141, 142, 143, 0, 1, 1, 1, 93, 144, 145, 1, 1, 100, 146, 136, 76, + 0, 0, 0, 0, 68, 1, 102, 53, 1, 147, 17, 93, 148, 1, 149, 0, + 1, 1, 1, 1, 76, 150, 151, 53, 1, 9, 1, 152, 153, 154, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 73, 78, 155, 156, 157, 0, 0, + 158, 159, 106, 1, 2, 160, 0, 161, 162, 163, 0, 0, 1, 164, 134, 1, + 165, 166, 167, 1, 1, 0, 1, 168, 1, 169, 170, 171, 172, 173, 0, 0, + 1, 1, 174, 0, 1, 175, 1, 176, 1, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 1, 178, 0, 0, 1, 9, 69, 136, 179, 136, 116, 73, + 1, 1, 180, 72, 1, 1, 181, 182, 1, 95, 9, 73, 1, 1, 1, 183, + 184, 2, 0, 0, 185, 150, 1, 186, 19, 187, 188, 189, 0, 0, 0, 0, + 1, 1, 190, 191, 1, 1, 177, 0, 0, 0, 0, 0, 1, 170, 76, 0, + 1, 1, 192, 193, 1, 69, 179, 0, 14, 82, 103, 0, 0, 0, 0, 0, + 1, 53, 0, 0, 0, 1, 1, 194, 195, 196, 197, 0, 0, 98, 3, 198, + 1, 1, 9, 1, 1, 199, 1, 71, 0, 0, 0, 0, 0, 0, 0, 0, + 200, 201, 202, 88, 134, 203, 0, 0, 204, 205, 177, 206, 207, 179, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 208, 1, 209, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 70, 0, 0, 0, - 1, 1, 1, 206, 1, 1, 1, 1, 1, 1, 207, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69, 0, 0, 0, + 1, 1, 1, 210, 1, 1, 1, 1, 1, 1, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 1, 1, 175, + 1, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 72, 2, 209, 0, 0, 103, 210, 1, 1, 211, 212, 213, 0, 0, 0, + 1, 71, 2, 213, 1, 2, 150, 214, 1, 1, 215, 216, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 95, 0, 0, 0, 1, 1, 214, 1, 215, 0, 0, 216, + 0, 0, 1, 1, 93, 0, 0, 0, 1, 1, 218, 1, 219, 0, 0, 220, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 119, - 1, 1, 1, 1, 1, 1, 81, 0, 170, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 117, + 1, 1, 1, 1, 1, 1, 78, 0, 174, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 217, 218, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 55, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 219, 220, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 222, 223, 224, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 225, 226, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 81, 1, 221, 1, 1, 1, 1, 1, 170, - 1, 1, 222, 0, 0, 0, 0, 75, 1, 1, 74, 72, 0, 0, 0, 0, - 1, 1, 19, 1, 11, 223, 224, 1, 225, 226, 227, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 228, 1, 1, 1, 1, 1, 1, 1, 1, 229, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 86, 115, 1, 1, 1, 211, 0, + 1, 1, 1, 1, 1, 1, 1, 78, 1, 227, 1, 1, 1, 1, 1, 104, + 1, 1, 228, 0, 0, 0, 0, 74, 1, 1, 73, 71, 0, 0, 0, 0, + 1, 1, 95, 1, 60, 229, 230, 1, 231, 232, 233, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 234, 1, 1, 1, 1, 1, 1, 1, 1, 235, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 230, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 232, 233, 0, 0, 0, 0, 0, 0, 1, 234, 209, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 159, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 235, 0, 1, 1, 236, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 237, 1, 238, 0, 0, 53, 77, 0, 0, 0, 0, 0, 0, - 224, 239, 240, 241, 242, 243, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 85, 1, 1, 75, 245, 246, 81, 1, 1, 1, 1, 1, 247, 0, 248, - 249, 55, 250, 222, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 236, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 238, 239, 0, 0, 0, 0, 0, 0, 1, 240, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 136, 87, 1, 163, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 1, 1, 1, 1, 1, 1, 243, 0, 1, 1, 244, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 245, 1, 246, 0, 0, 51, 76, 0, 0, 0, 0, 0, 0, + 230, 247, 248, 249, 250, 251, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 82, 1, 1, 74, 253, 254, 78, 1, 1, 1, 1, 1, 255, 0, 256, + 199, 53, 257, 228, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 119, 251, 1, 1, 1, 75, 1, 1, 72, 118, - 85, 1, 172, 1, 9, 252, 0, 0, 1, 1, 1, 253, 1, 1, 143, 1, - 1, 1, 75, 254, 117, 255, 256, 0, 1, 1, 1, 1, 139, 1, 18, 257, + 1, 1, 1, 1, 1, 1, 258, 259, 1, 1, 1, 74, 1, 1, 71, 260, + 82, 1, 177, 1, 9, 261, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 74, 262, 115, 263, 264, 265, 1, 1, 1, 1, 137, 1, 104, 266, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 77, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 238, 1, 1, 1, 1, 1, 1, - 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, 71, 1, 1, 1, 1, 1, 1, + 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 258, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 267, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 90, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 146, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 18, 0, 0, 0, 0, 0, - 259, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 213, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 104, 0, 0, 0, 0, 0, + 268, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 77 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 76 }; static RE_UINT8 re_print_table_3[] = { 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 127, 255, 255, 255, 252, 240, 215, 255, 255, 251, 255, 255, 255, 255, 255, 254, 255, 255, 255, 127, 254, - 255, 231, 254, 255, 255, 0, 255, 255, 255, 135, 31, 0, 255, 255, 255, 223, - 255, 191, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 255, 231, - 255, 63, 255, 127, 255, 255, 255, 79, 255, 7, 0, 0, 255, 255, 223, 255, - 255, 0, 248, 255, 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, - 207, 255, 255, 127, 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, - 192, 255, 127, 0, 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, - 207, 255, 3, 254, 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 255, 0, - 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 255, 7, - 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, 207, 255, 128, 255, - 255, 253, 239, 243, 223, 61, 96, 64, 207, 255, 6, 0, 223, 253, 240, 255, - 207, 255, 255, 255, 238, 255, 127, 252, 255, 255, 251, 47, 127, 132, 95, 255, - 192, 255, 28, 0, 254, 255, 255, 255, 255, 255, 255, 135, 255, 255, 255, 15, - 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, 255, 254, 255, 255, - 255, 31, 254, 255, 255, 255, 255, 254, 255, 223, 255, 7, 191, 32, 255, 255, - 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, - 255, 255, 61, 255, 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, - 255, 255, 255, 1, 255, 223, 31, 0, 255, 255, 127, 0, 255, 255, 15, 0, - 255, 223, 13, 0, 255, 255, 255, 63, 255, 3, 255, 3, 255, 127, 255, 3, - 255, 7, 255, 255, 255, 255, 63, 0, 255, 15, 255, 15, 241, 255, 255, 255, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 199, 255, 255, 255, 207, - 255, 255, 255, 159, 255, 63, 255, 255, 1, 0, 0, 0, 255, 255, 15, 240, - 255, 255, 255, 248, 255, 227, 255, 255, 255, 1, 255, 255, 255, 255, 255, 7, - 255, 255, 255, 251, 63, 63, 255, 170, 223, 255, 207, 239, 255, 255, 220, 127, - 255, 252, 255, 255, 223, 255, 243, 255, 255, 127, 255, 31, 0, 0, 255, 255, - 255, 255, 1, 0, 127, 0, 0, 0, 255, 255, 207, 255, 255, 255, 191, 255, - 255, 127, 255, 255, 255, 255, 15, 254, 255, 128, 1, 128, 127, 127, 127, 127, - 255, 255, 7, 0, 0, 0, 255, 15, 224, 255, 255, 255, 15, 0, 255, 255, - 255, 31, 255, 255, 127, 0, 255, 255, 255, 15, 0, 0, 255, 255, 255, 0, - 252, 7, 0, 0, 0, 0, 224, 255, 255, 31, 255, 3, 63, 192, 255, 3, - 255, 255, 15, 128, 255, 191, 255, 195, 255, 63, 255, 243, 7, 0, 0, 248, - 126, 126, 126, 0, 127, 127, 255, 255, 255, 63, 255, 3, 127, 248, 255, 255, - 127, 0, 248, 224, 255, 255, 127, 95, 219, 255, 255, 255, 3, 0, 248, 255, - 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 63, 255, 255, 247, 255, - 127, 15, 223, 255, 252, 252, 252, 28, 127, 127, 0, 62, 255, 239, 255, 255, - 127, 255, 255, 183, 255, 63, 255, 63, 135, 255, 255, 255, 255, 255, 143, 255, - 15, 224, 255, 255, 255, 255, 255, 191, 15, 255, 63, 0, 255, 3, 255, 255, - 255, 255, 15, 255, 15, 128, 0, 0, 63, 253, 255, 255, 255, 255, 191, 145, + 255, 231, 254, 255, 255, 0, 255, 255, 255, 135, 31, 0, 255, 191, 255, 255, + 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 255, 231, 255, 63, 255, 127, + 255, 255, 255, 79, 255, 7, 255, 255, 255, 127, 3, 255, 239, 159, 249, 255, + 255, 253, 197, 243, 159, 121, 128, 176, 207, 255, 255, 127, 238, 135, 249, 255, + 255, 253, 109, 211, 135, 57, 2, 94, 192, 255, 127, 0, 238, 191, 251, 255, + 255, 253, 237, 243, 191, 59, 1, 0, 207, 255, 3, 254, 238, 159, 249, 255, + 159, 57, 224, 176, 207, 255, 255, 0, 236, 199, 61, 214, 24, 199, 255, 195, + 199, 61, 129, 0, 192, 255, 255, 7, 255, 223, 253, 255, 255, 253, 255, 243, + 223, 61, 96, 39, 207, 255, 128, 255, 255, 253, 239, 243, 223, 61, 96, 96, + 207, 255, 6, 0, 223, 253, 240, 255, 207, 255, 255, 255, 238, 255, 127, 252, + 255, 255, 251, 47, 127, 132, 95, 255, 192, 255, 28, 0, 254, 255, 255, 255, + 255, 255, 255, 135, 255, 255, 255, 15, 214, 247, 255, 255, 175, 255, 255, 63, + 95, 63, 255, 243, 255, 254, 255, 255, 255, 31, 254, 255, 255, 255, 255, 254, + 255, 255, 255, 223, 255, 223, 255, 7, 191, 32, 255, 255, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, 255, 255, 255, 1, + 255, 255, 63, 128, 255, 255, 127, 0, 255, 255, 15, 0, 255, 223, 13, 0, + 255, 255, 255, 63, 255, 3, 255, 3, 255, 255, 63, 0, 255, 15, 255, 15, + 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 199, + 255, 255, 255, 207, 255, 255, 255, 159, 255, 63, 255, 255, 255, 127, 0, 0, + 255, 31, 255, 255, 255, 255, 15, 240, 255, 255, 255, 248, 255, 227, 255, 255, + 255, 1, 255, 255, 255, 255, 255, 7, 63, 63, 255, 170, 255, 255, 223, 255, + 223, 255, 207, 239, 255, 255, 220, 127, 255, 252, 255, 255, 223, 255, 243, 255, + 255, 127, 255, 31, 1, 0, 255, 255, 255, 255, 1, 0, 127, 0, 0, 0, + 255, 7, 0, 0, 255, 255, 207, 255, 255, 255, 191, 255, 255, 255, 15, 254, + 255, 128, 1, 128, 127, 127, 127, 127, 255, 255, 255, 251, 0, 0, 255, 15, + 224, 255, 255, 255, 255, 127, 255, 255, 15, 0, 255, 255, 127, 0, 255, 255, + 255, 15, 0, 0, 255, 255, 255, 0, 255, 7, 235, 3, 0, 0, 252, 255, + 255, 31, 255, 3, 63, 192, 255, 3, 255, 255, 15, 128, 255, 191, 255, 195, + 255, 63, 255, 243, 7, 0, 0, 248, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 63, 255, 3, 127, 248, 255, 255, 127, 0, 248, 224, 255, 255, 127, 95, + 219, 255, 255, 255, 7, 0, 248, 255, 255, 255, 252, 255, 255, 128, 0, 0, + 0, 0, 255, 255, 255, 255, 247, 255, 127, 15, 223, 255, 252, 252, 252, 28, + 127, 127, 0, 62, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, + 135, 255, 255, 255, 255, 255, 143, 255, 1, 0, 0, 0, 15, 224, 255, 255, + 255, 255, 255, 191, 15, 255, 63, 0, 255, 3, 255, 255, 255, 255, 15, 255, + 15, 128, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, 255, 0, 0, 0, + 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 128, 255, 0, 0, 255, 255, 55, 248, 255, 255, 255, 143, 255, 255, 255, 131, 255, 255, 255, 240, 111, 240, 239, 254, 255, 255, 63, 135, 255, 1, 255, 1, 127, 248, 127, 0, 255, 255, 63, 254, 255, 255, 63, 255, 255, 255, 7, 255, - 255, 255, 3, 30, 0, 254, 0, 0, 255, 1, 0, 0, 255, 255, 7, 252, - 255, 0, 255, 3, 255, 59, 3, 0, 255, 63, 252, 255, 255, 255, 0, 128, - 3, 32, 255, 255, 255, 1, 255, 3, 254, 255, 31, 0, 255, 255, 251, 255, - 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, - 207, 31, 31, 0, 255, 255, 255, 239, 3, 0, 0, 0, 31, 0, 255, 3, - 255, 31, 0, 0, 255, 3, 0, 0, 255, 255, 7, 128, 127, 242, 111, 255, - 255, 255, 191, 249, 127, 0, 255, 3, 31, 0, 0, 0, 7, 0, 0, 0, + 255, 255, 3, 30, 0, 254, 0, 0, 255, 1, 0, 0, 255, 255, 7, 0, + 255, 255, 7, 252, 255, 0, 255, 3, 255, 59, 3, 0, 255, 3, 0, 0, + 255, 63, 252, 255, 7, 32, 255, 255, 255, 1, 255, 3, 254, 255, 31, 0, + 255, 255, 251, 255, 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, + 159, 57, 129, 224, 207, 31, 31, 0, 255, 255, 255, 239, 3, 0, 0, 0, + 31, 0, 255, 3, 255, 31, 0, 0, 255, 255, 7, 128, 127, 242, 111, 255, + 255, 255, 191, 249, 127, 0, 255, 3, 31, 0, 0, 0, 7, 0, 255, 255, 255, 253, 255, 255, 255, 255, 127, 255, 63, 0, 255, 255, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, 255, 255, 3, 128, 255, 127, 31, 0, 15, 0, 0, 0, - 255, 127, 255, 1, 255, 195, 0, 0, 255, 63, 63, 0, 63, 0, 255, 251, + 255, 127, 255, 1, 255, 195, 255, 255, 255, 63, 63, 0, 63, 0, 255, 251, 251, 255, 255, 224, 255, 255, 0, 0, 255, 135, 255, 255, 255, 128, 255, 255, - 31, 0, 3, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, - 255, 1, 255, 243, 127, 254, 255, 255, 63, 0, 0, 0, 100, 222, 255, 235, - 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, - 63, 255, 255, 255, 255, 207, 255, 255, 255, 15, 0, 248, 254, 255, 0, 0, - 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, 159, 255, 127, 0, + 31, 0, 3, 0, 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, + 240, 0, 255, 255, 255, 7, 255, 31, 255, 1, 255, 243, 127, 254, 255, 255, + 63, 0, 0, 0, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, + 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 255, 207, 255, 255, + 255, 15, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, + 255, 31, 255, 63, 255, 195, 0, 0, 127, 111, 255, 127, 159, 255, 127, 0, 255, 15, 255, 195, 0, 0, 254, 255, 255, 255, 31, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 0, 0, 3, 0, 255, 127, 254, 255, 254, 255, 254, 255, 255, 63, 0, 0, - 192, 255, 255, 255, 7, 0, 255, 255, 255, 1, 3, 0, 255, 31, 255, 31, - 255, 63, 3, 0, 255, 255, 255, 253, 255, 63, 31, 7, 255, 1, 127, 0, - 7, 0, 127, 0, 0, 0, 255, 3, 3, 0, 255, 255, 2, 0, 0, 0 + 192, 255, 255, 255, 255, 1, 3, 0, 255, 255, 255, 224, 255, 31, 255, 31, + 255, 15, 1, 0, 255, 63, 3, 0, 255, 63, 31, 31, 255, 31, 255, 7, + 63, 0, 255, 3, 255, 0, 127, 0, 0, 0, 255, 3, 3, 0, 255, 255, + 2, 0, 0, 0 }; RE_UINT32 re_get_print(RE_UINT32 codepoint) { @@ -20034,72 +20404,72 @@ RE_UINT32 re_get_regional_indicator(RE_UINT32 codepoint) { static RE_UINT8 re_script_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 21, 21, 34, 35, 21, 21, - 21, 36, 21, 21, 21, 21, 21, 21, 21, 21, 37, 38, 39, 39, 39, 39, - 39, 40, 41, 42, 21, 21, 21, 21, 21, 21, 21, 21, 43, 21, 21, 44, - 21, 21, 21, 21, 45, 46, 47, 21, 48, 21, 49, 50, 51, 52, 53, 21, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 54, 13, 13, 13, 55, 56, 13, - 13, 13, 13, 57, 13, 13, 13, 13, 13, 13, 58, 21, 21, 21, 59, 21, - 13, 13, 13, 13, 60, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 61, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 + 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 19, 20, 20, 20, 20, 20, 20, 20, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 20, 33, 34, 35, 20, 20, + 20, 36, 20, 20, 20, 20, 20, 20, 20, 20, 37, 38, 39, 39, 39, 39, + 39, 40, 41, 42, 20, 20, 20, 20, 20, 20, 20, 43, 44, 20, 20, 45, + 20, 20, 20, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 20, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 58, 13, 13, 13, 59, 60, 13, + 13, 13, 13, 61, 13, 13, 13, 13, 13, 13, 62, 20, 20, 20, 63, 20, + 13, 13, 13, 13, 64, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 65, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; static RE_UINT16 re_script_table_2[] = { @@ -20107,126 +20477,134 @@ static RE_UINT16 re_script_table_2[] = { 4, 4, 4, 4, 4, 5, 0, 6, 7, 7, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 14, 13, 13, 13, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 23, 23, 26, 23, 27, 28, 29, 23, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 38, 84, 85, 86, 38, 87, 87, 88, 89, 90, 91, 92, 38, - 93, 93, 93, 93, 93, 94, 95, 96, 97, 97, 97, 97, 97, 97, 97, 97, - 98, 98, 99, 98, 100, 101, 102, 98, 103, 98, 104, 105, 106, 107, 107, 108, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 110, 111, 111, 112, 113, 114, 115, 116, 117, 117, 118, 119, - 120, 121, 121, 122, 121, 123, 109, 124, 125, 126, 127, 128, 129, 130, 131, 117, - 132, 133, 134, 135, 136, 137, 138, 38, 139, 139, 140, 141, 142, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 4, 153, 154, 155, 4, 156, 7, 157, - 4, 4, 4, 4, 4, 4, 4, 4, 158, 11, 159, 160, 11, 161, 162, 163, - 164, 0, 0, 165, 166, 0, 167, 168, 0, 169, 170, 4, 171, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 172, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 174, 174, 174, 174, 174, 174, 174, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 0, 0, 0, - 177, 178, 179, 4, 180, 180, 180, 181, 94, 182, 183, 184, 185, 186, 186, 13, - 0, 0, 187, 38, 188, 189, 189, 190, 189, 189, 189, 189, 189, 189, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 97, 97, 203, 204, 0, 205, - 206, 0, 0, 207, 0, 0, 208, 209, 199, 199, 210, 0, 0, 0, 0, 0, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 0, 0, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 211, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 213, 212, 214, 215, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 217, 13, 13, 13, 218, 218, 219, 0, 220, 4, 4, 221, 4, 222, 223, - 224, 225, 226, 227, 228, 228, 229, 42, 230, 231, 232, 233, 234, 234, 235, 236, - 237, 238, 239, 93, 240, 240, 241, 242, 243, 244, 245, 246, 107, 107, 247, 248, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 249, 250, 251, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 252, 189, 189, 253, 38, 254, 255, 256, 23, 23, 23, 257, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 258, 259, 23, 260, 23, 261, 262, - 263, 264, 265, 266, 23, 23, 23, 267, 268, 1, 1, 269, 270, 206, 271, 272, - 273, 274, 275, 38, 276, 276, 276, 277, 278, 279, 11, 11, 280, 281, 282, 283, - 38, 38, 38, 38, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 38, - 295, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 38, 38, 38, 38, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 307, 308, 309, 38, 38, 38, 38, - 310, 311, 312, 313, 314, 315, 38, 316, 317, 318, 38, 38, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 38, 328, 329, 330, 331, 332, 333, 334, 335, 38, 38, - 336, 336, 337, 38, 338, 339, 338, 340, 341, 342, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 343, 344, 345, 38, 38, 346, 347, 348, 38, 38, 349, 350, 351, + 34, 35, 36, 37, 38, 23, 23, 39, 40, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 82, 86, 86, 87, 88, 89, 90, 91, 82, + 92, 92, 92, 92, 92, 93, 94, 95, 96, 96, 96, 96, 96, 96, 96, 96, + 97, 97, 98, 97, 99, 100, 101, 97, 102, 97, 103, 104, 105, 106, 106, 107, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 109, 110, 110, 111, 112, 113, 114, 115, 116, 116, 117, 118, + 119, 120, 120, 121, 120, 122, 108, 123, 124, 125, 126, 127, 128, 129, 130, 116, + 131, 132, 133, 134, 135, 136, 137, 82, 138, 138, 139, 140, 141, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 4, 152, 153, 154, 4, 155, 7, 7, + 4, 4, 4, 4, 4, 4, 4, 4, 156, 11, 157, 158, 11, 159, 160, 161, + 162, 0, 0, 163, 164, 0, 165, 166, 0, 167, 168, 4, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 172, 172, 172, 172, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 174, 0, 0, 0, + 175, 175, 175, 4, 176, 176, 176, 177, 93, 178, 179, 180, 181, 182, 182, 13, + 0, 0, 183, 82, 184, 185, 185, 186, 185, 185, 185, 185, 185, 185, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 96, 96, 199, 200, 0, 201, + 202, 0, 0, 203, 0, 0, 204, 205, 195, 195, 206, 0, 0, 0, 0, 0, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 0, 0, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 208, 207, 209, 210, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 212, 13, 13, 13, 213, 213, 214, 0, 215, 4, 4, 216, 4, 217, 218, + 219, 220, 221, 222, 223, 223, 224, 40, 225, 226, 227, 228, 229, 229, 230, 231, + 232, 233, 234, 92, 235, 235, 236, 237, 238, 239, 240, 241, 106, 106, 242, 243, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 244, 245, 246, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 247, 185, 185, 248, 82, 249, 250, 251, 23, 23, 23, 252, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 253, 23, 23, 254, 23, 255, 256, + 257, 258, 259, 260, 23, 23, 23, 261, 262, 1, 1, 263, 264, 202, 265, 266, + 267, 268, 269, 82, 270, 270, 270, 271, 272, 273, 11, 11, 274, 275, 276, 277, + 82, 82, 82, 82, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 82, + 289, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 82, 82, + 302, 302, 302, 302, 302, 302, 302, 302, 302, 303, 304, 305, 306, 307, 82, 82, + 308, 309, 310, 311, 312, 313, 82, 314, 315, 316, 82, 82, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 82, 326, 327, 328, 329, 330, 331, 332, 333, 82, 82, + 334, 334, 335, 82, 336, 337, 336, 338, 339, 340, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 341, 342, 343, 82, 82, 344, 345, 346, 347, 348, 349, 350, 351, 352, 352, 353, 354, 355, 355, 356, 357, 358, 359, 360, 361, 362, 362, 362, 363, - 364, 365, 38, 38, 366, 367, 368, 369, 370, 371, 372, 373, 38, 38, 38, 38, - 374, 374, 375, 376, 377, 377, 378, 38, 38, 38, 38, 38, 379, 380, 381, 38, - 382, 382, 383, 384, 385, 386, 387, 38, 388, 389, 38, 38, 38, 38, 38, 38, - 390, 391, 38, 38, 38, 392, 392, 393, 394, 395, 396, 38, 38, 397, 398, 399, - 400, 400, 401, 402, 402, 403, 404, 405, 38, 38, 38, 38, 38, 38, 38, 38, - 406, 407, 408, 409, 410, 411, 38, 38, 412, 413, 414, 415, 416, 417, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 418, 38, 38, 38, 38, 38, 419, 420, 421, - 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, - 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 423, 38, 38, 38, - 422, 422, 422, 424, 422, 422, 422, 422, 422, 422, 425, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, - 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, - 426, 427, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 429, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 430, 431, 432, 38, 38, 433, 434, 435, 435, 436, 437, 438, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 439, 439, 440, 38, 38, 38, 441, 441, 442, 441, 443, 38, 38, 444, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 446, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 447, 447, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 447, 447, 447, 448, 38, 449, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 450, 196, 196, 196, 196, 196, 196, 196, 451, 38, 452, 453, 454, 454, 454, 454, - 454, 454, 454, 454, 454, 454, 454, 455, 38, 38, 38, 38, 38, 38, 38, 38, - 456, 456, 456, 457, 458, 459, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 0, 0, 0, 0, 0, 0, 0, 460, 0, 461, 0, 462, 463, 464, 0, 465, - 11, 11, 466, 38, 38, 38, 38, 467, 0, 0, 468, 469, 38, 38, 38, 38, - 0, 0, 470, 0, 471, 472, 473, 0, 474, 475, 476, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, 478, 0, - 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, - 479, 479, 479, 479, 480, 481, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 482, 483, 38, 38, 38, 38, 38, 38, 484, 485, 486, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 487, 488, 38, 38, 38, 38, 38, 38, 38, 38, - 489, 489, 489, 489, 489, 489, 490, 38, 491, 491, 492, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 493, 0, 494, 38, 38, 268, 495, 38, 38, 38, 38, 38, 38, - 496, 497, 498, 499, 500, 501, 38, 502, 38, 38, 38, 38, 38, 38, 38, 38, - 0, 503, 0, 0, 467, 504, 505, 460, 0, 0, 0, 0, 0, 506, 38, 507, - 508, 509, 510, 511, 38, 38, 38, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 512, 513, 0, 0, 0, 467, 0, 0, 469, 514, - 503, 0, 515, 0, 516, 517, 38, 38, 0, 0, 0, 518, 0, 0, 519, 0, - 0, 0, 467, 520, 521, 522, 523, 38, 0, 0, 0, 0, 265, 0, 173, 524, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 525, 38, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 526, 189, 189, 189, 189, 189, 189, - 525, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 527, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 528, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 525, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 529, 38, 38, 38, 38, 38, - 530, 0, 0, 0, 38, 38, 38, 38, 7, 7, 7, 7, 7, 7, 7, 531, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38 + 364, 365, 82, 82, 366, 367, 368, 369, 370, 371, 372, 373, 82, 82, 82, 82, + 374, 374, 375, 376, 377, 377, 378, 82, 82, 82, 82, 82, 379, 380, 381, 82, + 382, 382, 383, 384, 385, 386, 387, 82, 388, 389, 390, 82, 82, 82, 82, 82, + 391, 392, 82, 82, 82, 393, 393, 394, 395, 396, 397, 82, 82, 398, 399, 400, + 401, 401, 402, 403, 403, 404, 405, 406, 82, 82, 82, 82, 82, 82, 82, 82, + 407, 408, 409, 410, 411, 412, 82, 82, 413, 414, 415, 416, 417, 418, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 419, 82, 82, 82, 82, 82, 420, 421, 422, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 424, 82, 82, 82, + 423, 423, 423, 425, 423, 423, 423, 423, 423, 423, 426, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 427, 428, 428, 429, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 431, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, + 432, 432, 433, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 434, 435, 436, 437, 438, 439, 440, 441, 441, 442, 443, 444, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 445, 445, 446, 82, 82, 82, 447, 447, 448, 447, 449, 82, 82, 450, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 452, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 453, 453, 453, 453, 453, 453, 453, 453, + 453, 453, 453, 453, 453, 453, 454, 82, 455, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 456, + 457, 192, 192, 192, 192, 192, 192, 192, 192, 458, 459, 460, 461, 461, 461, 461, + 461, 461, 461, 461, 461, 461, 461, 462, 82, 82, 82, 82, 82, 82, 82, 82, + 463, 463, 463, 464, 465, 466, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 7, 467, 468, 0, 0, 0, 466, 82, + 0, 0, 0, 0, 0, 0, 0, 469, 0, 470, 0, 471, 472, 473, 0, 171, + 11, 11, 474, 82, 82, 82, 82, 475, 0, 0, 476, 477, 82, 82, 82, 82, + 0, 0, 478, 0, 479, 480, 481, 0, 482, 483, 484, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 485, 0, 0, 0, 0, 0, 0, 0, 0, 486, 0, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, + 487, 487, 487, 487, 488, 489, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 490, 82, 82, 82, 82, 82, 82, 82, + 491, 492, 82, 82, 82, 82, 82, 82, 493, 494, 495, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 496, 497, 498, 499, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 500, + 501, 501, 501, 501, 501, 501, 502, 82, 503, 503, 504, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 505, 0, 506, 82, 82, 262, 183, 82, 82, 82, 82, 82, 82, + 507, 508, 509, 510, 511, 512, 82, 513, 82, 82, 82, 82, 82, 82, 82, 82, + 0, 514, 0, 0, 475, 515, 516, 469, 0, 0, 0, 0, 0, 517, 82, 518, + 519, 520, 521, 522, 82, 82, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 523, 524, 0, 0, 0, 475, 0, 0, 477, 525, + 514, 0, 526, 0, 527, 528, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 475, 529, 530, 531, 532, 533, 0, 0, 0, 0, 259, 0, 171, 534, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 82, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 535, 185, 185, 185, 185, 185, 185, + 536, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 537, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 538, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 536, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 539, 82, 82, 82, 82, 82, + 540, 0, 0, 0, 82, 82, 82, 82, 7, 7, 7, 7, 7, 7, 7, 541, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82 }; static RE_UINT8 re_script_table_3[] = { @@ -20275,7 +20653,7 @@ static RE_UINT8 re_script_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 0, 10, 1, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 4, 4, 4, 4, 4, @@ -20305,13 +20683,9 @@ static RE_UINT8 re_script_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 15, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, + 10, 10, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, @@ -20363,9 +20737,9 @@ static RE_UINT8 re_script_table_3[] = { 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 0, 22, 22, 22, 22, 0, 0, - 0, 0, 0, 0, 0, 22, 22, 0, 22, 22, 22, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 22, 0, 22, 22, 22, 0, 0, 22, 0, 0, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, @@ -20373,7 +20747,7 @@ static RE_UINT8 re_script_table_3[] = { 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 0, 23, 23, 23, 23, 0, 0, - 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 23, 23, 0, 23, 23, 23, 23, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 24, 24, @@ -20398,6 +20772,8 @@ static RE_UINT8 re_script_table_3[] = { 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 1, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 0, 27, 0, 27, 27, 27, 27, 27, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, @@ -20456,8 +20832,8 @@ static RE_UINT8 re_script_table_3[] = { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 1, 1, 1, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, 37, 37, - 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, @@ -20470,7 +20846,7 @@ static RE_UINT8 re_script_table_3[] = { 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, - 42, 42, 1, 1, 42, 1, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, + 42, 42, 1, 1, 42, 1, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -20506,14 +20882,14 @@ static RE_UINT8 re_script_table_3[] = { 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0, 0, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, @@ -20544,8 +20920,6 @@ static RE_UINT8 re_script_table_3[] = { 2, 2, 2, 2, 2, 2, 2, 2, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, @@ -20564,7 +20938,7 @@ static RE_UINT8 re_script_table_3[] = { 1, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -20586,10 +20960,6 @@ static RE_UINT8 re_script_table_3[] = { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, @@ -20605,7 +20975,7 @@ static RE_UINT8 re_script_table_3[] = { 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, @@ -20652,8 +21022,6 @@ static RE_UINT8 re_script_table_3[] = { 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 1, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 1, 1, 1, 1, 1, 1, 1, 1, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 0, 0, 0, @@ -20674,10 +21042,10 @@ static RE_UINT8 re_script_table_3[] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 0, 0, 0, @@ -20744,18 +21112,16 @@ static RE_UINT8 re_script_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 0, 9, 0, 9, 9, 0, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 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, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, @@ -20841,315 +21207,345 @@ static RE_UINT8 re_script_table_3[] = { 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 87, 87, 87, 87, 87, 0, 0, 87, 0, 87, 87, 87, 87, 87, 87, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 86, 86, + 86, 86, 86, 0, 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 0, 87, 87, 0, 0, 0, 87, 0, 0, 87, + 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 88, 88, 88, 88, 88, 88, 0, 0, 88, 0, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 0, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 0, 88, 88, 0, 0, 0, 88, 0, 0, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 0, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 0, - 0, 0, 0, 0, 0, 0, 0, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 0, 91, 91, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, + 0, 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 92, + 92, 92, 92, 0, 92, 92, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 0, 0, 93, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 0, 0, 0, 0, 0, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 0, 0, 0, 0, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 0, 0, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 96, 96, 96, 96, 0, 96, 96, 0, 0, 0, 0, 0, 96, 96, 96, 96, - 96, 96, 96, 96, 0, 96, 96, 96, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, 0, 0, 96, 96, 96, 0, 0, 0, 0, 96, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 0, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 97, 97, 97, 97, 0, 97, 97, 0, 0, 0, 0, 0, 97, 97, 97, 97, + 97, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 0, 0, 0, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 0, 0, 0, 0, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 0, 0, 0, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 0, 0, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 0, 0, 0, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 0, 0, 0, 0, 0, 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 0, 0, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 0, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, 103, 103, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 103, 103, 103, 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 0, 0, + 104, 104, 0, 0, 0, 0, 0, 0, 0, 104, 104, 104, 104, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 106, 106, 106, 106, 106, 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 107, 107, 107, 0, 0, - 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 0, 108, 108, 108, 0, 0, + 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, 0, 0, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, - 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, + 113, 113, 113, 113, 113, 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, 0, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, - 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, + 0, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 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, 115, 0, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 115, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 0, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 0, - 119, 119, 119, 119, 119, 119, 119, 0, 119, 0, 119, 119, 119, 119, 0, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 0, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 0, 0, 0, 0, 0, 0, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 118, 118, 118, 118, 118, 118, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, - 121, 121, 121, 121, 0, 121, 121, 121, 121, 121, 121, 121, 121, 0, 0, 121, - 121, 0, 0, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 121, 121, 121, 121, 121, 121, - 121, 0, 121, 121, 0, 121, 121, 121, 121, 121, 0, 4, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 0, 0, 121, 121, 0, 0, 121, 121, 121, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 121, 121, 121, - 121, 121, 121, 121, 0, 0, 121, 121, 121, 121, 121, 121, 121, 0, 0, 0, - 121, 121, 121, 121, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, + 121, 121, 121, 121, 121, 121, 121, 0, 121, 0, 121, 121, 121, 121, 0, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 122, 122, 122, - 122, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 0, 0, 0, 0, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 0, 0, 0, 0, 0, + 123, 123, 123, 123, 0, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 123, + 123, 0, 0, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 0, 123, 123, 123, 123, 123, 123, + 123, 0, 123, 123, 0, 123, 123, 123, 123, 123, 0, 4, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 0, 0, 123, 123, 0, 0, 123, 123, 123, 0, 0, + 123, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 123, 123, 123, + 123, 123, 123, 123, 0, 0, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, + 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 0, 0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 0, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 124, 124, 124, + 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 125, 125, 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0, 0, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 126, 126, 126, 126, 126, 126, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 130, 130, 130, 130, 130, 130, 130, 0, 0, 130, 0, 0, 130, 130, 130, 130, - 130, 130, 130, 130, 0, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130, 130, + 129, 129, 129, 129, 129, 129, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 0, 130, 130, 0, 0, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, - 131, 131, 131, 131, 131, 131, 131, 131, 0, 0, 131, 131, 131, 131, 131, 131, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 0, 0, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 132, 132, 132, 132, 132, 132, 132, 0, 0, 132, 0, 0, 132, 132, 132, 132, + 132, 132, 132, 132, 0, 132, 132, 0, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, - 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 132, 132, 132, 132, 132, 132, 0, 132, 132, 0, 0, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, + 133, 133, 133, 133, 133, 133, 133, 133, 0, 0, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 133, 133, 133, 133, 133, 133, 133, 0, 0, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 0, 135, 135, 135, 135, 135, 135, + 134, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 0, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 0, 0, 0, + 135, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 0, 0, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 0, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 0, 137, 137, 137, 137, 137, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 0, 0, 0, 0, 0, 0, 0, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 137, 0, 137, 137, 0, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, - 138, 138, 138, 138, 138, 138, 0, 138, 138, 0, 138, 138, 138, 138, 138, 138, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 0, - 138, 138, 0, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, 0, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 0, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 0, 139, 139, 0, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, + 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 139, 0, 139, 139, 0, 139, + 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 0, 140, 140, 0, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, + 140, 140, 0, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, + 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, - 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, 0, 0, 0, 0, 0, 0, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 0, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 0, 0, 0, 0, 143, 143, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 0, + 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, - 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 0, 145, 145, 145, 145, 145, - 145, 145, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, 0, 0, 0, 0, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, 0, 0, 0, 146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 0, 0, 0, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 148, 149, 1, 1, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 0, 0, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, + 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 0, 149, 149, 149, 149, 149, + 149, 149, 0, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, 0, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 0, 0, 0, 0, 0, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, 0, 0, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 152, 153, 56, 56, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, 0, 0, 0, 0, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 58, 58, 58, 58, 0, 58, 58, 58, 58, 58, 58, 58, 0, 58, 58, 0, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 0, + 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 151, 151, 151, 151, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 155, 155, 155, 155, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, @@ -21160,8 +21556,6 @@ static RE_UINT8 re_script_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -21188,40 +21582,46 @@ static RE_UINT8 re_script_table_3[] = { 1, 1, 1, 1, 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, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 152, 152, 152, 152, - 0, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 156, 156, 156, 156, + 0, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 54, 54, 54, 54, 54, 54, 54, 0, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 54, 54, 54, 54, 54, 54, 54, 0, 54, 54, 0, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, 0, 153, 153, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, 0, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, 0, 0, 157, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 0, 0, 0, 0, 0, 154, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 0, 0, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, 156, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 0, 0, 0, 0, 0, 159, + 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 0, 32, 32, 0, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 0, 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 0, 0, 0, 0, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 0, 0, 0, 0, 161, 161, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, + 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 0, 10, 0, 0, 10, 0, 10, 10, 10, 10, 10, 10, 10, @@ -21255,35 +21655,33 @@ static RE_UINT8 re_script_table_3[] = { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 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, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 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, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 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, 0, - 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -21317,198 +21715,206 @@ RE_UINT32 re_get_script(RE_UINT32 codepoint) { static RE_UINT8 script_extensions_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 21, 21, 34, 35, 21, 21, - 21, 36, 21, 21, 21, 21, 21, 21, 21, 21, 37, 38, 39, 39, 39, 39, - 39, 40, 41, 42, 21, 21, 21, 21, 21, 21, 21, 21, 43, 21, 21, 44, - 21, 21, 21, 21, 45, 46, 47, 21, 48, 21, 49, 50, 51, 52, 53, 21, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 54, 13, 13, 13, 55, 56, 13, - 13, 13, 13, 57, 13, 13, 13, 13, 13, 13, 58, 21, 21, 21, 59, 21, - 13, 13, 13, 13, 60, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 61, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 + 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 19, 20, 20, 20, 20, 20, 20, 20, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 20, 33, 34, 35, 20, 20, + 20, 36, 20, 20, 20, 20, 20, 20, 20, 20, 37, 38, 39, 39, 39, 39, + 39, 40, 41, 42, 20, 20, 20, 20, 20, 20, 20, 43, 44, 20, 20, 45, + 20, 20, 20, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 20, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 58, 13, 13, 13, 59, 60, 13, + 13, 13, 13, 61, 13, 13, 13, 13, 13, 13, 62, 20, 20, 20, 63, 20, + 13, 13, 13, 13, 64, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 65, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; static RE_UINT16 script_extensions_table_2[] = { 0, 0, 1, 1, 0, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 0, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14, 14, 14, 14, 15, 14, 14, 14, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 24, 24, 27, 24, 28, 29, 30, 24, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 39, 85, 86, 87, 39, 88, 88, 89, 90, 91, 92, 93, 39, - 94, 94, 95, 94, 94, 96, 97, 98, 99, 99, 99, 99, 99, 99, 99, 99, - 100, 100, 101, 100, 102, 103, 104, 100, 105, 100, 106, 107, 108, 109, 109, 110, - 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111, 111, 111, 111, 112, 113, 113, 114, 115, 116, 117, 118, 119, 119, 120, 121, - 122, 123, 123, 124, 123, 125, 111, 126, 127, 128, 129, 130, 131, 132, 133, 119, - 134, 135, 136, 137, 138, 139, 140, 39, 141, 141, 142, 143, 144, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 4, 155, 156, 157, 4, 158, 159, 160, - 4, 4, 4, 4, 4, 4, 4, 4, 161, 12, 162, 163, 12, 164, 165, 166, - 167, 168, 0, 169, 170, 0, 171, 172, 0, 173, 174, 4, 175, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 176, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 178, 178, 178, 178, 178, 178, 178, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 180, 0, 0, 0, - 181, 182, 183, 4, 184, 184, 184, 185, 96, 186, 187, 188, 189, 190, 190, 14, - 0, 0, 191, 39, 192, 193, 193, 194, 193, 193, 193, 193, 193, 193, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 99, 99, 207, 208, 209, 210, - 211, 209, 212, 213, 209, 214, 215, 216, 203, 203, 217, 218, 0, 0, 0, 219, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 0, 0, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 220, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 222, 221, 223, 224, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 226, 14, 227, 14, 228, 228, 229, 230, 231, 4, 4, 232, 4, 233, 234, - 235, 236, 237, 238, 239, 239, 240, 241, 242, 243, 244, 245, 246, 246, 247, 248, - 249, 250, 251, 94, 252, 252, 253, 254, 255, 256, 257, 258, 109, 109, 259, 260, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 261, 262, 263, - 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, 39, 39, 39, 39, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 264, 193, 193, 265, 39, 266, 267, 268, 24, 24, 24, 269, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 270, 271, 24, 272, 24, 273, 274, - 275, 276, 277, 278, 24, 24, 24, 279, 280, 1, 1, 281, 282, 211, 283, 284, - 285, 286, 287, 39, 288, 288, 288, 289, 290, 291, 12, 12, 292, 293, 294, 295, - 39, 39, 39, 39, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 39, - 307, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 39, 39, 39, 39, - 318, 318, 318, 318, 318, 318, 318, 318, 318, 319, 320, 321, 39, 39, 39, 39, - 322, 323, 324, 325, 326, 327, 39, 328, 329, 330, 39, 39, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 39, 340, 341, 342, 343, 344, 345, 346, 347, 39, 39, - 348, 348, 349, 39, 350, 351, 350, 352, 353, 354, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 355, 356, 357, 39, 39, 358, 359, 360, 39, 39, 361, 362, 363, - 364, 364, 365, 366, 367, 367, 368, 369, 370, 371, 372, 373, 374, 374, 374, 375, - 376, 377, 39, 39, 378, 379, 380, 381, 382, 383, 384, 385, 39, 39, 39, 39, - 386, 386, 387, 388, 389, 389, 390, 39, 39, 39, 39, 39, 391, 392, 393, 39, - 394, 394, 395, 396, 397, 398, 399, 39, 400, 401, 39, 39, 39, 39, 39, 39, - 402, 403, 39, 39, 39, 404, 404, 405, 406, 407, 408, 39, 39, 409, 410, 411, - 412, 412, 413, 414, 414, 415, 416, 417, 39, 39, 39, 39, 39, 39, 39, 39, - 418, 419, 420, 421, 422, 423, 39, 39, 424, 425, 426, 427, 428, 429, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 430, 39, 39, 39, 39, 39, 431, 432, 433, - 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 39, 39, 39, - 434, 434, 434, 436, 434, 434, 434, 434, 434, 434, 437, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, - 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, - 438, 439, 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, - 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, - 440, 440, 441, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 442, 443, 444, 39, 39, 445, 446, 447, 447, 448, 449, 450, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 451, 451, 452, 39, 39, 39, 453, 453, 454, 453, 455, 39, 39, 456, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 458, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 460, 39, 461, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 462, 200, 200, 200, 200, 200, 200, 200, 463, 39, 464, 465, 466, 466, 466, 466, - 466, 466, 466, 466, 466, 466, 466, 467, 39, 39, 39, 39, 39, 39, 39, 39, - 468, 468, 468, 469, 470, 471, 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, - 0, 0, 0, 0, 0, 0, 0, 472, 0, 473, 0, 474, 475, 476, 0, 477, - 12, 12, 478, 39, 39, 39, 39, 479, 0, 0, 480, 481, 39, 39, 39, 39, - 0, 0, 482, 0, 483, 484, 485, 0, 486, 487, 488, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 489, 0, 0, 0, 0, 0, 0, 0, 0, 490, 0, - 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, - 491, 491, 491, 491, 492, 493, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 494, 495, 39, 39, 39, 39, 39, 39, 496, 497, 498, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 499, 500, 39, 39, 39, 39, 39, 39, 39, 39, - 501, 501, 501, 501, 501, 501, 502, 39, 503, 503, 504, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 505, 0, 506, 39, 39, 280, 507, 39, 39, 39, 39, 39, 39, - 508, 509, 510, 511, 512, 513, 39, 514, 39, 39, 39, 39, 39, 39, 39, 39, - 0, 515, 0, 0, 479, 516, 517, 472, 0, 0, 0, 0, 0, 518, 39, 519, - 520, 521, 522, 523, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 525, 0, 0, 0, 479, 0, 0, 526, 527, - 515, 0, 528, 0, 529, 530, 39, 39, 0, 0, 0, 531, 0, 0, 532, 0, - 0, 0, 479, 533, 534, 535, 536, 39, 0, 0, 0, 0, 537, 0, 177, 538, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 539, 39, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 540, 193, 193, 193, 193, 193, 193, - 539, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 541, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 542, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 539, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 543, 39, 39, 39, 39, 39, - 544, 0, 0, 0, 39, 39, 39, 39, 7, 7, 7, 7, 7, 7, 7, 545, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 + 35, 36, 37, 38, 39, 24, 24, 40, 41, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 83, 87, 87, 88, 89, 90, 91, 92, 83, + 93, 93, 94, 93, 93, 95, 96, 97, 98, 98, 98, 98, 98, 98, 98, 98, + 99, 99, 100, 99, 101, 102, 103, 99, 104, 99, 105, 106, 107, 108, 108, 109, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 111, 112, 112, 113, 114, 115, 116, 117, 118, 118, 119, 120, + 121, 122, 122, 123, 122, 124, 110, 125, 126, 127, 128, 129, 130, 131, 132, 118, + 133, 134, 135, 136, 137, 138, 139, 83, 140, 140, 141, 142, 143, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 4, 154, 155, 156, 4, 157, 158, 159, + 4, 4, 4, 4, 4, 4, 4, 4, 160, 12, 161, 162, 12, 163, 164, 165, + 166, 167, 0, 168, 169, 0, 170, 171, 0, 172, 173, 4, 174, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 177, 177, 177, 177, 177, 177, 177, 177, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 179, 0, 0, 0, + 180, 180, 180, 4, 181, 181, 181, 182, 95, 183, 184, 185, 186, 187, 187, 14, + 0, 0, 188, 83, 189, 190, 190, 191, 190, 190, 190, 190, 190, 190, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 98, 98, 204, 205, 206, 207, + 208, 206, 209, 210, 206, 211, 212, 213, 200, 200, 214, 215, 0, 0, 0, 216, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 0, 0, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 218, 217, 219, 220, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 222, 14, 223, 14, 224, 224, 225, 226, 227, 4, 4, 228, 4, 229, 230, + 231, 232, 233, 234, 235, 235, 236, 237, 238, 239, 240, 241, 242, 242, 243, 244, + 245, 246, 247, 93, 248, 248, 249, 250, 251, 252, 253, 254, 108, 108, 255, 256, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 257, 258, 259, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 260, 190, 190, 261, 83, 262, 263, 264, 24, 24, 24, 265, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 266, 24, 24, 267, 24, 268, 269, + 270, 271, 272, 273, 24, 24, 24, 274, 275, 1, 1, 276, 277, 208, 278, 279, + 280, 281, 282, 83, 283, 283, 283, 284, 285, 286, 12, 12, 287, 288, 289, 290, + 83, 83, 83, 83, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 83, + 302, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 83, 83, + 315, 315, 315, 315, 315, 315, 315, 315, 315, 316, 317, 318, 319, 320, 83, 83, + 321, 322, 323, 324, 325, 326, 83, 327, 328, 329, 83, 83, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 83, 339, 340, 341, 342, 343, 344, 345, 346, 83, 83, + 347, 347, 348, 83, 349, 350, 349, 351, 352, 353, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 354, 355, 356, 83, 83, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 365, 366, 367, 368, 368, 369, 370, 371, 372, 373, 374, 375, 375, 375, 376, + 377, 378, 83, 83, 379, 380, 381, 382, 383, 384, 385, 386, 83, 83, 83, 83, + 387, 387, 388, 389, 390, 390, 391, 83, 83, 83, 83, 83, 392, 393, 394, 83, + 395, 395, 396, 397, 398, 399, 400, 83, 401, 402, 403, 83, 83, 83, 83, 83, + 404, 405, 83, 83, 83, 406, 406, 407, 408, 409, 410, 83, 83, 411, 412, 413, + 414, 414, 415, 416, 416, 417, 418, 419, 83, 83, 83, 83, 83, 83, 83, 83, + 420, 421, 422, 423, 424, 425, 83, 83, 426, 427, 428, 429, 430, 431, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 432, 83, 83, 83, 83, 83, 433, 434, 435, + 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 437, 83, 83, 83, + 436, 436, 436, 438, 436, 436, 436, 436, 436, 436, 439, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 440, 441, 441, 442, + 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, + 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, + 443, 444, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 446, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 447, 448, 449, 450, 451, 452, 453, 454, 454, 455, 456, 457, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 458, 458, 459, 83, 83, 83, 460, 460, 461, 460, 462, 83, 83, 463, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 465, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 466, 466, 466, 466, 466, 466, 466, 466, + 466, 466, 466, 466, 466, 466, 467, 83, 468, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 469, + 470, 197, 197, 197, 197, 197, 197, 197, 197, 471, 472, 473, 474, 474, 474, 474, + 474, 474, 474, 474, 474, 474, 474, 475, 83, 83, 83, 83, 83, 83, 83, 83, + 476, 476, 476, 477, 478, 479, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 7, 480, 481, 0, 0, 0, 482, 83, + 0, 0, 0, 0, 0, 0, 0, 483, 0, 484, 0, 485, 486, 487, 0, 176, + 12, 12, 488, 83, 83, 83, 83, 489, 0, 0, 490, 491, 83, 83, 83, 83, + 0, 0, 492, 0, 493, 494, 495, 0, 496, 497, 498, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 499, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, + 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, + 501, 501, 501, 501, 502, 503, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 504, 83, 83, 83, 83, 83, 83, 83, + 505, 506, 83, 83, 83, 83, 83, 83, 507, 508, 509, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 510, 511, 512, 513, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 514, + 515, 515, 515, 515, 515, 515, 516, 83, 517, 517, 518, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 519, 0, 520, 83, 83, 275, 521, 83, 83, 83, 83, 83, 83, + 522, 523, 524, 525, 526, 527, 83, 528, 83, 83, 83, 83, 83, 83, 83, 83, + 0, 529, 0, 0, 489, 530, 531, 483, 0, 0, 0, 0, 0, 532, 83, 533, + 534, 535, 536, 537, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 538, 539, 0, 0, 0, 489, 0, 0, 540, 541, + 529, 0, 542, 0, 543, 544, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 489, 545, 546, 547, 548, 549, 0, 0, 0, 0, 550, 0, 176, 551, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 83, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 552, 190, 190, 190, 190, 190, 190, + 553, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 554, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 555, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 553, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 556, 83, 83, 83, 83, 83, + 557, 0, 0, 0, 83, 83, 83, 83, 7, 7, 7, 7, 7, 7, 7, 558, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83 }; static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -21527,9 +21933,9 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 158, 4, 4, 158, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 163, 4, 4, 163, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 4, 4, 4, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 5, 5, 5, 5, 1, 5, 5, 5, 0, 0, 5, 5, 5, 5, 1, 5, 0, 0, 0, 0, 5, 1, 5, 1, 5, 5, 5, 0, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -21541,7 +21947,7 @@ static RE_UINT8 script_extensions_table_3[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 160, 161, 162, 162, 161, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 165, 166, 167, 167, 166, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, @@ -21557,16 +21963,16 @@ static RE_UINT8 script_extensions_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 163, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 163, 164, 0, 10, 163, + 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 168, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 168, 169, 10, 10, 170, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 165, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 10, 10, 10, 10, 10, 10, - 166, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 171, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 10, 10, 10, 10, + 172, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 168, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, + 10, 10, 10, 10, 174, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -21588,20 +21994,16 @@ static RE_UINT8 script_extensions_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 15, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, + 10, 10, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 169, 170, 4, 4, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 171, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 16, 175, 176, 4, 4, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 177, 178, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 17, 17, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, @@ -21609,7 +22011,7 @@ static RE_UINT8 script_extensions_table_3[] = { 17, 0, 17, 0, 0, 0, 17, 17, 17, 17, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 17, 17, 0, 0, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 17, 17, 0, 17, - 17, 17, 17, 17, 0, 0, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 17, 17, 17, 17, 0, 0, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 18, 18, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, @@ -21617,7 +22019,7 @@ static RE_UINT8 script_extensions_table_3[] = { 18, 0, 18, 18, 0, 18, 18, 0, 18, 18, 0, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 18, 18, 0, 0, 18, 18, 18, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 0, 18, 0, - 0, 0, 0, 0, 0, 0, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 0, 0, 0, 0, 0, 0, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, @@ -21625,7 +22027,7 @@ static RE_UINT8 script_extensions_table_3[] = { 19, 0, 19, 19, 0, 19, 19, 19, 19, 19, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 19, 19, 0, 19, 19, 19, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 19, 19, 19, 19, 0, 0, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 19, 19, 19, 19, 0, 0, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 19, 19, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 0, 20, 20, 20, 0, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 20, 20, 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, @@ -21641,14 +22043,14 @@ static RE_UINT8 script_extensions_table_3[] = { 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 21, 21, 21, 21, 21, 0, 0, 0, 21, 21, 21, 0, 21, 21, 21, 21, 0, 0, 21, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 0, 22, 22, 22, 22, 0, 0, - 0, 0, 0, 0, 0, 22, 22, 0, 22, 22, 22, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 22, 0, 22, 22, 22, 0, 0, 22, 0, 0, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, @@ -21656,8 +22058,8 @@ static RE_UINT8 script_extensions_table_3[] = { 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 0, 23, 23, 23, 23, 0, 0, - 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 23, 0, - 23, 23, 23, 23, 0, 0, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 23, 23, 0, + 23, 23, 23, 23, 0, 0, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 24, 24, 24, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, @@ -21681,6 +22083,8 @@ static RE_UINT8 script_extensions_table_3[] = { 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 1, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 0, 27, 0, 27, 27, 27, 27, 27, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, @@ -21701,14 +22105,14 @@ static RE_UINT8 script_extensions_table_3[] = { 28, 28, 28, 28, 28, 1, 1, 1, 1, 28, 28, 0, 0, 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 29, 29, 29, 29, 29, 29, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 0, 0, 0, 0, 0, 30, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 180, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 186, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, @@ -21741,10 +22145,10 @@ static RE_UINT8 script_extensions_table_3[] = { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 1, 1, 1, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, 37, 37, - 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 181, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 38, 38, 38, 38, 38, 187, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 40, 40, @@ -21755,7 +22159,7 @@ static RE_UINT8 script_extensions_table_3[] = { 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, - 42, 42, 182, 182, 42, 182, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, + 42, 42, 188, 188, 42, 188, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -21791,14 +22195,14 @@ static RE_UINT8 script_extensions_table_3[] = { 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0, 0, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, @@ -21818,9 +22222,9 @@ static RE_UINT8 script_extensions_table_3[] = { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 30, 30, 30, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 183, 184, 183, 185, 184, 186, 186, 187, 186, 187, 188, 184, 187, 187, 184, 184, - 187, 186, 184, 184, 184, 184, 184, 184, 184, 189, 186, 184, 184, 186, 184, 184, - 184, 184, 190, 185, 191, 186, 186, 192, 185, 185, 193, 0, 0, 0, 0, 0, + 189, 190, 189, 191, 190, 192, 192, 193, 192, 193, 194, 190, 193, 193, 190, 190, + 193, 192, 190, 190, 190, 190, 190, 190, 190, 195, 192, 190, 190, 192, 190, 190, + 190, 190, 196, 191, 197, 192, 192, 198, 191, 191, 199, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -21829,10 +22233,10 @@ static RE_UINT8 script_extensions_table_3[] = { 2, 2, 2, 2, 2, 2, 2, 2, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, - 158, 158, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 163, 163, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 194, 4, 0, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 200, 4, 201, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, @@ -21847,16 +22251,16 @@ static RE_UINT8 script_extensions_table_3[] = { 0, 0, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 195, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 202, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, @@ -21875,10 +22279,6 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, @@ -21893,8 +22293,8 @@ static RE_UINT8 script_extensions_table_3[] = { 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, - 1, 1, 1, 161, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 166, 1, 1, 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, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, @@ -21905,54 +22305,52 @@ static RE_UINT8 script_extensions_table_3[] = { 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, - 1, 197, 197, 198, 1, 56, 199, 56, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 1, 198, 197, 197, 197, 197, 197, 197, 197, 197, 198, 198, 198, 198, - 1, 56, 56, 56, 56, 56, 56, 56, 56, 56, 200, 200, 200, 200, 31, 31, - 198, 201, 201, 201, 201, 201, 1, 198, 56, 56, 56, 56, 202, 202, 199, 199, + 1, 204, 204, 205, 1, 56, 206, 56, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 1, 205, 204, 204, 204, 204, 204, 204, 204, 204, 205, 205, 205, 205, + 1, 56, 56, 56, 56, 56, 56, 56, 56, 56, 207, 207, 207, 207, 31, 31, + 205, 208, 208, 208, 208, 208, 1, 205, 56, 56, 56, 56, 209, 209, 206, 206, 0, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 0, 0, 201, 201, 201, 201, 57, 57, 57, - 201, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 57, 57, 57, 57, 57, 57, 57, 0, 0, 208, 208, 208, 208, 57, 57, 57, + 208, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 197, 201, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 204, 208, 58, 58, 58, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, - 199, 199, 199, 199, 199, 199, 199, 199, 1, 1, 1, 1, 1, 1, 1, 1, + 206, 206, 206, 206, 206, 206, 206, 206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 1, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 1, 1, 1, 1, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 1, 1, 1, 1, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 199, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 206, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 1, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, + 58, 58, 58, 58, 58, 58, 58, 58, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 1, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 0, 0, 0, @@ -21965,26 +22363,26 @@ static RE_UINT8 script_extensions_table_3[] = { 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 161, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 166, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 203, 203, 203, 203, 203, 203, 203, 1, 1, 1, 1, 1, 1, 1, 1, + 210, 210, 210, 210, 210, 210, 210, 210, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 0, 0, 0, - 204, 204, 204, 205, 205, 205, 206, 206, 206, 206, 0, 0, 0, 0, 0, 0, + 211, 211, 211, 212, 212, 212, 213, 213, 213, 213, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, @@ -21994,10 +22392,10 @@ static RE_UINT8 script_extensions_table_3[] = { 65, 65, 65, 65, 65, 65, 0, 0, 0, 0, 0, 0, 0, 0, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 186, 16, 207, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 192, 16, 214, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 208, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 215, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, @@ -22005,7 +22403,7 @@ static RE_UINT8 script_extensions_table_3[] = { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 209, + 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 216, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 68, 68, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, @@ -22049,23 +22447,21 @@ static RE_UINT8 script_extensions_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 0, 9, 0, 9, 9, 0, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 217, 217, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 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, - 10, 10, 210, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 210, 0, 0, + 10, 10, 218, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 218, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 198, 198, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 205, 205, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -22073,10 +22469,10 @@ static RE_UINT8 script_extensions_table_3[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 197, 197, 197, 197, 197, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 201, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 1, 204, 204, 204, 204, 204, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 208, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 201, 201, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 208, 208, 0, 0, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, @@ -22091,10 +22487,10 @@ static RE_UINT8 script_extensions_table_3[] = { 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0, 0, 0, 0, 0, - 211, 211, 211, 0, 0, 0, 0, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 0, 0, 0, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 219, 219, 220, 0, 0, 0, 0, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 0, 0, 0, 220, 220, 220, 220, 220, 220, 220, 220, 220, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -22109,8 +22505,8 @@ static RE_UINT8 script_extensions_table_3[] = { 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 0, 0, 0, 0, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 0, 0, 0, 0, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 75, 75, @@ -22146,314 +22542,346 @@ static RE_UINT8 script_extensions_table_3[] = { 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 87, 87, 87, 87, 87, 0, 0, 87, 0, 87, 87, 87, 87, 87, 87, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 86, 86, + 86, 86, 86, 0, 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 0, 87, 87, 0, 0, 0, 87, 0, 0, 87, + 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 88, 88, 88, 88, 88, 88, 0, 0, 88, 0, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 0, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 0, 88, 88, 0, 0, 0, 88, 0, 0, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 0, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 0, - 0, 0, 0, 0, 0, 0, 0, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 0, 91, 91, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, + 0, 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 92, + 92, 92, 92, 0, 92, 92, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 0, 0, 93, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 0, 0, 0, 0, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 0, 0, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 0, 0, 0, 0, 0, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 96, 96, 96, 96, 0, 96, 96, 0, 0, 0, 0, 0, 96, 96, 96, 96, - 96, 96, 96, 96, 0, 96, 96, 96, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, 0, 0, 96, 96, 96, 0, 0, 0, 0, 96, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 0, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 97, 97, 97, 97, 0, 97, 97, 0, 0, 0, 0, 0, 97, 97, 97, 97, + 97, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 0, 0, 0, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 0, 0, 0, 0, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 0, 0, 0, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, 100, 100, 100, 100, 100, + 100, 100, 223, 100, 100, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 0, 0, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 0, 0, 0, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 0, 0, 0, 0, 0, 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 0, 0, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 0, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, 103, 103, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 103, 103, 103, 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 0, 0, + 104, 104, 0, 0, 0, 0, 0, 0, 0, 104, 104, 104, 104, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 106, 106, 106, 106, 106, 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 107, 107, 107, 0, 0, - 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 0, 108, 108, 108, 0, 0, + 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, 0, 0, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, - 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, + 113, 113, 113, 113, 113, 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, 0, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, - 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, + 0, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 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, 115, 0, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 115, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 0, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 0, - 119, 119, 119, 119, 119, 119, 119, 0, 119, 0, 119, 119, 119, 119, 0, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 0, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 0, 0, 0, 0, 0, 0, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 118, 118, 118, 118, 118, 118, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, - 121, 177, 121, 177, 0, 121, 121, 121, 121, 121, 121, 121, 121, 0, 0, 121, - 121, 0, 0, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 121, 121, 121, 121, 121, 121, - 121, 0, 121, 121, 0, 121, 121, 121, 121, 121, 0, 177, 177, 121, 121, 121, - 121, 121, 121, 121, 121, 0, 0, 121, 121, 0, 0, 121, 121, 121, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 121, 121, 121, - 121, 121, 121, 121, 0, 0, 121, 121, 121, 121, 121, 121, 121, 0, 0, 0, - 121, 121, 121, 121, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, + 121, 121, 121, 121, 121, 121, 121, 0, 121, 0, 121, 121, 121, 121, 0, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 122, 122, 122, - 122, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 0, 0, 0, 0, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 0, 0, 0, 0, 0, + 123, 183, 123, 183, 0, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 123, + 123, 0, 0, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 0, 123, 123, 123, 123, 123, 123, + 123, 0, 123, 123, 0, 123, 123, 123, 123, 123, 0, 183, 183, 123, 123, 123, + 123, 123, 123, 123, 123, 0, 0, 123, 123, 0, 0, 123, 123, 123, 0, 0, + 123, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 123, 123, 123, + 123, 123, 123, 123, 0, 0, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, + 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 0, 0, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 0, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 124, 124, 124, + 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 125, 125, 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0, 0, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 126, 126, 126, 126, 126, 126, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 130, 130, 130, 130, 130, 130, 130, 0, 0, 130, 0, 0, 130, 130, 130, 130, - 130, 130, 130, 130, 0, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130, 130, + 129, 129, 129, 129, 129, 129, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 0, 130, 130, 0, 0, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, - 131, 131, 131, 131, 131, 131, 131, 131, 0, 0, 131, 131, 131, 131, 131, 131, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 0, 0, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 132, 132, 132, 132, 132, 132, 132, 0, 0, 132, 0, 0, 132, 132, 132, 132, + 132, 132, 132, 132, 0, 132, 132, 0, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, - 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 132, 132, 132, 132, 132, 132, 0, 132, 132, 0, 0, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, + 133, 133, 133, 133, 133, 133, 133, 133, 0, 0, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 133, 133, 133, 133, 133, 133, 133, 0, 0, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 0, 135, 135, 135, 135, 135, 135, + 134, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 0, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 0, 0, 0, + 135, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 0, 0, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 0, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 0, 137, 137, 137, 137, 137, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 0, 0, 0, 0, 0, 0, 0, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 137, 0, 137, 137, 0, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, - 138, 138, 138, 138, 138, 138, 0, 138, 138, 0, 138, 138, 138, 138, 138, 138, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 0, - 138, 138, 0, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, 0, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 0, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 0, 139, 139, 0, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 177, 177, 21, 177, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, + 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 139, 0, 139, 139, 0, 139, + 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 0, 140, 140, 0, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, - 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 140, 140, 0, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 183, 183, 21, 183, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 0, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 0, 0, 0, 0, 143, 143, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 0, + 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, - 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 0, 145, 145, 145, 145, 145, - 145, 145, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, 0, 0, 0, 0, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, 0, 0, 0, 146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 0, 0, 0, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 148, 149, 1, 1, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 0, 0, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, + 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 0, 149, 149, 149, 149, 149, + 149, 149, 0, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, 0, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 0, 0, 0, 0, 0, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, 0, 0, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 152, 153, 56, 56, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, 0, 0, 0, 0, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 58, 58, 58, 58, 0, 58, 58, 58, 58, 58, 58, 58, 0, 58, 58, 0, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 0, + 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 151, 151, 151, 151, - 214, 214, 214, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 155, 155, 155, 155, + 224, 224, 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -22465,16 +22893,14 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -22493,34 +22919,42 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 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, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 152, 152, 152, 152, - 0, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 156, 156, 156, 156, + 0, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 54, 54, 54, 54, 54, 54, 54, 0, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 54, 54, 54, 54, 54, 54, 54, 0, 54, 54, 0, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, 0, 153, 153, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, 0, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, 0, 0, 157, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 0, 0, 0, 0, 0, 154, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 0, 0, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, 156, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 0, 0, 0, 0, 0, 159, + 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 0, 32, 32, 0, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 0, 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 0, 0, 0, 0, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 0, 0, 0, 0, 161, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -22556,43 +22990,41 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 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, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, - 199, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 206, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 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, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 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, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 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, 0, - 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -22605,31 +23037,32 @@ static RE_UINT8 script_extensions_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT16 script_extensions_table_4[] = { - 0, 2, 4, 7, 10, 13, 19, 23, 32, 35, 39, 42, 56, 69, 90, 112, - 117, 121, 124, 127, 130, 133, 137, 140, 145, 148, 153, 155, 158, 161, 164, 171, - 174, 183, 187, 189, 191, 194, 197, 201, 208, 214, 216, 219, 222, 226, 229, 244, - 258, 270, 273, 277, 280, 283, 286, 290, 293 + 0, 2, 4, 7, 10, 13, 20, 24, 32, 42, 45, 49, 52, 66, 79, 100, + 122, 127, 131, 134, 137, 140, 143, 147, 150, 155, 158, 163, 165, 168, 171, 174, + 181, 184, 193, 197, 199, 201, 204, 206, 209, 213, 220, 226, 228, 231, 234, 238, + 241, 256, 270, 282, 285, 289, 292, 295, 298, 302, 305, 309, 312, 315 }; static RE_UINT8 script_extensions_table_5[] = { - 5, 0, 2, 0, 7, 77, 0, 7, 54, 0, 7, 2, 0, 10, 106, 11, - 12, 107, 0, 10, 11, 12, 0, 156, 10, 15, 99, 103, 106, 109, 11, 0, - 10, 11, 0, 10, 12, 107, 0, 10, 106, 0, 17, 16, 121, 19, 18, 23, - 2, 24, 20, 117, 21, 22, 123, 0, 17, 16, 121, 19, 18, 23, 2, 24, - 20, 21, 22, 123, 0, 17, 16, 128, 138, 137, 121, 19, 18, 23, 116, 24, - 131, 20, 120, 25, 63, 126, 21, 22, 123, 0, 17, 16, 128, 138, 137, 121, - 19, 18, 23, 43, 116, 24, 131, 20, 120, 25, 63, 126, 21, 22, 123, 0, - 16, 128, 113, 116, 0, 17, 115, 63, 0, 18, 119, 0, 19, 118, 0, 121, - 21, 0, 23, 131, 0, 115, 29, 44, 0, 30, 2, 0, 39, 38, 40, 37, - 0, 42, 64, 0, 17, 16, 121, 23, 0, 16, 0, 16, 121, 0, 17, 16, - 0, 16, 117, 0, 16, 23, 24, 20, 21, 22, 0, 16, 131, 0, 17, 16, - 121, 23, 131, 20, 22, 123, 0, 16, 121, 23, 0, 17, 0, 131, 0, 7, - 11, 0, 2, 42, 0, 16, 121, 2, 0, 3, 31, 56, 57, 58, 59, 0, - 3, 31, 56, 57, 58, 0, 56, 0, 3, 56, 0, 57, 58, 0, 56, 57, - 58, 0, 56, 2, 0, 16, 128, 19, 18, 118, 23, 113, 116, 24, 125, 131, - 120, 126, 123, 0, 16, 128, 19, 18, 118, 23, 113, 116, 125, 131, 120, 126, - 123, 0, 16, 128, 19, 18, 118, 113, 116, 125, 120, 126, 123, 0, 16, 21, - 0, 66, 2, 29, 0, 46, 68, 0, 10, 12, 0, 87, 72, 0, 87, 86, - 72, 0, 10, 6, 0, 151, 0 + 5, 0, 2, 0, 7, 77, 0, 7, 54, 0, 7, 2, 0, 10, 13, 107, + 11, 12, 108, 0, 10, 11, 12, 0, 161, 10, 13, 107, 11, 12, 108, 0, + 161, 10, 15, 100, 111, 104, 107, 110, 11, 0, 10, 11, 0, 10, 12, 108, + 0, 10, 107, 0, 17, 16, 123, 19, 18, 23, 2, 24, 20, 119, 21, 22, + 125, 0, 17, 16, 123, 19, 18, 23, 2, 24, 20, 21, 22, 125, 0, 17, + 16, 130, 140, 139, 123, 19, 18, 23, 118, 24, 133, 20, 122, 25, 63, 128, + 21, 22, 125, 0, 17, 16, 130, 140, 139, 123, 19, 18, 23, 43, 118, 24, + 133, 20, 122, 25, 63, 128, 21, 22, 125, 0, 16, 130, 115, 118, 0, 17, + 117, 63, 0, 18, 121, 0, 19, 120, 0, 123, 21, 0, 23, 133, 0, 117, + 29, 44, 0, 30, 2, 0, 39, 38, 40, 37, 0, 42, 64, 0, 17, 16, + 123, 23, 0, 16, 0, 16, 123, 0, 17, 16, 0, 16, 119, 0, 16, 23, + 24, 20, 21, 22, 0, 16, 133, 0, 17, 16, 123, 23, 133, 20, 22, 125, + 0, 16, 123, 23, 0, 17, 0, 133, 0, 7, 11, 0, 11, 0, 2, 42, + 0, 16, 123, 2, 0, 3, 31, 56, 57, 58, 59, 0, 3, 31, 56, 57, + 58, 0, 56, 0, 3, 56, 0, 57, 58, 0, 56, 57, 58, 0, 56, 2, + 0, 16, 130, 19, 18, 120, 23, 115, 118, 24, 127, 133, 122, 128, 125, 0, + 16, 130, 19, 18, 120, 23, 115, 118, 127, 133, 122, 128, 125, 0, 16, 130, + 19, 18, 120, 115, 118, 127, 122, 128, 125, 0, 16, 21, 0, 66, 2, 29, + 0, 46, 68, 0, 10, 13, 0, 10, 12, 0, 143, 88, 72, 0, 88, 72, + 0, 88, 87, 72, 0, 10, 6, 0, 100, 111, 0, 155, 0 }; int re_get_script_extensions(RE_UINT32 codepoint, RE_UINT8* scripts) { @@ -22648,13 +23081,13 @@ int re_get_script_extensions(RE_UINT32 codepoint, RE_UINT8* scripts) { v = script_extensions_table_2[(v << 5) | field_1]; v = script_extensions_table_3[(v << 5) | field_0]; - if (v < 158) { + if (v < 163) { scripts[0] = v; return 1; } - offset = script_extensions_table_4[v - 158]; + offset = script_extensions_table_4[v - 163]; count = 0; do { @@ -22669,72 +23102,72 @@ int re_get_script_extensions(RE_UINT32 codepoint, RE_UINT8* scripts) { static RE_UINT8 re_sentence_break_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 19, 19, 13, 32, 19, 19, - 19, 33, 19, 19, 19, 19, 19, 19, 19, 19, 34, 35, 13, 13, 13, 13, - 13, 36, 13, 37, 19, 19, 19, 19, 19, 19, 19, 19, 38, 19, 19, 39, - 19, 19, 19, 19, 40, 41, 42, 19, 43, 19, 44, 45, 46, 47, 48, 19, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 49, 13, 13, 13, 50, 51, 13, - 13, 13, 13, 52, 13, 13, 13, 13, 13, 13, 53, 19, 19, 19, 54, 19, - 13, 13, 13, 13, 55, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 56, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19 + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 18, 31, 13, 32, 18, 18, + 18, 33, 18, 18, 18, 18, 18, 18, 18, 18, 34, 35, 13, 13, 13, 13, + 13, 36, 13, 37, 18, 18, 18, 18, 18, 18, 18, 38, 39, 18, 18, 40, + 18, 18, 18, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 53, 13, 13, 13, 54, 55, 13, + 13, 13, 13, 56, 13, 13, 13, 13, 13, 13, 57, 18, 18, 18, 58, 18, + 13, 13, 13, 13, 59, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 60, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 }; static RE_UINT16 re_sentence_break_table_2[] = { @@ -22742,116 +23175,124 @@ static RE_UINT16 re_sentence_break_table_2[] = { 8, 16, 17, 18, 19, 20, 21, 22, 23, 23, 23, 24, 25, 26, 27, 28, 29, 30, 18, 8, 31, 8, 32, 8, 8, 33, 34, 18, 35, 36, 37, 38, 39, 40, 41, 42, 40, 40, 43, 44, 45, 46, 47, 40, 40, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 72, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 55, 101, 102, 103, 55, 104, 105, 106, 107, 108, 109, 110, 55, + 51, 52, 53, 54, 55, 40, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 71, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 100, 104, 105, 106, 107, 108, 109, 110, 100, 40, 111, 112, 113, 114, 29, 115, 116, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 117, 40, 118, 119, 120, 40, 121, 40, 122, 123, 124, 29, 29, 125, - 98, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 97, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 126, 127, 40, 40, 128, 129, 130, 131, 132, 40, 133, 134, 135, - 136, 40, 40, 137, 138, 139, 40, 140, 141, 142, 143, 144, 40, 145, 146, 55, - 147, 40, 148, 149, 150, 151, 152, 55, 153, 133, 154, 155, 156, 157, 40, 158, - 40, 159, 160, 161, 162, 163, 164, 165, 18, 18, 18, 18, 18, 18, 23, 166, - 8, 8, 8, 8, 167, 8, 8, 8, 168, 169, 170, 171, 169, 172, 173, 174, - 175, 176, 177, 178, 179, 55, 180, 181, 182, 183, 184, 30, 185, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 186, 187, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 188, 30, 189, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 190, 191, 55, 55, 192, 193, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 194, 55, 195, 196, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 29, 197, 198, 199, 8, 8, 8, 200, 18, 201, 40, 202, 203, 204, 204, 23, - 205, 206, 207, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 208, 209, 98, 40, 210, 98, 40, 116, 211, 212, 40, 40, 213, 40, 55, 214, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 55, 55, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 215, - 40, 40, 40, 40, 216, 55, 214, 217, 40, 40, 40, 40, 40, 40, 40, 40, - 218, 219, 8, 220, 221, 40, 40, 222, 223, 224, 8, 225, 226, 227, 228, 229, - 230, 231, 40, 232, 233, 133, 234, 235, 49, 236, 237, 215, 59, 238, 239, 240, - 40, 241, 242, 243, 40, 244, 245, 246, 247, 248, 249, 250, 18, 18, 40, 251, + 136, 40, 40, 137, 138, 139, 40, 140, 141, 142, 143, 144, 40, 145, 146, 100, + 147, 40, 148, 149, 150, 151, 152, 100, 153, 133, 154, 155, 156, 157, 40, 158, + 40, 159, 160, 161, 162, 163, 164, 165, 18, 18, 18, 18, 18, 18, 23, 23, + 8, 8, 8, 8, 166, 8, 8, 8, 167, 168, 169, 170, 168, 171, 172, 173, + 174, 175, 176, 177, 178, 100, 179, 180, 181, 182, 183, 30, 184, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 185, 186, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 187, 30, 188, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 189, 190, 100, 100, 191, 192, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 193, 100, 194, 195, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 29, 30, 18, 196, 8, 8, 8, 197, 18, 198, 40, 199, 200, 201, 201, 23, + 202, 203, 204, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 205, 206, 97, 40, 207, 97, 40, 116, 208, 209, 40, 40, 210, 40, 100, 211, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 252, 253, 254, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 255, 40, 40, 256, 55, 257, 258, 259, 40, 40, 260, 261, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 262, 214, 40, 263, 40, 264, 265, - 266, 267, 268, 269, 40, 40, 40, 270, 271, 2, 272, 273, 274, 141, 275, 276, - 277, 278, 279, 55, 40, 40, 40, 280, 55, 55, 40, 281, 55, 55, 55, 282, - 55, 55, 55, 55, 215, 40, 283, 152, 40, 284, 285, 286, 287, 40, 288, 55, - 29, 289, 290, 40, 287, 291, 292, 293, 40, 294, 40, 295, 55, 55, 55, 55, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 203, 140, 264, 55, 55, 55, 55, - 296, 297, 140, 203, 141, 55, 55, 298, 140, 256, 55, 55, 40, 299, 55, 55, - 300, 301, 302, 215, 215, 55, 106, 303, 40, 140, 140, 304, 260, 55, 55, 55, - 40, 40, 305, 55, 29, 306, 18, 307, 40, 308, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 40, 309, 55, 55, 215, 310, 311, 55, 55, 214, 312, 203, - 156, 313, 314, 315, 156, 316, 317, 318, 156, 319, 320, 321, 156, 238, 322, 55, - 323, 324, 55, 55, 325, 326, 327, 328, 329, 330, 331, 332, 55, 55, 55, 55, - 40, 333, 334, 335, 40, 46, 336, 55, 55, 55, 55, 55, 40, 337, 338, 55, - 40, 46, 339, 55, 40, 340, 135, 55, 122, 341, 55, 55, 55, 55, 55, 55, - 40, 342, 55, 55, 55, 29, 18, 343, 344, 345, 346, 55, 55, 347, 348, 349, - 350, 351, 352, 40, 353, 55, 40, 137, 55, 55, 55, 55, 55, 55, 55, 55, - 354, 355, 356, 357, 358, 359, 55, 55, 360, 361, 362, 363, 364, 135, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 365, 55, 55, 55, 55, 55, 366, 55, 55, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 256, 55, 55, 55, - 40, 40, 40, 213, 40, 40, 40, 40, 40, 40, 295, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 367, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 368, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 40, 40, 40, 40, 212, 100, 211, 213, 40, 40, 40, 40, 40, 40, 40, 40, + 214, 215, 8, 216, 217, 40, 40, 218, 219, 220, 8, 221, 222, 223, 224, 225, + 226, 227, 40, 228, 229, 133, 230, 231, 49, 232, 233, 234, 58, 235, 236, 237, + 40, 238, 239, 240, 40, 241, 242, 243, 244, 245, 246, 247, 18, 18, 40, 248, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 137, 141, 369, 55, 55, 214, 370, 40, 371, 372, 373, 124, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 29, 18, 374, 55, 55, 55, 40, 40, 375, 23, 376, 55, 55, 377, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 249, 250, 251, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 252, 40, 40, 253, 100, 254, 255, 256, 40, 40, 257, 258, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 259, 211, 40, 260, 40, 261, 262, + 263, 264, 265, 266, 40, 40, 40, 267, 268, 2, 269, 270, 271, 141, 272, 273, + 274, 275, 276, 100, 40, 40, 40, 277, 100, 100, 40, 278, 100, 100, 100, 279, + 100, 100, 100, 100, 234, 40, 280, 281, 40, 282, 54, 283, 284, 40, 285, 100, + 29, 286, 287, 40, 284, 288, 289, 290, 40, 291, 40, 292, 293, 294, 100, 100, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 200, 140, 261, 295, 296, 100, 100, + 297, 298, 140, 200, 141, 100, 100, 299, 140, 253, 100, 100, 40, 300, 100, 100, + 301, 302, 303, 234, 234, 100, 106, 304, 40, 140, 140, 305, 257, 100, 100, 100, + 40, 40, 306, 100, 29, 307, 18, 308, 40, 309, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 40, 310, 100, 100, 234, 311, 312, 211, 313, 211, 314, 200, + 156, 315, 316, 317, 156, 318, 319, 320, 156, 321, 322, 323, 156, 235, 324, 100, + 325, 326, 100, 100, 327, 328, 329, 330, 331, 332, 333, 334, 100, 100, 100, 100, + 40, 335, 336, 337, 40, 46, 338, 100, 100, 100, 100, 100, 40, 339, 340, 100, + 40, 46, 341, 100, 40, 342, 135, 100, 122, 343, 344, 100, 100, 100, 100, 100, + 40, 345, 100, 100, 100, 29, 18, 346, 347, 348, 349, 100, 100, 350, 351, 352, + 353, 354, 355, 40, 356, 211, 40, 137, 100, 100, 100, 100, 100, 100, 100, 100, + 357, 358, 359, 360, 361, 362, 100, 100, 363, 364, 365, 366, 367, 135, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 368, 100, 100, 100, 100, 100, 369, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 378, - 40, 40, 40, 40, 40, 40, 140, 55, 305, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 40, 40, 40, 40, 40, 40, 40, 141, 55, 379, 380, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 254, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 40, 40, 381, 382, 383, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 384, 385, 386, 55, 55, - 55, 55, 387, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 388, 389, 401, - 391, 402, 403, 404, 395, 405, 406, 407, 408, 409, 410, 197, 411, 412, 413, 414, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 23, 415, 23, 416, 417, 418, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 419, 420, 55, 55, 55, 55, 55, 55, 40, 421, 422, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 40, 423, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 40, 40, 40, 40, 40, 424, 55, 29, 425, 426, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 427, 428, 429, 430, 431, 432, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 433, 434, 434, 435, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 436, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 437, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 253, 100, 100, 100, + 40, 40, 40, 210, 40, 40, 40, 40, 40, 40, 370, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 211, 40, 40, 280, + 40, 371, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 344, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 137, 141, 372, 40, 141, 373, 374, 40, 375, 376, 377, 124, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 29, 18, 378, 100, 100, 100, 40, 40, 379, 23, 380, 100, 100, 381, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 382, + 40, 40, 40, 40, 40, 40, 140, 100, 306, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 383, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 384, 385, 386, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 251, 100, 100, 100, 100, 100, 100, 100, 100, + 40, 40, 40, 387, 388, 389, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 23, 390, 391, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 392, 393, 394, 100, 100, + 100, 100, 395, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 396, 397, 409, + 399, 410, 411, 412, 403, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 23, 424, 23, 425, 426, 427, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 428, 100, 100, 100, 100, 100, 100, 100, + 429, 430, 100, 100, 100, 100, 100, 100, 40, 431, 432, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 211, 433, 40, 434, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 435, + 40, 40, 40, 40, 40, 40, 436, 100, 29, 437, 438, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 439, 440, 441, 442, 443, 444, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 445, 446, 446, 447, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 448, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 449, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 287, 55, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 281, 40, 40, 40, 40, 40, 40, - 287, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 137, 40, 40, 40, 40, 40, 40, + 284, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 438, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 450, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 439, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 451, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 287, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 284, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 54, 55, 55, 55, 55, 55, - 440, 23, 23, 23, 55, 55, 55, 55, 23, 23, 23, 23, 23, 23, 23, 441, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55 + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 452, 100, 100, 100, 100, 100, + 453, 23, 23, 23, 100, 100, 100, 100, 23, 23, 23, 23, 23, 23, 23, 454, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }; static RE_UINT8 re_sentence_break_table_3[] = { @@ -22934,7 +23375,7 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 12, 0, 4, 4, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 12, 4, 4, 4, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, @@ -22964,13 +23405,11 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 0, + 12, 12, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23022,9 +23461,9 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 13, 14, 14, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 14, 13, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 0, 14, 14, 14, 14, 0, 0, - 0, 0, 0, 0, 0, 14, 14, 0, 13, 13, 13, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 14, 14, 0, 13, 13, 13, 0, 0, 13, 0, 0, 13, 13, 14, 14, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 14, 14, 0, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, @@ -23032,7 +23471,7 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 0, 0, 14, 13, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 0, 14, 14, 14, 14, 0, 0, - 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 13, 13, 0, 13, 13, 14, 14, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, @@ -23057,6 +23496,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 14, 13, 13, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 0, 13, 0, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23113,8 +23554,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 5, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, - 13, 13, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23127,7 +23568,7 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 0, 0, 0, 13, 0, 0, 0, 0, 13, 14, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 4, 0, 0, 0, 0, 6, 4, 0, 14, 14, 14, 12, 0, + 0, 0, 6, 4, 0, 0, 0, 0, 6, 4, 0, 14, 14, 14, 12, 14, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, @@ -23159,14 +23600,14 @@ static RE_UINT8 re_sentence_break_table_3[] = { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 4, 4, 4, 4, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, @@ -23187,8 +23628,6 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 14, 13, 13, 14, 14, 14, 13, 0, 0, 0, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, @@ -23249,10 +23688,6 @@ static RE_UINT8 re_sentence_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 9, 10, 9, 9, 9, 10, 10, 9, 10, 9, 10, 9, 10, 9, 9, 9, 9, 10, 9, 10, 10, 9, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 10, 9, 10, 10, 0, 0, 0, 0, 0, 0, 9, 10, 9, 10, 14, @@ -23270,7 +23705,7 @@ static RE_UINT8 re_sentence_break_table_3[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 1, 6, 4, 0, 0, 13, 13, 13, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, @@ -23285,8 +23720,6 @@ static RE_UINT8 re_sentence_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23311,10 +23744,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 9, 10, 9, 10, 10, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 9, 9, 9, 9, 10, 9, 9, 9, 9, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, - 0, 0, 9, 10, 9, 9, 9, 9, 10, 9, 10, 0, 0, 0, 0, 0, + 9, 10, 9, 10, 9, 9, 9, 9, 10, 9, 10, 0, 0, 0, 0, 0, + 9, 10, 0, 10, 0, 10, 9, 10, 9, 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, 9, 10, 13, 10, 10, 10, 13, 13, 13, 13, 13, + 0, 0, 13, 13, 13, 9, 10, 13, 10, 10, 10, 13, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 14, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 0, 0, 0, 0, 14, 0, 0, 0, @@ -23332,6 +23765,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 13, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, @@ -23423,10 +23858,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23446,7 +23881,15 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, + 9, 9, 9, 0, 9, 9, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 0, 0, 0, + 10, 13, 13, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 0, 0, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23479,6 +23922,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, + 13, 13, 14, 14, 14, 14, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23486,10 +23931,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, + 14, 13, 13, 14, 14, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 12, 4, 4, - 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, + 4, 4, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, @@ -23539,6 +23984,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 14, 13, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 4, 4, 4, 0, + 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, @@ -23589,12 +24036,14 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 14, 14, 14, 14, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, - 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 14, 14, 14, 14, 14, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23614,6 +24063,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 0, + 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23623,6 +24076,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 14, 14, 4, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 12, 12, 12, 12, 12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, @@ -23677,6 +24134,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 9, 9, 9, 9, 9, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 10, 10, 10, 10, 10, 10, @@ -23693,6 +24152,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 13, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 0, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, @@ -23701,8 +24162,12 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 0, 13, 13, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -23735,6 +24200,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, @@ -23844,57 +24311,57 @@ static RE_UINT8 re_sentence_terminal_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, - 0, 16, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, + 0, 17, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 19, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 24, 0, 0, 22, 0, 0, 25, 0, 0, 0, 0, 26, 0, - 0, 0, 27, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, + 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 27, 0, 0, 25, 0, 0, 28, 0, 0, 0, 0, 29, 0, + 0, 0, 3, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 0, 0, 0, 0, 0, 1, 0, 0, 31, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 1, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 33, 0, 0, 3, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, - 0, 37, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, - 0, 0, 40, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, - 0, 0, 43, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 0, 0, + 0, 0, 36, 0, 0, 18, 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, + 0, 40, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, + 0, 0, 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, + 0, 0, 46, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 22, 0, 0, 0, 45, 0, 44, 46, 0, 0, 0, 0, 0, + 0, 0, 0, 25, 0, 0, 0, 48, 0, 47, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_sentence_terminal_table_3[] = { - 0, 0, 0, 0, 2, 64, 0, 128, 0, 2, 0, 0, 0, 0, 0, 192, + 0, 0, 0, 0, 2, 64, 0, 128, 0, 2, 0, 0, 0, 0, 0, 224, 0, 0, 16, 0, 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 128, 98, 48, 0, 0, 0, 0, 12, 0, 0, 132, 1, 0, 0, 0, 64, 0, 0, 0, 0, 96, 0, 8, 2, 0, 0, 0, 15, 0, 0, 0, 0, 0, 204, - 0, 0, 0, 24, 0, 0, 0, 48, 128, 3, 0, 0, 0, 64, 0, 16, - 4, 0, 0, 0, 0, 0, 0, 128, 0, 192, 0, 0, 0, 0, 136, 0, - 0, 0, 192, 0, 0, 128, 0, 0, 0, 3, 0, 0, 0, 0, 0, 224, - 0, 0, 3, 0, 0, 8, 0, 0, 0, 0, 196, 0, 2, 0, 0, 0, - 0, 0, 224, 3, 128, 1, 0, 0, 3, 0, 0, 0, 14, 0, 0, 0, - 96, 32, 0, 192, 0, 0, 0, 27, 0, 24, 0, 0, 12, 254, 255, 0, - 6, 0, 0, 0, 0, 0, 0, 112, 80, 0, 0, 0, 12, 0, 0, 0, - 0, 0, 128, 1, 0, 0, 32, 0, 16, 0, 0, 0, 0, 0, 0, 1, - 0, 1, 0, 0 + 0, 0, 0, 96, 0, 0, 0, 24, 0, 0, 0, 192, 0, 0, 0, 48, + 128, 3, 0, 0, 0, 64, 0, 16, 0, 0, 24, 0, 4, 0, 0, 0, + 0, 0, 0, 128, 0, 192, 0, 0, 0, 0, 136, 0, 0, 0, 192, 0, + 0, 128, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 8, 0, 0, + 0, 0, 196, 0, 2, 0, 0, 0, 0, 0, 224, 3, 192, 3, 0, 0, + 128, 1, 0, 0, 3, 0, 0, 0, 14, 0, 0, 0, 96, 32, 0, 192, + 0, 0, 0, 27, 0, 24, 0, 0, 12, 254, 255, 0, 6, 0, 0, 0, + 0, 0, 0, 112, 80, 0, 0, 0, 12, 0, 0, 0, 0, 0, 128, 1, + 0, 0, 32, 0, 16, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 }; RE_UINT32 re_get_sentence_terminal(RE_UINT32 codepoint) { @@ -23925,7 +24392,7 @@ static RE_UINT8 re_soft_dotted_table_1[] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 6, 2, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -24002,7 +24469,9 @@ static RE_UINT8 re_soft_dotted_table_2[] = { 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 0, 19, 20, 0, 21, 0, 22, 23, 0, 24, 0, 17, 18, - 0, 19, 20, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 19, 20, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_soft_dotted_table_3[] = { @@ -24012,7 +24481,7 @@ static RE_UINT8 re_soft_dotted_table_3[] = { 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 16, 12, 0, 0, 0, 0, 0, 192, 0, 0, 12, 0, 0, 0, 0, 0, 192, 0, 0, 12, 0, 192, 0, 0, 0, 0, 0, 0, 12, - 0, 192, 0, 0 + 0, 192, 0, 0, 0, 0, 0, 4 }; RE_UINT32 re_get_soft_dotted(RE_UINT32 codepoint) { @@ -24120,67 +24589,67 @@ static RE_UINT8 re_terminal_punctuation_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 18, 0, 0, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, - 0, 23, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, + 0, 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 32, 0, 0, 33, 0, 0, 34, 0, 0, 0, 0, 26, 0, - 0, 0, 35, 0, 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 38, + 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 33, 0, 0, 34, 0, 0, 35, 0, 0, 0, 0, 27, 0, + 0, 0, 36, 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 39, 0, 0, 0, 0, 0, 1, 0, 0, 40, 0, 0, 0, 0, + 0, 0, 40, 0, 0, 0, 0, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 41, 0, - 0, 0, 42, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 32, 0, 0, 0, 0, 43, 0, 44, 0, 0, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 42, 0, + 0, 0, 43, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 0, 0, 44, 0, 45, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, - 0, 0, 47, 0, 0, 24, 48, 0, 0, 0, 49, 0, 0, 0, 50, 0, - 0, 51, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, - 0, 0, 29, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, - 0, 0, 56, 0, 57, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 49, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 48, 0, 0, 0, + 0, 0, 49, 0, 0, 25, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, + 0, 53, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, + 0, 0, 30, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, + 0, 0, 58, 0, 59, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 33, 0, 0, 0, 61, 0, 62, 63, 0, 0, 0, 0, 0, + 0, 0, 0, 34, 0, 0, 0, 63, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_terminal_punctuation_table_3[] = { 0, 0, 0, 0, 2, 80, 0, 140, 0, 0, 0, 64, 128, 0, 0, 0, - 0, 2, 0, 0, 8, 0, 0, 0, 0, 16, 0, 200, 0, 0, 16, 0, + 0, 2, 0, 0, 8, 0, 0, 0, 0, 16, 0, 232, 0, 0, 16, 0, 255, 23, 0, 0, 0, 0, 0, 3, 0, 0, 255, 127, 48, 0, 0, 0, 0, 0, 0, 12, 0, 225, 7, 0, 0, 12, 0, 0, 254, 1, 0, 0, 0, 64, 0, 0, 0, 56, 0, 0, 0, 0, 96, 0, 0, 0, 112, 4, - 60, 3, 0, 0, 0, 15, 0, 0, 0, 0, 0, 236, 0, 0, 0, 248, - 0, 0, 0, 192, 0, 0, 0, 48, 128, 3, 0, 0, 0, 64, 0, 16, - 2, 208, 0, 0, 6, 0, 0, 0, 0, 224, 0, 0, 0, 0, 248, 0, - 0, 0, 192, 0, 0, 192, 0, 0, 0, 128, 0, 0, 0, 0, 0, 224, - 0, 0, 0, 128, 0, 0, 3, 0, 0, 8, 0, 0, 0, 0, 247, 0, - 18, 0, 0, 0, 0, 0, 1, 0, 0, 0, 128, 0, 0, 0, 63, 0, - 0, 0, 0, 252, 0, 0, 0, 30, 0, 0, 224, 3, 128, 63, 0, 0, - 3, 0, 0, 0, 14, 0, 0, 0, 96, 32, 0, 192, 0, 0, 0, 31, - 0, 56, 0, 12, 60, 254, 255, 0, 0, 0, 0, 112, 80, 0, 0, 0, - 12, 0, 0, 0, 0, 0, 0, 24, 0, 0, 2, 0, 0, 0, 128, 1, - 0, 0, 31, 0, 0, 0, 32, 0, 0, 0, 128, 3, 16, 0, 0, 0, - 128, 7, 0, 0 + 60, 3, 0, 0, 0, 15, 0, 0, 0, 0, 0, 236, 0, 0, 0, 96, + 0, 0, 0, 248, 0, 0, 0, 192, 0, 0, 0, 48, 128, 3, 0, 0, + 0, 64, 0, 16, 2, 208, 24, 0, 6, 0, 0, 0, 0, 224, 0, 0, + 0, 0, 248, 0, 0, 0, 192, 0, 0, 192, 0, 0, 0, 128, 0, 0, + 0, 0, 0, 224, 0, 0, 0, 128, 0, 0, 3, 0, 0, 8, 0, 0, + 0, 0, 247, 0, 18, 0, 0, 0, 0, 0, 1, 0, 0, 0, 128, 0, + 0, 0, 63, 0, 0, 0, 0, 252, 0, 0, 0, 30, 0, 0, 224, 3, + 192, 3, 0, 0, 128, 63, 0, 0, 3, 0, 0, 0, 14, 0, 0, 0, + 96, 32, 0, 192, 0, 0, 0, 31, 0, 56, 0, 12, 60, 254, 255, 0, + 0, 0, 0, 112, 80, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 24, + 0, 0, 2, 0, 0, 0, 128, 1, 0, 0, 31, 0, 0, 0, 32, 0, + 0, 0, 128, 3, 16, 0, 0, 0, 128, 7, 0, 0 }; RE_UINT32 re_get_terminal_punctuation(RE_UINT32 codepoint) { @@ -24204,74 +24673,74 @@ RE_UINT32 re_get_terminal_punctuation(RE_UINT32 codepoint) { /* Unified_Ideograph. */ static RE_UINT8 re_unified_ideograph_table_1[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 6, 7, 1, - 1, 1, 1, 8, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 5, 6, 1, + 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 8, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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 RE_UINT8 re_unified_ideograph_table_2[] = { @@ -24281,28 +24750,26 @@ static RE_UINT8 re_unified_ideograph_table_2[] = { 1, 1, 1, 1, 1, 1, 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, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 0, 0, 0, 0, 0 }; static RE_UINT8 re_unified_ideograph_table_3[] = { - 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 31, 0, 192, 26, 128, - 154, 3, 0, 0, 255, 255, 255, 63, 255, 255, 31, 0, 3, 0, 255, 255, - 1, 0, 0, 0, 255, 7, 0, 0 + 0, 0, 0, 0, 255, 255, 255, 255, 0, 192, 26, 128, 154, 3, 0, 0, + 255, 255, 255, 1, 255, 255, 255, 63, 3, 0, 255, 255, 1, 0, 0, 0, + 255, 7, 0, 0 }; RE_UINT32 re_get_unified_ideograph(RE_UINT32 codepoint) { @@ -24411,25 +24878,25 @@ static RE_UINT8 re_uppercase_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 18, 41, 0, 42, 3, 3, 3, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 19, 0, 41, 3, 3, 3, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 44, 45, 0, 0, 0, 0, 46, 3, 47, 48, 49, 50, 51, + 0, 0, 3, 43, 44, 0, 0, 0, 0, 45, 3, 46, 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 18, 52, 0, 0, 0, 26, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 51, 0, 0, 0, 26, 52, 0, 0, 0, 0, 53, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 18, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 57, 58, 59, 60, 26, 61, 62, 63, 64, 65, 66, 55, 56, 57, - 58, 67, 25, 26, 61, 58, 68, 69, 70, 71, 40, 41, 26, 72, 73, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 18, 74, 0, 0, 0, 0, 0, 0, + 56, 57, 58, 59, 60, 61, 26, 62, 63, 64, 65, 66, 67, 56, 57, 58, + 59, 68, 25, 26, 62, 59, 69, 70, 71, 72, 40, 73, 26, 74, 75, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 75, 75, 61, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 77, 77, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -24444,15 +24911,16 @@ static RE_UINT8 re_uppercase_table_3[] = { 85, 85, 21, 64, 0, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 170, 0, 255, 0, 0, 0, 0, 0, 15, 0, 15, 0, 15, 0, 31, 0, 15, 132, 56, 39, 62, 80, 61, 15, 192, 32, 0, 0, 0, 8, 0, 0, 0, - 0, 0, 192, 255, 255, 127, 0, 0, 157, 234, 37, 192, 5, 40, 4, 0, - 85, 21, 0, 0, 85, 85, 85, 5, 84, 85, 84, 85, 85, 85, 0, 106, - 85, 40, 69, 85, 85, 125, 95, 85, 244, 2, 0, 0, 0, 0, 32, 0, - 255, 0, 0, 0, 255, 255, 15, 0, 255, 255, 7, 0, 255, 255, 255, 3, - 0, 0, 240, 255, 255, 63, 0, 0, 0, 255, 255, 255, 3, 0, 0, 208, - 100, 222, 63, 0, 255, 3, 0, 0, 176, 231, 223, 31, 0, 0, 0, 123, - 95, 252, 1, 0, 0, 240, 255, 255, 63, 0, 0, 0, 3, 0, 0, 240, - 1, 0, 0, 0, 252, 255, 255, 7, 0, 0, 0, 240, 255, 255, 31, 0, - 255, 1, 0, 0, 0, 4, 0, 0, 3, 0, 0, 0, 255, 3, 255, 255 + 0, 0, 192, 255, 157, 234, 37, 192, 5, 40, 4, 0, 85, 21, 0, 0, + 85, 85, 85, 5, 84, 85, 84, 85, 85, 85, 0, 106, 85, 40, 69, 85, + 85, 125, 95, 85, 245, 2, 65, 1, 0, 0, 32, 0, 255, 0, 0, 0, + 255, 255, 15, 0, 0, 0, 255, 247, 255, 247, 55, 0, 255, 255, 7, 0, + 255, 255, 255, 3, 0, 0, 240, 255, 255, 63, 0, 0, 0, 255, 255, 255, + 3, 0, 0, 208, 100, 222, 63, 0, 255, 3, 0, 0, 176, 231, 223, 31, + 0, 0, 0, 123, 95, 252, 1, 0, 0, 240, 255, 255, 63, 0, 0, 0, + 3, 0, 0, 240, 1, 0, 0, 0, 252, 255, 255, 7, 0, 0, 0, 240, + 255, 255, 31, 0, 255, 127, 0, 0, 255, 1, 0, 0, 0, 4, 0, 0, + 3, 0, 0, 0, 255, 3, 255, 255 }; RE_UINT32 re_get_uppercase(RE_UINT32 codepoint) { @@ -24478,6 +24946,8 @@ RE_UINT32 re_get_uppercase(RE_UINT32 codepoint) { RE_UINT32 re_get_variation_selector(RE_UINT32 codepoint) { if (0x180B <= codepoint && codepoint <= 0x180D) return 1; + if (codepoint == 0x180F) + return 1; if (0xFE00 <= codepoint && codepoint <= 0xFE0F) return 1; if (0x0E0100 <= codepoint && codepoint <= 0x0E01EF) @@ -24599,17 +25069,17 @@ RE_UINT32 re_get_white_space(RE_UINT32 codepoint) { static RE_UINT8 re_word_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 10, 10, 10, 10, 10, 10, 10, 10, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 10, 10, 13, 31, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 10, 10, 10, 10, 10, 10, 10, 10, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 30, 13, 31, 10, 10, 10, 32, 10, 10, 10, 10, 10, 10, 10, 10, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 10, 37, 10, 10, 38, - 10, 10, 10, 10, 39, 40, 41, 10, 42, 10, 43, 44, 45, 10, 46, 10, + 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 37, 38, 10, 10, 39, + 10, 10, 10, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 10, 50, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 47, 13, 13, 13, 48, 49, 13, - 13, 13, 13, 50, 13, 13, 13, 13, 13, 13, 51, 10, 10, 10, 52, 10, - 13, 13, 13, 13, 53, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 51, 13, 13, 13, 52, 53, 13, + 13, 13, 13, 54, 13, 13, 13, 13, 13, 13, 55, 10, 10, 10, 56, 10, + 13, 13, 13, 13, 57, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -24653,7 +25123,7 @@ static RE_UINT8 re_word_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 54, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 58, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -24672,183 +25142,193 @@ static RE_UINT16 re_word_table_2[] = { 6, 6, 6, 6, 6, 6, 7, 8, 6, 6, 6, 9, 10, 11, 6, 12, 6, 6, 6, 6, 11, 6, 6, 6, 6, 13, 14, 6, 15, 16, 17, 18, 19, 6, 6, 20, 6, 6, 21, 22, 23, 6, 24, 6, 6, 25, 6, 26, - 6, 27, 28, 29, 0, 30, 31, 11, 6, 6, 6, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 42, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 52, 6, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 0, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 0, - 6, 6, 79, 6, 80, 6, 81, 82, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 83, 6, 84, 85, 86, 6, 87, 6, 88, 0, 89, 6, 6, 90, - 66, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 91, 3, 6, 6, 92, 93, 94, 95, 96, 6, 6, 97, 98, - 99, 6, 6, 100, 6, 101, 6, 102, 103, 104, 105, 106, 6, 107, 108, 0, - 28, 6, 103, 109, 108, 110, 111, 0, 6, 6, 112, 113, 6, 6, 6, 95, - 6, 114, 115, 80, 116, 88, 117, 67, 6, 6, 6, 6, 6, 6, 6, 118, - 6, 6, 6, 6, 6, 6, 6, 6, 90, 6, 119, 80, 6, 120, 121, 122, - 123, 124, 125, 126, 127, 0, 23, 128, 129, 130, 131, 6, 132, 0, 0, 0, + 6, 27, 28, 29, 30, 6, 6, 11, 6, 6, 6, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 41, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 51, 6, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 0, 68, 69, 70, 0, 71, 72, 73, 74, 75, 76, 77, 0, + 6, 6, 78, 6, 79, 6, 80, 81, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 82, 6, 83, 84, 85, 6, 86, 6, 87, 0, 88, 6, 6, 89, + 65, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 90, 3, 6, 6, 91, 92, 93, 94, 95, 6, 6, 96, 97, + 98, 6, 6, 99, 6, 29, 6, 100, 101, 102, 103, 104, 6, 105, 106, 0, + 28, 6, 101, 107, 106, 108, 109, 0, 6, 6, 110, 111, 6, 6, 6, 94, + 6, 112, 113, 79, 114, 87, 115, 66, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 89, 6, 116, 79, 6, 117, 118, 119, + 120, 121, 122, 123, 124, 0, 23, 125, 126, 127, 128, 6, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 133, 6, 98, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 6, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 134, 103, 6, 6, 6, 6, 135, 6, 81, 6, 136, 137, 138, 138, 6, - 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 141, 66, 6, 142, 66, 6, 82, 143, 13, 6, 6, 144, 6, 0, 23, + 6, 6, 6, 6, 6, 6, 6, 131, 6, 80, 6, 132, 133, 134, 134, 6, + 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 136, 137, 65, 6, 138, 65, 6, 81, 139, 13, 6, 6, 109, 6, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 140, 0, 23, 79, 6, 6, 6, 6, 6, 6, 6, 6, + 141, 142, 6, 143, 6, 6, 6, 25, 144, 145, 6, 6, 146, 6, 147, 148, + 6, 149, 6, 94, 6, 6, 150, 151, 6, 152, 94, 76, 6, 6, 153, 101, + 6, 133, 154, 155, 6, 6, 156, 157, 158, 159, 81, 78, 6, 6, 6, 160, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 77, - 6, 6, 6, 6, 145, 0, 23, 80, 6, 6, 6, 6, 6, 6, 6, 6, - 146, 147, 6, 148, 6, 6, 6, 25, 149, 150, 6, 6, 151, 6, 152, 153, - 6, 154, 6, 95, 6, 6, 155, 156, 6, 157, 95, 77, 6, 6, 158, 103, - 6, 137, 159, 160, 6, 6, 161, 162, 163, 164, 82, 79, 6, 6, 6, 165, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 166, 167, 28, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 161, 162, 28, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 157, 6, 6, 168, 0, 169, 170, 171, 6, 6, 25, 172, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 80, 23, 6, 173, 6, 174, 175, - 89, 176, 177, 178, 6, 6, 6, 77, 1, 2, 3, 105, 6, 103, 179, 0, - 180, 181, 182, 0, 6, 6, 6, 67, 0, 0, 6, 94, 0, 0, 0, 183, - 0, 0, 0, 0, 77, 6, 128, 111, 6, 184, 101, 67, 80, 6, 185, 0, - 6, 6, 6, 6, 80, 79, 186, 28, 6, 187, 6, 188, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 137, 102, 174, 0, 0, 0, 0, - 189, 190, 102, 137, 103, 0, 0, 191, 102, 168, 0, 0, 6, 192, 0, 0, - 193, 194, 0, 77, 77, 0, 74, 195, 6, 102, 102, 196, 25, 0, 0, 0, - 6, 6, 132, 0, 6, 196, 6, 196, 6, 197, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 198, 0, 0, 77, 110, 128, 0, 0, 23, 199, 137, - 6, 6, 195, 200, 6, 67, 23, 201, 6, 30, 202, 203, 6, 6, 204, 0, - 205, 206, 0, 0, 207, 116, 6, 208, 33, 209, 210, 211, 0, 0, 0, 0, - 6, 6, 212, 213, 6, 6, 214, 0, 0, 0, 0, 0, 6, 215, 216, 0, - 6, 6, 217, 0, 6, 100, 98, 0, 88, 112, 0, 0, 0, 0, 0, 0, - 6, 67, 0, 0, 0, 6, 6, 218, 219, 220, 221, 0, 0, 222, 223, 224, - 6, 103, 110, 6, 225, 0, 6, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 226, 5, 227, 228, 173, 229, 0, 0, 230, 231, 197, 232, 233, 98, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 234, 0, 0, + 6, 6, 6, 152, 6, 6, 163, 0, 164, 165, 166, 6, 6, 25, 167, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 79, 23, 6, 168, 6, 169, 170, + 88, 171, 172, 173, 6, 6, 6, 76, 1, 2, 3, 103, 6, 101, 174, 0, + 175, 176, 177, 0, 6, 6, 6, 66, 0, 0, 6, 93, 0, 0, 0, 178, + 0, 0, 0, 0, 76, 6, 125, 179, 6, 180, 29, 66, 79, 6, 181, 0, + 6, 6, 6, 6, 79, 78, 182, 28, 6, 183, 6, 184, 185, 186, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 133, 100, 169, 187, 188, 0, 0, + 189, 190, 100, 133, 101, 0, 0, 191, 100, 163, 0, 0, 6, 192, 0, 0, + 193, 194, 0, 76, 76, 0, 73, 195, 6, 100, 100, 196, 25, 0, 0, 0, + 6, 6, 129, 0, 6, 196, 6, 196, 6, 197, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 198, 0, 0, 76, 108, 125, 23, 199, 23, 200, 133, + 6, 6, 195, 201, 6, 66, 202, 203, 6, 204, 205, 206, 6, 6, 207, 0, + 208, 209, 0, 0, 210, 114, 6, 211, 32, 212, 213, 214, 0, 0, 0, 0, + 6, 6, 215, 216, 6, 6, 217, 0, 0, 0, 0, 0, 6, 218, 219, 0, + 6, 6, 220, 0, 6, 99, 97, 0, 87, 221, 195, 0, 0, 0, 0, 0, + 6, 66, 0, 0, 0, 6, 6, 222, 223, 224, 225, 0, 0, 226, 227, 228, + 6, 101, 108, 6, 229, 23, 6, 99, 0, 0, 0, 0, 0, 0, 0, 0, + 230, 5, 231, 148, 168, 232, 0, 0, 233, 234, 197, 235, 236, 97, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 237, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 168, 0, 0, 0, - 6, 6, 6, 144, 6, 6, 6, 6, 6, 6, 188, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 163, 0, 0, 0, + 6, 6, 6, 109, 6, 6, 6, 6, 6, 6, 238, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 6, 125, + 6, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 100, 103, 98, 0, 0, 23, 106, 6, 137, 221, 235, 89, 0, 0, 0, + 6, 99, 101, 78, 6, 101, 78, 104, 6, 133, 225, 239, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 236, 6, 237, 0, 0, 238, + 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 240, 6, 241, 0, 0, 242, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 114, - 6, 6, 6, 6, 6, 6, 102, 0, 132, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 112, + 6, 6, 6, 6, 6, 6, 100, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 103, 0, 239, 202, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 244, 245, 205, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 28, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 240, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 152, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 249, 250, 0, 0, + 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 204, 6, 252, 253, 254, 6, 255, 256, 257, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 258, 259, 81, 204, 204, 260, 260, 230, 230, 261, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 262, 6, 263, 264, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 243, 244, 0, 0, - 0, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 30, 6, 246, 247, 248, 6, 249, 250, 251, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 252, 253, 82, 30, 30, 134, 134, 226, 226, 254, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, + 266, 267, 0, 0, 0, 0, 0, 0, 6, 268, 269, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 109, 6, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 255, 6, 256, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 259, 260, 0, 0, 0, 0, 0, 0, 6, 261, 262, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 263, 0, 6, 6, 112, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, + 6, 6, 6, 6, 6, 6, 271, 0, 6, 6, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 248, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 79, 79, 98, 0, 0, 0, + 254, 272, 273, 274, 275, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 78, 78, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 80, 0, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 94, 6, 6, 6, 6, 6, 6, - 80, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 99, 6, 6, 6, 6, 6, 6, + 79, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 269, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 277, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 111, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 179, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 89, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 278, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - -static RE_UINT8 re_word_table_3[] = { - 0, 0, 0, 0, 0, 0, 255, 3, 254, 255, 255, 135, 254, 255, 255, 7, - 0, 4, 32, 4, 255, 255, 127, 255, 255, 255, 255, 255, 195, 255, 3, 0, - 31, 80, 0, 0, 255, 255, 223, 188, 64, 215, 255, 255, 251, 255, 255, 255, - 255, 255, 191, 255, 255, 255, 254, 255, 255, 255, 127, 2, 255, 1, 254, 255, - 255, 255, 255, 191, 182, 0, 255, 255, 255, 135, 7, 0, 0, 0, 255, 7, - 255, 195, 255, 255, 255, 255, 239, 159, 255, 253, 255, 159, 0, 0, 255, 255, - 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 63, 36, 255, 63, 0, 0, - 255, 255, 255, 15, 255, 7, 0, 0, 255, 255, 223, 255, 255, 0, 248, 255, - 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, - 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, - 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, - 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 2, 0, - 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 0, 0, - 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, 207, 255, 0, 0, - 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 64, 207, 255, 6, 0, - 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, - 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, - 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, - 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, 255, 31, 254, 255, - 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 255, 3, 255, 255, - 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, - 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, - 255, 255, 255, 231, 255, 255, 0, 0, 255, 255, 63, 63, 255, 159, 255, 255, - 255, 199, 255, 1, 255, 223, 31, 0, 255, 255, 31, 0, 255, 255, 15, 0, - 255, 223, 13, 0, 255, 255, 143, 48, 255, 3, 0, 0, 0, 56, 255, 3, - 255, 255, 255, 1, 255, 7, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, - 255, 15, 255, 15, 192, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, - 255, 3, 255, 3, 255, 255, 255, 159, 128, 0, 255, 255, 1, 0, 0, 0, - 255, 15, 255, 3, 0, 248, 15, 0, 255, 255, 255, 0, 255, 227, 255, 255, - 255, 1, 255, 255, 0, 0, 247, 255, 255, 255, 255, 251, 63, 63, 255, 170, - 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 48, 0, 0, - 0, 0, 0, 128, 1, 0, 16, 0, 0, 0, 2, 128, 0, 0, 255, 31, - 255, 255, 1, 0, 132, 252, 47, 62, 80, 189, 255, 243, 224, 67, 0, 0, - 255, 1, 0, 0, 0, 0, 192, 255, 255, 127, 255, 255, 31, 248, 15, 0, + +static RE_UINT8 re_word_table_3[] = { + 0, 0, 0, 0, 0, 0, 255, 3, 254, 255, 255, 135, 254, 255, 255, 7, + 0, 4, 32, 4, 255, 255, 127, 255, 255, 255, 255, 255, 195, 255, 3, 0, + 31, 80, 0, 0, 255, 255, 223, 188, 64, 215, 255, 255, 251, 255, 255, 255, + 255, 255, 191, 255, 255, 255, 254, 255, 255, 255, 127, 2, 255, 1, 254, 255, + 255, 255, 255, 191, 182, 0, 255, 255, 255, 135, 7, 0, 0, 0, 255, 7, + 255, 195, 255, 255, 255, 255, 239, 159, 255, 253, 255, 159, 0, 0, 255, 255, + 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 63, 36, 255, 63, 0, 0, + 255, 255, 255, 15, 255, 7, 255, 255, 255, 126, 0, 255, 207, 255, 254, 255, + 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, 207, 255, 3, 80, + 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, 192, 255, 63, 0, + 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, 207, 255, 0, 254, + 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 2, 0, 236, 199, 61, 214, + 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 0, 0, 255, 223, 253, 255, + 255, 253, 255, 243, 223, 61, 96, 39, 207, 255, 0, 0, 239, 223, 253, 255, + 255, 253, 239, 243, 223, 61, 96, 96, 207, 255, 6, 0, 223, 125, 240, 128, + 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, 127, 132, 95, 255, + 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, 255, 127, 255, 3, + 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, 1, 0, 0, 3, + 255, 3, 160, 194, 255, 254, 255, 255, 255, 31, 254, 255, 223, 255, 255, 254, + 255, 255, 255, 31, 64, 0, 0, 0, 255, 3, 255, 255, 255, 255, 255, 63, + 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, 255, 61, 255, 255, + 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 255, 231, + 255, 255, 0, 0, 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, + 255, 255, 63, 128, 255, 255, 31, 0, 255, 255, 15, 0, 255, 223, 13, 0, + 255, 255, 143, 48, 255, 3, 0, 0, 0, 184, 255, 3, 255, 255, 255, 1, + 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 15, 192, 255, 255, 255, + 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 3, 255, 255, 255, 159, + 128, 0, 255, 255, 255, 127, 0, 0, 255, 31, 255, 3, 0, 248, 15, 0, + 255, 255, 255, 0, 255, 227, 255, 255, 255, 1, 255, 255, 0, 0, 247, 255, + 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, + 0, 48, 0, 0, 0, 0, 0, 128, 1, 0, 16, 0, 0, 0, 2, 128, + 0, 0, 255, 31, 255, 255, 1, 0, 132, 252, 47, 62, 80, 189, 255, 243, + 224, 67, 0, 0, 255, 1, 0, 0, 0, 0, 192, 255, 31, 248, 15, 0, 255, 128, 0, 128, 255, 255, 127, 0, 127, 127, 127, 127, 0, 128, 0, 0, 224, 0, 0, 0, 254, 255, 62, 31, 255, 255, 127, 230, 224, 255, 255, 255, - 255, 127, 0, 0, 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, - 255, 255, 247, 191, 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, - 252, 7, 0, 0, 0, 0, 224, 255, 255, 16, 0, 0, 63, 0, 255, 3, - 255, 255, 255, 232, 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, - 255, 255, 127, 252, 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, - 0, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, - 255, 255, 24, 0, 0, 224, 0, 0, 0, 0, 223, 255, 252, 252, 252, 28, - 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, + 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, 255, 255, 247, 191, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 255, 16, 0, 0, 63, 0, 255, 3, 255, 255, 255, 232, + 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, 255, 255, 127, 252, + 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 3, + 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, + 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, 255, 255, 24, 0, + 0, 224, 0, 0, 0, 0, 223, 255, 252, 252, 252, 28, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, 1, 0, 0, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, - 15, 0, 0, 0, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, + 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, 191, 255, 255, 255, + 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 255, 255, 63, 135, 127, 0, 0, 0, - 255, 255, 7, 0, 255, 0, 255, 3, 255, 27, 3, 0, 31, 0, 0, 0, - 192, 255, 0, 128, 255, 1, 255, 3, 240, 0, 255, 255, 255, 255, 79, 0, - 31, 222, 255, 23, 255, 255, 251, 255, 255, 255, 255, 64, 127, 189, 255, 191, - 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, 207, 31, 31, 0, - 255, 7, 255, 195, 3, 0, 0, 0, 191, 0, 255, 3, 255, 255, 63, 255, - 1, 0, 0, 63, 17, 0, 255, 3, 255, 3, 0, 128, 127, 242, 111, 255, + 255, 255, 7, 0, 255, 0, 255, 3, 255, 27, 3, 0, 63, 0, 0, 0, + 31, 0, 0, 0, 192, 255, 63, 128, 4, 0, 255, 255, 255, 1, 255, 3, + 255, 255, 223, 255, 240, 0, 255, 255, 255, 255, 79, 0, 31, 222, 255, 23, + 255, 255, 251, 255, 255, 255, 255, 64, 127, 189, 255, 191, 255, 7, 255, 3, + 255, 253, 237, 251, 159, 57, 129, 224, 207, 31, 31, 0, 255, 7, 255, 195, + 3, 0, 0, 0, 191, 0, 255, 3, 255, 255, 63, 255, 1, 0, 0, 63, + 17, 0, 255, 3, 255, 15, 255, 3, 255, 3, 0, 128, 127, 242, 111, 255, 255, 255, 191, 249, 15, 0, 255, 3, 255, 252, 255, 255, 255, 255, 255, 252, 27, 0, 0, 0, 255, 255, 255, 35, 255, 253, 255, 255, 1, 0, 255, 3, - 0, 0, 252, 255, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, - 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, 248, 255, 255, 224, - 255, 135, 255, 255, 255, 128, 255, 255, 27, 0, 3, 0, 0, 0, 7, 0, - 255, 7, 255, 31, 255, 1, 255, 99, 224, 227, 7, 248, 231, 15, 0, 0, - 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, - 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, - 63, 255, 255, 255, 253, 255, 255, 247, 247, 207, 255, 255, 255, 255, 127, 248, - 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, - 219, 7, 0, 0, 255, 31, 255, 63, 255, 67, 0, 0, 31, 0, 127, 0, + 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, + 255, 127, 251, 1, 0, 0, 1, 0, 15, 0, 0, 0, 248, 255, 255, 224, + 255, 135, 255, 255, 255, 128, 255, 255, 27, 0, 3, 0, 0, 0, 239, 111, + 7, 0, 0, 0, 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 99, + 224, 227, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, + 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, + 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, + 255, 127, 255, 255, 247, 207, 255, 255, 255, 255, 127, 248, 255, 31, 32, 0, + 16, 0, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, + 255, 31, 255, 63, 255, 67, 0, 0, 127, 111, 255, 127, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, - 238, 251, 255, 15, 3, 0, 255, 255 + 238, 251, 255, 15, 3, 0, 255, 255, 255, 7, 0, 0 }; RE_UINT32 re_get_word(RE_UINT32 codepoint) { @@ -24876,10 +25356,10 @@ static RE_UINT8 re_word_break_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 13, 14, 15, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 16, 10, 10, 10, 10, 10, 10, 10, 10, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 10, 10, 13, 29, 10, 10, - 10, 30, 10, 10, 10, 10, 10, 10, 10, 10, 31, 32, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 33, 10, 10, 34, - 10, 10, 10, 10, 35, 36, 37, 10, 38, 10, 39, 40, 41, 10, 42, 10, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 10, 29, 13, 30, 10, 10, + 10, 31, 10, 10, 10, 10, 10, 10, 10, 10, 32, 33, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 34, 35, 10, 10, 36, + 10, 10, 10, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 10, 47, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -24928,7 +25408,7 @@ static RE_UINT8 re_word_break_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 43, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 48, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -24947,90 +25427,100 @@ static RE_UINT16 re_word_break_table_2[] = { 7, 7, 7, 7, 7, 7, 8, 7, 9, 9, 9, 10, 11, 12, 7, 13, 7, 7, 7, 7, 14, 7, 7, 7, 7, 15, 16, 7, 17, 18, 19, 20, 21, 7, 22, 23, 7, 7, 24, 25, 26, 27, 28, 7, 7, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 53, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 36, 79, 80, 36, 36, 81, 82, 36, 83, 84, 85, 86, 87, 88, 89, 36, - 36, 90, 91, 92, 93, 7, 94, 95, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 96, 7, 97, 98, 99, 7, 100, 7, 101, 36, 102, 7, 7, 103, + 32, 33, 34, 35, 36, 7, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 52, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 78, 78, 81, 82, 78, 83, 84, 85, 86, 87, 88, 89, 78, + 78, 90, 91, 92, 93, 7, 94, 95, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 96, 7, 97, 98, 99, 7, 100, 7, 101, 78, 102, 7, 7, 103, 104, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 105, 106, 7, 7, 107, 108, 109, 110, 111, 36, 112, 113, 114, - 115, 7, 7, 116, 117, 118, 7, 119, 120, 121, 62, 36, 36, 36, 122, 36, - 123, 36, 124, 125, 126, 127, 128, 36, 129, 130, 131, 132, 133, 134, 7, 135, - 7, 136, 137, 138, 139, 140, 141, 142, 7, 7, 7, 7, 7, 7, 9, 143, - 7, 7, 7, 7, 7, 7, 7, 7, 103, 7, 144, 138, 7, 145, 146, 147, - 148, 149, 150, 151, 152, 36, 127, 153, 154, 155, 156, 7, 157, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 158, 7, 159, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 160, 120, 7, 7, 7, 7, 161, 7, 94, 7, 162, 163, 164, 164, 9, - 36, 165, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 166, 167, 36, 36, 168, 169, 169, 170, 171, 15, 7, 7, 172, 7, 36, 173, - 36, 36, 36, 36, 36, 36, 173, 174, 169, 169, 175, 36, 36, 36, 36, 36, + 7, 7, 7, 105, 106, 7, 7, 107, 108, 109, 110, 111, 78, 112, 113, 114, + 115, 7, 7, 116, 117, 118, 7, 119, 120, 121, 61, 78, 78, 78, 122, 78, + 123, 78, 124, 125, 126, 127, 128, 78, 129, 130, 131, 132, 133, 134, 7, 135, + 7, 136, 137, 138, 139, 140, 141, 142, 7, 7, 7, 7, 7, 7, 9, 9, + 7, 7, 7, 7, 7, 7, 7, 7, 103, 7, 143, 138, 7, 144, 145, 146, + 147, 148, 149, 150, 151, 78, 127, 152, 153, 154, 155, 7, 156, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 157, 7, 158, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 7, 7, 7, 7, 7, 7, 7, 159, 7, 94, 7, 160, 161, 162, 162, 9, + 78, 163, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 164, 165, 78, 78, 166, 167, 167, 168, 169, 15, 7, 7, 170, 7, 78, 171, + 78, 78, 78, 78, 78, 78, 171, 172, 167, 167, 173, 78, 78, 78, 78, 78, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 176, 36, 177, 138, 7, 7, 7, 7, 7, 7, 7, 7, - 178, 179, 7, 180, 181, 7, 7, 182, 183, 7, 7, 7, 7, 7, 184, 185, - 186, 187, 7, 188, 189, 130, 190, 191, 30, 192, 193, 194, 40, 195, 196, 197, - 7, 198, 199, 200, 36, 201, 202, 203, 204, 205, 7, 206, 7, 7, 7, 207, + 7, 7, 7, 7, 174, 78, 175, 138, 7, 7, 7, 7, 7, 7, 7, 7, + 176, 177, 7, 178, 179, 7, 7, 180, 181, 7, 7, 7, 7, 7, 182, 183, + 184, 185, 7, 186, 187, 130, 188, 189, 30, 190, 191, 192, 39, 193, 194, 195, + 7, 196, 197, 198, 78, 199, 200, 201, 202, 203, 7, 204, 7, 7, 7, 205, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 208, 209, 210, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 211, 212, 213, 7, 7, 214, 215, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 138, 177, 7, 216, 7, 217, 218, - 219, 220, 221, 222, 7, 7, 7, 223, 224, 2, 3, 225, 226, 120, 227, 228, - 229, 230, 231, 36, 7, 7, 7, 232, 36, 36, 7, 233, 36, 36, 36, 234, - 36, 36, 36, 36, 194, 7, 235, 128, 7, 236, 237, 238, 138, 7, 239, 36, - 7, 7, 7, 7, 138, 240, 241, 210, 7, 242, 7, 243, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 163, 119, 217, 36, 36, 36, 36, - 244, 245, 119, 163, 120, 36, 36, 246, 119, 247, 36, 36, 7, 8, 36, 36, - 248, 249, 36, 194, 194, 36, 85, 250, 7, 119, 119, 251, 214, 36, 36, 36, - 7, 7, 157, 36, 7, 251, 7, 251, 7, 252, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 7, 253, 36, 36, 194, 254, 255, 36, 36, 177, 256, 163, - 133, 257, 258, 259, 133, 260, 261, 262, 133, 263, 264, 265, 133, 195, 266, 36, - 267, 268, 36, 36, 269, 139, 270, 271, 272, 273, 274, 275, 36, 36, 36, 36, - 7, 276, 277, 278, 7, 27, 279, 36, 36, 36, 36, 36, 7, 280, 281, 36, - 7, 27, 282, 36, 7, 283, 114, 36, 284, 285, 36, 36, 36, 36, 36, 36, - 7, 286, 36, 36, 36, 7, 7, 287, 288, 289, 290, 36, 36, 291, 292, 293, - 294, 295, 296, 7, 297, 36, 7, 116, 36, 36, 36, 36, 36, 36, 36, 36, - 298, 299, 300, 301, 302, 303, 36, 36, 304, 305, 306, 307, 308, 114, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 309, 36, 36, 36, 36, 36, 310, 36, 36, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 206, 207, 208, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 209, 210, 211, 7, 7, 212, 213, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 138, 175, 7, 214, 7, 215, 216, + 217, 218, 219, 220, 7, 7, 7, 221, 222, 2, 3, 223, 224, 120, 225, 226, + 227, 228, 229, 78, 7, 7, 7, 230, 78, 78, 7, 231, 78, 78, 78, 232, + 78, 78, 78, 78, 192, 7, 233, 234, 7, 235, 35, 236, 138, 7, 237, 78, + 7, 7, 7, 7, 138, 238, 239, 208, 7, 240, 7, 241, 242, 243, 78, 78, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 161, 119, 215, 244, 245, 78, 78, + 246, 247, 119, 161, 120, 78, 78, 248, 119, 249, 78, 78, 7, 8, 78, 78, + 250, 251, 78, 192, 192, 78, 85, 252, 7, 119, 119, 253, 212, 78, 78, 78, + 7, 7, 156, 78, 7, 253, 7, 253, 7, 254, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 7, 255, 78, 78, 192, 256, 257, 175, 258, 175, 259, 161, + 133, 260, 261, 262, 133, 263, 264, 265, 133, 266, 267, 268, 133, 193, 269, 78, + 270, 271, 78, 78, 272, 139, 273, 274, 275, 276, 277, 278, 78, 78, 78, 78, + 7, 279, 280, 281, 7, 27, 282, 78, 78, 78, 78, 78, 7, 283, 284, 78, + 7, 27, 285, 78, 7, 286, 114, 78, 287, 288, 78, 78, 78, 78, 78, 78, + 7, 289, 78, 78, 78, 7, 7, 290, 291, 292, 293, 78, 78, 294, 295, 296, + 297, 298, 299, 7, 300, 175, 7, 116, 78, 78, 78, 78, 78, 78, 78, 78, + 301, 302, 303, 183, 304, 305, 78, 78, 306, 307, 308, 309, 310, 114, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 311, 78, 78, 78, 78, 78, 312, 78, 78, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 247, 36, 36, 36, - 7, 7, 7, 172, 7, 7, 7, 7, 7, 7, 243, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 311, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 249, 78, 78, 78, + 7, 7, 7, 170, 7, 7, 7, 7, 7, 7, 313, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 175, 7, 7, 233, + 7, 314, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 312, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 7, 7, 315, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 116, 120, 114, 36, 36, 177, 313, 7, 314, 315, 316, 102, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 7, 7, 36, 36, 36, 36, 7, 7, 317, 9, 318, 36, 36, 319, - 320, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 321, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 322, 323, 324, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 325, 326, 327, 36, 36, - 36, 36, 328, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 37, 7, 329, 330, 331, 7, 332, 333, 334, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 335, 336, 95, 37, 37, 160, 160, 298, 298, 337, 338, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 9, 339, 9, 340, 341, 342, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 343, 344, 36, 36, 36, 36, 36, 36, 7, 345, 346, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 7, 347, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 348, 36, 7, 7, 349, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 331, 350, 351, 352, 353, 354, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 177, 206, 206, 159, 36, 36, 355, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 356, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 122, - 357, 9, 9, 9, 36, 36, 36, 36, 9, 9, 9, 9, 9, 9, 9, 358, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 + 7, 116, 120, 238, 7, 120, 238, 316, 7, 317, 318, 319, 102, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 7, 7, 78, 78, 78, 78, 7, 7, 320, 9, 321, 78, 78, 322, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 323, + 324, 78, 78, 78, 78, 78, 78, 78, 78, 325, 78, 326, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 7, 7, 7, 327, 328, 329, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 9, 330, 261, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 331, 332, 333, 78, 78, + 78, 78, 334, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 7, 7, 335, 7, 336, 337, 338, 7, 339, 340, 341, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 342, 343, 95, 335, 335, 344, 344, 301, 301, 345, 346, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 9, 347, 9, 348, 349, 350, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 120, 78, 78, 78, 78, 78, 78, 78, + 351, 352, 78, 78, 78, 78, 78, 78, 7, 353, 354, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 175, 355, 7, 356, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 357, + 7, 7, 7, 7, 7, 7, 358, 78, 7, 7, 359, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 338, 360, 361, 362, 363, 364, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 175, 204, 204, 158, 78, 78, 365, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 366, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 122, + 367, 9, 9, 9, 78, 78, 78, 78, 9, 9, 9, 9, 9, 9, 9, 368, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78 }; static RE_UINT8 re_word_break_table_3[] = { @@ -25105,13 +25595,11 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 0, + 13, 13, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25163,9 +25651,9 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 11, 14, 14, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 14, 11, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 0, 14, 14, 14, 14, 0, 0, - 0, 0, 0, 0, 0, 14, 14, 0, 11, 11, 11, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 14, 14, 0, 11, 11, 11, 0, 0, 11, 0, 0, 11, 11, 14, 14, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 14, 14, 14, 0, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, @@ -25173,7 +25661,7 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 0, 0, 14, 11, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 0, 14, 14, 14, 14, 0, 0, - 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 11, 11, 0, 11, 11, 14, 14, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, @@ -25193,6 +25681,8 @@ static RE_UINT8 re_word_break_table_3[] = { 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, @@ -25250,8 +25740,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, - 11, 11, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25264,7 +25754,7 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, 14, 14, 14, 13, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 13, 14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, @@ -25290,13 +25780,13 @@ static RE_UINT8 re_word_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -25320,8 +25810,6 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 11, 11, 11, 14, 11, 11, 11, 11, 11, 11, 14, 11, 11, 14, 14, 14, 11, 0, 0, 0, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 0, 0, 11, 11, 11, 11, 11, 11, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 0, 11, 0, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25354,8 +25842,6 @@ static RE_UINT8 re_word_break_table_3[] = { 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 14, 14, 14, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 11, @@ -25402,10 +25888,10 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, + 11, 11, 0, 11, 0, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 11, 11, 11, 14, 11, 11, 11, 11, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 0, 0, 0, 0, 14, 0, 0, 0, @@ -25506,10 +25992,10 @@ static RE_UINT8 re_word_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 11, 11, 11, 11, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25521,7 +26007,15 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, + 11, 11, 11, 0, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 0, 0, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25546,6 +26040,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25553,10 +26049,10 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, + 14, 11, 11, 14, 14, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 13, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, @@ -25636,8 +26132,6 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, @@ -25656,6 +26150,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -25674,8 +26170,12 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, @@ -25684,6 +26184,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 14, 14, 0, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, @@ -25693,6 +26195,8 @@ static RE_UINT8 re_word_break_table_3[] = { 0, 0, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 0, 0, 11, 0, 0, 11, 11, 0, 0, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 0, 11, 11, 11, @@ -25708,6 +26212,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -25728,8 +26234,12 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 0, 11, 11, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 11, 0, 0, 0, 0, @@ -25881,7 +26391,7 @@ static RE_UINT8 re_xdigit_table_2[] = { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, @@ -25921,17 +26431,17 @@ RE_UINT32 re_get_xdigit(RE_UINT32 codepoint) { static RE_UINT8 re_xid_continue_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 14, 12, 15, 16, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 17, 9, 9, 9, 9, 9, 9, 9, 9, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 9, 9, 12, 30, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 15, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 16, 9, 9, 9, 9, 9, 9, 9, 9, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 9, 29, 12, 30, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 12, 12, 12, 12, - 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 9, 36, 9, 9, 37, - 9, 9, 9, 9, 38, 39, 40, 9, 41, 9, 42, 43, 9, 9, 44, 9, + 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 36, 37, 9, 9, 38, + 9, 9, 9, 39, 40, 41, 42, 43, 44, 45, 46, 47, 9, 9, 48, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 45, 12, 12, 12, 46, 47, 12, - 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 49, 9, 9, 9, 50, 9, - 12, 12, 12, 12, 51, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 49, 12, 12, 12, 50, 51, 12, + 12, 12, 12, 52, 12, 12, 12, 12, 12, 12, 53, 9, 9, 9, 54, 9, + 12, 12, 12, 12, 55, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -25975,7 +26485,7 @@ static RE_UINT8 re_xid_continue_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 52, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 56, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -25994,107 +26504,115 @@ static RE_UINT16 re_xid_continue_table_2[] = { 6, 6, 6, 6, 6, 6, 7, 8, 6, 6, 6, 9, 10, 11, 6, 12, 6, 6, 6, 6, 13, 6, 6, 6, 6, 14, 15, 6, 16, 17, 18, 19, 20, 6, 6, 21, 6, 6, 22, 23, 24, 6, 25, 6, 6, 26, 6, 27, - 6, 28, 29, 30, 0, 31, 32, 11, 6, 6, 6, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 43, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 53, 6, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 0, 70, 71, 72, 0, 73, 74, 75, 76, 77, 78, 79, 0, - 6, 6, 80, 6, 81, 6, 82, 83, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 84, 6, 85, 86, 87, 6, 88, 6, 89, 90, 91, 6, 6, 92, - 67, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 93, 3, 6, 6, 94, 95, 96, 97, 98, 6, 6, 99, 100, - 101, 6, 6, 102, 6, 103, 6, 104, 105, 106, 107, 108, 6, 109, 110, 0, - 29, 6, 105, 111, 112, 113, 114, 0, 6, 6, 115, 116, 6, 6, 6, 97, - 6, 117, 118, 81, 119, 89, 120, 68, 6, 6, 6, 6, 6, 6, 6, 121, - 6, 6, 6, 6, 6, 6, 6, 6, 92, 6, 122, 81, 6, 123, 124, 125, - 0, 126, 127, 128, 129, 0, 129, 130, 131, 132, 133, 6, 134, 0, 0, 0, + 6, 28, 29, 30, 31, 6, 6, 11, 6, 6, 6, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 42, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 52, 6, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 0, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 0, + 6, 6, 79, 6, 80, 6, 81, 82, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 83, 6, 84, 85, 86, 6, 87, 6, 88, 89, 90, 6, 6, 91, + 66, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 92, 3, 6, 6, 93, 94, 95, 96, 97, 6, 6, 98, 99, + 100, 6, 6, 101, 6, 30, 6, 102, 103, 104, 105, 106, 6, 107, 108, 0, + 29, 6, 103, 109, 110, 111, 112, 0, 6, 6, 113, 114, 6, 6, 6, 96, + 6, 115, 116, 80, 117, 88, 118, 67, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 91, 6, 119, 80, 6, 120, 121, 122, + 0, 123, 124, 125, 126, 0, 126, 127, 128, 129, 130, 6, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 135, 105, 6, 6, 6, 6, 136, 6, 82, 6, 137, 138, 139, 139, 6, + 6, 6, 6, 6, 6, 6, 6, 132, 6, 81, 6, 133, 134, 135, 135, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 141, 67, 6, 142, 67, 6, 83, 143, 14, 6, 6, 144, 6, 0, 24, + 136, 137, 66, 6, 138, 66, 6, 82, 139, 14, 6, 6, 112, 6, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 140, 0, 24, 80, 6, 6, 6, 6, 6, 6, 6, 6, + 141, 142, 6, 143, 6, 6, 6, 26, 144, 145, 6, 6, 146, 6, 147, 148, + 6, 149, 6, 96, 6, 6, 150, 151, 6, 152, 96, 77, 6, 6, 153, 103, + 6, 134, 154, 155, 6, 6, 156, 157, 158, 159, 82, 79, 6, 6, 6, 160, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 78, - 6, 6, 6, 6, 145, 0, 24, 81, 6, 6, 6, 6, 6, 6, 6, 6, - 146, 147, 6, 148, 6, 6, 6, 26, 149, 150, 6, 6, 151, 6, 152, 153, - 6, 154, 6, 97, 6, 6, 155, 156, 6, 157, 97, 78, 6, 6, 158, 105, - 6, 138, 159, 160, 6, 6, 161, 162, 163, 164, 83, 80, 6, 6, 6, 165, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 166, 167, 29, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 161, 162, 29, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 157, 6, 6, 168, 0, 169, 170, 171, 6, 6, 26, 172, 6, - 6, 6, 81, 173, 6, 6, 6, 6, 6, 81, 24, 6, 174, 6, 175, 1, - 91, 176, 177, 178, 6, 6, 6, 78, 1, 2, 3, 107, 6, 105, 179, 0, - 180, 181, 182, 0, 6, 6, 6, 68, 0, 0, 6, 96, 0, 0, 0, 183, - 0, 0, 0, 0, 78, 6, 184, 114, 6, 185, 103, 68, 81, 6, 186, 0, - 6, 6, 6, 6, 81, 80, 187, 29, 6, 188, 6, 189, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 138, 104, 175, 0, 0, 0, 0, - 190, 191, 104, 138, 105, 0, 0, 192, 104, 168, 0, 0, 6, 193, 0, 0, - 194, 195, 0, 78, 78, 0, 75, 196, 6, 104, 104, 197, 26, 0, 0, 0, - 6, 6, 134, 0, 6, 197, 6, 197, 6, 198, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 199, 0, 0, 78, 200, 184, 0, 0, 24, 201, 138, - 6, 6, 196, 202, 6, 68, 24, 203, 6, 31, 204, 205, 6, 6, 206, 0, - 207, 208, 0, 0, 209, 119, 6, 210, 34, 211, 212, 213, 0, 0, 0, 0, - 6, 6, 214, 215, 6, 6, 216, 0, 0, 0, 0, 0, 6, 217, 218, 0, - 6, 6, 219, 0, 6, 102, 100, 0, 89, 115, 0, 0, 0, 0, 0, 0, - 6, 68, 0, 0, 0, 6, 6, 220, 221, 222, 223, 0, 0, 224, 225, 226, - 6, 105, 200, 6, 227, 0, 6, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 5, 229, 230, 174, 231, 0, 0, 232, 233, 198, 234, 235, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 236, 0, 0, + 6, 6, 6, 152, 6, 6, 163, 0, 164, 165, 166, 6, 6, 26, 167, 6, + 6, 6, 80, 168, 6, 6, 6, 6, 6, 80, 24, 6, 169, 6, 170, 1, + 90, 171, 172, 173, 6, 6, 6, 77, 1, 2, 3, 105, 6, 103, 174, 0, + 175, 176, 177, 0, 6, 6, 6, 67, 0, 0, 6, 95, 0, 0, 0, 178, + 0, 0, 0, 0, 77, 6, 179, 180, 6, 181, 30, 67, 80, 6, 182, 0, + 6, 6, 6, 6, 80, 79, 183, 29, 6, 184, 6, 185, 186, 187, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 134, 102, 170, 188, 189, 0, 0, + 190, 191, 102, 134, 103, 0, 0, 192, 102, 163, 0, 0, 6, 193, 0, 0, + 194, 195, 0, 77, 77, 0, 74, 196, 6, 102, 102, 197, 26, 0, 0, 0, + 6, 6, 131, 0, 6, 197, 6, 197, 6, 198, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 199, 0, 0, 77, 200, 179, 24, 201, 24, 202, 134, + 6, 6, 196, 203, 6, 67, 204, 205, 6, 206, 207, 208, 6, 6, 209, 0, + 210, 211, 0, 0, 212, 117, 6, 213, 33, 214, 215, 216, 0, 0, 0, 0, + 6, 6, 217, 218, 6, 6, 219, 0, 0, 0, 0, 0, 6, 220, 221, 0, + 6, 6, 222, 0, 6, 101, 99, 0, 88, 223, 196, 0, 0, 0, 0, 0, + 6, 67, 0, 0, 0, 6, 6, 224, 225, 226, 227, 0, 0, 228, 229, 230, + 6, 103, 200, 6, 231, 24, 6, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 232, 5, 233, 148, 169, 234, 0, 0, 235, 236, 198, 237, 238, 99, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 239, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 168, 0, 0, 0, - 6, 6, 6, 144, 6, 6, 6, 6, 6, 6, 189, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 163, 0, 0, 0, + 6, 6, 6, 112, 6, 6, 6, 6, 6, 6, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 6, 179, + 6, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 102, 105, 100, 0, 0, 24, 108, 6, 138, 223, 237, 91, 0, 0, 0, + 6, 101, 103, 79, 6, 103, 79, 106, 6, 134, 227, 241, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 238, 6, 239, 0, 0, 240, + 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 242, 6, 243, 0, 0, 244, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 117, - 6, 6, 6, 6, 6, 6, 104, 0, 134, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 115, + 6, 6, 6, 6, 6, 6, 102, 0, 131, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 105, 0, 241, 204, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 246, 247, 207, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 242, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 248, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 152, 196, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 251, 252, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 206, 6, 254, 255, 256, 6, 257, 258, 259, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 260, 261, 82, 206, 206, 262, 262, 232, 232, 263, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 245, 246, 0, 0, - 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 31, 6, 248, 249, 250, 6, 251, 252, 253, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 254, 255, 83, 31, 31, 135, 135, 228, 228, 256, 6, + 6, 264, 6, 265, 266, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 257, 6, 258, 259, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 261, 262, 0, 0, 0, 0, 0, 0, 6, 263, 264, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 265, 0, 6, 6, 115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, + 268, 269, 0, 0, 0, 0, 0, 0, 6, 270, 271, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 112, 6, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, + 6, 6, 6, 6, 6, 6, 273, 0, 6, 6, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 266, 267, 268, 269, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 256, 274, 275, 276, 277, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 81, 0, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 96, 6, 6, 6, 6, 6, 6, - 81, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 101, 6, 6, 6, 6, 6, 6, + 80, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 271, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 279, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 114, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 180, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 91, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 280, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -26106,67 +26624,70 @@ static RE_UINT8 re_xid_continue_table_3[] = { 255, 1, 254, 255, 255, 255, 255, 191, 182, 0, 255, 255, 255, 135, 7, 0, 0, 0, 255, 7, 255, 195, 255, 255, 255, 255, 239, 159, 255, 253, 255, 159, 0, 0, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 63, 36, - 255, 63, 0, 0, 255, 255, 255, 15, 255, 7, 0, 0, 255, 255, 223, 255, - 255, 0, 248, 255, 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, - 159, 121, 128, 176, 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, - 135, 57, 2, 94, 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, - 191, 59, 1, 0, 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, - 207, 255, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, - 192, 255, 0, 0, 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, - 207, 255, 0, 0, 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 64, - 207, 255, 6, 0, 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, - 255, 255, 251, 47, 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, - 255, 255, 255, 7, 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, - 95, 63, 255, 243, 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, - 255, 31, 254, 255, 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, - 255, 3, 255, 255, 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, - 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, - 255, 255, 61, 255, 255, 255, 255, 231, 0, 254, 3, 0, 255, 255, 0, 0, - 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, 255, 223, 31, 0, - 255, 255, 31, 0, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 143, 48, - 255, 3, 0, 0, 0, 56, 255, 3, 255, 255, 255, 1, 255, 7, 255, 255, - 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 15, 192, 255, 255, 255, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 7, 255, 255, 255, 159, - 255, 3, 255, 3, 128, 0, 255, 191, 1, 0, 0, 0, 255, 15, 255, 3, - 0, 248, 15, 0, 255, 255, 255, 0, 255, 227, 255, 255, 255, 1, 255, 255, - 0, 0, 247, 255, 255, 255, 255, 251, 63, 63, 255, 170, 255, 255, 223, 95, - 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 0, 128, 1, 0, 16, 0, - 0, 0, 2, 128, 0, 0, 255, 31, 226, 255, 1, 0, 132, 252, 47, 63, - 80, 253, 255, 243, 224, 67, 0, 0, 255, 1, 0, 0, 255, 127, 255, 255, + 255, 63, 0, 0, 255, 255, 255, 15, 255, 7, 255, 255, 255, 126, 0, 255, + 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, + 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, + 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, + 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 2, 0, + 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 0, 0, + 255, 223, 253, 255, 255, 253, 255, 243, 223, 61, 96, 39, 207, 255, 0, 0, + 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 96, 207, 255, 6, 0, + 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, + 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, + 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, + 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, 255, 31, 254, 255, + 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 255, 3, 255, 255, + 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 231, 0, 254, 3, 0, 255, 255, 0, 0, 255, 255, 63, 63, + 255, 159, 255, 255, 255, 199, 255, 1, 255, 255, 63, 128, 255, 255, 31, 0, + 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 143, 48, 255, 3, 0, 0, + 0, 184, 255, 3, 255, 255, 255, 1, 255, 255, 63, 0, 255, 255, 255, 127, + 255, 15, 255, 15, 192, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, + 255, 3, 255, 7, 255, 255, 255, 159, 255, 3, 255, 3, 128, 0, 255, 191, + 255, 127, 0, 0, 255, 31, 255, 3, 0, 248, 15, 0, 255, 255, 255, 0, + 255, 227, 255, 255, 255, 1, 255, 255, 0, 0, 247, 255, 63, 63, 255, 170, + 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 0, 128, + 1, 0, 16, 0, 0, 0, 2, 128, 0, 0, 255, 31, 226, 255, 1, 0, + 132, 252, 47, 63, 80, 253, 255, 243, 224, 67, 0, 0, 255, 1, 0, 0, 31, 248, 15, 0, 255, 128, 0, 128, 255, 255, 127, 0, 127, 127, 127, 127, 224, 0, 0, 0, 254, 255, 62, 31, 255, 255, 127, 230, 224, 255, 255, 255, - 255, 127, 0, 0, 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, - 255, 255, 240, 191, 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, - 252, 7, 0, 0, 0, 0, 224, 255, 255, 16, 0, 0, 63, 0, 255, 3, - 255, 255, 255, 232, 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, - 255, 255, 127, 252, 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, - 0, 0, 248, 255, 240, 255, 255, 255, 255, 255, 252, 255, 255, 0, 0, 0, - 255, 255, 24, 0, 0, 224, 0, 0, 0, 0, 138, 170, 252, 252, 252, 28, - 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, - 255, 255, 1, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, - 255, 0, 255, 255, 15, 0, 0, 0, 63, 253, 255, 255, 255, 255, 191, 145, + 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, 255, 255, 240, 191, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 255, 16, 0, 0, 63, 0, 255, 3, 255, 255, 255, 232, + 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, 255, 255, 127, 252, + 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 3, + 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, + 240, 255, 255, 255, 255, 255, 252, 255, 255, 0, 0, 0, 255, 255, 24, 0, + 0, 224, 0, 0, 0, 0, 138, 170, 252, 252, 252, 28, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, 255, 255, 1, 0, + 1, 0, 0, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, + 255, 0, 255, 255, 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 255, 255, 63, 135, 127, 0, 0, 0, 255, 255, 7, 0, 255, 0, 255, 3, 255, 27, 3, 0, - 128, 0, 255, 255, 31, 0, 0, 0, 192, 255, 0, 128, 255, 1, 255, 3, - 240, 0, 255, 255, 255, 255, 79, 0, 31, 222, 255, 23, 255, 255, 251, 255, - 255, 255, 255, 64, 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, - 159, 57, 129, 224, 207, 31, 31, 0, 255, 7, 255, 195, 3, 0, 0, 0, - 191, 0, 255, 3, 255, 255, 63, 255, 1, 0, 0, 63, 17, 0, 255, 3, + 128, 0, 255, 255, 63, 0, 0, 0, 31, 0, 0, 0, 192, 255, 63, 128, + 4, 0, 255, 255, 255, 1, 255, 3, 255, 255, 223, 255, 240, 0, 255, 255, + 255, 255, 79, 0, 31, 222, 255, 23, 255, 255, 251, 255, 255, 255, 255, 64, + 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, + 207, 31, 31, 0, 255, 7, 255, 195, 3, 0, 0, 0, 191, 0, 255, 3, + 255, 255, 63, 255, 1, 0, 0, 63, 17, 0, 255, 3, 255, 15, 255, 3, 255, 3, 0, 128, 127, 242, 111, 255, 255, 255, 191, 249, 15, 0, 255, 3, 255, 252, 255, 255, 255, 255, 255, 252, 27, 0, 0, 0, 255, 255, 255, 35, - 255, 253, 255, 255, 1, 0, 255, 3, 0, 0, 252, 255, 255, 254, 127, 0, - 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, - 0, 0, 1, 0, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, - 27, 0, 3, 0, 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 99, - 224, 227, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, - 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, - 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, - 247, 207, 255, 255, 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, - 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, - 255, 67, 0, 0, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, - 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 255, 253, 255, 255, 1, 0, 255, 3, 255, 254, 127, 0, 127, 251, 255, 255, + 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, + 15, 0, 0, 0, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, + 27, 0, 3, 0, 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, + 255, 7, 255, 31, 255, 1, 255, 99, 224, 227, 7, 248, 231, 15, 0, 0, + 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, + 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, + 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, 247, 207, 255, 255, + 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, + 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, 255, 67, 0, 0, + 127, 111, 255, 127, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, + 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255, + 255, 7, 0, 0 }; RE_UINT32 re_get_xid_continue(RE_UINT32 codepoint) { @@ -26192,17 +26713,17 @@ RE_UINT32 re_get_xid_continue(RE_UINT32 codepoint) { static RE_UINT8 re_xid_start_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 14, 12, 15, 16, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 17, 9, 9, 9, 9, 9, 9, 9, 9, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 9, 9, 12, 30, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 15, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 16, 9, 9, 9, 9, 9, 9, 9, 9, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 9, 29, 12, 30, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 12, 12, 12, 12, - 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 9, 36, 9, 9, 37, - 9, 9, 9, 9, 9, 38, 9, 9, 39, 9, 40, 41, 9, 9, 9, 9, + 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 36, 37, 9, 9, 38, + 9, 9, 9, 9, 9, 39, 9, 40, 41, 42, 43, 44, 9, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 42, 12, 12, 12, 43, 44, 12, - 12, 12, 12, 45, 12, 12, 12, 12, 12, 12, 46, 9, 9, 9, 47, 9, - 12, 12, 12, 12, 48, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 45, 12, 12, 12, 46, 47, 12, + 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 49, 9, 9, 9, 50, 9, + 12, 12, 12, 12, 51, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -26265,96 +26786,102 @@ static RE_UINT8 re_xid_start_table_2[] = { 4, 4, 4, 4, 4, 4, 5, 6, 0, 0, 0, 7, 8, 9, 4, 10, 4, 4, 4, 4, 11, 4, 4, 4, 4, 12, 13, 4, 14, 0, 15, 16, 0, 4, 17, 18, 4, 4, 19, 20, 21, 22, 23, 4, 4, 24, 25, 26, - 27, 28, 29, 17, 0, 30, 31, 0, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 45, 49, 50, 51, 52, 46, 0, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 0, - 68, 69, 67, 0, 70, 71, 72, 0, 73, 0, 74, 75, 76, 0, 0, 0, - 4, 77, 78, 79, 80, 4, 81, 82, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 83, 4, 84, 85, 86, 4, 87, 4, 88, 0, 22, 4, 4, 89, - 68, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 90, 1, 4, 4, 91, 92, 93, 93, 94, 4, 95, 96, 0, - 0, 4, 4, 29, 4, 97, 4, 98, 99, 0, 15, 100, 4, 101, 102, 0, - 103, 4, 104, 0, 0, 105, 0, 0, 106, 95, 107, 0, 108, 109, 4, 110, + 27, 28, 29, 30, 31, 4, 32, 0, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 46, 50, 51, 52, 53, 47, 0, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, + 69, 70, 68, 0, 71, 72, 73, 0, 74, 0, 75, 76, 77, 0, 0, 0, + 4, 78, 79, 80, 81, 4, 82, 83, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 84, 4, 85, 86, 87, 4, 88, 4, 89, 0, 22, 4, 4, 90, + 69, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 91, 1, 4, 4, 92, 93, 94, 94, 95, 4, 96, 97, 0, + 0, 4, 4, 29, 4, 98, 4, 99, 100, 0, 15, 101, 4, 102, 32, 0, + 103, 4, 104, 0, 0, 105, 0, 0, 106, 96, 107, 0, 108, 109, 4, 110, 4, 111, 112, 113, 114, 115, 0, 116, 4, 4, 4, 4, 4, 4, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 89, 4, 117, 113, 4, 118, 119, 120, + 4, 4, 4, 4, 4, 4, 4, 4, 90, 4, 117, 113, 4, 118, 119, 120, 0, 0, 0, 121, 122, 0, 0, 0, 123, 124, 125, 4, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 126, 99, 4, 4, 4, 4, 127, 4, 81, 4, 128, 103, 129, 129, 0, + 4, 4, 4, 4, 4, 4, 4, 126, 4, 82, 4, 127, 103, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 130, 131, 68, 4, 132, 68, 4, 82, 106, 12, 4, 4, 133, 4, 0, 15, + 129, 130, 69, 4, 131, 69, 4, 83, 106, 12, 4, 4, 132, 4, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 76, 0, 15, 113, 4, 4, 4, 4, 4, 4, 4, 4, + 133, 134, 4, 135, 113, 4, 4, 22, 136, 137, 4, 4, 138, 4, 139, 140, + 141, 142, 4, 96, 137, 96, 0, 143, 25, 144, 68, 145, 33, 146, 147, 148, + 4, 14, 149, 150, 4, 151, 152, 153, 154, 155, 83, 156, 4, 4, 4, 142, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 134, - 4, 4, 4, 4, 75, 0, 15, 113, 4, 4, 4, 4, 4, 4, 4, 4, - 135, 136, 4, 137, 113, 4, 4, 22, 138, 139, 4, 4, 140, 4, 141, 142, - 143, 144, 4, 95, 139, 95, 0, 145, 25, 146, 67, 134, 32, 147, 148, 149, - 4, 14, 150, 151, 4, 152, 153, 154, 155, 156, 82, 157, 4, 4, 4, 144, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 158, 159, 160, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 157, 158, 159, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 161, 4, 4, 162, 0, 163, 164, 165, 4, 4, 93, 166, 4, - 4, 4, 113, 32, 4, 4, 4, 4, 4, 113, 15, 4, 167, 4, 31, 168, - 0, 0, 0, 169, 4, 4, 4, 134, 0, 1, 1, 170, 113, 99, 171, 0, - 172, 173, 174, 0, 4, 4, 4, 88, 0, 0, 4, 104, 0, 0, 0, 0, - 0, 0, 0, 0, 134, 4, 175, 0, 4, 23, 176, 98, 113, 4, 177, 0, - 4, 4, 4, 4, 113, 15, 178, 160, 4, 179, 4, 111, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 103, 98, 31, 0, 0, 0, 0, - 180, 181, 98, 103, 99, 0, 0, 182, 98, 162, 0, 0, 4, 183, 0, 0, - 184, 98, 0, 134, 134, 0, 74, 185, 4, 98, 98, 147, 93, 0, 0, 0, - 4, 4, 14, 0, 4, 147, 4, 147, 4, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 186, 0, 0, 134, 187, 110, 0, 0, 15, 185, 103, - 108, 188, 0, 0, 108, 22, 15, 14, 108, 67, 189, 190, 108, 147, 191, 0, - 192, 193, 0, 0, 194, 114, 99, 0, 48, 45, 195, 56, 0, 0, 0, 0, - 4, 104, 196, 56, 4, 22, 197, 0, 0, 0, 0, 0, 4, 133, 198, 0, - 4, 22, 199, 0, 4, 200, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, - 4, 193, 0, 0, 0, 4, 4, 201, 202, 203, 204, 0, 0, 205, 175, 206, - 207, 208, 209, 4, 210, 0, 4, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 133, 73, 212, 22, 0, 0, 0, 213, 175, 214, 215, 216, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 46, 0, 0, + 4, 4, 4, 160, 4, 4, 161, 0, 162, 163, 164, 4, 4, 94, 165, 4, + 4, 4, 113, 33, 4, 4, 4, 4, 4, 113, 15, 4, 166, 4, 167, 168, + 0, 0, 0, 169, 4, 4, 4, 145, 0, 1, 1, 170, 113, 100, 171, 0, + 172, 173, 174, 0, 4, 4, 4, 89, 0, 0, 4, 104, 0, 0, 0, 0, + 0, 0, 0, 0, 145, 4, 175, 0, 4, 23, 30, 99, 113, 4, 176, 0, + 4, 4, 4, 4, 113, 15, 177, 159, 4, 178, 4, 179, 180, 181, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 103, 99, 167, 182, 183, 0, 0, + 184, 185, 99, 103, 100, 0, 0, 186, 99, 161, 0, 0, 4, 187, 0, 0, + 188, 99, 0, 145, 145, 0, 75, 189, 4, 99, 99, 146, 94, 0, 0, 0, + 4, 4, 14, 0, 4, 146, 4, 146, 4, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 190, 0, 0, 145, 191, 110, 15, 57, 15, 189, 103, + 108, 192, 0, 193, 108, 22, 15, 14, 108, 68, 194, 195, 108, 146, 196, 0, + 197, 198, 0, 0, 199, 114, 100, 0, 49, 46, 200, 57, 0, 0, 0, 0, + 4, 104, 201, 57, 4, 22, 202, 0, 0, 0, 0, 0, 4, 132, 203, 0, + 4, 22, 204, 0, 4, 205, 0, 0, 89, 0, 68, 0, 0, 0, 0, 0, + 4, 198, 0, 0, 0, 4, 4, 206, 207, 208, 209, 0, 0, 210, 175, 211, + 212, 213, 214, 4, 215, 15, 4, 29, 0, 0, 0, 0, 0, 0, 0, 0, + 216, 132, 74, 140, 22, 0, 0, 0, 217, 175, 218, 219, 220, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 47, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 162, 0, 0, 0, - 4, 4, 4, 133, 4, 4, 4, 4, 4, 4, 111, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 161, 0, 0, 0, + 4, 4, 4, 132, 4, 4, 4, 4, 4, 4, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 4, 4, 175, + 4, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 29, 99, 0, 0, 0, 15, 217, 4, 22, 111, 218, 22, 0, 0, 0, + 4, 29, 100, 15, 4, 100, 15, 221, 4, 22, 111, 222, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 219, 0, 166, 0, 0, 220, + 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 223, 0, 165, 0, 0, 224, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 188, - 4, 4, 4, 4, 4, 4, 98, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 192, + 4, 4, 4, 4, 4, 4, 99, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 142, 226, 227, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 159, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 228, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 230, 4, 231, 232, 233, 4, 234, 235, 236, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 237, 238, 83, 230, 230, 239, 239, 216, 216, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 99, 0, 221, 222, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 160, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 223, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 240, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 221, 4, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 30, 4, 225, 226, 227, 4, 228, 229, 230, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 231, 232, 82, 30, 30, 126, 126, 211, 211, 150, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 233, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4, 193, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 185, 0, 4, 4, 235, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 4, 4, 4, 4, 4, 4, 189, 0, 4, 4, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 227, 236, 237, 238, 239, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 233, 244, 245, 246, 247, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 113, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 104, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 29, 4, 4, 4, 4, 4, 4, 113, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 241, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 249, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 73, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 74, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -26369,58 +26896,60 @@ static RE_UINT8 re_xid_start_table_3[] = { 255, 135, 7, 0, 255, 7, 0, 0, 0, 192, 254, 255, 255, 255, 47, 0, 96, 192, 0, 156, 0, 0, 253, 255, 255, 255, 0, 0, 0, 224, 255, 255, 63, 0, 2, 0, 0, 252, 255, 255, 255, 7, 48, 4, 255, 255, 63, 4, - 16, 1, 0, 0, 255, 255, 255, 1, 255, 255, 223, 255, 255, 0, 0, 0, - 240, 255, 255, 255, 255, 255, 255, 35, 0, 0, 1, 255, 3, 0, 254, 255, - 225, 159, 249, 255, 255, 253, 197, 35, 0, 64, 0, 176, 3, 0, 3, 16, - 224, 135, 249, 255, 255, 253, 109, 3, 0, 0, 0, 94, 0, 0, 28, 0, - 224, 191, 251, 255, 255, 253, 237, 35, 0, 0, 1, 0, 3, 0, 0, 2, - 224, 159, 249, 255, 0, 0, 0, 176, 3, 0, 2, 0, 232, 199, 61, 214, - 24, 199, 255, 3, 224, 223, 253, 255, 255, 253, 255, 35, 0, 0, 0, 7, - 3, 0, 0, 0, 225, 223, 253, 255, 255, 253, 239, 35, 0, 0, 0, 64, - 3, 0, 6, 0, 240, 223, 253, 255, 255, 255, 255, 39, 0, 64, 112, 128, - 3, 0, 0, 252, 224, 255, 127, 252, 255, 255, 251, 47, 127, 0, 0, 0, - 254, 255, 255, 255, 255, 255, 5, 0, 214, 247, 255, 255, 175, 255, 5, 32, - 95, 0, 0, 240, 1, 0, 0, 0, 255, 254, 255, 255, 255, 31, 0, 0, - 0, 31, 0, 0, 255, 7, 0, 128, 0, 0, 63, 60, 98, 192, 225, 255, - 3, 64, 0, 0, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, - 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, - 255, 255, 255, 7, 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, - 255, 223, 3, 0, 255, 255, 3, 0, 255, 223, 1, 0, 255, 255, 15, 0, - 0, 0, 128, 16, 255, 5, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, 255, 255, 127, 0, - 255, 255, 31, 0, 128, 0, 0, 0, 224, 255, 255, 255, 224, 15, 0, 0, + 16, 1, 0, 0, 255, 255, 255, 1, 255, 7, 255, 255, 255, 126, 0, 0, + 255, 3, 0, 0, 240, 255, 255, 255, 255, 255, 255, 35, 0, 0, 1, 255, + 3, 0, 254, 255, 225, 159, 249, 255, 255, 253, 197, 35, 0, 64, 0, 176, + 3, 0, 3, 16, 224, 135, 249, 255, 255, 253, 109, 3, 0, 0, 0, 94, + 0, 0, 28, 0, 224, 191, 251, 255, 255, 253, 237, 35, 0, 0, 1, 0, + 3, 0, 0, 2, 224, 159, 249, 255, 0, 0, 0, 176, 3, 0, 2, 0, + 232, 199, 61, 214, 24, 199, 255, 3, 224, 223, 253, 255, 255, 253, 255, 35, + 0, 0, 0, 39, 3, 0, 0, 0, 225, 223, 253, 255, 255, 253, 239, 35, + 0, 0, 0, 96, 3, 0, 6, 0, 240, 223, 253, 255, 255, 255, 255, 39, + 0, 64, 112, 128, 3, 0, 0, 252, 224, 255, 127, 252, 255, 255, 251, 47, + 127, 0, 0, 0, 254, 255, 255, 255, 255, 255, 5, 0, 214, 247, 255, 255, + 175, 255, 5, 32, 95, 0, 0, 240, 1, 0, 0, 0, 255, 254, 255, 255, + 255, 31, 0, 0, 0, 31, 0, 0, 255, 7, 0, 128, 0, 0, 63, 60, + 98, 192, 225, 255, 3, 64, 0, 0, 191, 32, 255, 255, 255, 255, 255, 247, + 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, + 255, 255, 61, 255, 255, 255, 255, 7, 255, 255, 63, 63, 255, 159, 255, 255, + 255, 199, 255, 1, 255, 255, 3, 128, 255, 255, 3, 0, 255, 223, 1, 0, + 255, 255, 15, 0, 0, 0, 128, 16, 255, 5, 255, 255, 255, 255, 63, 0, + 255, 255, 255, 127, 255, 63, 31, 0, 255, 15, 255, 255, 255, 255, 127, 0, + 255, 255, 31, 0, 128, 0, 0, 0, 224, 255, 255, 255, 224, 31, 0, 0, 248, 255, 255, 255, 1, 192, 0, 252, 63, 0, 0, 0, 15, 0, 0, 0, 0, 224, 0, 252, 255, 255, 255, 63, 255, 1, 255, 255, 255, 255, 255, 231, 0, 222, 111, 4, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 63, - 80, 253, 255, 243, 224, 67, 0, 0, 255, 127, 255, 255, 31, 120, 12, 0, - 255, 128, 0, 0, 127, 127, 127, 127, 224, 0, 0, 0, 254, 3, 62, 31, - 255, 255, 127, 224, 255, 127, 0, 0, 255, 255, 255, 31, 255, 31, 255, 255, - 0, 12, 0, 0, 255, 127, 0, 128, 0, 0, 128, 255, 252, 255, 255, 255, - 255, 249, 255, 255, 252, 7, 0, 0, 0, 0, 224, 255, 187, 247, 255, 255, - 7, 0, 0, 0, 0, 0, 252, 104, 63, 0, 255, 255, 255, 255, 7, 0, - 0, 128, 0, 0, 223, 255, 0, 124, 247, 15, 0, 0, 255, 255, 127, 196, - 255, 255, 98, 62, 5, 0, 0, 56, 255, 7, 28, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 3, 255, 255, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 15, 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 160, - 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, + 80, 253, 255, 243, 224, 67, 0, 0, 31, 120, 12, 0, 255, 128, 0, 0, + 127, 127, 127, 127, 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 224, + 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 0, 128, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 187, 247, 255, 255, 7, 0, 0, 0, 0, 0, 252, 104, + 63, 0, 255, 255, 255, 255, 255, 31, 255, 255, 7, 0, 0, 128, 0, 0, + 223, 255, 0, 124, 247, 15, 0, 0, 255, 255, 127, 196, 255, 255, 98, 62, + 5, 0, 0, 56, 255, 7, 28, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 3, 255, 255, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 15, + 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 160, 255, 253, 127, 95, + 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 3, 0, 0, 138, 170, 192, 255, 255, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 255, 255, 1, 0, - 255, 7, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, + 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, 15, 0, 255, 247, + 255, 247, 183, 255, 251, 255, 251, 27, 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 1, 0, 239, 254, 31, 0, 0, 0, 255, 3, 3, 0, 128, 0, 255, 255, - 255, 255, 255, 0, 144, 0, 255, 255, 255, 255, 71, 0, 30, 0, 0, 20, - 255, 255, 251, 255, 255, 15, 0, 0, 127, 189, 255, 191, 0, 0, 1, 224, - 128, 7, 0, 128, 176, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, - 255, 7, 0, 1, 0, 0, 0, 128, 127, 242, 111, 255, 255, 255, 0, 128, - 2, 0, 0, 0, 255, 252, 255, 255, 10, 0, 0, 0, 1, 248, 255, 255, - 255, 255, 7, 4, 0, 0, 1, 240, 255, 3, 0, 32, 255, 253, 255, 255, - 0, 0, 252, 255, 127, 251, 255, 255, 64, 0, 0, 0, 191, 253, 255, 255, + 255, 255, 255, 0, 0, 0, 38, 0, 144, 0, 255, 255, 255, 255, 71, 0, + 30, 0, 0, 20, 255, 255, 251, 255, 255, 15, 0, 0, 127, 189, 255, 191, + 0, 0, 1, 224, 128, 7, 0, 128, 176, 0, 0, 0, 0, 0, 0, 15, + 16, 0, 0, 0, 255, 7, 0, 1, 0, 0, 0, 128, 127, 242, 111, 255, + 255, 255, 0, 128, 2, 0, 0, 0, 255, 252, 255, 255, 10, 0, 0, 0, + 1, 248, 255, 255, 255, 255, 7, 4, 0, 0, 1, 240, 255, 3, 0, 32, + 255, 253, 255, 255, 127, 251, 255, 255, 64, 0, 0, 0, 191, 253, 255, 255, 255, 3, 0, 1, 255, 63, 0, 0, 248, 255, 255, 224, 255, 7, 1, 0, - 11, 0, 0, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, - 255, 1, 255, 3, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, - 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, - 253, 255, 255, 247, 255, 31, 128, 63, 0, 64, 0, 0, 15, 8, 0, 0, + 11, 0, 0, 0, 0, 0, 239, 111, 0, 0, 7, 0, 240, 0, 255, 255, + 255, 7, 255, 31, 255, 1, 255, 3, 255, 255, 223, 255, 255, 255, 255, 223, + 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, + 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, + 255, 31, 128, 63, 0, 64, 0, 0, 127, 111, 255, 127, 15, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 }; @@ -26539,27 +27068,27 @@ static RE_UINT8 re_all_cases_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 0, 0, 0, 0, 0, - 79, 80, 81, 0, 0, 82, 83, 84, 0, 0, 0, 0, 0, 0, 0, 0, + 79, 80, 81, 0, 0, 82, 83, 84, 0, 0, 0, 85, 86, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 86, 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 88, 89, 88, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 88, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 89, 90, 91, 0, 0, 0, 0, 0, + 0, 0, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_all_cases_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 134, 1, 3, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 147, 1, 3, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 83, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -26567,19 +27096,19 @@ static RE_UINT8 re_all_cases_table_3[] = { 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 133, 15, 16, 16, 16, 16, 16, 16, 0, 23, 23, 25, 25, 23, 23, 27, + 146, 15, 16, 16, 16, 16, 16, 16, 0, 23, 23, 25, 25, 23, 23, 27, 27, 23, 23, 25, 25, 23, 23, 28, 28, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 29, 23, 23, 25, 25, 23, 23, 136, + 16, 16, 16, 16, 16, 16, 16, 16, 29, 23, 23, 25, 25, 23, 23, 149, 53, 30, 16, 16, 16, 16, 30, 28, 28, 31, 32, 25, 25, 0, 33, 34, 35, 23, 23, 36, 37, 47, 38, 38, 16, 16, 51, 0, 36, 39, 49, 40, 16, 16, 16, 16, 16, 16, 41, 28, 28, 42, 0, 0, 16, 16, 41, 43, 43, 44, 45, 25, 25, 23, 23, 46, 16, 16, 0, 0, 16, 16, 0, 48, - 0, 0, 0, 0, 155, 155, 24, 149, 149, 17, 156, 156, 26, 23, 23, 43, + 0, 0, 0, 0, 168, 168, 24, 162, 162, 17, 169, 169, 26, 23, 23, 43, 43, 23, 23, 25, 25, 23, 23, 28, 28, 23, 23, 25, 25, 33, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 0, 150, 150, 18, 16, 16, 47, 48, 16, 16, 16, 16, 16, 16, 16, 16, + 0, 163, 163, 18, 16, 16, 47, 48, 16, 16, 16, 16, 16, 16, 16, 16, 49, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 50, 25, 25, 51, 52, 108, 106, 23, 23, 53, 54, 55, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, @@ -26588,18 +27117,18 @@ static RE_UINT8 re_all_cases_table_3[] = { 0, 105, 39, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 41, 0, 120, 42, 0, 0, 0, 117, 41, 54, 44, 45, 55, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 116, 0, - 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 0, 0, 16, 16, 0, 0, 0, 75, 76, 76, 0, 56, 0, 0, 0, 0, 0, 0, 57, 0, 58, 59, 58, 0, 60, 0, 61, 62, - 0, 1, 6, 1, 1, 7, 1, 1, 8, 142, 10, 1, 145, 1, 1, 1, - 63, 64, 0, 151, 65, 65, 66, 65, 65, 67, 65, 65, 57, 58, 59, 58, + 0, 1, 6, 1, 1, 7, 1, 1, 8, 155, 10, 1, 158, 1, 1, 1, + 63, 64, 0, 164, 65, 65, 66, 65, 65, 67, 65, 65, 57, 58, 59, 58, 0, 1, 6, 1, 1, 7, 1, 1, 8, 9, 10, 1, 11, 1, 1, 1, - 63, 64, 151, 19, 65, 65, 66, 65, 65, 67, 65, 65, 60, 61, 62, 71, - 138, 140, 0, 0, 0, 159, 157, 71, 16, 16, 16, 16, 16, 16, 16, 16, + 63, 64, 164, 19, 65, 65, 66, 65, 65, 67, 65, 65, 60, 61, 62, 71, + 151, 153, 0, 0, 0, 172, 170, 71, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 144, 158, 74, 56, 141, 139, 0, 28, 28, 74, 16, 16, 0, 75, 76, 76, + 157, 171, 74, 56, 154, 152, 0, 28, 28, 74, 16, 16, 0, 75, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 1, 1, 12, 1, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 1, 65, 68, 69, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 65, 65, 65, @@ -26632,7 +27161,7 @@ static RE_UINT8 re_all_cases_table_3[] = { 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 81, 81, 81, 81, 81, 81, 0, 0, 81, 81, 81, 81, 81, 81, 0, 0, - 146, 147, 148, 161, 162, 163, 164, 152, 154, 0, 0, 0, 0, 0, 0, 0, + 159, 160, 161, 174, 175, 176, 177, 165, 167, 0, 0, 0, 0, 0, 0, 0, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 102, 0, 0, @@ -26641,7 +27170,7 @@ static RE_UINT8 re_all_cases_table_3[] = { 21, 21, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 153, 0, 0, 83, 0, + 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 166, 0, 0, 83, 0, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 0, 0, 81, 81, 81, 81, 81, 81, 0, 0, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, @@ -26651,12 +27180,12 @@ static RE_UINT8 re_all_cases_table_3[] = { 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 84, 84, 85, 85, 86, 86, 87, 87, 90, 90, 88, 88, 75, 75, 0, 0, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 0, 28, 0, 0, 0, 0, 81, 81, 84, 84, 28, 0, 143, 0, + 81, 81, 0, 28, 0, 0, 0, 0, 81, 81, 84, 84, 28, 0, 156, 0, 0, 0, 0, 28, 0, 0, 0, 0, 85, 85, 86, 86, 28, 0, 0, 0, 81, 81, 0, 0, 0, 0, 0, 0, 81, 81, 87, 87, 0, 0, 0, 0, 81, 81, 0, 0, 0, 89, 0, 0, 81, 81, 88, 88, 89, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 90, 90, 75, 75, 28, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 135, 137, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 148, 150, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -26672,17 +27201,17 @@ static RE_UINT8 re_all_cases_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 16, 16, 101, 102, 103, 50, 52, 28, 28, 23, 23, 25, 25, 104, 105, 106, 107, 0, 16, 16, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 108, 106, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 25, 25, 23, 23, 0, 0, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 154, 22, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 167, 22, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -26696,8 +27225,8 @@ static RE_UINT8 re_all_cases_table_3[] = { 16, 16, 16, 16, 77, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 111, 112, 113, 114, 115, 0, 116, 117, 118, 119, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 0, 0, 16, 16, 77, 120, 121, 28, 28, 23, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 16, 16, 16, 16, 77, 120, 121, 28, 28, 23, 23, 0, 0, 0, 0, 0, + 16, 16, 0, 0, 0, 0, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -26722,6 +27251,12 @@ static RE_UINT8 re_all_cases_table_3[] = { 126, 126, 126, 126, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 130, 131, 132, 131, 133, 131, 132, 131, 130, 134, 135, 0, 136, 134, 135, 134, + 59, 137, 138, 137, 139, 137, 138, 137, 59, 140, 141, 0, 142, 140, 141, 140, + 59, 137, 138, 0, 139, 137, 0, 130, 131, 132, 131, 133, 131, 132, 131, 130, + 134, 135, 0, 136, 134, 135, 134, 59, 137, 138, 137, 139, 137, 138, 137, 59, + 140, 141, 0, 142, 140, 141, 140, 59, 137, 138, 0, 139, 137, 0, 0, 0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, @@ -26730,11 +27265,11 @@ static RE_UINT8 re_all_cases_table_3[] = { 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 130, 130, 98, 98, 130, 130, 99, 99, 130, 130, 98, 98, 130, 130, 131, 131, - 130, 130, 98, 98, 130, 130, 99, 99, 130, 130, 98, 98, 130, 130, 132, 132, - 72, 72, 130, 130, 98, 98, 130, 130, 99, 99, 130, 130, 98, 98, 130, 130, - 131, 131, 130, 130, 98, 98, 130, 130, 99, 99, 130, 130, 98, 98, 130, 130, - 132, 132, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 143, 98, 98, 143, 143, 99, 99, 143, 143, 98, 98, 143, 143, 144, 144, + 143, 143, 98, 98, 143, 143, 99, 99, 143, 143, 98, 98, 143, 143, 145, 145, + 72, 72, 143, 143, 98, 98, 143, 143, 99, 99, 143, 143, 98, 98, 143, 143, + 144, 144, 143, 143, 98, 98, 143, 143, 99, 99, 143, 143, 98, 98, 143, 143, + 145, 145, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -26869,6 +27404,19 @@ static RE_AllCases re_all_cases_table_4[] = { { 56, { 0, 0}}, { 88, { 0, 0}}, { 104, { 0, 0}}, + { 231, { 0, 0}}, + { 233, { 0, 0}}, + { 235, { 0, 0}}, + { 239, { 0, 0}}, + { 217, { 0, 0}}, + { 219, { 0, 0}}, + { 223, { 0, 0}}, + { 41, { 0, 0}}, + { 43, { 0, 0}}, + { 47, { 0, 0}}, + { 57, { 0, 0}}, + { 59, { 0, 0}}, + { 63, { 0, 0}}, { 34, { 0, 0}}, { 62, { 0, 0}}, { 94, { 0, 0}}, @@ -27035,83 +27583,83 @@ static RE_UINT8 re_simple_folding_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, - 60, 61, 0, 0, 0, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 61, 0, 0, 0, 62, 63, 0, 0, 0, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, 0, 0, 0, 0, 0, 0, + 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 70, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_simple_folding_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 18, 18, 18, 18, 18, 18, 18, 18, 66, 18, 18, 18, 18, 18, 18, + 0, 18, 18, 18, 18, 18, 18, 18, 18, 79, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 65, 0, 1, 0, 1, 0, 1, 0, 0, 3, 0, 5, 0, 3, 0, 49, + 78, 0, 1, 0, 1, 0, 1, 0, 0, 3, 0, 5, 0, 3, 0, 55, 0, 3, 0, 5, 0, 3, 0, 10, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 67, 3, 0, 5, 0, 3, 0, 64, - 0, 78, 1, 0, 1, 0, 78, 10, 0, 81, 80, 5, 0, 0, 36, 79, - 77, 3, 0, 84, 85, 0, 86, 86, 1, 0, 0, 0, 84, 83, 0, 82, - 1, 0, 1, 0, 1, 0, 70, 10, 0, 71, 0, 0, 1, 0, 70, 17, - 0, 73, 72, 5, 0, 3, 0, 69, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 80, 3, 0, 5, 0, 3, 0, 77, + 0, 91, 1, 0, 1, 0, 91, 10, 0, 94, 93, 5, 0, 0, 42, 92, + 90, 3, 0, 97, 98, 0, 99, 99, 1, 0, 0, 0, 97, 96, 0, 95, + 1, 0, 1, 0, 1, 0, 83, 10, 0, 84, 0, 0, 1, 0, 83, 17, + 0, 86, 85, 5, 0, 3, 0, 82, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 9, 1, 0, 4, 5, 0, 3, 0, 17, 0, 3, 0, 5, 0, 3, 0, 10, 0, 3, 0, 5, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 2, 1, 0, 1, 0, 41, 32, 1, 0, 1, 0, 1, 0, 1, 0, - 75, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 110, 5, 0, 74, 109, 0, - 0, 3, 0, 76, 60, 58, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 0, 2, 1, 0, 1, 0, 47, 38, 1, 0, 1, 0, 1, 0, 1, 0, + 88, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 123, 5, 0, 87, 122, 0, + 0, 3, 0, 89, 66, 64, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 53, - 0, 0, 0, 0, 0, 0, 24, 0, 20, 22, 20, 0, 29, 0, 31, 30, + 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 59, + 0, 0, 0, 0, 0, 0, 25, 0, 20, 22, 20, 0, 35, 0, 37, 36, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 39, 39, 0, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, + 45, 45, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, - 40, 44, 0, 0, 0, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 46, 50, 0, 0, 0, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 33, 26, 0, 0, 34, 29, 0, 10, 0, 8, 1, 0, 0, 52, 51, 51, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 39, 29, 0, 0, 40, 35, 0, 10, 0, 8, 1, 0, 0, 58, 57, 57, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 10, 3, 0, 5, 0, 3, 0, 10, 0, 3, 0, 5, 0, 3, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 61, 61, 61, 61, 61, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 113, 113, 113, 113, 113, 113, 0, 113, 0, 0, 0, 0, 0, 113, 0, 0, + 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 126, 126, 126, 126, 126, 126, 0, 126, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, - 89, 90, 91, 92, 93, 94, 95, 96, 130, 0, 0, 0, 0, 0, 0, 0, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 87, 87, 87, + 102, 103, 104, 105, 106, 107, 108, 109, 143, 0, 0, 0, 0, 0, 0, 0, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 0, 100, 100, 100, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 62, 0, 0, 98, 0, + 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 75, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, @@ -27121,27 +27669,27 @@ static RE_UINT8 re_simple_folding_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 59, 59, 10, 0, 97, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 57, 57, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 55, 55, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 54, 54, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 52, 52, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 99, 100, 0, 0, 0, 0, - 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 65, 65, 10, 0, 110, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 63, 63, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 61, 61, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 60, 60, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 58, 58, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 112, 113, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 42, 42, 45, 45, 46, 46, 45, 45, 42, 42, - 15, 15, 16, 16, 15, 15, 21, 21, 24, 24, 25, 25, 24, 24, 21, 21, + 0, 0, 0, 0, 0, 0, 48, 48, 51, 51, 52, 52, 51, 51, 48, 48, + 15, 15, 16, 16, 15, 15, 21, 21, 25, 25, 27, 27, 25, 25, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 102, 111, 103, 0, 0, 10, 0, 3, 0, 5, 0, 106, 104, 107, - 105, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 108, 107, + 1, 0, 115, 124, 116, 0, 0, 10, 0, 3, 0, 5, 0, 119, 117, 120, + 118, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 121, 120, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, @@ -27151,42 +27699,46 @@ static RE_UINT8 re_simple_folding_table_3[] = { 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 5, 0, 128, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 5, 0, 122, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 5, 0, 141, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 5, 0, 135, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 120, 123, 121, 118, 119, 0, - 114, 116, 115, 88, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 0, 1, 0, 35, 117, 129, 10, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 133, 136, 134, 131, 132, 0, + 127, 129, 128, 101, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 41, 130, 142, 10, 0, 3, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 0, 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, 0, 0, 0, 0, 0, - 23, 23, 23, 23, 23, 23, 23, 23, 27, 27, 27, 27, 27, 27, 27, 27, - 23, 23, 23, 23, 23, 23, 23, 23, 37, 37, 37, 37, 37, 37, 37, 37, - 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, 0, + 23, 23, 23, 23, 23, 23, 23, 23, 30, 30, 30, 30, 30, 30, 30, 30, + 23, 23, 23, 23, 23, 23, 23, 23, 43, 43, 43, 43, 43, 43, 43, 43, + 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 43, 43, 43, 43, 43, 43, 43, 37, 37, 37, 37, 37, 37, 37, 37, - 23, 23, 23, 23, 23, 23, 23, 23, 27, 27, 27, 27, 27, 27, 27, 27, + 49, 49, 49, 49, 49, 49, 49, 49, 43, 43, 43, 43, 43, 43, 43, 43, + 23, 23, 23, 23, 23, 23, 23, 23, 30, 30, 30, 30, 30, 30, 30, 30, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 71, 72, 73, 72, 74, 72, 73, 72, 71, 68, 69, 0, 70, 68, 69, 68, + 22, 24, 26, 24, 28, 24, 26, 24, 22, 31, 32, 0, 34, 31, 32, 31, + 22, 24, 26, 0, 28, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 19, 19, 21, 21, 19, 19, 25, 25, 19, 19, 21, 21, 19, 19, 28, 28, - 19, 19, 21, 21, 19, 19, 25, 25, 19, 19, 21, 21, 19, 19, 38, 38, - 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 19, 19, 21, 21, 19, 19, 27, 27, 19, 19, 21, 21, 19, 19, 33, 33, + 19, 19, 21, 21, 19, 19, 27, 27, 19, 19, 21, 21, 19, 19, 44, 44, + 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -27194,20 +27746,21 @@ static RE_UINT16 re_simple_folding_table_4[] = { 0, 1, 2, 3, 6, 7, 8, 9, 11, 14, 15, 16, 19, 22, 24, 26, 30, 31, 32, 34, 37, 38, 39, 40, - 42, 46, 48, 56, 62, 64, 65, 67, - 72, 74, 76, 80, 83, 88, 94, 96, - 98, 99, 102, 104, 105, 106, 110, 112, - 124, 127, 128, 130, 134, 140, 144, 172, - 186, 190, 201, 202, 205, 208, 250, 252, - 268, 345, 376, 391, 777, 805, 806, 810, - 825, 827, 935, 958, 963, 971, 978, 982, - 989, 991, 1002, 1007, 1011, 1015, 1023, 3136, - 3296, 6322, 6325, 6332, 6338, 6342, 6343, 6348, - 6372, 7175, 7745, 8513, 8654, 8943, 11785, 11801, - 11807, 11810, 11836, 11839, 11841, 11864, 11871, 12574, - 15776, 15840, 42286, 42287, 42294, 42311, 42433, 42436, - 42444, 42445, 42472, 42487, 47152, 47184, 47216, 47312, - 47620, 47688, 47811 + 41, 42, 43, 46, 47, 48, 56, 57, + 59, 62, 63, 64, 65, 67, 72, 74, + 76, 80, 83, 88, 94, 96, 98, 99, + 102, 104, 105, 106, 110, 112, 124, 127, + 128, 130, 134, 140, 144, 172, 186, 190, + 201, 202, 205, 208, 217, 219, 223, 231, + 233, 235, 239, 250, 252, 268, 345, 376, + 391, 777, 805, 806, 810, 825, 827, 935, + 958, 963, 971, 978, 982, 989, 991, 1002, + 1007, 1011, 1015, 1023, 3136, 3296, 6322, 6325, + 6332, 6338, 6342, 6343, 6348, 6372, 7175, 7745, + 8513, 8654, 8943, 11785, 11801, 11807, 11810, 11836, + 11839, 11841, 11864, 11871, 12574, 15776, 15840, 42286, + 42287, 42294, 42311, 42433, 42436, 42444, 42445, 42472, + 42487, 47152, 47184, 47216, 47312, 47620, 47688, 47811 }; RE_UINT32 re_get_simple_case_folding(RE_UINT32 codepoint) { @@ -27324,117 +27877,117 @@ static RE_UINT8 re_full_folding_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, - 63, 64, 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 63, 64, 0, 0, 0, 65, 66, 0, 0, 0, 0, 67, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 71, 72, 0, 0, 0, 0, 0, 0, + 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_full_folding_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 18, 18, 18, 18, 18, 18, 18, 18, 80, 18, 18, 18, 18, 18, 18, + 0, 18, 18, 18, 18, 18, 18, 18, 18, 93, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 61, + 18, 18, 18, 18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 67, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 79, 0, 1, 0, 1, 0, 1, 0, 0, 3, 0, 5, 0, 3, 0, 51, - 0, 3, 0, 5, 0, 3, 0, 10, 0, 100, 1, 0, 1, 0, 1, 0, + 92, 0, 1, 0, 1, 0, 1, 0, 0, 3, 0, 5, 0, 3, 0, 57, + 0, 3, 0, 5, 0, 3, 0, 10, 0, 113, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 81, 3, 0, 5, 0, 3, 0, 77, - 0, 93, 1, 0, 1, 0, 93, 10, 0, 96, 95, 5, 0, 0, 37, 94, - 92, 3, 0, 99, 101, 0, 102, 102, 1, 0, 0, 0, 99, 98, 0, 97, - 1, 0, 1, 0, 1, 0, 85, 10, 0, 86, 0, 0, 1, 0, 85, 17, - 0, 88, 87, 5, 0, 3, 0, 84, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 94, 3, 0, 5, 0, 3, 0, 90, + 0, 106, 1, 0, 1, 0, 106, 10, 0, 109, 108, 5, 0, 0, 43, 107, + 105, 3, 0, 112, 114, 0, 115, 115, 1, 0, 0, 0, 112, 111, 0, 110, + 1, 0, 1, 0, 1, 0, 98, 10, 0, 99, 0, 0, 1, 0, 98, 17, + 0, 101, 100, 5, 0, 3, 0, 97, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 9, 1, 0, 4, 5, 0, 3, 0, 17, 0, 3, 0, 5, 0, 3, 0, 10, 0, 3, 0, 5, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 82, 2, 1, 0, 1, 0, 42, 33, 1, 0, 1, 0, 1, 0, 1, 0, - 90, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 158, 5, 0, 89, 157, 0, - 0, 3, 0, 91, 72, 70, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 95, 2, 1, 0, 1, 0, 48, 39, 1, 0, 1, 0, 1, 0, 1, 0, + 103, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 171, 5, 0, 102, 170, 0, + 0, 3, 0, 104, 78, 76, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 57, - 0, 0, 0, 0, 0, 0, 25, 0, 20, 22, 20, 0, 30, 0, 32, 31, - 24, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 40, 40, 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 0, 0, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 26, 0, 20, 22, 20, 0, 36, 0, 38, 37, + 25, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 46, 46, 0, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, - 41, 45, 0, 0, 0, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 47, 51, 0, 0, 0, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 34, 27, 0, 0, 35, 30, 0, 10, 0, 8, 1, 0, 0, 55, 54, 54, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 40, 30, 0, 0, 41, 36, 0, 10, 0, 8, 1, 0, 0, 61, 60, 60, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 10, 3, 0, 5, 0, 3, 0, 10, 0, 3, 0, 5, 0, 3, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 73, 73, 73, 73, 73, 73, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 79, 79, 79, 79, 79, 79, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 161, 161, 161, 161, 161, 161, 0, 161, 0, 0, 0, 0, 0, 161, 0, 0, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 174, 174, 174, 174, 174, 174, 0, 174, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, - 105, 106, 107, 108, 109, 110, 111, 112, 178, 0, 0, 0, 0, 0, 0, 0, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 0, 0, 103, 103, 103, + 118, 119, 120, 121, 122, 123, 124, 125, 191, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 116, 116, 116, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 146, 142, 144, 141, 145, 75, 0, 0, 143, 0, + 1, 0, 1, 0, 1, 0, 159, 155, 157, 154, 158, 88, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, - 139, 0, 140, 0, 137, 0, 138, 0, 0, 6, 0, 6, 0, 6, 0, 6, + 152, 0, 153, 0, 150, 0, 151, 0, 0, 6, 0, 6, 0, 6, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 53, 53, 53, 53, 53, 53, 53, 56, 56, 56, 56, 56, 56, 56, 56, - 62, 62, 62, 62, 62, 62, 62, 62, 64, 64, 64, 64, 64, 64, 64, 64, - 67, 67, 67, 67, 67, 67, 67, 67, 69, 69, 69, 69, 69, 69, 69, 69, - 0, 0, 68, 113, 118, 0, 116, 114, 6, 6, 71, 71, 117, 0, 115, 0, - 0, 0, 63, 135, 129, 0, 134, 133, 65, 65, 66, 66, 136, 0, 0, 0, - 0, 0, 130, 128, 0, 0, 132, 131, 6, 6, 60, 60, 0, 0, 0, 0, - 0, 0, 123, 122, 121, 0, 120, 119, 6, 6, 59, 59, 7, 0, 0, 0, - 0, 0, 58, 125, 125, 0, 127, 126, 52, 52, 55, 55, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 147, 148, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 59, 59, 59, 59, 59, 59, 59, 59, 62, 62, 62, 62, 62, 62, 62, 62, + 68, 68, 68, 68, 68, 68, 68, 68, 70, 70, 70, 70, 70, 70, 70, 70, + 73, 73, 73, 73, 73, 73, 73, 73, 75, 75, 75, 75, 75, 75, 75, 75, + 0, 0, 74, 126, 131, 0, 129, 127, 6, 6, 77, 77, 130, 0, 128, 0, + 0, 0, 69, 148, 142, 0, 147, 146, 71, 71, 72, 72, 149, 0, 0, 0, + 0, 0, 143, 141, 0, 0, 145, 144, 6, 6, 66, 66, 0, 0, 0, 0, + 0, 0, 136, 135, 134, 0, 133, 132, 6, 6, 65, 65, 7, 0, 0, 0, + 0, 0, 64, 138, 138, 0, 140, 139, 58, 58, 61, 61, 137, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 160, 161, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 43, 43, 46, 46, 47, 47, 46, 46, 43, 43, - 15, 15, 16, 16, 15, 15, 21, 21, 25, 25, 26, 26, 25, 25, 21, 21, + 0, 0, 0, 0, 0, 0, 49, 49, 52, 52, 53, 53, 52, 52, 49, 49, + 15, 15, 16, 16, 15, 15, 21, 21, 26, 26, 28, 28, 26, 26, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 150, 159, 151, 0, 0, 10, 0, 3, 0, 5, 0, 154, 152, 155, - 153, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 156, 155, + 1, 0, 163, 172, 164, 0, 0, 10, 0, 3, 0, 5, 0, 167, 165, 168, + 166, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 169, 168, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, @@ -27444,44 +27997,48 @@ static RE_UINT8 re_full_folding_table_3[] = { 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 5, 0, 176, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 5, 0, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 5, 0, 189, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 5, 0, 183, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 168, 171, 169, 166, 167, 0, - 162, 164, 163, 104, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 0, 1, 0, 36, 165, 177, 10, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 181, 184, 182, 179, 180, 0, + 175, 177, 176, 117, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 42, 178, 190, 10, 0, 3, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 182, 183, 180, 181, 179, 185, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 186, 187, 190, 188, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 0, 0, 0, - 23, 23, 23, 23, 23, 23, 23, 23, 28, 28, 28, 28, 28, 28, 28, 28, - 23, 23, 23, 23, 23, 23, 23, 23, 38, 38, 38, 38, 38, 38, 38, 38, - 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 195, 196, 193, 194, 192, 198, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 202, 199, 200, 203, 201, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, 0, + 23, 23, 23, 23, 23, 23, 23, 23, 31, 31, 31, 31, 31, 31, 31, 31, + 23, 23, 23, 23, 23, 23, 23, 23, 44, 44, 44, 44, 44, 44, 44, 44, + 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 44, 44, 44, 44, 44, 44, 44, 38, 38, 38, 38, 38, 38, 38, 38, - 23, 23, 23, 23, 23, 23, 23, 23, 28, 28, 28, 28, 28, 28, 28, 28, + 50, 50, 50, 50, 50, 50, 50, 50, 44, 44, 44, 44, 44, 44, 44, 44, + 23, 23, 23, 23, 23, 23, 23, 23, 31, 31, 31, 31, 31, 31, 31, 31, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 84, 85, 86, 85, 87, 85, 86, 85, 84, 80, 81, 0, 82, 80, 81, 80, + 22, 24, 27, 24, 29, 24, 27, 24, 22, 32, 33, 0, 35, 32, 33, 32, + 22, 24, 27, 0, 29, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 19, 19, 21, 21, 19, 19, 26, 26, 19, 19, 21, 21, 19, 19, 29, 29, - 19, 19, 21, 21, 19, 19, 26, 26, 19, 19, 21, 21, 19, 19, 39, 39, - 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 19, 19, 21, 21, 19, 19, 28, 28, 19, 19, 21, 21, 19, 19, 34, 34, + 19, 19, 21, 21, 19, 19, 28, 28, 19, 19, 21, 21, 19, 19, 45, 45, + 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -27510,12 +28067,18 @@ static RE_FullCaseFolding re_full_folding_table_4[] = { {{ 38, 0, 0}}, {{ 39, 0, 0}}, {{ 40, 0, 0}}, + {{ 41, 0, 0}}, {{ 41, 776, 769}}, {{ 42, 0, 0}}, + {{ 43, 0, 0}}, {{ 46, 0, 0}}, + {{ 47, 0, 0}}, {{ 48, 0, 0}}, {{ 56, 0, 0}}, + {{ 57, 0, 0}}, + {{ 59, 0, 0}}, {{ 62, 0, 0}}, + {{ 63, 0, 0}}, {{ 64, 0, 0}}, {{ 65, 0, 0}}, {{ 67, 0, 0}}, @@ -27560,7 +28123,14 @@ static RE_FullCaseFolding re_full_folding_table_4[] = { {{ 202, 0, 0}}, {{ 205, 0, 0}}, {{ 208, 0, 0}}, + {{ 217, 0, 0}}, + {{ 219, 0, 0}}, + {{ 223, 0, 0}}, {{ 226, 1410, 0}}, + {{ 231, 0, 0}}, + {{ 233, 0, 0}}, + {{ 235, 0, 0}}, + {{ 239, 0, 0}}, {{ 250, 0, 0}}, {{ 252, 0, 0}}, {{ 268, 0, 0}}, diff --git a/regex_2/_regex_unicode.h b/regex_2/_regex_unicode.h index ea8e48ccc049a96f4ca28609fc9ec386fcf22e9d..87847c84b94a27d636668c26ab0c864430a33e48 100644 --- a/regex_2/_regex_unicode.h +++ b/regex_2/_regex_unicode.h @@ -193,9 +193,9 @@ typedef RE_UINT32 (*RE_GetPropertyFunc)(RE_UINT32 codepoint); #define RE_LBREAK_REGIONALINDICATOR 41 #define RE_LBREAK_EMODIFIER 42 -extern char* re_strings[1447]; +extern char* re_strings[1472]; extern RE_Property re_properties[173]; -extern RE_PropertyValue re_property_values[1589]; +extern RE_PropertyValue re_property_values[1619]; extern RE_UINT16 re_expand_on_folding[104]; extern RE_GetPropertyFunc re_get_property[94]; diff --git a/regex_2/regex.py b/regex_2/regex.py index 19faff7aa51ad73bbfd714e79475f8c237b18d97..f27ed183319c246b9ef13feed060bf4b9bf83038 100644 --- a/regex_2/regex.py +++ b/regex_2/regex.py @@ -241,7 +241,7 @@ __all__ = ["cache_all", "compile", "DEFAULT_VERSION", "escape", "findall", "VERSION1", "X", "VERBOSE", "W", "WORD", "error", "Regex", "__version__", "__doc__"] -__version__ = "2.5.91" +__version__ = "2.5.103" # -------------------------------------------------------------------- # Public interface. diff --git a/regex_2/test_regex.py b/regex_2/test_regex.py index fc41704c71f23e0809f8532da384f5d71127e63f..dc0f0ff0fcd9f3efe8a49bcfdfa0665bef607dba 100644 --- a/regex_2/test_regex.py +++ b/regex_2/test_regex.py @@ -4078,6 +4078,42 @@ thing self.assertEqual(regex.findall(r'(?i)(\d+){i<=2:[ab]}', '123X4Y5'), ['123', '4', '5']) + # Git issue 403: Fuzzy matching with wrong distance (unnecessary substitutions) + self.assertEqual(regex.match(r'^(test){e<=5}$', 'terstin', + flags=regex.B).fuzzy_counts, (0, 3, 0)) + + # Git issue 408: regex fails with a quantified backreference but succeeds with repeated backref + self.assertEqual(bool(regex.match(r"(?:(x*)\1\1\1)*x$", "x" * 5)), True) + self.assertEqual(bool(regex.match(r"(?:(x*)\1{3})*x$", "x" * 5)), True) + + # Git issue 415: Fuzzy character restrictions don't apply to insertions at "right edge" + self.assertEqual(regex.match(r't(?:es){s<=1:\d}t', 'te5t').group(), + 'te5t') + self.assertEqual(regex.match(r't(?:es){s<=1:\d}t', 'tezt'), None) + self.assertEqual(regex.match(r't(?:es){i<=1:\d}t', 'tes5t').group(), + 'tes5t') + self.assertEqual(regex.match(r't(?:es){i<=1:\d}t', 'teszt'), None) + self.assertEqual(regex.match(r't(?:es){i<=1:\d}t', + 'tes5t').fuzzy_changes, ([], [3], [])) + self.assertEqual(regex.match(r't(es){i<=1,0<e<=1}t', 'tes5t').group(), + 'tes5t') + self.assertEqual(regex.match(r't(?:es){i<=1,0<e<=1:\d}t', + 'tes5t').fuzzy_changes, ([], [3], [])) + + # Git issue 421: Fatal Python error: Segmentation fault + self.assertEqual(regex.compile("(\d+ week|\d+ days)").split("7 days"), ['', '7 days', '']) + self.assertEqual(regex.compile("(\d+ week|\d+ days)").split("10 days"), ['', '10 days', '']) + + self.assertEqual(regex.compile("[ ]* Name[ ]*\* ").search(" Name *"), None) + + self.assertEqual(regex.compile('a|\\.*pb\\.py').search('.geojs'), None) + + p = regex.compile('(?<=(?:\\A|\\W|_))(\\d+ decades? ago|\\d+ minutes ago|\\d+ seconds ago|in \\d+ decades?|\\d+ months ago|in \\d+ minutes|\\d+ minute ago|in \\d+ seconds|\\d+ second ago|\\d+ years ago|in \\d+ months|\\d+ month ago|\\d+ weeks ago|\\d+ hours ago|in \\d+ minute|in \\d+ second|in \\d+ years|\\d+ year ago|in \\d+ month|in \\d+ weeks|\\d+ week ago|\\d+ days ago|in \\d+ hours|\\d+ hour ago|in \\d+ year|in \\d+ week|in \\d+ days|\\d+ day ago|in \\d+ hour|\\d+ min ago|\\d+ sec ago|\\d+ yr ago|\\d+ mo ago|\\d+ wk ago|in \\d+ day|\\d+ hr ago|in \\d+ min|in \\d+ sec|in \\d+ yr|in \\d+ mo|in \\d+ wk|in \\d+ hr)(?=(?:\\Z|\\W|_))', flags=regex.I | regex.V0) + self.assertEqual(p.search('1 month ago').group(), '1 month ago') + self.assertEqual(p.search('9 hours 1 minute ago').group(), '1 minute ago') + self.assertEqual(p.search('10 months 1 hour ago').group(), '1 hour ago') + self.assertEqual(p.search('1 month 10 hours ago').group(), '10 hours ago') + def test_fuzzy_ext(self): self.assertEqual(bool(regex.fullmatch(r'(?r)(?:a){e<=1:[a-z]}', 'e')), True) diff --git a/regex_3/_regex.c b/regex_3/_regex.c index 63fdaab849c6a02a5447a54380ea399d96ec30d1..ef7cbf16ade42f2b70290bfa81e44edbf1892ef5 100644 --- a/regex_3/_regex.c +++ b/regex_3/_regex.c @@ -6434,13 +6434,13 @@ Py_LOCAL_INLINE(BOOL) build_fast_tables_rev(RE_State* state, RE_Node* node, /* Performs a string search. */ Py_LOCAL_INLINE(Py_ssize_t) string_search(RE_State* state, RE_Node* node, - Py_ssize_t text_pos, Py_ssize_t limit, BOOL* is_partial) { + Py_ssize_t text_pos, Py_ssize_t limit, BOOL try_fast, BOOL* is_partial) { Py_ssize_t found_pos; *is_partial = FALSE; /* Has the node been initialised for fast searching, if necessary? */ - if (!(node->status & RE_STATUS_FAST_INIT)) { + if (try_fast && !(node->status & RE_STATUS_FAST_INIT)) { /* Ideally the pattern should immutable and shareable across threads. * Internally, however, it isn't. For safety we need to hold the GIL. */ @@ -6455,7 +6455,7 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search(RE_State* state, RE_Node* node, release_GIL(state); } - if (node->string.bad_character_offset) { + if (try_fast && node->string.bad_character_offset) { /* Start with a fast search. This will find the string if it's complete * (i.e. not truncated). */ @@ -6622,13 +6622,13 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_fld_rev(RE_State* state, RE_Node* /* Performs a string search, ignoring case. */ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign(RE_State* state, RE_Node* node, - Py_ssize_t text_pos, Py_ssize_t limit, BOOL* is_partial) { + Py_ssize_t text_pos, Py_ssize_t limit, BOOL try_fast, BOOL* is_partial) { Py_ssize_t found_pos; *is_partial = FALSE; /* Has the node been initialised for fast searching, if necessary? */ - if (!(node->status & RE_STATUS_FAST_INIT)) { + if (try_fast && !(node->status & RE_STATUS_FAST_INIT)) { /* Ideally the pattern should immutable and shareable across threads. * Internally, however, it isn't. For safety we need to hold the GIL. */ @@ -6643,7 +6643,7 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign(RE_State* state, RE_Node* node, release_GIL(state); } - if (node->string.bad_character_offset) { + if (try_fast && node->string.bad_character_offset) { /* Start with a fast search. This will find the string if it's complete * (i.e. not truncated). */ @@ -6663,13 +6663,14 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign(RE_State* state, RE_Node* node, /* Performs a string search, backwards, ignoring case. */ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign_rev(RE_State* state, RE_Node* - node, Py_ssize_t text_pos, Py_ssize_t limit, BOOL* is_partial) { + node, Py_ssize_t text_pos, Py_ssize_t limit, BOOL try_fast, BOOL* is_partial) + { Py_ssize_t found_pos; *is_partial = FALSE; /* Has the node been initialised for fast searching, if necessary? */ - if (!(node->status & RE_STATUS_FAST_INIT)) { + if (try_fast && !(node->status & RE_STATUS_FAST_INIT)) { /* Ideally the pattern should immutable and shareable across threads. * Internally, however, it isn't. For safety we need to hold the GIL. */ @@ -6684,7 +6685,7 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign_rev(RE_State* state, RE_Node* release_GIL(state); } - if (node->string.bad_character_offset) { + if (try_fast && node->string.bad_character_offset) { /* Start with a fast search. This will find the string if it's complete * (i.e. not truncated). */ @@ -6704,13 +6705,13 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_ign_rev(RE_State* state, RE_Node* /* Performs a string search, backwards. */ Py_LOCAL_INLINE(Py_ssize_t) string_search_rev(RE_State* state, RE_Node* node, - Py_ssize_t text_pos, Py_ssize_t limit, BOOL* is_partial) { + Py_ssize_t text_pos, Py_ssize_t limit, BOOL try_fast, BOOL* is_partial) { Py_ssize_t found_pos; *is_partial = FALSE; /* Has the node been initialised for fast searching, if necessary? */ - if (!(node->status & RE_STATUS_FAST_INIT)) { + if (try_fast && !(node->status & RE_STATUS_FAST_INIT)) { /* Ideally the pattern should immutable and shareable across threads. * Internally, however, it isn't. For safety we need to hold the GIL. */ @@ -6725,7 +6726,7 @@ Py_LOCAL_INLINE(Py_ssize_t) string_search_rev(RE_State* state, RE_Node* node, release_GIL(state); } - if (node->string.bad_character_offset) { + if (try_fast && node->string.bad_character_offset) { /* Start with a fast search. This will find the string if it's complete * (i.e. not truncated). */ @@ -8123,7 +8124,8 @@ Py_LOCAL_INLINE(Py_ssize_t) search_start_STRING(RE_State* state, RE_Node* node, if ((node->status & RE_STATUS_REQUIRED) && text_pos == state->req_pos) return text_pos; - return string_search(state, node, text_pos, state->slice_end, is_partial); + return string_search(state, node, text_pos, state->slice_end, TRUE, + is_partial); } /* Searches for a string, ignoring case. */ @@ -8162,7 +8164,7 @@ Py_LOCAL_INLINE(Py_ssize_t) search_start_STRING_IGN(RE_State* state, RE_Node* if ((node->status & RE_STATUS_REQUIRED) && text_pos == state->req_pos) return text_pos; - return string_search_ign(state, node, text_pos, state->slice_end, + return string_search_ign(state, node, text_pos, state->slice_end, TRUE, is_partial); } @@ -8175,7 +8177,7 @@ Py_LOCAL_INLINE(Py_ssize_t) search_start_STRING_IGN_REV(RE_State* state, return text_pos; return string_search_ign_rev(state, node, text_pos, state->slice_start, - is_partial); + TRUE, is_partial); } /* Searches for a string, backwards. */ @@ -8186,7 +8188,7 @@ Py_LOCAL_INLINE(Py_ssize_t) search_start_STRING_REV(RE_State* state, RE_Node* if ((node->status & RE_STATUS_REQUIRED) && text_pos == state->req_pos) return text_pos; - return string_search_rev(state, node, text_pos, state->slice_start, + return string_search_rev(state, node, text_pos, state->slice_start, TRUE, is_partial); } @@ -9528,11 +9530,13 @@ too_wide: return NULL; } +/* Calculates the total number of errors. */ Py_LOCAL_INLINE(size_t) total_errors(size_t* fuzzy_counts) { return fuzzy_counts[RE_FUZZY_DEL] + fuzzy_counts[RE_FUZZY_INS] + fuzzy_counts[RE_FUZZY_SUB]; } +/* Calculates the total cost of the errors. */ Py_LOCAL_INLINE(size_t) total_cost(size_t* fuzzy_counts, RE_Node* fuzzy_node) { RE_CODE* values; @@ -9826,6 +9830,9 @@ Py_LOCAL_INLINE(BOOL) fuzzy_ext_match(RE_State* state, RE_Node* fuzzy_node, Py_ssize_t pos) { RE_Node* test_node; + if (!fuzzy_node) + return TRUE; + test_node = fuzzy_node->nonstring.next_2.node; if (!test_node) return TRUE; @@ -10004,6 +10011,8 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_item(RE_State* state, RE_FuzzyData* data, if (!this_error_permitted(state, data->fuzzy_type)) return RE_ERROR_FAILURE; + data->new_text_pos = state->text_pos; + switch (data->fuzzy_type) { case RE_FUZZY_DEL: /* Could a character at text_pos have been deleted? */ @@ -10014,6 +10023,7 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_item(RE_State* state, RE_FuzzyData* data, data->new_string_pos += step; else data->new_node = data->new_node->next_1.node; + return RE_ERROR_SUCCESS; case RE_FUZZY_INS: /* Could the character at text_pos have been inserted? */ @@ -10030,16 +10040,18 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_item(RE_State* state, RE_FuzzyData* data, return RE_ERROR_FAILURE; data->new_text_pos = new_pos; + return RE_ERROR_SUCCESS; } - return check_fuzzy_partial(state, new_pos); + return check_fuzzy_partial(state, data->new_text_pos); case RE_FUZZY_SUB: /* Could the character at text_pos have been substituted? */ if (step == 0) return RE_ERROR_FAILURE; new_pos = data->new_text_pos + step; + if (state->slice_start <= new_pos && new_pos <= state->slice_end) { if (!fuzzy_ext_match(state, state->fuzzy_node, data->new_text_pos)) return RE_ERROR_FAILURE; @@ -10061,8 +10073,8 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_item(RE_State* state, RE_FuzzyData* data, } /* Tries a fuzzy match of an item of width 0 or 1. */ -Py_LOCAL_INLINE(int) fuzzy_match_item(RE_State* state, BOOL search, Py_ssize_t* - text_pos, RE_Node** node, RE_INT8 step) { +Py_LOCAL_INLINE(int) fuzzy_match_item(RE_State* state, BOOL search, RE_Node** + node, RE_INT8 step) { size_t* fuzzy_counts; RE_FuzzyData data; TRACE(("<<fuzzy_match_item>>\n")) @@ -10074,7 +10086,6 @@ Py_LOCAL_INLINE(int) fuzzy_match_item(RE_State* state, BOOL search, Py_ssize_t* return RE_ERROR_FAILURE; } - data.new_text_pos = *text_pos; data.new_node = *node; if (step == 0) { @@ -10091,8 +10102,7 @@ Py_LOCAL_INLINE(int) fuzzy_match_item(RE_State* state, BOOL search, Py_ssize_t* /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || data.new_text_pos != - state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; for (data.fuzzy_type = 0; data.fuzzy_type < RE_FUZZY_COUNT; data.fuzzy_type++) { @@ -10114,7 +10124,7 @@ found: return RE_ERROR_MEMORY; if (!push_int8(state, &state->bstack, step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, *text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10130,7 +10140,7 @@ found: ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = data.new_text_pos; + state->text_pos = data.new_text_pos; *node = data.new_node; TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], @@ -10141,9 +10151,8 @@ found: /* Retries a fuzzy match of a item of width 0 or 1. */ Py_LOCAL_INLINE(int) retry_fuzzy_match_item(RE_State* state, RE_UINT8 op, BOOL - search, Py_ssize_t* text_pos, RE_Node** node, BOOL advance) { + search, RE_Node** node, BOOL advance) { size_t* fuzzy_counts; - Py_ssize_t curr_text_pos; RE_FuzzyData data; RE_INT8 step; RE_Node* curr_node; @@ -10157,14 +10166,13 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_item(RE_State* state, RE_UINT8 op, BOOL if (!pop_uint8(state, &state->bstack, &data.fuzzy_type)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; if (!pop_int8(state, &state->bstack, &step)) return RE_ERROR_MEMORY; if (!pop_pointer(state, &state->bstack, (void*)&curr_node)) return RE_ERROR_MEMORY; - data.new_text_pos = curr_text_pos; data.new_node = curr_node; data.step = step; @@ -10176,8 +10184,7 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_item(RE_State* state, RE_UINT8 op, BOOL /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || data.new_text_pos != - state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; step = advance ? data.step : 0; @@ -10201,7 +10208,7 @@ found: return RE_ERROR_MEMORY; if (!push_int8(state, &state->bstack, step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10217,7 +10224,7 @@ found: ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = data.new_text_pos; + state->text_pos = data.new_text_pos; *node = data.new_node; TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], @@ -10227,19 +10234,18 @@ found: } /* Tries a fuzzy insertion of characters, initially 0, after a string. */ -Py_LOCAL_INLINE(int) fuzzy_insert(RE_State* state, Py_ssize_t text_pos, int - step, RE_Node* node) { +Py_LOCAL_INLINE(int) fuzzy_insert(RE_State* state, int step, RE_Node* node) { Py_ssize_t limit; limit = step > 0 ? state->slice_end : state->slice_start; - if (text_pos == limit || !insertion_permitted(state, state->fuzzy_node, - state->fuzzy_counts)) + if (state->text_pos == limit || !insertion_permitted(state, + state->fuzzy_node, state->fuzzy_counts)) return RE_ERROR_SUCCESS; if (!push_int8(state, &state->bstack, (RE_INT8)step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, 0)) return RE_ERROR_MEMORY; @@ -10254,11 +10260,9 @@ Py_LOCAL_INLINE(int) fuzzy_insert(RE_State* state, Py_ssize_t text_pos, int } /* Retries a fuzzy insertion of characters after a string. */ -Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, Py_ssize_t *text_pos, - RE_Node** node) { +Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, RE_Node** node) { RE_Node* curr_node; Py_ssize_t count; - Py_ssize_t curr_text_pos; RE_INT8 step; Py_ssize_t limit; @@ -10268,15 +10272,16 @@ Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, Py_ssize_t *text_pos, return RE_ERROR_MEMORY; if (!pop_ssize(state, &state->bstack, &count)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; if (!pop_int8(state, &state->bstack, &step)) return RE_ERROR_MEMORY; limit = step > 0 ? state->slice_end : state->slice_start; - if (curr_text_pos == limit || !insertion_permitted(state, - state->fuzzy_node, state->fuzzy_counts)) { + if (state->text_pos == limit || !insertion_permitted(state, + state->fuzzy_node, state->fuzzy_counts) || !fuzzy_ext_match(state, + curr_node->nonstring.next_2.node, state->text_pos)) { while (count > 0) { unrecord_fuzzy(state); --state->fuzzy_counts[RE_FUZZY_INS]; @@ -10286,12 +10291,12 @@ Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, Py_ssize_t *text_pos, return RE_ERROR_FAILURE; } - curr_text_pos += step; + state->text_pos += step; ++count; if (!push_int8(state, &state->bstack, step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, count)) return RE_ERROR_MEMORY; @@ -10302,21 +10307,20 @@ Py_LOCAL_INLINE(int) retry_fuzzy_insert(RE_State* state, Py_ssize_t *text_pos, /* bstack: step text_pos count node FUZZY_INSERT */ - if (!record_fuzzy(state, RE_FUZZY_INS, curr_text_pos - step)) + if (!record_fuzzy(state, RE_FUZZY_INS, state->text_pos - step)) return RE_ERROR_MEMORY; ++state->fuzzy_counts[RE_FUZZY_INS]; ++state->capture_change; - *text_pos = curr_text_pos; *node = curr_node; return RE_ERROR_SUCCESS; } /* Tries a fuzzy match of a string. */ -Py_LOCAL_INLINE(int) fuzzy_match_string(RE_State* state, BOOL search, - Py_ssize_t* text_pos, RE_Node* node, Py_ssize_t* string_pos, RE_INT8 step) { +Py_LOCAL_INLINE(int) fuzzy_match_string(RE_State* state, BOOL search, RE_Node* + node, Py_ssize_t* string_pos, RE_INT8 step) { size_t* fuzzy_counts; RE_FuzzyData data; TRACE(("<<fuzzy_match_string>>\n")) @@ -10328,15 +10332,13 @@ Py_LOCAL_INLINE(int) fuzzy_match_string(RE_State* state, BOOL search, return RE_ERROR_FAILURE; } - data.new_text_pos = *text_pos; data.new_string_pos = *string_pos; data.step = step; /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || data.new_text_pos != - state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; for (data.fuzzy_type = 0; data.fuzzy_type < RE_FUZZY_COUNT; data.fuzzy_type++) { @@ -10360,7 +10362,7 @@ found: return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, *string_pos)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, *text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10369,14 +10371,13 @@ found: /* bstack: node step string_pos text_pos fuzzy_type op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - data.new_text_pos : data.new_text_pos - data.step)) + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) return RE_ERROR_MEMORY; ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = data.new_text_pos; + state->text_pos = data.new_text_pos; *string_pos = data.new_string_pos; TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], @@ -10387,11 +10388,9 @@ found: /* Retries a fuzzy match of a string. */ Py_LOCAL_INLINE(int) retry_fuzzy_match_string(RE_State* state, RE_UINT8 op, - BOOL search, Py_ssize_t* text_pos, RE_Node** node, Py_ssize_t* string_pos) { + BOOL search, RE_Node** node, Py_ssize_t* string_pos) { size_t* fuzzy_counts; RE_FuzzyData data; - Py_ssize_t curr_text_pos; - Py_ssize_t curr_string_pos; RE_Node* new_node; TRACE(("<<retry_fuzzy_match_string>>\n")) @@ -10403,25 +10402,23 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_string(RE_State* state, RE_UINT8 op, if (!pop_uint8(state, &state->bstack, &data.fuzzy_type)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_string_pos)) + if (!pop_ssize(state, &state->bstack, string_pos)) return RE_ERROR_MEMORY; if (!pop_int8(state, &state->bstack, &data.step)) return RE_ERROR_MEMORY; if (!pop_pointer(state, &state->bstack, (void*)&new_node)) return RE_ERROR_MEMORY; - data.new_text_pos = curr_text_pos; - data.new_string_pos = curr_string_pos; + data.new_string_pos = *string_pos; --fuzzy_counts[data.fuzzy_type]; /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || data.new_text_pos != - state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; for (++data.fuzzy_type; data.fuzzy_type < RE_FUZZY_COUNT; data.fuzzy_type++) { @@ -10443,17 +10440,16 @@ found: return RE_ERROR_MEMORY; if (!push_int8(state, &state->bstack, data.step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_string_pos)) + if (!push_ssize(state, &state->bstack, *string_pos)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, op)) return RE_ERROR_MEMORY; - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - data.new_text_pos : data.new_text_pos - data.step)) + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) return RE_ERROR_MEMORY; /* bstack: node step string_pos text_pos fuzzy_type op */ @@ -10461,7 +10457,7 @@ found: ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = data.new_text_pos; + state->text_pos = data.new_text_pos; *node = new_node; *string_pos = data.new_string_pos; @@ -10476,43 +10472,51 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_string_fld(RE_State* state, RE_FuzzyData* data) { int new_pos; - if (this_error_permitted(state, data->fuzzy_type)) { - switch (data->fuzzy_type) { - case RE_FUZZY_DEL: - /* Could a character at text_pos have been deleted? */ - data->new_string_pos += data->step; - return RE_ERROR_SUCCESS; - case RE_FUZZY_INS: - /* Could the character at text_pos have been inserted? */ - if (!data->permit_insertion) + if (!this_error_permitted(state, data->fuzzy_type)) + return RE_ERROR_FAILURE; + + data->new_text_pos = state->text_pos; + + switch (data->fuzzy_type) { + case RE_FUZZY_DEL: + /* Could a character at text_pos have been deleted? */ + data->new_string_pos += data->step; + + return RE_ERROR_SUCCESS; + case RE_FUZZY_INS: + /* Could the character at text_pos have been inserted? */ + if (!data->permit_insertion) + return RE_ERROR_FAILURE; + + new_pos = data->new_folded_pos + data->step; + + if (0 <= new_pos && new_pos <= data->folded_len) { + if (!fuzzy_ext_match(state, state->fuzzy_node, + data->new_string_pos)) return RE_ERROR_FAILURE; - new_pos = data->new_folded_pos + data->step; - if (0 <= new_pos && new_pos <= data->folded_len) { - if (!fuzzy_ext_match(state, state->fuzzy_node, - data->new_string_pos)) - return RE_ERROR_FAILURE; + data->new_folded_pos = new_pos; - data->new_folded_pos = new_pos; - return RE_ERROR_SUCCESS; - } + return RE_ERROR_SUCCESS; + } - return check_fuzzy_partial(state, new_pos); - case RE_FUZZY_SUB: - /* Could the character at text_pos have been substituted? */ - new_pos = data->new_folded_pos + data->step; - if (0 <= new_pos && new_pos <= data->folded_len) { - if (!fuzzy_ext_match(state, state->fuzzy_node, - data->new_string_pos)) - return RE_ERROR_FAILURE; + return check_fuzzy_partial(state, new_pos); + case RE_FUZZY_SUB: + /* Could the character at text_pos have been substituted? */ + new_pos = data->new_folded_pos + data->step; - data->new_folded_pos = new_pos; - data->new_string_pos += data->step; - return RE_ERROR_SUCCESS; - } + if (0 <= new_pos && new_pos <= data->folded_len) { + if (!fuzzy_ext_match(state, state->fuzzy_node, + data->new_string_pos)) + return RE_ERROR_FAILURE; + + data->new_folded_pos = new_pos; + data->new_string_pos += data->step; - return check_fuzzy_partial(state, new_pos); + return RE_ERROR_SUCCESS; } + + return check_fuzzy_partial(state, new_pos); } return RE_ERROR_FAILURE; @@ -10520,18 +10524,19 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_string_fld(RE_State* state, RE_FuzzyData* /* Tries a fuzzy match of a string, ignoring case. */ Py_LOCAL_INLINE(int) fuzzy_match_string_fld(RE_State* state, BOOL search, - Py_ssize_t* text_pos, RE_Node* node, Py_ssize_t* string_pos, int* folded_pos, - int folded_len, RE_INT8 step) { + RE_Node* node, Py_ssize_t* string_pos, int* folded_pos, int folded_len, + RE_INT8 step) { size_t* fuzzy_counts; - Py_ssize_t new_text_pos; RE_FuzzyData data; + TRACE(("<<fuzzy_match_string_fld>>\n")) fuzzy_counts = state->fuzzy_counts; - if (!any_error_permitted(state)) + if (!any_error_permitted(state)) { + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; + } - new_text_pos = *text_pos; data.new_string_pos = *string_pos; data.new_folded_pos = *folded_pos; data.folded_len = folded_len; @@ -10540,7 +10545,8 @@ Py_LOCAL_INLINE(int) fuzzy_match_string_fld(RE_State* state, BOOL search, /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || new_text_pos != state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; + if (step > 0) { if (data.new_folded_pos != 0) data.permit_insertion = RE_ERROR_SUCCESS; @@ -10561,6 +10567,7 @@ Py_LOCAL_INLINE(int) fuzzy_match_string_fld(RE_State* state, BOOL search, goto found; } + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; found: @@ -10574,7 +10581,7 @@ found: return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, folded_len)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, new_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10585,30 +10592,30 @@ found: * op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - new_text_pos : new_text_pos - data.step)) + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) return RE_ERROR_MEMORY; ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = new_text_pos; + state->text_pos = data.new_text_pos; *string_pos = data.new_string_pos; *folded_pos = data.new_folded_pos; + TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], + fuzzy_counts[1], fuzzy_counts[2])) + TRACE((" return RE_ERROR_SUCCESS\n")) return RE_ERROR_SUCCESS; } /* Retries a fuzzy match of a string, ignoring case. */ Py_LOCAL_INLINE(int) retry_fuzzy_match_string_fld(RE_State* state, RE_UINT8 op, - BOOL search, Py_ssize_t* text_pos, RE_Node** node, Py_ssize_t* string_pos, - int* folded_pos) { + BOOL search, RE_Node** node, Py_ssize_t* string_pos, int* folded_pos) { size_t* fuzzy_counts; RE_FuzzyData data; - Py_ssize_t new_text_pos; int curr_folded_pos; - Py_ssize_t curr_string_pos; RE_Node* new_node; + TRACE(("<<retry_fuzzy_match_string_fld>>\n")) fuzzy_counts = state->fuzzy_counts; @@ -10619,20 +10626,20 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_string_fld(RE_State* state, RE_UINT8 op, if (!pop_uint8(state, &state->bstack, &data.fuzzy_type)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &new_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; if (!pop_int(state, &state->bstack, &data.folded_len)) return RE_ERROR_MEMORY; if (!pop_int(state, &state->bstack, &curr_folded_pos)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &curr_string_pos)) + if (!pop_ssize(state, &state->bstack, string_pos)) return RE_ERROR_MEMORY; if (!pop_int8(state, &state->bstack, &data.step)) return RE_ERROR_MEMORY; if (!pop_pointer(state, &state->bstack, (void*)&new_node)) return RE_ERROR_MEMORY; - data.new_string_pos = curr_string_pos; + data.new_string_pos = *string_pos; data.new_folded_pos = curr_folded_pos; --fuzzy_counts[data.fuzzy_type]; @@ -10640,7 +10647,8 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_string_fld(RE_State* state, RE_UINT8 op, /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || new_text_pos != state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; + if (data.step > 0) { if (data.new_folded_pos != 0) data.permit_insertion = RE_ERROR_SUCCESS; @@ -10661,6 +10669,7 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_string_fld(RE_State* state, RE_UINT8 op, goto found; } + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; found: @@ -10668,35 +10677,37 @@ found: return RE_ERROR_MEMORY; if (!push_int8(state, &state->bstack, data.step)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, curr_string_pos)) + if (!push_ssize(state, &state->bstack, *string_pos)) return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, curr_folded_pos)) return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, data.folded_len)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, new_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, op)) return RE_ERROR_MEMORY; + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) + return RE_ERROR_MEMORY; + /* bstack: node step string_pos folded_pos folded_len text_pos fuzzy_type * op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - new_text_pos : new_text_pos - data.step)) - return RE_ERROR_MEMORY; - ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = new_text_pos; + state->text_pos = data.new_text_pos; *node = new_node; *string_pos = data.new_string_pos; *folded_pos = data.new_folded_pos; + TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], + fuzzy_counts[1], fuzzy_counts[2])) + TRACE((" return RE_ERROR_SUCCESS\n")) return RE_ERROR_SUCCESS; } @@ -10705,43 +10716,51 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_group_fld(RE_State* state, RE_FuzzyData* data) { int new_pos; - if (this_error_permitted(state, data->fuzzy_type)) { - switch (data->fuzzy_type) { - case RE_FUZZY_DEL: - /* Could a character at text_pos have been deleted? */ - data->new_gfolded_pos += data->step; - return RE_ERROR_SUCCESS; - case RE_FUZZY_INS: - /* Could the character at text_pos have been inserted? */ - if (!data->permit_insertion) + if (!this_error_permitted(state, data->fuzzy_type)) + return RE_ERROR_FAILURE; + + data->new_text_pos = state->text_pos; + + switch (data->fuzzy_type) { + case RE_FUZZY_DEL: + /* Could a character at text_pos have been deleted? */ + data->new_gfolded_pos += data->step; + + return RE_ERROR_SUCCESS; + case RE_FUZZY_INS: + /* Could the character at text_pos have been inserted? */ + if (!data->permit_insertion) + return RE_ERROR_FAILURE; + + new_pos = data->new_folded_pos + data->step; + + if (0 <= new_pos && new_pos <= data->folded_len) { + if (!fuzzy_ext_match_group_fld(state, state->fuzzy_node, + data->new_folded_pos)) return RE_ERROR_FAILURE; - new_pos = data->new_folded_pos + data->step; - if (0 <= new_pos && new_pos <= data->folded_len) { - if (!fuzzy_ext_match_group_fld(state, state->fuzzy_node, - data->new_folded_pos)) - return RE_ERROR_FAILURE; + data->new_folded_pos = new_pos; - data->new_folded_pos = new_pos; - return RE_ERROR_SUCCESS; - } + return RE_ERROR_SUCCESS; + } - return check_fuzzy_partial(state, new_pos); - case RE_FUZZY_SUB: - /* Could the character at text_pos have been substituted? */ - new_pos = data->new_folded_pos + data->step; - if (0 <= new_pos && new_pos <= data->folded_len) { - if (!fuzzy_ext_match_group_fld(state, state->fuzzy_node, - data->new_folded_pos)) - return RE_ERROR_FAILURE; + return check_fuzzy_partial(state, new_pos); + case RE_FUZZY_SUB: + /* Could the character at text_pos have been substituted? */ + new_pos = data->new_folded_pos + data->step; - data->new_folded_pos = new_pos; - data->new_gfolded_pos += data->step; - return RE_ERROR_SUCCESS; - } + if (0 <= new_pos && new_pos <= data->folded_len) { + if (!fuzzy_ext_match_group_fld(state, state->fuzzy_node, + data->new_folded_pos)) + return RE_ERROR_FAILURE; - return check_fuzzy_partial(state, new_pos); + data->new_folded_pos = new_pos; + data->new_gfolded_pos += data->step; + + return RE_ERROR_SUCCESS; } + + return check_fuzzy_partial(state, new_pos); } return RE_ERROR_FAILURE; @@ -10749,19 +10768,20 @@ Py_LOCAL_INLINE(int) next_fuzzy_match_group_fld(RE_State* state, RE_FuzzyData* /* Tries a fuzzy match of a group reference, ignoring case. */ Py_LOCAL_INLINE(int) fuzzy_match_group_fld(RE_State* state, BOOL search, - Py_ssize_t* text_pos, RE_Node* node, int* folded_pos, int folded_len, - Py_ssize_t* group_pos, int* gfolded_pos, int gfolded_len, RE_INT8 step) { + RE_Node* node, int* folded_pos, int folded_len, Py_ssize_t* group_pos, int* + gfolded_pos, int gfolded_len, RE_INT8 step) { size_t* fuzzy_counts; - Py_ssize_t new_text_pos; RE_FuzzyData data; Py_ssize_t new_group_pos; + TRACE(("<<fuzzy_match_group_fld>>\n")) fuzzy_counts = state->fuzzy_counts; - if (!any_error_permitted(state)) + if (!any_error_permitted(state)) { + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; + } - new_text_pos = *text_pos; data.new_folded_pos = *folded_pos; data.folded_len = folded_len; new_group_pos = *group_pos; @@ -10771,7 +10791,8 @@ Py_LOCAL_INLINE(int) fuzzy_match_group_fld(RE_State* state, BOOL search, /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || new_text_pos != state->search_anchor; + data.permit_insertion = !search || state->text_pos != state->search_anchor; + if (data.step > 0) { if (data.new_folded_pos != 0) data.permit_insertion = RE_ERROR_SUCCESS; @@ -10792,6 +10813,7 @@ Py_LOCAL_INLINE(int) fuzzy_match_group_fld(RE_State* state, BOOL search, goto found; } + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; found: @@ -10809,7 +10831,7 @@ found: return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, folded_len)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, new_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; @@ -10820,33 +10842,35 @@ found: * folded_len text_pos fuzzy_type op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - new_text_pos : new_text_pos - data.step)) + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) return RE_ERROR_MEMORY; ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = new_text_pos; + state->text_pos = data.new_text_pos; *group_pos = new_group_pos; *folded_pos = data.new_folded_pos; *gfolded_pos = data.new_gfolded_pos; + TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], + fuzzy_counts[1], fuzzy_counts[2])) + TRACE((" return RE_ERROR_SUCCESS\n")) return RE_ERROR_SUCCESS; } /* Retries a fuzzy match of a group reference, ignoring case. */ Py_LOCAL_INLINE(int) retry_fuzzy_match_group_fld(RE_State* state, RE_UINT8 op, - BOOL search, Py_ssize_t* text_pos, RE_Node** node, int* folded_pos, - Py_ssize_t* group_pos, int* gfolded_pos) { + BOOL search, RE_Node** node, int* folded_pos, Py_ssize_t* group_pos, int* + gfolded_pos) { size_t* fuzzy_counts; RE_FuzzyData data; - Py_ssize_t new_text_pos; int new_folded_pos; Py_ssize_t new_group_pos; int gfolded_len; int new_gfolded_pos; RE_Node* new_node; + TRACE(("<<retry_fuzzy_match_group_fld>>\n")) fuzzy_counts = state->fuzzy_counts; @@ -10858,7 +10882,7 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_group_fld(RE_State* state, RE_UINT8 op, if (!pop_uint8(state, &state->bstack, &data.fuzzy_type)) return RE_ERROR_MEMORY; - if (!pop_ssize(state, &state->bstack, &new_text_pos)) + if (!pop_ssize(state, &state->bstack, &state->text_pos)) return RE_ERROR_MEMORY; if (!pop_int(state, &state->bstack, &data.folded_len)) return RE_ERROR_MEMORY; @@ -10883,8 +10907,8 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_group_fld(RE_State* state, RE_UINT8 op, /* Permit insertion except initially when searching (it's better just to * start searching one character later). */ - data.permit_insertion = !search || new_text_pos != state->search_anchor || - data.new_folded_pos != data.folded_len; + data.permit_insertion = !search || state->text_pos != state->search_anchor + || data.new_folded_pos != data.folded_len; for (++data.fuzzy_type; data.fuzzy_type < RE_FUZZY_COUNT; data.fuzzy_type++) { @@ -10898,6 +10922,7 @@ Py_LOCAL_INLINE(int) retry_fuzzy_match_group_fld(RE_State* state, RE_UINT8 op, goto found; } + TRACE((" return RE_ERROR_FAILURE\n")) return RE_ERROR_FAILURE; found: @@ -10915,30 +10940,32 @@ found: return RE_ERROR_MEMORY; if (!push_int(state, &state->bstack, data.folded_len)) return RE_ERROR_MEMORY; - if (!push_ssize(state, &state->bstack, new_text_pos)) + if (!push_ssize(state, &state->bstack, state->text_pos)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, data.fuzzy_type)) return RE_ERROR_MEMORY; if (!push_uint8(state, &state->bstack, op)) return RE_ERROR_MEMORY; + if (!record_fuzzy(state, data.fuzzy_type, state->text_pos)) + return RE_ERROR_MEMORY; + /* bstack: node step gfolded_pos gfolded_len group_pos folded_pos * folded_len text_pos fuzzy_type op */ - if (!record_fuzzy(state, data.fuzzy_type, data.fuzzy_type == RE_FUZZY_DEL ? - new_text_pos : new_text_pos - data.step)) - return RE_ERROR_MEMORY; - ++fuzzy_counts[data.fuzzy_type]; ++state->capture_change; - *text_pos = new_text_pos; + state->text_pos = data.new_text_pos; *node = new_node; *group_pos = new_group_pos; *folded_pos = data.new_folded_pos; *gfolded_pos = data.new_gfolded_pos; + TRACE((" fuzzy_counts is (%zd, %zd, %zd)\n", fuzzy_counts[0], + fuzzy_counts[1], fuzzy_counts[2])) + TRACE((" return RE_ERROR_SUCCESS\n")) return RE_ERROR_SUCCESS; } @@ -10976,7 +11003,7 @@ Py_LOCAL_INLINE(Py_ssize_t) locate_required_string(RE_State* state, BOOL if (state->req_pos < 0 || state->text_pos > state->req_pos) /* First time or already passed it. */ found_pos = string_search(state, pattern->req_string, - state->text_pos, limit, &is_partial); + state->text_pos, limit, TRUE, &is_partial); else { found_pos = state->req_pos; end_pos = state->req_end; @@ -11109,7 +11136,7 @@ Py_LOCAL_INLINE(Py_ssize_t) locate_required_string(RE_State* state, BOOL if (state->req_pos < 0 || state->text_pos > state->req_pos) /* First time or already passed it. */ found_pos = string_search_ign(state, pattern->req_string, - state->text_pos, limit, &is_partial); + state->text_pos, limit, TRUE, &is_partial); else { found_pos = state->req_pos; end_pos = state->req_end; @@ -11154,7 +11181,7 @@ Py_LOCAL_INLINE(Py_ssize_t) locate_required_string(RE_State* state, BOOL if (state->req_pos < 0 || state->text_pos < state->req_pos) /* First time or already passed it. */ found_pos = string_search_ign_rev(state, pattern->req_string, - state->text_pos, limit, &is_partial); + state->text_pos, limit, TRUE, &is_partial); else { found_pos = state->req_pos; end_pos = state->req_end; @@ -11199,7 +11226,7 @@ Py_LOCAL_INLINE(Py_ssize_t) locate_required_string(RE_State* state, BOOL if (state->req_pos < 0 || state->text_pos < state->req_pos) /* First time or already passed it. */ found_pos = string_search_rev(state, pattern->req_string, - state->text_pos, limit, &is_partial); + state->text_pos, limit, TRUE, &is_partial); else { found_pos = state->req_pos; end_pos = state->req_end; @@ -11730,8 +11757,7 @@ advance: ++state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11751,8 +11777,7 @@ advance: ++state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11772,8 +11797,7 @@ advance: --state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -11793,8 +11817,7 @@ advance: --state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -11814,8 +11837,7 @@ advance: ++state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11835,8 +11857,7 @@ advance: --state->text_pos; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -11878,8 +11899,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -11946,8 +11966,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11970,8 +11989,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -11993,8 +12011,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -12016,8 +12033,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -12078,8 +12094,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12099,8 +12114,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12120,8 +12134,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12318,6 +12331,8 @@ advance: /* Save the inner fuzzy info. */ if (!push_fuzzy_counts(state, &state->bstack, state->fuzzy_counts)) return RE_ERROR_MEMORY; + if (!push_ssize(state, &state->bstack, 0)) + return RE_ERROR_MEMORY; if (!push_pointer(state, &state->bstack, state->fuzzy_node)) return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, state->text_pos)) @@ -12838,8 +12853,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12858,8 +12872,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12878,8 +12891,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12899,8 +12911,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12920,8 +12931,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12940,8 +12950,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -12987,8 +12996,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -13635,8 +13643,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -13659,8 +13666,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -13682,8 +13688,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -13705,8 +13710,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -13749,8 +13753,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -13773,8 +13776,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -13796,8 +13798,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -13819,8 +13820,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -13864,8 +13864,8 @@ advance: ++string_pos; ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, 1); + status = fuzzy_match_string(state, search, node, + &string_pos, 1); if (status < 0) return status; @@ -13955,9 +13955,9 @@ advance: ++folded_pos; ++gfolded_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_group_fld(state, search, - &state->text_pos, node, &folded_pos, folded_len, - &string_pos, &gfolded_pos, gfolded_len, 1); + status = fuzzy_match_group_fld(state, search, node, + &folded_pos, folded_len, &string_pos, &gfolded_pos, + gfolded_len, 1); if (status < 0) return status; @@ -14056,9 +14056,9 @@ advance: --folded_pos; --gfolded_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_group_fld(state, search, - &state->text_pos, node, &folded_pos, folded_len, - &string_pos, &gfolded_pos, gfolded_len, -1); + status = fuzzy_match_group_fld(state, search, node, + &folded_pos, folded_len, &string_pos, &gfolded_pos, + gfolded_len, -1); if (status < 0) return status; @@ -14122,8 +14122,8 @@ advance: ++string_pos; ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, 1); + status = fuzzy_match_string(state, search, node, + &string_pos, 1); if (status < 0) return status; @@ -14179,8 +14179,8 @@ advance: --string_pos; --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, -1); + status = fuzzy_match_string(state, search, node, + &string_pos, -1); if (status < 0) return status; @@ -14235,8 +14235,8 @@ advance: --string_pos; --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, -1); + status = fuzzy_match_string(state, search, node, + &string_pos, -1); if (status < 0) return status; @@ -14262,8 +14262,7 @@ advance: if (state->text_pos == state->search_anchor) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14288,8 +14287,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -14314,8 +14312,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 1); + status = fuzzy_match_item(state, search, &node, 1); if (status < 0) return status; @@ -14339,8 +14336,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -14364,8 +14360,7 @@ advance: state->text_pos += node->step; node = node->next_1.node; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, -1); + status = fuzzy_match_item(state, search, &node, -1); if (status < 0) return status; @@ -14483,8 +14478,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14503,8 +14497,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14523,8 +14516,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14543,8 +14535,7 @@ advance: if (status == RE_ERROR_SUCCESS) node = node->next_1.node; else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_item(state, search, &state->text_pos, - &node, 0); + status = fuzzy_match_item(state, search, &node, 0); if (status < 0) return status; @@ -14582,8 +14573,8 @@ advance: ++string_pos; ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, 1); + status = fuzzy_match_string(state, search, node, + &string_pos, 1); if (status < 0) return status; @@ -14599,8 +14590,7 @@ advance: } if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_insert(state, state->text_pos, 1, - node->next_1.node); + status = fuzzy_insert(state, 1, node->next_1.node); if (status < 0) return status; } @@ -14672,9 +14662,8 @@ advance: if (folded_pos >= folded_len) ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string_fld(state, search, - &state->text_pos, node, &string_pos, &folded_pos, - folded_len, 1); + status = fuzzy_match_string_fld(state, search, node, + &string_pos, &folded_pos, folded_len, 1); if (status < 0) return status; @@ -14693,9 +14682,8 @@ advance: if (node->status & RE_STATUS_FUZZY) { while (folded_pos < folded_len) { - status = fuzzy_match_string_fld(state, search, - &state->text_pos, node, &string_pos, &folded_pos, - folded_len, 1); + status = fuzzy_match_string_fld(state, search, node, + &string_pos, &folded_pos, folded_len, 1); if (status < 0) return status; @@ -14781,9 +14769,8 @@ advance: if (folded_pos <= 0) --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string_fld(state, search, - &state->text_pos, node, &string_pos, &folded_pos, - folded_len, -1); + status = fuzzy_match_string_fld(state, search, node, + &string_pos, &folded_pos, folded_len, -1); if (status < 0) return status; @@ -14802,9 +14789,8 @@ advance: if (node->status & RE_STATUS_FUZZY) { while (folded_pos > 0) { - status = fuzzy_match_string_fld(state, search, - &state->text_pos, node, &string_pos, &folded_pos, - folded_len, -1); + status = fuzzy_match_string_fld(state, search, node, + &string_pos, &folded_pos, folded_len, -1); if (status < 0) return status; @@ -14857,8 +14843,8 @@ advance: ++string_pos; ++state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, 1); + status = fuzzy_match_string(state, search, node, + &string_pos, 1); if (status < 0) return status; @@ -14874,8 +14860,7 @@ advance: } if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_insert(state, state->text_pos, 1, - node->next_1.node); + status = fuzzy_insert(state, 1, node->next_1.node); if (status < 0) return status; } @@ -14915,8 +14900,8 @@ advance: --string_pos; --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, -1); + status = fuzzy_match_string(state, search, node, + &string_pos, -1); if (status < 0) return status; @@ -14932,8 +14917,7 @@ advance: } if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_insert(state, state->text_pos, -1, - node->next_1.node); + status = fuzzy_insert(state, -1, node->next_1.node); if (status < 0) return status; } @@ -14973,8 +14957,8 @@ advance: --string_pos; --state->text_pos; } else if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_match_string(state, search, - &state->text_pos, node, &string_pos, -1); + status = fuzzy_match_string(state, search, node, + &string_pos, -1); if (status < 0) return status; @@ -14990,8 +14974,7 @@ advance: } if (node->status & RE_STATUS_FUZZY) { - status = fuzzy_insert(state, state->text_pos, -1, - node->next_1.node); + status = fuzzy_insert(state, -1, node->next_1.node); if (status < 0) return status; } @@ -15088,8 +15071,7 @@ backtrack: case RE_OP_SET_UNION_REV: /* Set union, backwards. */ TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_item(state, op, search, - &state->text_pos, &node, TRUE); + status = retry_fuzzy_match_item(state, op, search, &node, TRUE); if (status < 0) return status; @@ -15190,8 +15172,7 @@ backtrack: case RE_OP_START_OF_WORD: /* At the start of a word. */ TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_item(state, op, search, - &state->text_pos, &node, FALSE); + status = retry_fuzzy_match_item(state, op, search, &node, FALSE); if (status < 0) return status; @@ -15336,6 +15317,7 @@ backtrack: { RE_Node* inner_node; size_t inner_counts[RE_FUZZY_COUNT]; + size_t insertions; TRACE(("%s\n", re_op_text[op])) /* sstack: - @@ -15349,6 +15331,8 @@ backtrack: return RE_ERROR_MEMORY; if (!pop_pointer(state, &state->bstack, (void*)&inner_node)) return RE_ERROR_MEMORY; + if (!pop_size(state, &state->bstack, &insertions)) + return RE_ERROR_MEMORY; if (!pop_fuzzy_counts(state, &state->bstack, inner_counts)) return RE_ERROR_MEMORY; @@ -15357,8 +15341,10 @@ backtrack: * bstack: - */ - if (insertion_permitted(state, inner_node, inner_counts) && - fuzzy_ext_match(state, inner_node, state->text_pos)) { + if (insertion_permitted(state, inner_node, inner_counts) && + total_errors(state->fuzzy_counts) + total_errors(inner_counts) < + state->max_errors && fuzzy_ext_match(state, inner_node, + state->text_pos)) { RE_INT8 step; Py_ssize_t limit; @@ -15382,6 +15368,8 @@ backtrack: if (!push_fuzzy_counts(state, &state->bstack, inner_counts)) return RE_ERROR_MEMORY; + if (!push_size(state, &state->bstack, insertions + 1)) + return RE_ERROR_MEMORY; if (!push_pointer(state, &state->bstack, inner_node)) return RE_ERROR_MEMORY; if (!push_ssize(state, &state->bstack, state->text_pos)) @@ -15421,6 +15409,8 @@ backtrack: * bstack: - */ + inner_counts[RE_FUZZY_INS] -= insertions; + /* Restore the inner fuzzy info. */ Py_MEMCPY(state->fuzzy_counts, inner_counts, sizeof(state->fuzzy_counts)); @@ -15600,7 +15590,7 @@ backtrack: case RE_OP_FUZZY_INSERT: TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_insert(state, &state->text_pos, &node); + status = retry_fuzzy_insert(state, &node); if (status < 0) return status; @@ -15843,7 +15833,7 @@ backtrack: break; found = string_search_rev(state, test, pos + length, - limit, &is_partial); + limit, FALSE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -15979,7 +15969,7 @@ backtrack: break; found = string_search_ign_rev(state, test, pos + - length, limit, &is_partial); + length, limit, FALSE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16017,7 +16007,7 @@ backtrack: break; found = string_search_ign(state, test, pos - length, - limit, &is_partial); + limit, FALSE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16055,7 +16045,7 @@ backtrack: break; found = string_search(state, test, pos - length, limit, - &is_partial); + FALSE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16510,7 +16500,7 @@ backtrack: /* Look for the tail string. */ found = string_search(state, test, pos + 1, limit + - length, &is_partial); + length, TRUE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16688,7 +16678,7 @@ backtrack: /* Look for the tail string. */ found = string_search_ign(state, test, pos + 1, limit + - length, &is_partial); + length, TRUE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16748,7 +16738,7 @@ backtrack: /* Look for the tail string. */ found = string_search_ign_rev(state, test, pos - 1, - limit - length, &is_partial); + limit - length, TRUE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -16808,7 +16798,7 @@ backtrack: /* Look for the tail string. */ found = string_search_rev(state, test, pos - 1, limit - - length, &is_partial); + length, TRUE, &is_partial); if (is_partial) return RE_ERROR_PARTIAL; @@ -17102,8 +17092,8 @@ backtrack: { TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_string(state, op, search, - &state->text_pos, &node, &string_pos); + status = retry_fuzzy_match_string(state, op, search, &node, + &string_pos); if (status < 0) return status; @@ -17118,8 +17108,8 @@ backtrack: { TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_group_fld(state, op, search, - &state->text_pos, &node, &folded_pos, &string_pos, &gfolded_pos); + status = retry_fuzzy_match_group_fld(state, op, search, &node, + &folded_pos, &string_pos, &gfolded_pos); if (status < 0) return status; @@ -17188,8 +17178,8 @@ backtrack: { TRACE(("%s\n", re_op_text[op])) - status = retry_fuzzy_match_string_fld(state, op, search, - &state->text_pos, &node, &string_pos, &folded_pos); + status = retry_fuzzy_match_string_fld(state, op, search, &node, + &string_pos, &folded_pos); if (status < 0) return status; @@ -17361,8 +17351,7 @@ Py_LOCAL_INLINE(void) init_best_list(RE_BestList* best_list) { } /* Finalises the list of best matches found so far. */ -Py_LOCAL_INLINE(void) fini_best_list(RE_State* state, RE_BestList* - best_list) { +Py_LOCAL_INLINE(void) fini_best_list(RE_State* state, RE_BestList* best_list) { safe_dealloc(state, best_list->entries); best_list->capacity = 0; best_list->count = 0; @@ -17498,11 +17487,6 @@ Py_LOCAL_INLINE(int) do_best_fuzzy_match(RE_State* state, BOOL search) { } start_pos = state->match_pos; - - /* Should we keep searching? */ - if (!search) - break; - state->max_errors = fewest_errors - 1; } @@ -19775,7 +19759,7 @@ static PyObject* match_deepcopy(MatchObject* self, PyObject* memo) { } /* MatchObject's 'regs' attribute. */ -static PyObject* match_regs(MatchObject* self) { +static PyObject* match_regs(MatchObject* self, void* unused) { PyObject* regs; PyObject* item; size_t g; @@ -20054,13 +20038,17 @@ static PyMethodDef match_methods[] = { {"__copy__", (PyCFunction)match_copy, METH_NOARGS}, {"__deepcopy__", (PyCFunction)match_deepcopy, METH_O}, {"__getitem__", (PyCFunction)match_getitem, METH_O|METH_COEXIST}, +#if PY_VERSION_HEX >= 0x03090000 + {"__class_getitem__", (PyCFunction)Py_GenericAlias, METH_O|METH_CLASS, + PyDoc_STR("See PEP 585")}, +#endif {NULL, NULL} }; PyDoc_STRVAR(match_doc, "Match object"); /* MatchObject's 'lastindex' attribute. */ -static PyObject* match_lastindex(PyObject* self_) { +static PyObject* match_lastindex(PyObject* self_, void* unused) { MatchObject* self; self = (MatchObject*)self_; @@ -20072,7 +20060,7 @@ static PyObject* match_lastindex(PyObject* self_) { } /* MatchObject's 'lastgroup' attribute. */ -static PyObject* match_lastgroup(PyObject* self_) { +static PyObject* match_lastgroup(PyObject* self_, void* unused) { MatchObject* self; self = (MatchObject*)self_; @@ -20099,7 +20087,7 @@ static PyObject* match_lastgroup(PyObject* self_) { } /* MatchObject's 'string' attribute. */ -static PyObject* match_string(PyObject* self_) { +static PyObject* match_string(PyObject* self_, void* unused) { MatchObject* self; self = (MatchObject*)self_; @@ -20112,7 +20100,7 @@ static PyObject* match_string(PyObject* self_) { } /* MatchObject's 'fuzzy_counts' attribute. */ -static PyObject* match_fuzzy_counts(PyObject* self_) { +static PyObject* match_fuzzy_counts(PyObject* self_, void* unused) { MatchObject* self; self = (MatchObject*)self_; @@ -20122,7 +20110,7 @@ static PyObject* match_fuzzy_counts(PyObject* self_) { } /* MatchObject's 'fuzzy_changes' attribute. */ -static PyObject* match_fuzzy_changes(PyObject* self_) { +static PyObject* match_fuzzy_changes(PyObject* self_, void* unused) { MatchObject* self; PyObject* sub_changes; PyObject* ins_changes; @@ -22278,6 +22266,40 @@ static PyObject* pattern_deepcopy(PatternObject* self, PyObject* memo) { return make_pattern_copy(self); } +/* PatternObject's '__sizeof__' method. */ +static PyObject* pattern_sizeof(PatternObject* self, PyObject* args) { + Py_ssize_t size; + size_t i; + PyObject* result; + + size = sizeof(PatternObject); + size += self->node_count * sizeof(RE_Node); + + for (i = 0; i < self->node_count; i++) { + RE_Node* node; + + node = self->node_list[i]; + size += node->value_count * sizeof(RE_CODE); + } + + size += self->true_group_count * sizeof(RE_GroupInfo); + size += self->repeat_count * sizeof(RE_RepeatInfo); + + result = PyObject_CallMethod(self->packed_code_list, "__sizeof__", NULL); + if (!result) + return NULL; + + size += PyLong_AsSize_t(result); + Py_DECREF(result); + + size += self->call_ref_info_count * sizeof(RE_CallRefInfo); + + if (self->locale_info) + size += sizeof(RE_LocaleInfo); + + return PyLong_FromSsize_t(size); +} + /* The documentation of a PatternObject. */ PyDoc_STRVAR(pattern_match_doc, "match(string, pos=None, endpos=None, concurrent=None, timeout=None) --> MatchObject or None.\n\ @@ -22317,7 +22339,7 @@ PyDoc_STRVAR(pattern_subfn_doc, of pattern with the replacement format."); PyDoc_STRVAR(pattern_split_doc, - "split(string, string, maxsplit=0, concurrent=None, timeout=None) --> list.\n\ + "split(string, maxsplit=0, concurrent=None, timeout=None) --> list.\n\ Split string by the occurrences of pattern."); PyDoc_STRVAR(pattern_splititer_doc, @@ -22368,6 +22390,11 @@ static PyMethodDef pattern_methods[] = { pattern_scanner_doc}, {"__copy__", (PyCFunction)pattern_copy, METH_NOARGS}, {"__deepcopy__", (PyCFunction)pattern_deepcopy, METH_O}, + {"__sizeof__", (PyCFunction)pattern_sizeof, METH_NOARGS|METH_COEXIST}, +#if PY_VERSION_HEX >= 0x03090000 + {"__class_getitem__", (PyCFunction)Py_GenericAlias, METH_O|METH_CLASS, + PyDoc_STR("See PEP 585")}, +#endif {NULL, NULL} }; @@ -23402,7 +23429,6 @@ Py_LOCAL_INLINE(BOOL) mark_named_groups(PatternObject* pattern) { Py_LOCAL_INLINE(BOOL) can_test_past(RE_Node* node) { switch (node->op) { case RE_OP_END_GROUP: - case RE_OP_END_LAZY_REPEAT: case RE_OP_START_GROUP: return TRUE; case RE_OP_GREEDY_REPEAT: @@ -23902,7 +23928,8 @@ Py_LOCAL_INLINE(int) build_FUZZY(RE_CompileArgs* args) { RE_Node* test_node; int status; - /* codes: FUZZY, flags, constraints, ..., end or: FUZZY_EXT, flags, + /* codes: FUZZY, flags, constraints, ..., end + * or: FUZZY_EXT, flags, * constraints, ... next ..., end. */ is_ext = args->code[0] == RE_OP_FUZZY_EXT; @@ -23977,8 +24004,13 @@ Py_LOCAL_INLINE(int) build_FUZZY(RE_CompileArgs* args) { /* Append the fuzzy sequence. */ add_node(args->end, start_node); add_node(start_node, subargs.start); - if (test_node) + if (test_node) { add_node(start_node, test_node); + /* The END_FUZZY node needs access to the charset, if any, in case of + fuzzy insertion at the end. + */ + end_node->nonstring.next_2.node = start_node; + } add_node(subargs.end, end_node); args->end = end_node; args->all_atomic = FALSE; @@ -24953,14 +24985,11 @@ Py_LOCAL_INLINE(int) build_REPEAT(RE_CompileArgs* args) { /* Extract the minimum number of repeats out of a repeat if it contains * a repeat. */ - BOOL extracted_min; size_t index; RE_Node* repeat_node; RE_CompileArgs subargs; - extracted_min = FALSE; - - if (min_count > 0 && contains_repeat(args->code, args->end_code)) { + if (min_count > 0) { RE_CODE done_count; for (done_count = 0; done_count < min_count; done_count++) { @@ -24991,8 +25020,8 @@ Py_LOCAL_INLINE(int) build_REPEAT(RE_CompileArgs* args) { max_count -= done_count; } - /* We've extract the minimum number of repeats. Are there any left? */ - if (extracted_min && max_count == 0) { + /* We've extracted the minimum number of repeats. Are there any left? */ + if (min_count > 0 && max_count == 0) { /* All done. */ args->code = subargs.code; ++args->code; diff --git a/regex_3/_regex_unicode.c b/regex_3/_regex_unicode.c index 4eab00b190b34d76042cafaadfcc66b6b3babbef..80bf721485f114f7a76f2a5f6397905dd553c956 100644 --- a/regex_3/_regex_unicode.c +++ b/regex_3/_regex_unicode.c @@ -1,4 +1,4 @@ -/* For Unicode version 13.0.0 */ +/* For Unicode version 14.0.0 */ #include "_regex_unicode.h" @@ -6,6 +6,10 @@ #define RE_GRAPH_MASK ((1 << RE_PROP_CC) | (1 << RE_PROP_CS) | (1 << RE_PROP_CN)) #define RE_WORD_MASK (RE_PROP_M_MASK | (1 << RE_PROP_ND) | (1 << RE_PROP_PC)) +typedef struct { + RE_UINT8 scripts[RE_MAX_SCX]; +} RE_ScriptExt; + typedef struct { RE_UINT32 delta; RE_UINT16 others[RE_MAX_CASES - 1]; @@ -222,7 +226,9 @@ char* re_strings[] = { "ARAB", "ARABIC", "ARABICEXTA", + "ARABICEXTB", "ARABICEXTENDEDA", + "ARABICEXTENDEDB", "ARABICLETTER", "ARABICMATH", "ARABICMATHEMATICALALPHABETICSYMBOLS", @@ -468,6 +474,7 @@ char* re_strings[] = { "COUNTINGROD", "COUNTINGRODNUMERALS", "CP", + "CPMN", "CPRT", "CR", "CS", @@ -483,6 +490,7 @@ char* re_strings[] = { "CWU", "CYPRIOT", "CYPRIOTSYLLABARY", + "CYPROMINOAN", "CYRILLIC", "CYRILLICEXTA", "CYRILLICEXTB", @@ -580,8 +588,10 @@ char* re_strings[] = { "ETHIOPIC", "ETHIOPICEXT", "ETHIOPICEXTA", + "ETHIOPICEXTB", "ETHIOPICEXTENDED", "ETHIOPICEXTENDEDA", + "ETHIOPICEXTENDEDB", "ETHIOPICSUP", "ETHIOPICSUPPLEMENT", "EUROPEANNUMBER", @@ -771,7 +781,9 @@ char* re_strings[] = { "KALI", "KANA", "KANAEXTA", + "KANAEXTB", "KANAEXTENDEDA", + "KANAEXTENDEDB", "KANASUP", "KANASUPPLEMENT", "KANAVOICING", @@ -823,6 +835,10 @@ char* re_strings[] = { "LATINEXTENDEDC", "LATINEXTENDEDD", "LATINEXTENDEDE", + "LATINEXTENDEDF", + "LATINEXTENDEDG", + "LATINEXTF", + "LATINEXTG", "LATN", "LB", "LC", @@ -1081,6 +1097,7 @@ char* re_strings[] = { "OLDSOGDIAN", "OLDSOUTHARABIAN", "OLDTURKIC", + "OLDUYGHUR", "OLETTER", "OLOWER", "OMATH", @@ -1111,6 +1128,7 @@ char* re_strings[] = { "OTHERSYMBOL", "OTHERUPPERCASE", "OTTOMANSIYAQNUMBERS", + "OUGR", "OUPPER", "OV", "OVERLAY", @@ -1336,6 +1354,7 @@ char* re_strings[] = { "TAMILSUPPLEMENT", "TAML", "TANG", + "TANGSA", "TANGUT", "TANGUTCOMPONENTS", "TANGUTSUP", @@ -1354,12 +1373,14 @@ char* re_strings[] = { "THAA", "THAANA", "THAI", + "THINYEH", "TIBETAN", "TIBT", "TIFINAGH", "TIRH", "TIRHUTA", "TITLECASELETTER", + "TNSA", "TONELETTER", "TONEMARK", "TOP", @@ -1369,6 +1390,7 @@ char* re_strings[] = { "TOPANDLEFT", "TOPANDLEFTANDRIGHT", "TOPANDRIGHT", + "TOTO", "TRAILINGJAMO", "TRANSPARENT", "TRANSPORTANDMAP", @@ -1377,12 +1399,14 @@ char* re_strings[] = { "U", "UCAS", "UCASEXT", + "UCASEXTA", "UGAR", "UGARITIC", "UIDEO", "UNASSIGNED", "UNIFIEDCANADIANABORIGINALSYLLABICS", "UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED", + "UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDEDA", "UNIFIEDIDEOGRAPH", "UNKNOWN", "UP", @@ -1400,9 +1424,12 @@ char* re_strings[] = { "VERT", "VERTICAL", "VERTICALFORMS", + "VERTICALTAIL", "VIRAMA", "VISARGA", "VISUALORDERLEFT", + "VITH", + "VITHKUQI", "VOWEL", "VOWELDEPENDENT", "VOWELINDEPENDENT", @@ -1457,6 +1484,8 @@ char* re_strings[] = { "ZHAIN", "ZINH", "ZL", + "ZNAMENNYMUSIC", + "ZNAMENNYMUSICALNOTATION", "ZP", "ZS", "ZW", @@ -1473,1245 +1502,1266 @@ RE_Property re_properties[] = { { 192, 1, 0}, /* ALPHANUMERIC */ { 187, 1, 0}, /* ALNUM */ { 200, 2, 0}, /* ANY */ - { 221, 3, 0}, /* ASCIIHEXDIGIT */ + { 223, 3, 0}, /* ASCIIHEXDIGIT */ { 177, 3, 0}, /* AHEX */ - { 262, 4, 1}, /* BIDICLASS */ - { 251, 4, 1}, /* BC */ - { 263, 5, 0}, /* BIDICONTROL */ - { 261, 5, 0}, /* BIDIC */ - { 265, 6, 0}, /* BIDIMIRRORED */ - { 264, 6, 0}, /* BIDIM */ - { 269, 7, 0}, /* BLANK */ - { 271, 8, 2}, /* BLOCK */ - { 270, 8, 2}, /* BLK */ - { 308, 9, 3}, /* CANONICALCOMBININGCLASS */ - { 320, 9, 3}, /* CCC */ - { 314, 10, 0}, /* CASED */ - { 316, 11, 0}, /* CASEIGNORABLE */ - { 373, 11, 0}, /* CI */ - { 361, 12, 0}, /* CHANGESWHENCASEFOLDED */ - { 459, 12, 0}, /* CWCF */ - { 362, 13, 0}, /* CHANGESWHENCASEMAPPED */ - { 460, 13, 0}, /* CWCM */ - { 363, 14, 0}, /* CHANGESWHENLOWERCASED */ - { 461, 14, 0}, /* CWL */ - { 364, 15, 0}, /* CHANGESWHENTITLECASED */ - { 462, 15, 0}, /* CWT */ - { 365, 16, 0}, /* CHANGESWHENUPPERCASED */ - { 463, 16, 0}, /* CWU */ - { 481, 17, 0}, /* DASH */ - { 487, 18, 4}, /* DECOMPOSITIONTYPE */ - { 516, 18, 4}, /* DT */ - { 488, 19, 0}, /* DEFAULTIGNORABLECODEPOINT */ - { 496, 19, 0}, /* DI */ - { 490, 20, 0}, /* DEPRECATED */ - { 489, 20, 0}, /* DEP */ - { 498, 21, 0}, /* DIACRITIC */ - { 497, 21, 0}, /* DIA */ - { 523, 22, 5}, /* EASTASIANWIDTH */ - { 521, 22, 5}, /* EA */ - { 539, 23, 0}, /* EMOJI */ - { 540, 24, 0}, /* EMOJICOMPONENT */ - { 528, 24, 0}, /* ECOMP */ - { 541, 25, 0}, /* EMOJIMODIFIER */ - { 537, 25, 0}, /* EMOD */ - { 542, 26, 0}, /* EMOJIMODIFIERBASE */ - { 525, 26, 0}, /* EBASE */ - { 543, 27, 0}, /* EMOJIPRESENTATION */ - { 556, 27, 0}, /* EPRES */ - { 574, 28, 0}, /* EXTENDEDPICTOGRAPHIC */ - { 577, 28, 0}, /* EXTPICT */ - { 575, 29, 0}, /* EXTENDER */ - { 572, 29, 0}, /* EXT */ - { 601, 30, 6}, /* GENERALCATEGORY */ - { 598, 30, 6}, /* GC */ - { 625, 31, 0}, /* GRAPH */ - { 626, 32, 0}, /* GRAPHEMEBASE */ - { 630, 32, 0}, /* GRBASE */ - { 627, 33, 7}, /* GRAPHEMECLUSTERBREAK */ - { 599, 33, 7}, /* GCB */ - { 628, 34, 0}, /* GRAPHEMEEXTEND */ - { 636, 34, 0}, /* GREXT */ - { 629, 35, 0}, /* GRAPHEMELINK */ - { 637, 35, 0}, /* GRLINK */ - { 660, 36, 8}, /* HANGULSYLLABLETYPE */ - { 690, 36, 8}, /* HST */ - { 679, 37, 0}, /* HEXDIGIT */ - { 678, 37, 0}, /* HEX */ - { 693, 38, 0}, /* HYPHEN */ - { 696, 39, 0}, /* IDCONTINUE */ - { 695, 39, 0}, /* IDC */ - { 698, 40, 0}, /* IDEOGRAPHIC */ - { 697, 40, 0}, /* IDEO */ - { 704, 41, 0}, /* IDSBINARYOPERATOR */ - { 703, 41, 0}, /* IDSB */ - { 706, 42, 0}, /* IDSTART */ - { 702, 42, 0}, /* IDS */ - { 707, 43, 0}, /* IDSTRINARYOPERATOR */ - { 705, 43, 0}, /* IDST */ - { 711, 44, 9}, /* INDICPOSITIONALCATEGORY */ - { 719, 44, 9}, /* INPC */ - { 713, 45, 10}, /* INDICSYLLABICCATEGORY */ - { 720, 45, 10}, /* INSC */ - { 742, 46, 0}, /* JOINCONTROL */ - { 740, 46, 0}, /* JOINC */ - { 744, 47, 11}, /* JOININGGROUP */ - { 738, 47, 11}, /* JG */ - { 745, 48, 12}, /* JOININGTYPE */ - { 746, 48, 12}, /* JT */ - { 832, 49, 13}, /* LINEBREAK */ - { 807, 49, 13}, /* LB */ - { 842, 50, 0}, /* LOGICALORDEREXCEPTION */ - { 841, 50, 0}, /* LOE */ - { 844, 51, 0}, /* LOWERCASE */ - { 843, 51, 0}, /* LOWER */ - { 916, 52, 0}, /* MATH */ - {1004, 53, 14}, /* NFCQUICKCHECK */ - {1003, 53, 14}, /* NFCQC */ - {1006, 54, 15}, /* NFDQUICKCHECK */ - {1005, 54, 15}, /* NFDQC */ - {1008, 55, 14}, /* NFKCQUICKCHECK */ - {1007, 55, 14}, /* NFKCQC */ - {1010, 56, 15}, /* NFKDQUICKCHECK */ - {1009, 56, 15}, /* NFKDQC */ - {1019, 57, 0}, /* NONCHARACTERCODEPOINT */ - { 996, 57, 0}, /* NCHAR */ - {1039, 58, 16}, /* NUMERICTYPE */ - {1032, 58, 16}, /* NT */ - {1040, 59, 17}, /* NUMERICVALUE */ - {1043, 59, 17}, /* NV */ - {1080, 60, 0}, /* OTHERALPHABETIC */ - {1046, 60, 0}, /* OALPHA */ - {1081, 61, 0}, /* OTHERDEFAULTIGNORABLECODEPOINT */ - {1048, 61, 0}, /* ODI */ - {1082, 62, 0}, /* OTHERGRAPHEMEEXTEND */ - {1051, 62, 0}, /* OGREXT */ - {1083, 63, 0}, /* OTHERIDCONTINUE */ - {1052, 63, 0}, /* OIDC */ - {1084, 64, 0}, /* OTHERIDSTART */ - {1053, 64, 0}, /* OIDS */ - {1086, 65, 0}, /* OTHERLOWERCASE */ - {1065, 65, 0}, /* OLOWER */ - {1087, 66, 0}, /* OTHERMATH */ - {1066, 66, 0}, /* OMATH */ - {1092, 67, 0}, /* OTHERUPPERCASE */ - {1094, 67, 0}, /* OUPPER */ - {1105, 68, 0}, /* PATTERNSYNTAX */ - {1104, 68, 0}, /* PATSYN */ - {1106, 69, 0}, /* PATTERNWHITESPACE */ - {1107, 69, 0}, /* PATWS */ - {1136, 70, 0}, /* POSIXALNUM */ - {1137, 71, 0}, /* POSIXDIGIT */ - {1138, 72, 0}, /* POSIXPUNCT */ - {1139, 73, 0}, /* POSIXXDIGIT */ - {1145, 74, 0}, /* PREPENDEDCONCATENATIONMARK */ - {1111, 74, 0}, /* PCM */ - {1146, 75, 0}, /* PRINT */ - {1163, 76, 0}, /* QUOTATIONMARK */ - {1160, 76, 0}, /* QMARK */ - {1165, 77, 0}, /* RADICAL */ - {1166, 78, 0}, /* REGIONALINDICATOR */ - {1171, 78, 0}, /* RI */ - {1201, 79, 18}, /* SCRIPT */ - {1199, 79, 18}, /* SC */ - {1202, 80, 18}, /* SCRIPTEXTENSIONS */ - {1203, 80, 18}, /* SCX */ - {1209, 81, 19}, /* SENTENCEBREAK */ - {1198, 81, 19}, /* SB */ - {1210, 82, 0}, /* SENTENCETERMINAL */ - {1256, 82, 0}, /* STERM */ - {1238, 83, 0}, /* SOFTDOTTED */ - {1204, 83, 0}, /* SD */ - {1330, 84, 0}, /* TERMINALPUNCTUATION */ - {1329, 84, 0}, /* TERM */ - {1366, 85, 0}, /* UNIFIEDIDEOGRAPH */ - {1362, 85, 0}, /* UIDEO */ - {1370, 86, 0}, /* UPPERCASE */ - {1369, 86, 0}, /* UPPER */ - {1375, 87, 0}, /* VARIATIONSELECTOR */ - {1391, 87, 0}, /* VS */ - {1400, 88, 0}, /* WHITESPACE */ - {1408, 88, 0}, /* WSPACE */ - {1247, 88, 0}, /* SPACE */ - {1403, 89, 0}, /* WORD */ - {1404, 90, 20}, /* WORDBREAK */ - {1398, 90, 20}, /* WB */ - {1409, 91, 0}, /* XDIGIT */ - {1411, 92, 0}, /* XIDCONTINUE */ - {1410, 92, 0}, /* XIDC */ - {1413, 93, 0}, /* XIDSTART */ - {1412, 93, 0}, /* XIDS */ + { 264, 4, 1}, /* BIDICLASS */ + { 253, 4, 1}, /* BC */ + { 265, 5, 0}, /* BIDICONTROL */ + { 263, 5, 0}, /* BIDIC */ + { 267, 6, 0}, /* BIDIMIRRORED */ + { 266, 6, 0}, /* BIDIM */ + { 271, 7, 0}, /* BLANK */ + { 273, 8, 2}, /* BLOCK */ + { 272, 8, 2}, /* BLK */ + { 310, 9, 3}, /* CANONICALCOMBININGCLASS */ + { 322, 9, 3}, /* CCC */ + { 316, 10, 0}, /* CASED */ + { 318, 11, 0}, /* CASEIGNORABLE */ + { 375, 11, 0}, /* CI */ + { 363, 12, 0}, /* CHANGESWHENCASEFOLDED */ + { 462, 12, 0}, /* CWCF */ + { 364, 13, 0}, /* CHANGESWHENCASEMAPPED */ + { 463, 13, 0}, /* CWCM */ + { 365, 14, 0}, /* CHANGESWHENLOWERCASED */ + { 464, 14, 0}, /* CWL */ + { 366, 15, 0}, /* CHANGESWHENTITLECASED */ + { 465, 15, 0}, /* CWT */ + { 367, 16, 0}, /* CHANGESWHENUPPERCASED */ + { 466, 16, 0}, /* CWU */ + { 485, 17, 0}, /* DASH */ + { 491, 18, 4}, /* DECOMPOSITIONTYPE */ + { 520, 18, 4}, /* DT */ + { 492, 19, 0}, /* DEFAULTIGNORABLECODEPOINT */ + { 500, 19, 0}, /* DI */ + { 494, 20, 0}, /* DEPRECATED */ + { 493, 20, 0}, /* DEP */ + { 502, 21, 0}, /* DIACRITIC */ + { 501, 21, 0}, /* DIA */ + { 527, 22, 5}, /* EASTASIANWIDTH */ + { 525, 22, 5}, /* EA */ + { 543, 23, 0}, /* EMOJI */ + { 544, 24, 0}, /* EMOJICOMPONENT */ + { 532, 24, 0}, /* ECOMP */ + { 545, 25, 0}, /* EMOJIMODIFIER */ + { 541, 25, 0}, /* EMOD */ + { 546, 26, 0}, /* EMOJIMODIFIERBASE */ + { 529, 26, 0}, /* EBASE */ + { 547, 27, 0}, /* EMOJIPRESENTATION */ + { 560, 27, 0}, /* EPRES */ + { 580, 28, 0}, /* EXTENDEDPICTOGRAPHIC */ + { 583, 28, 0}, /* EXTPICT */ + { 581, 29, 0}, /* EXTENDER */ + { 578, 29, 0}, /* EXT */ + { 607, 30, 6}, /* GENERALCATEGORY */ + { 604, 30, 6}, /* GC */ + { 631, 31, 0}, /* GRAPH */ + { 632, 32, 0}, /* GRAPHEMEBASE */ + { 636, 32, 0}, /* GRBASE */ + { 633, 33, 7}, /* GRAPHEMECLUSTERBREAK */ + { 605, 33, 7}, /* GCB */ + { 634, 34, 0}, /* GRAPHEMEEXTEND */ + { 642, 34, 0}, /* GREXT */ + { 635, 35, 0}, /* GRAPHEMELINK */ + { 643, 35, 0}, /* GRLINK */ + { 666, 36, 8}, /* HANGULSYLLABLETYPE */ + { 696, 36, 8}, /* HST */ + { 685, 37, 0}, /* HEXDIGIT */ + { 684, 37, 0}, /* HEX */ + { 699, 38, 0}, /* HYPHEN */ + { 702, 39, 0}, /* IDCONTINUE */ + { 701, 39, 0}, /* IDC */ + { 704, 40, 0}, /* IDEOGRAPHIC */ + { 703, 40, 0}, /* IDEO */ + { 710, 41, 0}, /* IDSBINARYOPERATOR */ + { 709, 41, 0}, /* IDSB */ + { 712, 42, 0}, /* IDSTART */ + { 708, 42, 0}, /* IDS */ + { 713, 43, 0}, /* IDSTRINARYOPERATOR */ + { 711, 43, 0}, /* IDST */ + { 717, 44, 9}, /* INDICPOSITIONALCATEGORY */ + { 725, 44, 9}, /* INPC */ + { 719, 45, 10}, /* INDICSYLLABICCATEGORY */ + { 726, 45, 10}, /* INSC */ + { 748, 46, 0}, /* JOINCONTROL */ + { 746, 46, 0}, /* JOINC */ + { 750, 47, 11}, /* JOININGGROUP */ + { 744, 47, 11}, /* JG */ + { 751, 48, 12}, /* JOININGTYPE */ + { 752, 48, 12}, /* JT */ + { 844, 49, 13}, /* LINEBREAK */ + { 819, 49, 13}, /* LB */ + { 854, 50, 0}, /* LOGICALORDEREXCEPTION */ + { 853, 50, 0}, /* LOE */ + { 856, 51, 0}, /* LOWERCASE */ + { 855, 51, 0}, /* LOWER */ + { 928, 52, 0}, /* MATH */ + {1016, 53, 14}, /* NFCQUICKCHECK */ + {1015, 53, 14}, /* NFCQC */ + {1018, 54, 15}, /* NFDQUICKCHECK */ + {1017, 54, 15}, /* NFDQC */ + {1020, 55, 14}, /* NFKCQUICKCHECK */ + {1019, 55, 14}, /* NFKCQC */ + {1022, 56, 15}, /* NFKDQUICKCHECK */ + {1021, 56, 15}, /* NFKDQC */ + {1031, 57, 0}, /* NONCHARACTERCODEPOINT */ + {1008, 57, 0}, /* NCHAR */ + {1051, 58, 16}, /* NUMERICTYPE */ + {1044, 58, 16}, /* NT */ + {1052, 59, 17}, /* NUMERICVALUE */ + {1055, 59, 17}, /* NV */ + {1093, 60, 0}, /* OTHERALPHABETIC */ + {1058, 60, 0}, /* OALPHA */ + {1094, 61, 0}, /* OTHERDEFAULTIGNORABLECODEPOINT */ + {1060, 61, 0}, /* ODI */ + {1095, 62, 0}, /* OTHERGRAPHEMEEXTEND */ + {1063, 62, 0}, /* OGREXT */ + {1096, 63, 0}, /* OTHERIDCONTINUE */ + {1064, 63, 0}, /* OIDC */ + {1097, 64, 0}, /* OTHERIDSTART */ + {1065, 64, 0}, /* OIDS */ + {1099, 65, 0}, /* OTHERLOWERCASE */ + {1078, 65, 0}, /* OLOWER */ + {1100, 66, 0}, /* OTHERMATH */ + {1079, 66, 0}, /* OMATH */ + {1105, 67, 0}, /* OTHERUPPERCASE */ + {1108, 67, 0}, /* OUPPER */ + {1119, 68, 0}, /* PATTERNSYNTAX */ + {1118, 68, 0}, /* PATSYN */ + {1120, 69, 0}, /* PATTERNWHITESPACE */ + {1121, 69, 0}, /* PATWS */ + {1150, 70, 0}, /* POSIXALNUM */ + {1151, 71, 0}, /* POSIXDIGIT */ + {1152, 72, 0}, /* POSIXPUNCT */ + {1153, 73, 0}, /* POSIXXDIGIT */ + {1159, 74, 0}, /* PREPENDEDCONCATENATIONMARK */ + {1125, 74, 0}, /* PCM */ + {1160, 75, 0}, /* PRINT */ + {1177, 76, 0}, /* QUOTATIONMARK */ + {1174, 76, 0}, /* QMARK */ + {1179, 77, 0}, /* RADICAL */ + {1180, 78, 0}, /* REGIONALINDICATOR */ + {1185, 78, 0}, /* RI */ + {1215, 79, 18}, /* SCRIPT */ + {1213, 79, 18}, /* SC */ + {1216, 80, 18}, /* SCRIPTEXTENSIONS */ + {1217, 80, 18}, /* SCX */ + {1223, 81, 19}, /* SENTENCEBREAK */ + {1212, 81, 19}, /* SB */ + {1224, 82, 0}, /* SENTENCETERMINAL */ + {1270, 82, 0}, /* STERM */ + {1252, 83, 0}, /* SOFTDOTTED */ + {1218, 83, 0}, /* SD */ + {1345, 84, 0}, /* TERMINALPUNCTUATION */ + {1344, 84, 0}, /* TERM */ + {1386, 85, 0}, /* UNIFIEDIDEOGRAPH */ + {1381, 85, 0}, /* UIDEO */ + {1390, 86, 0}, /* UPPERCASE */ + {1389, 86, 0}, /* UPPER */ + {1395, 87, 0}, /* VARIATIONSELECTOR */ + {1414, 87, 0}, /* VS */ + {1423, 88, 0}, /* WHITESPACE */ + {1431, 88, 0}, /* WSPACE */ + {1261, 88, 0}, /* SPACE */ + {1426, 89, 0}, /* WORD */ + {1427, 90, 20}, /* WORDBREAK */ + {1421, 90, 20}, /* WB */ + {1432, 91, 0}, /* XDIGIT */ + {1434, 92, 0}, /* XIDCONTINUE */ + {1433, 92, 0}, /* XIDC */ + {1436, 93, 0}, /* XIDSTART */ + {1435, 93, 0}, /* XIDS */ }; /* Property values. */ RE_PropertyValue re_property_values[] = { - {1015, 0, 0}, /* NO */ - { 984, 0, 0}, /* N */ - { 578, 0, 0}, /* F */ - { 579, 0, 0}, /* FALSE */ - {1421, 0, 1}, /* YES */ - {1417, 0, 1}, /* Y */ - {1299, 0, 1}, /* T */ - {1356, 0, 1}, /* TRUE */ - { 814, 1, 0}, /* LEFTTORIGHT */ - { 783, 1, 0}, /* L */ - { 281, 1, 1}, /* BOUNDARYNEUTRAL */ - { 273, 1, 1}, /* BN */ - {1207, 1, 2}, /* SEGMENTSEPARATOR */ - {1188, 1, 2}, /* S */ - {1103, 1, 3}, /* PARAGRAPHSEPARATOR */ - { 236, 1, 3}, /* B */ - {1400, 1, 4}, /* WHITESPACE */ - {1406, 1, 4}, /* WS */ - {1088, 1, 5}, /* OTHERNEUTRAL */ - {1067, 1, 5}, /* ON */ - { 569, 1, 6}, /* EUROPEANTERMINATOR */ - { 558, 1, 6}, /* ET */ - { 568, 1, 7}, /* EUROPEANSEPARATOR */ - { 557, 1, 7}, /* ES */ - { 423, 1, 8}, /* COMMONSEPARATOR */ - { 453, 1, 8}, /* CS */ - { 567, 1, 9}, /* EUROPEANNUMBER */ - { 545, 1, 9}, /* EN */ - {1023, 1, 10}, /* NONSPACINGMARK */ - {1031, 1, 10}, /* NSM */ - {1174, 1, 11}, /* RIGHTTOLEFT */ - {1164, 1, 11}, /* R */ - { 209, 1, 12}, /* ARABICNUMBER */ + {1027, 0, 0}, /* NO */ + { 996, 0, 0}, /* N */ + { 584, 0, 0}, /* F */ + { 585, 0, 0}, /* FALSE */ + {1444, 0, 1}, /* YES */ + {1440, 0, 1}, /* Y */ + {1313, 0, 1}, /* T */ + {1374, 0, 1}, /* TRUE */ + { 826, 1, 0}, /* LEFTTORIGHT */ + { 791, 1, 0}, /* L */ + { 283, 1, 1}, /* BOUNDARYNEUTRAL */ + { 275, 1, 1}, /* BN */ + {1221, 1, 2}, /* SEGMENTSEPARATOR */ + {1202, 1, 2}, /* S */ + {1117, 1, 3}, /* PARAGRAPHSEPARATOR */ + { 238, 1, 3}, /* B */ + {1423, 1, 4}, /* WHITESPACE */ + {1429, 1, 4}, /* WS */ + {1101, 1, 5}, /* OTHERNEUTRAL */ + {1080, 1, 5}, /* ON */ + { 575, 1, 6}, /* EUROPEANTERMINATOR */ + { 562, 1, 6}, /* ET */ + { 574, 1, 7}, /* EUROPEANSEPARATOR */ + { 561, 1, 7}, /* ES */ + { 425, 1, 8}, /* COMMONSEPARATOR */ + { 456, 1, 8}, /* CS */ + { 573, 1, 9}, /* EUROPEANNUMBER */ + { 549, 1, 9}, /* EN */ + {1035, 1, 10}, /* NONSPACINGMARK */ + {1043, 1, 10}, /* NSM */ + {1188, 1, 11}, /* RIGHTTOLEFT */ + {1178, 1, 11}, /* R */ + { 211, 1, 12}, /* ARABICNUMBER */ { 194, 1, 12}, /* AN */ - { 206, 1, 13}, /* ARABICLETTER */ + { 208, 1, 13}, /* ARABICLETTER */ { 181, 1, 13}, /* AL */ - { 815, 1, 14}, /* LEFTTORIGHTEMBEDDING */ - { 847, 1, 14}, /* LRE */ - {1175, 1, 15}, /* RIGHTTOLEFTEMBEDDING */ - {1179, 1, 15}, /* RLE */ - {1134, 1, 16}, /* POPDIRECTIONALFORMAT */ - {1113, 1, 16}, /* PDF */ - { 817, 1, 17}, /* LEFTTORIGHTOVERRIDE */ - { 849, 1, 17}, /* LRO */ - {1177, 1, 18}, /* RIGHTTOLEFTOVERRIDE */ - {1181, 1, 18}, /* RLO */ - { 816, 1, 19}, /* LEFTTORIGHTISOLATE */ - { 848, 1, 19}, /* LRI */ - {1176, 1, 20}, /* RIGHTTOLEFTISOLATE */ - {1180, 1, 20}, /* RLI */ - { 587, 1, 21}, /* FIRSTSTRONGISOLATE */ - { 593, 1, 21}, /* FSI */ - {1135, 1, 22}, /* POPDIRECTIONALISOLATE */ - {1114, 1, 22}, /* PDI */ - {1016, 2, 0}, /* NOBLOCK */ - { 994, 2, 0}, /* NB */ - { 245, 2, 1}, /* BASICLATIN */ - { 220, 2, 1}, /* ASCII */ - { 793, 2, 2}, /* LATIN1SUPPLEMENT */ - { 792, 2, 2}, /* LATIN1SUP */ - { 791, 2, 2}, /* LATIN1 */ - { 800, 2, 3}, /* LATINEXTENDEDA */ - { 794, 2, 3}, /* LATINEXTA */ - { 802, 2, 4}, /* LATINEXTENDEDB */ - { 796, 2, 4}, /* LATINEXTB */ - { 728, 2, 5}, /* IPAEXTENSIONS */ - { 727, 2, 5}, /* IPAEXT */ - {1250, 2, 6}, /* SPACINGMODIFIERLETTERS */ - { 963, 2, 6}, /* MODIFIERLETTERS */ - { 414, 2, 7}, /* COMBININGDIACRITICALMARKS */ - { 499, 2, 7}, /* DIACRITICALS */ - { 632, 2, 8}, /* GREEKANDCOPTIC */ - { 631, 2, 8}, /* GREEK */ - { 466, 2, 9}, /* CYRILLIC */ - { 474, 2, 10}, /* CYRILLICSUPPLEMENT */ - { 473, 2, 10}, /* CYRILLICSUP */ - { 475, 2, 10}, /* CYRILLICSUPPLEMENTARY */ - { 216, 2, 11}, /* ARMENIAN */ - { 673, 2, 12}, /* HEBREW */ + { 827, 1, 14}, /* LEFTTORIGHTEMBEDDING */ + { 859, 1, 14}, /* LRE */ + {1189, 1, 15}, /* RIGHTTOLEFTEMBEDDING */ + {1193, 1, 15}, /* RLE */ + {1148, 1, 16}, /* POPDIRECTIONALFORMAT */ + {1127, 1, 16}, /* PDF */ + { 829, 1, 17}, /* LEFTTORIGHTOVERRIDE */ + { 861, 1, 17}, /* LRO */ + {1191, 1, 18}, /* RIGHTTOLEFTOVERRIDE */ + {1195, 1, 18}, /* RLO */ + { 828, 1, 19}, /* LEFTTORIGHTISOLATE */ + { 860, 1, 19}, /* LRI */ + {1190, 1, 20}, /* RIGHTTOLEFTISOLATE */ + {1194, 1, 20}, /* RLI */ + { 593, 1, 21}, /* FIRSTSTRONGISOLATE */ + { 599, 1, 21}, /* FSI */ + {1149, 1, 22}, /* POPDIRECTIONALISOLATE */ + {1128, 1, 22}, /* PDI */ + {1028, 2, 0}, /* NOBLOCK */ + {1006, 2, 0}, /* NB */ + { 247, 2, 1}, /* BASICLATIN */ + { 222, 2, 1}, /* ASCII */ + { 801, 2, 2}, /* LATIN1SUPPLEMENT */ + { 800, 2, 2}, /* LATIN1SUP */ + { 799, 2, 2}, /* LATIN1 */ + { 808, 2, 3}, /* LATINEXTENDEDA */ + { 802, 2, 3}, /* LATINEXTA */ + { 810, 2, 4}, /* LATINEXTENDEDB */ + { 804, 2, 4}, /* LATINEXTB */ + { 734, 2, 5}, /* IPAEXTENSIONS */ + { 733, 2, 5}, /* IPAEXT */ + {1264, 2, 6}, /* SPACINGMODIFIERLETTERS */ + { 975, 2, 6}, /* MODIFIERLETTERS */ + { 416, 2, 7}, /* COMBININGDIACRITICALMARKS */ + { 503, 2, 7}, /* DIACRITICALS */ + { 638, 2, 8}, /* GREEKANDCOPTIC */ + { 637, 2, 8}, /* GREEK */ + { 470, 2, 9}, /* CYRILLIC */ + { 478, 2, 10}, /* CYRILLICSUPPLEMENT */ + { 477, 2, 10}, /* CYRILLICSUP */ + { 479, 2, 10}, /* CYRILLICSUPPLEMENTARY */ + { 218, 2, 11}, /* ARMENIAN */ + { 679, 2, 12}, /* HEBREW */ { 203, 2, 13}, /* ARABIC */ - {1295, 2, 14}, /* SYRIAC */ - { 215, 2, 15}, /* ARABICSUPPLEMENT */ - { 214, 2, 15}, /* ARABICSUP */ - {1335, 2, 16}, /* THAANA */ - {1012, 2, 17}, /* NKO */ - {1193, 2, 18}, /* SAMARITAN */ - { 881, 2, 19}, /* MANDAIC */ - {1297, 2, 20}, /* SYRIACSUPPLEMENT */ - {1296, 2, 20}, /* SYRIACSUP */ - { 205, 2, 21}, /* ARABICEXTENDEDA */ - { 204, 2, 21}, /* ARABICEXTA */ - { 493, 2, 22}, /* DEVANAGARI */ - { 257, 2, 23}, /* BENGALI */ - { 641, 2, 24}, /* GURMUKHI */ - { 638, 2, 25}, /* GUJARATI */ - {1071, 2, 26}, /* ORIYA */ - {1314, 2, 27}, /* TAMIL */ - {1328, 2, 28}, /* TELUGU */ - { 761, 2, 29}, /* KANNADA */ - { 868, 2, 30}, /* MALAYALAM */ - {1227, 2, 31}, /* SINHALA */ - {1336, 2, 32}, /* THAI */ - { 788, 2, 33}, /* LAO */ - {1337, 2, 34}, /* TIBETAN */ - { 978, 2, 35}, /* MYANMAR */ - { 607, 2, 36}, /* GEORGIAN */ - { 656, 2, 37}, /* HANGULJAMO */ - { 733, 2, 37}, /* JAMO */ - { 560, 2, 38}, /* ETHIOPIC */ - { 566, 2, 39}, /* ETHIOPICSUPPLEMENT */ - { 565, 2, 39}, /* ETHIOPICSUP */ - { 367, 2, 40}, /* CHEROKEE */ - {1364, 2, 41}, /* UNIFIEDCANADIANABORIGINALSYLLABICS */ - {1358, 2, 41}, /* UCAS */ - { 306, 2, 41}, /* CANADIANSYLLABICS */ - {1050, 2, 42}, /* OGHAM */ - {1186, 2, 43}, /* RUNIC */ - {1300, 2, 44}, /* TAGALOG */ - { 668, 2, 45}, /* HANUNOO */ - { 297, 2, 46}, /* BUHID */ - {1302, 2, 47}, /* TAGBANWA */ - { 772, 2, 48}, /* KHMER */ - { 968, 2, 49}, /* MONGOLIAN */ - {1365, 2, 50}, /* UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED */ - {1359, 2, 50}, /* UCASEXT */ - { 825, 2, 51}, /* LIMBU */ - {1305, 2, 52}, /* TAILE */ - {1001, 2, 53}, /* NEWTAILUE */ - { 773, 2, 54}, /* KHMERSYMBOLS */ - { 295, 2, 55}, /* BUGINESE */ - {1306, 2, 56}, /* TAITHAM */ - { 415, 2, 57}, /* COMBININGDIACRITICALMARKSEXTENDED */ - { 500, 2, 57}, /* DIACRITICALSEXT */ - { 240, 2, 58}, /* BALINESE */ - {1260, 2, 59}, /* SUNDANESE */ - { 248, 2, 60}, /* BATAK */ - { 819, 2, 61}, /* LEPCHA */ - {1054, 2, 62}, /* OLCHIKI */ - { 472, 2, 63}, /* CYRILLICEXTENDEDC */ - { 469, 2, 63}, /* CYRILLICEXTC */ - { 609, 2, 64}, /* GEORGIANEXTENDED */ - { 608, 2, 64}, /* GEORGIANEXT */ - {1262, 2, 65}, /* SUNDANESESUPPLEMENT */ - {1261, 2, 65}, /* SUNDANESESUP */ - {1379, 2, 66}, /* VEDICEXTENSIONS */ - {1378, 2, 66}, /* VEDICEXT */ - {1127, 2, 67}, /* PHONETICEXTENSIONS */ - {1126, 2, 67}, /* PHONETICEXT */ - {1128, 2, 68}, /* PHONETICEXTENSIONSSUPPLEMENT */ - {1129, 2, 68}, /* PHONETICEXTSUP */ - { 417, 2, 69}, /* COMBININGDIACRITICALMARKSSUPPLEMENT */ - { 502, 2, 69}, /* DIACRITICALSSUP */ - { 801, 2, 70}, /* LATINEXTENDEDADDITIONAL */ - { 795, 2, 70}, /* LATINEXTADDITIONAL */ - { 634, 2, 71}, /* GREEKEXTENDED */ - { 633, 2, 71}, /* GREEKEXT */ - { 602, 2, 72}, /* GENERALPUNCTUATION */ - {1154, 2, 72}, /* PUNCTUATION */ - {1269, 2, 73}, /* SUPERSCRIPTSANDSUBSCRIPTS */ - {1268, 2, 73}, /* SUPERANDSUB */ - { 458, 2, 74}, /* CURRENCYSYMBOLS */ - { 416, 2, 75}, /* COMBININGDIACRITICALMARKSFORSYMBOLS */ - { 501, 2, 75}, /* DIACRITICALSFORSYMBOLS */ - { 420, 2, 75}, /* COMBININGMARKSFORSYMBOLS */ - { 821, 2, 76}, /* LETTERLIKESYMBOLS */ - {1036, 2, 77}, /* NUMBERFORMS */ - { 219, 2, 78}, /* ARROWS */ - { 919, 2, 79}, /* MATHEMATICALOPERATORS */ - { 920, 2, 79}, /* MATHOPERATORS */ - { 952, 2, 80}, /* MISCELLANEOUSTECHNICAL */ - { 957, 2, 80}, /* MISCTECHNICAL */ - { 444, 2, 81}, /* CONTROLPICTURES */ - {1070, 2, 82}, /* OPTICALCHARACTERRECOGNITION */ - {1047, 2, 82}, /* OCR */ - { 548, 2, 83}, /* ENCLOSEDALPHANUMERICS */ - { 547, 2, 83}, /* ENCLOSEDALPHANUM */ - { 282, 2, 84}, /* BOXDRAWING */ - { 272, 2, 85}, /* BLOCKELEMENTS */ - { 603, 2, 86}, /* GEOMETRICSHAPES */ - { 949, 2, 87}, /* MISCELLANEOUSSYMBOLS */ - { 956, 2, 87}, /* MISCSYMBOLS */ - { 505, 2, 88}, /* DINGBATS */ - { 947, 2, 89}, /* MISCELLANEOUSMATHEMATICALSYMBOLSA */ - { 953, 2, 89}, /* MISCMATHSYMBOLSA */ - {1271, 2, 90}, /* SUPPLEMENTALARROWSA */ - {1264, 2, 90}, /* SUPARROWSA */ - { 289, 2, 91}, /* BRAILLEPATTERNS */ - { 288, 2, 91}, /* BRAILLE */ - {1272, 2, 92}, /* SUPPLEMENTALARROWSB */ - {1265, 2, 92}, /* SUPARROWSB */ - { 948, 2, 93}, /* MISCELLANEOUSMATHEMATICALSYMBOLSB */ - { 954, 2, 93}, /* MISCMATHSYMBOLSB */ - {1274, 2, 94}, /* SUPPLEMENTALMATHEMATICALOPERATORS */ - {1270, 2, 94}, /* SUPMATHOPERATORS */ - { 950, 2, 95}, /* MISCELLANEOUSSYMBOLSANDARROWS */ - { 946, 2, 95}, /* MISCARROWS */ - { 614, 2, 96}, /* GLAGOLITIC */ - { 803, 2, 97}, /* LATINEXTENDEDC */ - { 797, 2, 97}, /* LATINEXTC */ - { 446, 2, 98}, /* COPTIC */ - { 611, 2, 99}, /* GEORGIANSUPPLEMENT */ - { 610, 2, 99}, /* GEORGIANSUP */ - {1339, 2, 100}, /* TIFINAGH */ - { 563, 2, 101}, /* ETHIOPICEXTENDED */ - { 561, 2, 101}, /* ETHIOPICEXT */ - { 470, 2, 102}, /* CYRILLICEXTENDEDA */ - { 467, 2, 102}, /* CYRILLICEXTA */ - {1275, 2, 103}, /* SUPPLEMENTALPUNCTUATION */ - {1281, 2, 103}, /* SUPPUNCTUATION */ - { 393, 2, 104}, /* CJKRADICALSSUPPLEMENT */ - { 392, 2, 104}, /* CJKRADICALSSUP */ - { 760, 2, 105}, /* KANGXIRADICALS */ - { 759, 2, 105}, /* KANGXI */ - { 699, 2, 106}, /* IDEOGRAPHICDESCRIPTIONCHARACTERS */ - { 695, 2, 106}, /* IDC */ - { 396, 2, 107}, /* CJKSYMBOLSANDPUNCTUATION */ - { 395, 2, 107}, /* CJKSYMBOLS */ - { 684, 2, 108}, /* HIRAGANA */ - { 763, 2, 109}, /* KATAKANA */ - { 275, 2, 110}, /* BOPOMOFO */ - { 655, 2, 111}, /* HANGULCOMPATIBILITYJAMO */ - { 425, 2, 111}, /* COMPATJAMO */ - { 758, 2, 112}, /* KANBUN */ - { 277, 2, 113}, /* BOPOMOFOEXTENDED */ - { 276, 2, 113}, /* BOPOMOFOEXT */ - { 394, 2, 114}, /* CJKSTROKES */ - { 766, 2, 115}, /* KATAKANAPHONETICEXTENSIONS */ - { 764, 2, 115}, /* KATAKANAEXT */ - { 552, 2, 116}, /* ENCLOSEDCJKLETTERSANDMONTHS */ - { 551, 2, 116}, /* ENCLOSEDCJK */ - { 379, 2, 117}, /* CJKCOMPATIBILITY */ - { 377, 2, 117}, /* CJKCOMPAT */ - { 398, 2, 118}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONA */ - { 385, 2, 118}, /* CJKEXTA */ - {1427, 2, 119}, /* YIJINGHEXAGRAMSYMBOLS */ - {1426, 2, 119}, /* YIJING */ - { 397, 2, 120}, /* CJKUNIFIEDIDEOGRAPHS */ - { 376, 2, 120}, /* CJK */ - {1429, 2, 121}, /* YISYLLABLES */ - {1428, 2, 122}, /* YIRADICALS */ - { 835, 2, 123}, /* LISU */ - {1373, 2, 124}, /* VAI */ - { 471, 2, 125}, /* CYRILLICEXTENDEDB */ - { 468, 2, 125}, /* CYRILLICEXTB */ - { 242, 2, 126}, /* BAMUM */ - { 965, 2, 127}, /* MODIFIERTONELETTERS */ - { 804, 2, 128}, /* LATINEXTENDEDD */ - { 798, 2, 128}, /* LATINEXTD */ - {1289, 2, 129}, /* SYLOTINAGRI */ - { 422, 2, 130}, /* COMMONINDICNUMBERFORMS */ - { 710, 2, 130}, /* INDICNUMBERFORMS */ - {1119, 2, 131}, /* PHAGSPA */ - {1197, 2, 132}, /* SAURASHTRA */ - { 495, 2, 133}, /* DEVANAGARIEXTENDED */ - { 494, 2, 133}, /* DEVANAGARIEXT */ - { 767, 2, 134}, /* KAYAHLI */ - {1169, 2, 135}, /* REJANG */ - { 657, 2, 136}, /* HANGULJAMOEXTENDEDA */ - { 734, 2, 136}, /* JAMOEXTA */ - { 737, 2, 137}, /* JAVANESE */ - { 982, 2, 138}, /* MYANMAREXTENDEDB */ - { 980, 2, 138}, /* MYANMAREXTB */ - { 360, 2, 139}, /* CHAM */ - { 981, 2, 140}, /* MYANMAREXTENDEDA */ - { 979, 2, 140}, /* MYANMAREXTA */ - {1307, 2, 141}, /* TAIVIET */ - { 934, 2, 142}, /* MEETEIMAYEKEXTENSIONS */ - { 933, 2, 142}, /* MEETEIMAYEKEXT */ - { 564, 2, 143}, /* ETHIOPICEXTENDEDA */ - { 562, 2, 143}, /* ETHIOPICEXTA */ - { 805, 2, 144}, /* LATINEXTENDEDE */ - { 799, 2, 144}, /* LATINEXTE */ - { 369, 2, 145}, /* CHEROKEESUPPLEMENT */ - { 368, 2, 145}, /* CHEROKEESUP */ - { 932, 2, 146}, /* MEETEIMAYEK */ - { 659, 2, 147}, /* HANGULSYLLABLES */ - { 654, 2, 147}, /* HANGUL */ - { 658, 2, 148}, /* HANGULJAMOEXTENDEDB */ - { 735, 2, 148}, /* JAMOEXTB */ - { 682, 2, 149}, /* HIGHSURROGATES */ - { 680, 2, 150}, /* HIGHPRIVATEUSESURROGATES */ - { 681, 2, 150}, /* HIGHPUSURROGATES */ - { 846, 2, 151}, /* LOWSURROGATES */ - {1148, 2, 152}, /* PRIVATEUSEAREA */ - {1152, 2, 152}, /* PUA */ - {1147, 2, 152}, /* PRIVATEUSE */ - { 381, 2, 153}, /* CJKCOMPATIBILITYIDEOGRAPHS */ - { 383, 2, 153}, /* CJKCOMPATIDEOGRAPHS */ - { 191, 2, 154}, /* ALPHABETICPRESENTATIONFORMS */ - { 190, 2, 154}, /* ALPHABETICPF */ - { 212, 2, 155}, /* ARABICPRESENTATIONFORMSA */ - { 210, 2, 155}, /* ARABICPFA */ - {1376, 2, 156}, /* VARIATIONSELECTORS */ - {1391, 2, 156}, /* VS */ - {1382, 2, 157}, /* VERTICALFORMS */ - { 418, 2, 158}, /* COMBININGHALFMARKS */ - { 648, 2, 158}, /* HALFMARKS */ - { 380, 2, 159}, /* CJKCOMPATIBILITYFORMS */ - { 378, 2, 159}, /* CJKCOMPATFORMS */ - {1233, 2, 160}, /* SMALLFORMVARIANTS */ - {1232, 2, 160}, /* SMALLFORMS */ - { 213, 2, 161}, /* ARABICPRESENTATIONFORMSB */ - { 211, 2, 161}, /* ARABICPFB */ - { 650, 2, 162}, /* HALFWIDTHANDFULLWIDTHFORMS */ - { 647, 2, 162}, /* HALFANDFULLFORMS */ - {1251, 2, 163}, /* SPECIALS */ - { 831, 2, 164}, /* LINEARBSYLLABARY */ - { 830, 2, 165}, /* LINEARBIDEOGRAMS */ - { 172, 2, 166}, /* AEGEANNUMBERS */ - { 198, 2, 167}, /* ANCIENTGREEKNUMBERS */ - { 199, 2, 168}, /* ANCIENTSYMBOLS */ - {1121, 2, 169}, /* PHAISTOSDISC */ - {1120, 2, 169}, /* PHAISTOS */ - { 857, 2, 170}, /* LYCIAN */ - { 312, 2, 171}, /* CARIAN */ - { 447, 2, 172}, /* COPTICEPACTNUMBERS */ - {1057, 2, 173}, /* OLDITALIC */ - { 622, 2, 174}, /* GOTHIC */ - {1059, 2, 175}, /* OLDPERMIC */ - {1361, 2, 176}, /* UGARITIC */ - {1060, 2, 177}, /* OLDPERSIAN */ - { 491, 2, 178}, /* DESERET */ - {1216, 2, 179}, /* SHAVIAN */ - {1078, 2, 180}, /* OSMANYA */ - {1075, 2, 181}, /* OSAGE */ - { 533, 2, 182}, /* ELBASAN */ - { 317, 2, 183}, /* CAUCASIANALBANIAN */ - { 828, 2, 184}, /* LINEARA */ - { 465, 2, 185}, /* CYPRIOTSYLLABARY */ - { 708, 2, 186}, /* IMPERIALARAMAIC */ - {1102, 2, 187}, /* PALMYRENE */ - { 987, 2, 188}, /* NABATAEAN */ - { 670, 2, 189}, /* HATRAN */ - {1125, 2, 190}, /* PHOENICIAN */ - { 859, 2, 191}, /* LYDIAN */ - { 940, 2, 192}, /* MEROITICHIEROGLYPHS */ - { 939, 2, 193}, /* MEROITICCURSIVE */ - { 770, 2, 194}, /* KHAROSHTHI */ - {1062, 2, 195}, /* OLDSOUTHARABIAN */ - {1058, 2, 196}, /* OLDNORTHARABIAN */ - { 884, 2, 197}, /* MANICHAEAN */ - { 234, 2, 198}, /* AVESTAN */ - { 722, 2, 199}, /* INSCRIPTIONALPARTHIAN */ - { 721, 2, 200}, /* INSCRIPTIONALPAHLAVI */ - {1151, 2, 201}, /* PSALTERPAHLAVI */ - {1063, 2, 202}, /* OLDTURKIC */ - {1056, 2, 203}, /* OLDHUNGARIAN */ - { 662, 2, 204}, /* HANIFIROHINGYA */ - {1185, 2, 205}, /* RUMINUMERALSYMBOLS */ - {1184, 2, 205}, /* RUMI */ - {1423, 2, 206}, /* YEZIDI */ - {1061, 2, 207}, /* OLDSOGDIAN */ - {1240, 2, 208}, /* SOGDIAN */ - { 371, 2, 209}, /* CHORASMIAN */ - { 535, 2, 210}, /* ELYMAIC */ - { 285, 2, 211}, /* BRAHMI */ - { 750, 2, 212}, /* KAITHI */ - {1243, 2, 213}, /* SORASOMPENG */ - { 359, 2, 214}, /* CHAKMA */ - { 862, 2, 215}, /* MAHAJANI */ - {1215, 2, 216}, /* SHARADA */ - {1228, 2, 217}, /* SINHALAARCHAICNUMBERS */ - { 776, 2, 218}, /* KHOJKI */ - { 975, 2, 219}, /* MULTANI */ - { 777, 2, 220}, /* KHUDAWADI */ - { 624, 2, 221}, /* GRANTHA */ - { 999, 2, 222}, /* NEWA */ - {1341, 2, 223}, /* TIRHUTA */ - {1222, 2, 224}, /* SIDDHAM */ - { 961, 2, 225}, /* MODI */ - { 970, 2, 226}, /* MONGOLIANSUPPLEMENT */ - { 969, 2, 226}, /* MONGOLIANSUP */ - {1311, 2, 227}, /* TAKRI */ - { 178, 2, 228}, /* AHOM */ - { 508, 2, 229}, /* DOGRA */ - {1396, 2, 230}, /* WARANGCITI */ - { 506, 2, 231}, /* DIVESAKURU */ - { 990, 2, 232}, /* NANDINAGARI */ - {1435, 2, 233}, /* ZANABAZARSQUARE */ - {1245, 2, 234}, /* SOYOMBO */ - {1109, 2, 235}, /* PAUCINHAU */ - { 259, 2, 236}, /* BHAIKSUKI */ - { 913, 2, 237}, /* MARCHEN */ - { 915, 2, 238}, /* MASARAMGONDI */ - { 640, 2, 239}, /* GUNJALAGONDI */ - { 867, 2, 240}, /* MAKASAR */ - { 837, 2, 241}, /* LISUSUPPLEMENT */ - { 836, 2, 241}, /* LISUSUP */ - {1316, 2, 242}, /* TAMILSUPPLEMENT */ - {1315, 2, 242}, /* TAMILSUP */ - { 454, 2, 243}, /* CUNEIFORM */ - { 456, 2, 244}, /* CUNEIFORMNUMBERSANDPUNCTUATION */ - { 455, 2, 244}, /* CUNEIFORMNUMBERS */ - { 522, 2, 245}, /* EARLYDYNASTICCUNEIFORM */ - { 531, 2, 246}, /* EGYPTIANHIEROGLYPHS */ - { 530, 2, 247}, /* EGYPTIANHIEROGLYPHFORMATCONTROLS */ - { 195, 2, 248}, /* ANATOLIANHIEROGLYPHS */ - { 244, 2, 249}, /* BAMUMSUPPLEMENT */ - { 243, 2, 249}, /* BAMUMSUP */ - { 971, 2, 250}, /* MRO */ - { 247, 2, 251}, /* BASSAVAH */ - {1100, 2, 252}, /* PAHAWHHMONG */ - { 928, 2, 253}, /* MEDEFAIDRIN */ - { 941, 2, 254}, /* MIAO */ - { 701, 2, 255}, /* IDEOGRAPHICSYMBOLSANDPUNCTUATION */ - { 700, 2, 255}, /* IDEOGRAPHICSYMBOLS */ - {1319, 2, 256}, /* TANGUT */ - {1320, 2, 257}, /* TANGUTCOMPONENTS */ - { 771, 2, 258}, /* KHITANSMALLSCRIPT */ - {1322, 2, 259}, /* TANGUTSUPPLEMENT */ - {1321, 2, 259}, /* TANGUTSUP */ - { 756, 2, 260}, /* KANASUPPLEMENT */ - { 755, 2, 260}, /* KANASUP */ - { 754, 2, 261}, /* KANAEXTENDEDA */ - { 753, 2, 261}, /* KANAEXTA */ - {1235, 2, 262}, /* SMALLKANAEXTENSION */ - {1234, 2, 262}, /* SMALLKANAEXT */ - {1042, 2, 263}, /* NUSHU */ - { 519, 2, 264}, /* DUPLOYAN */ - {1219, 2, 265}, /* SHORTHANDFORMATCONTROLS */ - { 300, 2, 266}, /* BYZANTINEMUSICALSYMBOLS */ - { 299, 2, 266}, /* BYZANTINEMUSIC */ - { 977, 2, 267}, /* MUSICALSYMBOLS */ - { 976, 2, 267}, /* MUSIC */ - { 197, 2, 268}, /* ANCIENTGREEKMUSICALNOTATION */ - { 196, 2, 268}, /* ANCIENTGREEKMUSIC */ - { 922, 2, 269}, /* MAYANNUMERALS */ - {1309, 2, 270}, /* TAIXUANJINGSYMBOLS */ - {1308, 2, 270}, /* TAIXUANJING */ - { 449, 2, 271}, /* COUNTINGRODNUMERALS */ - { 448, 2, 271}, /* COUNTINGROD */ - { 918, 2, 272}, /* MATHEMATICALALPHANUMERICSYMBOLS */ - { 917, 2, 272}, /* MATHALPHANUM */ - {1284, 2, 273}, /* SUTTONSIGNWRITING */ - { 616, 2, 274}, /* GLAGOLITICSUPPLEMENT */ - { 615, 2, 274}, /* GLAGOLITICSUP */ - {1045, 2, 275}, /* NYIAKENGPUACHUEHMONG */ - {1394, 2, 276}, /* WANCHO */ - { 936, 2, 277}, /* MENDEKIKAKUI */ - { 170, 2, 278}, /* ADLAM */ - { 712, 2, 279}, /* INDICSIYAQNUMBERS */ - {1093, 2, 280}, /* OTTOMANSIYAQNUMBERS */ - { 208, 2, 281}, /* ARABICMATHEMATICALALPHABETICSYMBOLS */ - { 207, 2, 281}, /* ARABICMATH */ - { 865, 2, 282}, /* MAHJONGTILES */ - { 864, 2, 282}, /* MAHJONG */ - { 510, 2, 283}, /* DOMINOTILES */ - { 509, 2, 283}, /* DOMINO */ - {1131, 2, 284}, /* PLAYINGCARDS */ - { 549, 2, 285}, /* ENCLOSEDALPHANUMERICSUPPLEMENT */ - { 550, 2, 285}, /* ENCLOSEDALPHANUMSUP */ - { 554, 2, 286}, /* ENCLOSEDIDEOGRAPHICSUPPLEMENT */ - { 553, 2, 286}, /* ENCLOSEDIDEOGRAPHICSUP */ - { 951, 2, 287}, /* MISCELLANEOUSSYMBOLSANDPICTOGRAPHS */ - { 955, 2, 287}, /* MISCPICTOGRAPHS */ - { 544, 2, 288}, /* EMOTICONS */ - {1073, 2, 289}, /* ORNAMENTALDINGBATS */ - {1355, 2, 290}, /* TRANSPORTANDMAPSYMBOLS */ - {1354, 2, 290}, /* TRANSPORTANDMAP */ - { 184, 2, 291}, /* ALCHEMICALSYMBOLS */ - { 183, 2, 291}, /* ALCHEMICAL */ - { 605, 2, 292}, /* GEOMETRICSHAPESEXTENDED */ - { 604, 2, 292}, /* GEOMETRICSHAPESEXT */ - {1273, 2, 293}, /* SUPPLEMENTALARROWSC */ - {1266, 2, 293}, /* SUPARROWSC */ - {1276, 2, 294}, /* SUPPLEMENTALSYMBOLSANDPICTOGRAPHS */ - {1282, 2, 294}, /* SUPSYMBOLSANDPICTOGRAPHS */ - { 370, 2, 295}, /* CHESSSYMBOLS */ - {1292, 2, 296}, /* SYMBOLSANDPICTOGRAPHSEXTENDEDA */ - {1291, 2, 296}, /* SYMBOLSANDPICTOGRAPHSEXTA */ - {1293, 2, 297}, /* SYMBOLSFORLEGACYCOMPUTING */ - { 399, 2, 298}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONB */ - { 386, 2, 298}, /* CJKEXTB */ - { 400, 2, 299}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONC */ - { 387, 2, 299}, /* CJKEXTC */ - { 401, 2, 300}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIOND */ - { 388, 2, 300}, /* CJKEXTD */ - { 402, 2, 301}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONE */ - { 389, 2, 301}, /* CJKEXTE */ - { 403, 2, 302}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONF */ - { 390, 2, 302}, /* CJKEXTF */ - { 382, 2, 303}, /* CJKCOMPATIBILITYIDEOGRAPHSSUPPLEMENT */ - { 384, 2, 303}, /* CJKCOMPATIDEOGRAPHSSUP */ - { 404, 2, 304}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONG */ - { 391, 2, 304}, /* CJKEXTG */ - {1303, 2, 305}, /* TAGS */ - {1377, 2, 306}, /* VARIATIONSELECTORSSUPPLEMENT */ - {1392, 2, 306}, /* VSSUP */ - {1277, 2, 307}, /* SUPPLEMENTARYPRIVATEUSEAREAA */ - {1279, 2, 307}, /* SUPPUAA */ - {1278, 2, 308}, /* SUPPLEMENTARYPRIVATEUSEAREAB */ - {1280, 2, 308}, /* SUPPUAB */ - {1027, 3, 0}, /* NOTREORDERED */ + {1309, 2, 14}, /* SYRIAC */ + { 217, 2, 15}, /* ARABICSUPPLEMENT */ + { 216, 2, 15}, /* ARABICSUP */ + {1350, 2, 16}, /* THAANA */ + {1024, 2, 17}, /* NKO */ + {1207, 2, 18}, /* SAMARITAN */ + { 893, 2, 19}, /* MANDAIC */ + {1311, 2, 20}, /* SYRIACSUPPLEMENT */ + {1310, 2, 20}, /* SYRIACSUP */ + { 207, 2, 21}, /* ARABICEXTENDEDB */ + { 205, 2, 21}, /* ARABICEXTB */ + { 206, 2, 22}, /* ARABICEXTENDEDA */ + { 204, 2, 22}, /* ARABICEXTA */ + { 497, 2, 23}, /* DEVANAGARI */ + { 259, 2, 24}, /* BENGALI */ + { 647, 2, 25}, /* GURMUKHI */ + { 644, 2, 26}, /* GUJARATI */ + {1084, 2, 27}, /* ORIYA */ + {1328, 2, 28}, /* TAMIL */ + {1343, 2, 29}, /* TELUGU */ + { 769, 2, 30}, /* KANNADA */ + { 880, 2, 31}, /* MALAYALAM */ + {1241, 2, 32}, /* SINHALA */ + {1351, 2, 33}, /* THAI */ + { 796, 2, 34}, /* LAO */ + {1353, 2, 35}, /* TIBETAN */ + { 990, 2, 36}, /* MYANMAR */ + { 613, 2, 37}, /* GEORGIAN */ + { 662, 2, 38}, /* HANGULJAMO */ + { 739, 2, 38}, /* JAMO */ + { 564, 2, 39}, /* ETHIOPIC */ + { 572, 2, 40}, /* ETHIOPICSUPPLEMENT */ + { 571, 2, 40}, /* ETHIOPICSUP */ + { 369, 2, 41}, /* CHEROKEE */ + {1383, 2, 42}, /* UNIFIEDCANADIANABORIGINALSYLLABICS */ + {1376, 2, 42}, /* UCAS */ + { 308, 2, 42}, /* CANADIANSYLLABICS */ + {1062, 2, 43}, /* OGHAM */ + {1200, 2, 44}, /* RUNIC */ + {1314, 2, 45}, /* TAGALOG */ + { 674, 2, 46}, /* HANUNOO */ + { 299, 2, 47}, /* BUHID */ + {1316, 2, 48}, /* TAGBANWA */ + { 780, 2, 49}, /* KHMER */ + { 980, 2, 50}, /* MONGOLIAN */ + {1384, 2, 51}, /* UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED */ + {1377, 2, 51}, /* UCASEXT */ + { 837, 2, 52}, /* LIMBU */ + {1319, 2, 53}, /* TAILE */ + {1013, 2, 54}, /* NEWTAILUE */ + { 781, 2, 55}, /* KHMERSYMBOLS */ + { 297, 2, 56}, /* BUGINESE */ + {1320, 2, 57}, /* TAITHAM */ + { 417, 2, 58}, /* COMBININGDIACRITICALMARKSEXTENDED */ + { 504, 2, 58}, /* DIACRITICALSEXT */ + { 242, 2, 59}, /* BALINESE */ + {1274, 2, 60}, /* SUNDANESE */ + { 250, 2, 61}, /* BATAK */ + { 831, 2, 62}, /* LEPCHA */ + {1066, 2, 63}, /* OLCHIKI */ + { 476, 2, 64}, /* CYRILLICEXTENDEDC */ + { 473, 2, 64}, /* CYRILLICEXTC */ + { 615, 2, 65}, /* GEORGIANEXTENDED */ + { 614, 2, 65}, /* GEORGIANEXT */ + {1276, 2, 66}, /* SUNDANESESUPPLEMENT */ + {1275, 2, 66}, /* SUNDANESESUP */ + {1399, 2, 67}, /* VEDICEXTENSIONS */ + {1398, 2, 67}, /* VEDICEXT */ + {1141, 2, 68}, /* PHONETICEXTENSIONS */ + {1140, 2, 68}, /* PHONETICEXT */ + {1142, 2, 69}, /* PHONETICEXTENSIONSSUPPLEMENT */ + {1143, 2, 69}, /* PHONETICEXTSUP */ + { 419, 2, 70}, /* COMBININGDIACRITICALMARKSSUPPLEMENT */ + { 506, 2, 70}, /* DIACRITICALSSUP */ + { 809, 2, 71}, /* LATINEXTENDEDADDITIONAL */ + { 803, 2, 71}, /* LATINEXTADDITIONAL */ + { 640, 2, 72}, /* GREEKEXTENDED */ + { 639, 2, 72}, /* GREEKEXT */ + { 608, 2, 73}, /* GENERALPUNCTUATION */ + {1168, 2, 73}, /* PUNCTUATION */ + {1283, 2, 74}, /* SUPERSCRIPTSANDSUBSCRIPTS */ + {1282, 2, 74}, /* SUPERANDSUB */ + { 461, 2, 75}, /* CURRENCYSYMBOLS */ + { 418, 2, 76}, /* COMBININGDIACRITICALMARKSFORSYMBOLS */ + { 505, 2, 76}, /* DIACRITICALSFORSYMBOLS */ + { 422, 2, 76}, /* COMBININGMARKSFORSYMBOLS */ + { 833, 2, 77}, /* LETTERLIKESYMBOLS */ + {1048, 2, 78}, /* NUMBERFORMS */ + { 221, 2, 79}, /* ARROWS */ + { 931, 2, 80}, /* MATHEMATICALOPERATORS */ + { 932, 2, 80}, /* MATHOPERATORS */ + { 964, 2, 81}, /* MISCELLANEOUSTECHNICAL */ + { 969, 2, 81}, /* MISCTECHNICAL */ + { 446, 2, 82}, /* CONTROLPICTURES */ + {1083, 2, 83}, /* OPTICALCHARACTERRECOGNITION */ + {1059, 2, 83}, /* OCR */ + { 552, 2, 84}, /* ENCLOSEDALPHANUMERICS */ + { 551, 2, 84}, /* ENCLOSEDALPHANUM */ + { 284, 2, 85}, /* BOXDRAWING */ + { 274, 2, 86}, /* BLOCKELEMENTS */ + { 609, 2, 87}, /* GEOMETRICSHAPES */ + { 961, 2, 88}, /* MISCELLANEOUSSYMBOLS */ + { 968, 2, 88}, /* MISCSYMBOLS */ + { 509, 2, 89}, /* DINGBATS */ + { 959, 2, 90}, /* MISCELLANEOUSMATHEMATICALSYMBOLSA */ + { 965, 2, 90}, /* MISCMATHSYMBOLSA */ + {1285, 2, 91}, /* SUPPLEMENTALARROWSA */ + {1278, 2, 91}, /* SUPARROWSA */ + { 291, 2, 92}, /* BRAILLEPATTERNS */ + { 290, 2, 92}, /* BRAILLE */ + {1286, 2, 93}, /* SUPPLEMENTALARROWSB */ + {1279, 2, 93}, /* SUPARROWSB */ + { 960, 2, 94}, /* MISCELLANEOUSMATHEMATICALSYMBOLSB */ + { 966, 2, 94}, /* MISCMATHSYMBOLSB */ + {1288, 2, 95}, /* SUPPLEMENTALMATHEMATICALOPERATORS */ + {1284, 2, 95}, /* SUPMATHOPERATORS */ + { 962, 2, 96}, /* MISCELLANEOUSSYMBOLSANDARROWS */ + { 958, 2, 96}, /* MISCARROWS */ + { 620, 2, 97}, /* GLAGOLITIC */ + { 811, 2, 98}, /* LATINEXTENDEDC */ + { 805, 2, 98}, /* LATINEXTC */ + { 448, 2, 99}, /* COPTIC */ + { 617, 2, 100}, /* GEORGIANSUPPLEMENT */ + { 616, 2, 100}, /* GEORGIANSUP */ + {1355, 2, 101}, /* TIFINAGH */ + { 568, 2, 102}, /* ETHIOPICEXTENDED */ + { 565, 2, 102}, /* ETHIOPICEXT */ + { 474, 2, 103}, /* CYRILLICEXTENDEDA */ + { 471, 2, 103}, /* CYRILLICEXTA */ + {1289, 2, 104}, /* SUPPLEMENTALPUNCTUATION */ + {1295, 2, 104}, /* SUPPUNCTUATION */ + { 395, 2, 105}, /* CJKRADICALSSUPPLEMENT */ + { 394, 2, 105}, /* CJKRADICALSSUP */ + { 768, 2, 106}, /* KANGXIRADICALS */ + { 767, 2, 106}, /* KANGXI */ + { 705, 2, 107}, /* IDEOGRAPHICDESCRIPTIONCHARACTERS */ + { 701, 2, 107}, /* IDC */ + { 398, 2, 108}, /* CJKSYMBOLSANDPUNCTUATION */ + { 397, 2, 108}, /* CJKSYMBOLS */ + { 690, 2, 109}, /* HIRAGANA */ + { 771, 2, 110}, /* KATAKANA */ + { 277, 2, 111}, /* BOPOMOFO */ + { 661, 2, 112}, /* HANGULCOMPATIBILITYJAMO */ + { 427, 2, 112}, /* COMPATJAMO */ + { 766, 2, 113}, /* KANBUN */ + { 279, 2, 114}, /* BOPOMOFOEXTENDED */ + { 278, 2, 114}, /* BOPOMOFOEXT */ + { 396, 2, 115}, /* CJKSTROKES */ + { 774, 2, 116}, /* KATAKANAPHONETICEXTENSIONS */ + { 772, 2, 116}, /* KATAKANAEXT */ + { 556, 2, 117}, /* ENCLOSEDCJKLETTERSANDMONTHS */ + { 555, 2, 117}, /* ENCLOSEDCJK */ + { 381, 2, 118}, /* CJKCOMPATIBILITY */ + { 379, 2, 118}, /* CJKCOMPAT */ + { 400, 2, 119}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONA */ + { 387, 2, 119}, /* CJKEXTA */ + {1450, 2, 120}, /* YIJINGHEXAGRAMSYMBOLS */ + {1449, 2, 120}, /* YIJING */ + { 399, 2, 121}, /* CJKUNIFIEDIDEOGRAPHS */ + { 378, 2, 121}, /* CJK */ + {1452, 2, 122}, /* YISYLLABLES */ + {1451, 2, 123}, /* YIRADICALS */ + { 847, 2, 124}, /* LISU */ + {1393, 2, 125}, /* VAI */ + { 475, 2, 126}, /* CYRILLICEXTENDEDB */ + { 472, 2, 126}, /* CYRILLICEXTB */ + { 244, 2, 127}, /* BAMUM */ + { 977, 2, 128}, /* MODIFIERTONELETTERS */ + { 812, 2, 129}, /* LATINEXTENDEDD */ + { 806, 2, 129}, /* LATINEXTD */ + {1303, 2, 130}, /* SYLOTINAGRI */ + { 424, 2, 131}, /* COMMONINDICNUMBERFORMS */ + { 716, 2, 131}, /* INDICNUMBERFORMS */ + {1133, 2, 132}, /* PHAGSPA */ + {1211, 2, 133}, /* SAURASHTRA */ + { 499, 2, 134}, /* DEVANAGARIEXTENDED */ + { 498, 2, 134}, /* DEVANAGARIEXT */ + { 775, 2, 135}, /* KAYAHLI */ + {1183, 2, 136}, /* REJANG */ + { 663, 2, 137}, /* HANGULJAMOEXTENDEDA */ + { 740, 2, 137}, /* JAMOEXTA */ + { 743, 2, 138}, /* JAVANESE */ + { 994, 2, 139}, /* MYANMAREXTENDEDB */ + { 992, 2, 139}, /* MYANMAREXTB */ + { 362, 2, 140}, /* CHAM */ + { 993, 2, 141}, /* MYANMAREXTENDEDA */ + { 991, 2, 141}, /* MYANMAREXTA */ + {1321, 2, 142}, /* TAIVIET */ + { 946, 2, 143}, /* MEETEIMAYEKEXTENSIONS */ + { 945, 2, 143}, /* MEETEIMAYEKEXT */ + { 569, 2, 144}, /* ETHIOPICEXTENDEDA */ + { 566, 2, 144}, /* ETHIOPICEXTA */ + { 813, 2, 145}, /* LATINEXTENDEDE */ + { 807, 2, 145}, /* LATINEXTE */ + { 371, 2, 146}, /* CHEROKEESUPPLEMENT */ + { 370, 2, 146}, /* CHEROKEESUP */ + { 944, 2, 147}, /* MEETEIMAYEK */ + { 665, 2, 148}, /* HANGULSYLLABLES */ + { 660, 2, 148}, /* HANGUL */ + { 664, 2, 149}, /* HANGULJAMOEXTENDEDB */ + { 741, 2, 149}, /* JAMOEXTB */ + { 688, 2, 150}, /* HIGHSURROGATES */ + { 686, 2, 151}, /* HIGHPRIVATEUSESURROGATES */ + { 687, 2, 151}, /* HIGHPUSURROGATES */ + { 858, 2, 152}, /* LOWSURROGATES */ + {1162, 2, 153}, /* PRIVATEUSEAREA */ + {1166, 2, 153}, /* PUA */ + {1161, 2, 153}, /* PRIVATEUSE */ + { 383, 2, 154}, /* CJKCOMPATIBILITYIDEOGRAPHS */ + { 385, 2, 154}, /* CJKCOMPATIDEOGRAPHS */ + { 191, 2, 155}, /* ALPHABETICPRESENTATIONFORMS */ + { 190, 2, 155}, /* ALPHABETICPF */ + { 214, 2, 156}, /* ARABICPRESENTATIONFORMSA */ + { 212, 2, 156}, /* ARABICPFA */ + {1396, 2, 157}, /* VARIATIONSELECTORS */ + {1414, 2, 157}, /* VS */ + {1402, 2, 158}, /* VERTICALFORMS */ + { 420, 2, 159}, /* COMBININGHALFMARKS */ + { 654, 2, 159}, /* HALFMARKS */ + { 382, 2, 160}, /* CJKCOMPATIBILITYFORMS */ + { 380, 2, 160}, /* CJKCOMPATFORMS */ + {1247, 2, 161}, /* SMALLFORMVARIANTS */ + {1246, 2, 161}, /* SMALLFORMS */ + { 215, 2, 162}, /* ARABICPRESENTATIONFORMSB */ + { 213, 2, 162}, /* ARABICPFB */ + { 656, 2, 163}, /* HALFWIDTHANDFULLWIDTHFORMS */ + { 653, 2, 163}, /* HALFANDFULLFORMS */ + {1265, 2, 164}, /* SPECIALS */ + { 843, 2, 165}, /* LINEARBSYLLABARY */ + { 842, 2, 166}, /* LINEARBIDEOGRAMS */ + { 172, 2, 167}, /* AEGEANNUMBERS */ + { 198, 2, 168}, /* ANCIENTGREEKNUMBERS */ + { 199, 2, 169}, /* ANCIENTSYMBOLS */ + {1135, 2, 170}, /* PHAISTOSDISC */ + {1134, 2, 170}, /* PHAISTOS */ + { 869, 2, 171}, /* LYCIAN */ + { 314, 2, 172}, /* CARIAN */ + { 449, 2, 173}, /* COPTICEPACTNUMBERS */ + {1069, 2, 174}, /* OLDITALIC */ + { 628, 2, 175}, /* GOTHIC */ + {1071, 2, 176}, /* OLDPERMIC */ + {1380, 2, 177}, /* UGARITIC */ + {1072, 2, 178}, /* OLDPERSIAN */ + { 495, 2, 179}, /* DESERET */ + {1230, 2, 180}, /* SHAVIAN */ + {1091, 2, 181}, /* OSMANYA */ + {1088, 2, 182}, /* OSAGE */ + { 537, 2, 183}, /* ELBASAN */ + { 319, 2, 184}, /* CAUCASIANALBANIAN */ + {1408, 2, 185}, /* VITHKUQI */ + { 840, 2, 186}, /* LINEARA */ + { 814, 2, 187}, /* LATINEXTENDEDF */ + { 816, 2, 187}, /* LATINEXTF */ + { 468, 2, 188}, /* CYPRIOTSYLLABARY */ + { 714, 2, 189}, /* IMPERIALARAMAIC */ + {1116, 2, 190}, /* PALMYRENE */ + { 999, 2, 191}, /* NABATAEAN */ + { 676, 2, 192}, /* HATRAN */ + {1139, 2, 193}, /* PHOENICIAN */ + { 871, 2, 194}, /* LYDIAN */ + { 952, 2, 195}, /* MEROITICHIEROGLYPHS */ + { 951, 2, 196}, /* MEROITICCURSIVE */ + { 778, 2, 197}, /* KHAROSHTHI */ + {1074, 2, 198}, /* OLDSOUTHARABIAN */ + {1070, 2, 199}, /* OLDNORTHARABIAN */ + { 896, 2, 200}, /* MANICHAEAN */ + { 236, 2, 201}, /* AVESTAN */ + { 728, 2, 202}, /* INSCRIPTIONALPARTHIAN */ + { 727, 2, 203}, /* INSCRIPTIONALPAHLAVI */ + {1165, 2, 204}, /* PSALTERPAHLAVI */ + {1075, 2, 205}, /* OLDTURKIC */ + {1068, 2, 206}, /* OLDHUNGARIAN */ + { 668, 2, 207}, /* HANIFIROHINGYA */ + {1199, 2, 208}, /* RUMINUMERALSYMBOLS */ + {1198, 2, 208}, /* RUMI */ + {1446, 2, 209}, /* YEZIDI */ + {1073, 2, 210}, /* OLDSOGDIAN */ + {1254, 2, 211}, /* SOGDIAN */ + {1076, 2, 212}, /* OLDUYGHUR */ + { 373, 2, 213}, /* CHORASMIAN */ + { 539, 2, 214}, /* ELYMAIC */ + { 287, 2, 215}, /* BRAHMI */ + { 756, 2, 216}, /* KAITHI */ + {1257, 2, 217}, /* SORASOMPENG */ + { 361, 2, 218}, /* CHAKMA */ + { 874, 2, 219}, /* MAHAJANI */ + {1229, 2, 220}, /* SHARADA */ + {1242, 2, 221}, /* SINHALAARCHAICNUMBERS */ + { 784, 2, 222}, /* KHOJKI */ + { 987, 2, 223}, /* MULTANI */ + { 785, 2, 224}, /* KHUDAWADI */ + { 630, 2, 225}, /* GRANTHA */ + {1011, 2, 226}, /* NEWA */ + {1357, 2, 227}, /* TIRHUTA */ + {1236, 2, 228}, /* SIDDHAM */ + { 973, 2, 229}, /* MODI */ + { 982, 2, 230}, /* MONGOLIANSUPPLEMENT */ + { 981, 2, 230}, /* MONGOLIANSUP */ + {1325, 2, 231}, /* TAKRI */ + { 178, 2, 232}, /* AHOM */ + { 512, 2, 233}, /* DOGRA */ + {1419, 2, 234}, /* WARANGCITI */ + { 510, 2, 235}, /* DIVESAKURU */ + {1002, 2, 236}, /* NANDINAGARI */ + {1458, 2, 237}, /* ZANABAZARSQUARE */ + {1259, 2, 238}, /* SOYOMBO */ + {1385, 2, 239}, /* UNIFIEDCANADIANABORIGINALSYLLABICSEXTENDEDA */ + {1378, 2, 239}, /* UCASEXTA */ + {1123, 2, 240}, /* PAUCINHAU */ + { 261, 2, 241}, /* BHAIKSUKI */ + { 925, 2, 242}, /* MARCHEN */ + { 927, 2, 243}, /* MASARAMGONDI */ + { 646, 2, 244}, /* GUNJALAGONDI */ + { 879, 2, 245}, /* MAKASAR */ + { 849, 2, 246}, /* LISUSUPPLEMENT */ + { 848, 2, 246}, /* LISUSUP */ + {1330, 2, 247}, /* TAMILSUPPLEMENT */ + {1329, 2, 247}, /* TAMILSUP */ + { 457, 2, 248}, /* CUNEIFORM */ + { 459, 2, 249}, /* CUNEIFORMNUMBERSANDPUNCTUATION */ + { 458, 2, 249}, /* CUNEIFORMNUMBERS */ + { 526, 2, 250}, /* EARLYDYNASTICCUNEIFORM */ + { 469, 2, 251}, /* CYPROMINOAN */ + { 535, 2, 252}, /* EGYPTIANHIEROGLYPHS */ + { 534, 2, 253}, /* EGYPTIANHIEROGLYPHFORMATCONTROLS */ + { 195, 2, 254}, /* ANATOLIANHIEROGLYPHS */ + { 246, 2, 255}, /* BAMUMSUPPLEMENT */ + { 245, 2, 255}, /* BAMUMSUP */ + { 983, 2, 256}, /* MRO */ + {1333, 2, 257}, /* TANGSA */ + { 249, 2, 258}, /* BASSAVAH */ + {1114, 2, 259}, /* PAHAWHHMONG */ + { 940, 2, 260}, /* MEDEFAIDRIN */ + { 953, 2, 261}, /* MIAO */ + { 707, 2, 262}, /* IDEOGRAPHICSYMBOLSANDPUNCTUATION */ + { 706, 2, 262}, /* IDEOGRAPHICSYMBOLS */ + {1334, 2, 263}, /* TANGUT */ + {1335, 2, 264}, /* TANGUTCOMPONENTS */ + { 779, 2, 265}, /* KHITANSMALLSCRIPT */ + {1337, 2, 266}, /* TANGUTSUPPLEMENT */ + {1336, 2, 266}, /* TANGUTSUP */ + { 762, 2, 267}, /* KANAEXTENDEDB */ + { 760, 2, 267}, /* KANAEXTB */ + { 764, 2, 268}, /* KANASUPPLEMENT */ + { 763, 2, 268}, /* KANASUP */ + { 761, 2, 269}, /* KANAEXTENDEDA */ + { 759, 2, 269}, /* KANAEXTA */ + {1249, 2, 270}, /* SMALLKANAEXTENSION */ + {1248, 2, 270}, /* SMALLKANAEXT */ + {1054, 2, 271}, /* NUSHU */ + { 523, 2, 272}, /* DUPLOYAN */ + {1233, 2, 273}, /* SHORTHANDFORMATCONTROLS */ + {1464, 2, 274}, /* ZNAMENNYMUSICALNOTATION */ + {1463, 2, 274}, /* ZNAMENNYMUSIC */ + { 302, 2, 275}, /* BYZANTINEMUSICALSYMBOLS */ + { 301, 2, 275}, /* BYZANTINEMUSIC */ + { 989, 2, 276}, /* MUSICALSYMBOLS */ + { 988, 2, 276}, /* MUSIC */ + { 197, 2, 277}, /* ANCIENTGREEKMUSICALNOTATION */ + { 196, 2, 277}, /* ANCIENTGREEKMUSIC */ + { 934, 2, 278}, /* MAYANNUMERALS */ + {1323, 2, 279}, /* TAIXUANJINGSYMBOLS */ + {1322, 2, 279}, /* TAIXUANJING */ + { 451, 2, 280}, /* COUNTINGRODNUMERALS */ + { 450, 2, 280}, /* COUNTINGROD */ + { 930, 2, 281}, /* MATHEMATICALALPHANUMERICSYMBOLS */ + { 929, 2, 281}, /* MATHALPHANUM */ + {1298, 2, 282}, /* SUTTONSIGNWRITING */ + { 815, 2, 283}, /* LATINEXTENDEDG */ + { 817, 2, 283}, /* LATINEXTG */ + { 622, 2, 284}, /* GLAGOLITICSUPPLEMENT */ + { 621, 2, 284}, /* GLAGOLITICSUP */ + {1057, 2, 285}, /* NYIAKENGPUACHUEHMONG */ + {1369, 2, 286}, /* TOTO */ + {1417, 2, 287}, /* WANCHO */ + { 570, 2, 288}, /* ETHIOPICEXTENDEDB */ + { 567, 2, 288}, /* ETHIOPICEXTB */ + { 948, 2, 289}, /* MENDEKIKAKUI */ + { 170, 2, 290}, /* ADLAM */ + { 718, 2, 291}, /* INDICSIYAQNUMBERS */ + {1106, 2, 292}, /* OTTOMANSIYAQNUMBERS */ + { 210, 2, 293}, /* ARABICMATHEMATICALALPHABETICSYMBOLS */ + { 209, 2, 293}, /* ARABICMATH */ + { 877, 2, 294}, /* MAHJONGTILES */ + { 876, 2, 294}, /* MAHJONG */ + { 514, 2, 295}, /* DOMINOTILES */ + { 513, 2, 295}, /* DOMINO */ + {1145, 2, 296}, /* PLAYINGCARDS */ + { 553, 2, 297}, /* ENCLOSEDALPHANUMERICSUPPLEMENT */ + { 554, 2, 297}, /* ENCLOSEDALPHANUMSUP */ + { 558, 2, 298}, /* ENCLOSEDIDEOGRAPHICSUPPLEMENT */ + { 557, 2, 298}, /* ENCLOSEDIDEOGRAPHICSUP */ + { 963, 2, 299}, /* MISCELLANEOUSSYMBOLSANDPICTOGRAPHS */ + { 967, 2, 299}, /* MISCPICTOGRAPHS */ + { 548, 2, 300}, /* EMOTICONS */ + {1086, 2, 301}, /* ORNAMENTALDINGBATS */ + {1373, 2, 302}, /* TRANSPORTANDMAPSYMBOLS */ + {1372, 2, 302}, /* TRANSPORTANDMAP */ + { 184, 2, 303}, /* ALCHEMICALSYMBOLS */ + { 183, 2, 303}, /* ALCHEMICAL */ + { 611, 2, 304}, /* GEOMETRICSHAPESEXTENDED */ + { 610, 2, 304}, /* GEOMETRICSHAPESEXT */ + {1287, 2, 305}, /* SUPPLEMENTALARROWSC */ + {1280, 2, 305}, /* SUPARROWSC */ + {1290, 2, 306}, /* SUPPLEMENTALSYMBOLSANDPICTOGRAPHS */ + {1296, 2, 306}, /* SUPSYMBOLSANDPICTOGRAPHS */ + { 372, 2, 307}, /* CHESSSYMBOLS */ + {1306, 2, 308}, /* SYMBOLSANDPICTOGRAPHSEXTENDEDA */ + {1305, 2, 308}, /* SYMBOLSANDPICTOGRAPHSEXTA */ + {1307, 2, 309}, /* SYMBOLSFORLEGACYCOMPUTING */ + { 401, 2, 310}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONB */ + { 388, 2, 310}, /* CJKEXTB */ + { 402, 2, 311}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONC */ + { 389, 2, 311}, /* CJKEXTC */ + { 403, 2, 312}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIOND */ + { 390, 2, 312}, /* CJKEXTD */ + { 404, 2, 313}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONE */ + { 391, 2, 313}, /* CJKEXTE */ + { 405, 2, 314}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONF */ + { 392, 2, 314}, /* CJKEXTF */ + { 384, 2, 315}, /* CJKCOMPATIBILITYIDEOGRAPHSSUPPLEMENT */ + { 386, 2, 315}, /* CJKCOMPATIDEOGRAPHSSUP */ + { 406, 2, 316}, /* CJKUNIFIEDIDEOGRAPHSEXTENSIONG */ + { 393, 2, 316}, /* CJKEXTG */ + {1317, 2, 317}, /* TAGS */ + {1397, 2, 318}, /* VARIATIONSELECTORSSUPPLEMENT */ + {1415, 2, 318}, /* VSSUP */ + {1291, 2, 319}, /* SUPPLEMENTARYPRIVATEUSEAREAA */ + {1293, 2, 319}, /* SUPPUAA */ + {1292, 2, 320}, /* SUPPLEMENTARYPRIVATEUSEAREAB */ + {1294, 2, 320}, /* SUPPUAB */ + {1039, 3, 0}, /* NOTREORDERED */ { 1, 3, 0}, /* 0 */ - {1028, 3, 0}, /* NR */ + {1040, 3, 0}, /* NR */ { 167, 3, 1}, /* ABOVE */ { 75, 3, 1}, /* 230 */ { 166, 3, 1}, /* A */ { 169, 3, 2}, /* ABOVERIGHT */ { 76, 3, 2}, /* 232 */ { 201, 3, 2}, /* AR */ - { 253, 3, 3}, /* BELOW */ + { 255, 3, 3}, /* BELOW */ { 69, 3, 3}, /* 220 */ - { 236, 3, 3}, /* B */ - { 230, 3, 4}, /* ATTACHEDABOVERIGHT */ + { 238, 3, 3}, /* B */ + { 232, 3, 4}, /* ATTACHEDABOVERIGHT */ { 65, 3, 4}, /* 216 */ - { 225, 3, 4}, /* ATAR */ - { 231, 3, 5}, /* ATTACHEDBELOW */ + { 227, 3, 4}, /* ATAR */ + { 233, 3, 5}, /* ATTACHEDBELOW */ { 62, 3, 5}, /* 202 */ - { 226, 3, 5}, /* ATB */ - {1096, 3, 6}, /* OVERLAY */ + { 228, 3, 5}, /* ATB */ + {1110, 3, 6}, /* OVERLAY */ { 2, 3, 6}, /* 1 */ - {1095, 3, 6}, /* OV */ - { 726, 3, 7}, /* IOTASUBSCRIPT */ + {1109, 3, 6}, /* OV */ + { 732, 3, 7}, /* IOTASUBSCRIPT */ { 80, 3, 7}, /* 240 */ - { 729, 3, 7}, /* IS */ - { 512, 3, 8}, /* DOUBLEBELOW */ + { 735, 3, 7}, /* IS */ + { 516, 3, 8}, /* DOUBLEBELOW */ { 77, 3, 8}, /* 233 */ - { 483, 3, 8}, /* DB */ - { 511, 3, 9}, /* DOUBLEABOVE */ + { 487, 3, 8}, /* DB */ + { 515, 3, 9}, /* DOUBLEABOVE */ { 78, 3, 9}, /* 234 */ - { 478, 3, 9}, /* DA */ - { 255, 3, 10}, /* BELOWRIGHT */ + { 482, 3, 9}, /* DA */ + { 257, 3, 10}, /* BELOWRIGHT */ { 70, 3, 10}, /* 222 */ - { 283, 3, 10}, /* BR */ + { 285, 3, 10}, /* BR */ { 168, 3, 11}, /* ABOVELEFT */ { 73, 3, 11}, /* 228 */ { 181, 3, 11}, /* AL */ - { 321, 3, 12}, /* CCC10 */ + { 323, 3, 12}, /* CCC10 */ { 21, 3, 12}, /* 10 */ - { 324, 3, 13}, /* CCC11 */ + { 326, 3, 13}, /* CCC11 */ { 33, 3, 13}, /* 11 */ - { 326, 3, 14}, /* CCC12 */ + { 328, 3, 14}, /* CCC12 */ { 37, 3, 14}, /* 12 */ - { 329, 3, 15}, /* CCC13 */ + { 331, 3, 15}, /* CCC13 */ { 40, 3, 15}, /* 13 */ - { 333, 3, 16}, /* CCC14 */ + { 335, 3, 16}, /* CCC14 */ { 45, 3, 16}, /* 14 */ - { 334, 3, 17}, /* CCC15 */ + { 336, 3, 17}, /* CCC15 */ { 46, 3, 17}, /* 15 */ - { 335, 3, 18}, /* CCC16 */ + { 337, 3, 18}, /* CCC16 */ { 48, 3, 18}, /* 16 */ - { 336, 3, 19}, /* CCC17 */ + { 338, 3, 19}, /* CCC17 */ { 49, 3, 19}, /* 17 */ - { 337, 3, 20}, /* CCC18 */ + { 339, 3, 20}, /* CCC18 */ { 51, 3, 20}, /* 18 */ - { 338, 3, 21}, /* CCC19 */ + { 340, 3, 21}, /* CCC19 */ { 52, 3, 21}, /* 19 */ - { 339, 3, 22}, /* CCC20 */ + { 341, 3, 22}, /* CCC20 */ { 56, 3, 22}, /* 20 */ - { 340, 3, 23}, /* CCC21 */ + { 342, 3, 23}, /* CCC21 */ { 63, 3, 23}, /* 21 */ - { 341, 3, 24}, /* CCC22 */ + { 343, 3, 24}, /* CCC22 */ { 68, 3, 24}, /* 22 */ - { 342, 3, 25}, /* CCC23 */ + { 344, 3, 25}, /* CCC23 */ { 74, 3, 25}, /* 23 */ - { 343, 3, 26}, /* CCC24 */ + { 345, 3, 26}, /* CCC24 */ { 79, 3, 26}, /* 24 */ - { 344, 3, 27}, /* CCC25 */ + { 346, 3, 27}, /* CCC25 */ { 81, 3, 27}, /* 25 */ - { 349, 3, 28}, /* CCC30 */ + { 351, 3, 28}, /* CCC30 */ { 95, 3, 28}, /* 30 */ - { 350, 3, 29}, /* CCC31 */ + { 352, 3, 29}, /* CCC31 */ { 100, 3, 29}, /* 31 */ - { 351, 3, 30}, /* CCC32 */ + { 353, 3, 30}, /* CCC32 */ { 101, 3, 30}, /* 32 */ - { 346, 3, 31}, /* CCC27 */ + { 348, 3, 31}, /* CCC27 */ { 83, 3, 31}, /* 27 */ - { 347, 3, 32}, /* CCC28 */ + { 349, 3, 32}, /* CCC28 */ { 84, 3, 32}, /* 28 */ - { 348, 3, 33}, /* CCC29 */ + { 350, 3, 33}, /* CCC29 */ { 85, 3, 33}, /* 29 */ - { 352, 3, 34}, /* CCC33 */ + { 354, 3, 34}, /* CCC33 */ { 102, 3, 34}, /* 33 */ - { 353, 3, 35}, /* CCC34 */ + { 355, 3, 35}, /* CCC34 */ { 103, 3, 35}, /* 34 */ - { 354, 3, 36}, /* CCC35 */ + { 356, 3, 36}, /* CCC35 */ { 104, 3, 36}, /* 35 */ - { 355, 3, 37}, /* CCC36 */ + { 357, 3, 37}, /* CCC36 */ { 105, 3, 37}, /* 36 */ - {1034, 3, 38}, /* NUKTA */ + {1046, 3, 38}, /* NUKTA */ { 142, 3, 38}, /* 7 */ - {1011, 3, 38}, /* NK */ - {1383, 3, 39}, /* VIRAMA */ + {1023, 3, 38}, /* NK */ + {1404, 3, 39}, /* VIRAMA */ { 158, 3, 39}, /* 9 */ - {1390, 3, 39}, /* VR */ - { 356, 3, 40}, /* CCC84 */ + {1413, 3, 39}, /* VR */ + { 358, 3, 40}, /* CCC84 */ { 157, 3, 40}, /* 84 */ - { 357, 3, 41}, /* CCC91 */ + { 359, 3, 41}, /* CCC91 */ { 165, 3, 41}, /* 91 */ - { 322, 3, 42}, /* CCC103 */ + { 324, 3, 42}, /* CCC103 */ { 31, 3, 42}, /* 103 */ - { 323, 3, 43}, /* CCC107 */ + { 325, 3, 43}, /* CCC107 */ { 32, 3, 43}, /* 107 */ - { 325, 3, 44}, /* CCC118 */ + { 327, 3, 44}, /* CCC118 */ { 36, 3, 44}, /* 118 */ - { 327, 3, 45}, /* CCC122 */ + { 329, 3, 45}, /* CCC122 */ { 38, 3, 45}, /* 122 */ - { 328, 3, 46}, /* CCC129 */ + { 330, 3, 46}, /* CCC129 */ { 39, 3, 46}, /* 129 */ - { 330, 3, 47}, /* CCC130 */ + { 332, 3, 47}, /* CCC130 */ { 42, 3, 47}, /* 130 */ - { 331, 3, 48}, /* CCC132 */ + { 333, 3, 48}, /* CCC132 */ { 43, 3, 48}, /* 132 */ - { 229, 3, 49}, /* ATTACHEDABOVE */ + { 231, 3, 49}, /* ATTACHEDABOVE */ { 64, 3, 49}, /* 214 */ - { 224, 3, 49}, /* ATA */ - { 254, 3, 50}, /* BELOWLEFT */ + { 226, 3, 49}, /* ATA */ + { 256, 3, 50}, /* BELOWLEFT */ { 67, 3, 50}, /* 218 */ - { 268, 3, 50}, /* BL */ - { 811, 3, 51}, /* LEFT */ + { 270, 3, 50}, /* BL */ + { 823, 3, 51}, /* LEFT */ { 71, 3, 51}, /* 224 */ - { 783, 3, 51}, /* L */ - { 757, 3, 52}, /* KANAVOICING */ + { 791, 3, 51}, /* L */ + { 765, 3, 52}, /* KANAVOICING */ { 151, 3, 52}, /* 8 */ - { 782, 3, 52}, /* KV */ - { 345, 3, 53}, /* CCC26 */ + { 790, 3, 52}, /* KV */ + { 347, 3, 53}, /* CCC26 */ { 82, 3, 53}, /* 26 */ - { 667, 3, 54}, /* HANREADING */ + { 673, 3, 54}, /* HANREADING */ { 136, 3, 54}, /* 6 */ - { 666, 3, 54}, /* HANR */ - {1172, 3, 55}, /* RIGHT */ + { 672, 3, 54}, /* HANR */ + {1186, 3, 55}, /* RIGHT */ { 72, 3, 55}, /* 226 */ - {1164, 3, 55}, /* R */ - { 332, 3, 56}, /* CCC133 */ + {1178, 3, 55}, /* R */ + { 334, 3, 56}, /* CCC133 */ { 44, 3, 56}, /* 133 */ - { 232, 3, 57}, /* ATTACHEDBELOWLEFT */ + { 234, 3, 57}, /* ATTACHEDBELOWLEFT */ { 57, 3, 57}, /* 200 */ - { 227, 3, 57}, /* ATBL */ - {1020, 4, 0}, /* NONE */ - {1017, 4, 1}, /* NOBREAK */ - { 994, 4, 1}, /* NB */ - { 424, 4, 2}, /* COMPAT */ - { 413, 4, 2}, /* COM */ - {1267, 4, 3}, /* SUPER */ - {1263, 4, 3}, /* SUP */ - { 592, 4, 4}, /* FRACTION */ - { 591, 4, 4}, /* FRA */ - { 307, 4, 5}, /* CANONICAL */ - { 304, 4, 5}, /* CAN */ - {1258, 4, 6}, /* SUB */ - { 589, 4, 7}, /* FONT */ - { 374, 4, 8}, /* CIRCLE */ - { 546, 4, 8}, /* ENC */ - {1401, 4, 9}, /* WIDE */ - {1381, 4, 10}, /* VERTICAL */ - {1380, 4, 10}, /* VERT */ - {1254, 4, 11}, /* SQUARE */ - {1253, 4, 11}, /* SQR */ - { 731, 4, 12}, /* ISOLATED */ - { 730, 4, 12}, /* ISO */ - { 584, 4, 13}, /* FINAL */ - { 583, 4, 13}, /* FIN */ - { 717, 4, 14}, /* INITIAL */ - { 716, 4, 14}, /* INIT */ - { 930, 4, 15}, /* MEDIAL */ - { 927, 4, 15}, /* MED */ - {1231, 4, 16}, /* SMALL */ - {1236, 4, 16}, /* SML */ - { 993, 4, 17}, /* NARROW */ - { 991, 4, 17}, /* NAR */ - { 998, 5, 0}, /* NEUTRAL */ - { 984, 5, 0}, /* N */ - { 993, 5, 1}, /* NARROW */ - { 986, 5, 1}, /* NA */ + { 229, 3, 57}, /* ATBL */ + {1032, 4, 0}, /* NONE */ + {1029, 4, 1}, /* NOBREAK */ + {1006, 4, 1}, /* NB */ + { 426, 4, 2}, /* COMPAT */ + { 415, 4, 2}, /* COM */ + {1281, 4, 3}, /* SUPER */ + {1277, 4, 3}, /* SUP */ + { 598, 4, 4}, /* FRACTION */ + { 597, 4, 4}, /* FRA */ + { 309, 4, 5}, /* CANONICAL */ + { 306, 4, 5}, /* CAN */ + {1272, 4, 6}, /* SUB */ + { 595, 4, 7}, /* FONT */ + { 376, 4, 8}, /* CIRCLE */ + { 550, 4, 8}, /* ENC */ + {1424, 4, 9}, /* WIDE */ + {1401, 4, 10}, /* VERTICAL */ + {1400, 4, 10}, /* VERT */ + {1268, 4, 11}, /* SQUARE */ + {1267, 4, 11}, /* SQR */ + { 737, 4, 12}, /* ISOLATED */ + { 736, 4, 12}, /* ISO */ + { 590, 4, 13}, /* FINAL */ + { 589, 4, 13}, /* FIN */ + { 723, 4, 14}, /* INITIAL */ + { 722, 4, 14}, /* INIT */ + { 942, 4, 15}, /* MEDIAL */ + { 939, 4, 15}, /* MED */ + {1245, 4, 16}, /* SMALL */ + {1250, 4, 16}, /* SML */ + {1005, 4, 17}, /* NARROW */ + {1003, 4, 17}, /* NAR */ + {1010, 5, 0}, /* NEUTRAL */ + { 996, 5, 0}, /* N */ + {1005, 5, 1}, /* NARROW */ + { 998, 5, 1}, /* NA */ { 193, 5, 2}, /* AMBIGUOUS */ { 166, 5, 2}, /* A */ - {1401, 5, 3}, /* WIDE */ - {1393, 5, 3}, /* W */ - { 649, 5, 4}, /* HALFWIDTH */ - { 643, 5, 4}, /* H */ - { 594, 5, 5}, /* FULLWIDTH */ - { 578, 5, 5}, /* F */ - {1363, 6, 0}, /* UNASSIGNED */ - { 410, 6, 0}, /* CN */ - { 443, 6, 1}, /* CONTROL */ - { 319, 6, 1}, /* CC */ - { 411, 6, 1}, /* CNTRL */ - {1248, 6, 2}, /* SPACESEPARATOR */ - {1441, 6, 2}, /* ZS */ - {1090, 6, 3}, /* OTHERPUNCTUATION */ - {1133, 6, 3}, /* PO */ - { 457, 6, 4}, /* CURRENCYSYMBOL */ - {1199, 6, 4}, /* SC */ - {1069, 6, 5}, /* OPENPUNCTUATION */ - {1150, 6, 5}, /* PS */ - { 408, 6, 6}, /* CLOSEPUNCTUATION */ - {1115, 6, 6}, /* PE */ - { 921, 6, 7}, /* MATHSYMBOL */ - {1230, 6, 7}, /* SM */ - { 482, 6, 8}, /* DASHPUNCTUATION */ - {1112, 6, 8}, /* PD */ - { 486, 6, 9}, /* DECIMALNUMBER */ - { 997, 6, 9}, /* ND */ - { 504, 6, 9}, /* DIGIT */ - {1371, 6, 10}, /* UPPERCASELETTER */ - { 851, 6, 10}, /* LU */ - { 964, 6, 11}, /* MODIFIERSYMBOL */ - {1229, 6, 11}, /* SK */ - { 428, 6, 12}, /* CONNECTORPUNCTUATION */ - {1110, 6, 12}, /* PC */ - { 845, 6, 13}, /* LOWERCASELETTER */ - { 838, 6, 13}, /* LL */ - {1091, 6, 14}, /* OTHERSYMBOL */ - {1237, 6, 14}, /* SO */ - {1085, 6, 15}, /* OTHERLETTER */ - { 840, 6, 15}, /* LO */ - { 718, 6, 16}, /* INITIALPUNCTUATION */ - {1130, 6, 16}, /* PI */ - { 590, 6, 17}, /* FORMAT */ - { 358, 6, 17}, /* CF */ - {1089, 6, 18}, /* OTHERNUMBER */ - {1015, 6, 18}, /* NO */ - { 585, 6, 19}, /* FINALPUNCTUATION */ - {1117, 6, 19}, /* PF */ - {1342, 6, 20}, /* TITLECASELETTER */ - { 850, 6, 20}, /* LT */ - { 962, 6, 21}, /* MODIFIERLETTER */ - { 839, 6, 21}, /* LM */ - {1023, 6, 22}, /* NONSPACINGMARK */ - { 960, 6, 22}, /* MN */ - { 555, 6, 23}, /* ENCLOSINGMARK */ - { 926, 6, 23}, /* ME */ - {1249, 6, 24}, /* SPACINGMARK */ - { 925, 6, 24}, /* MC */ - { 822, 6, 25}, /* LETTERNUMBER */ - {1014, 6, 25}, /* NL */ - { 834, 6, 26}, /* LINESEPARATOR */ - {1439, 6, 26}, /* ZL */ - {1103, 6, 27}, /* PARAGRAPHSEPARATOR */ - {1440, 6, 27}, /* ZP */ - {1283, 6, 28}, /* SURROGATE */ - { 453, 6, 28}, /* CS */ - {1147, 6, 29}, /* PRIVATEUSE */ - { 412, 6, 29}, /* CO */ - {1079, 6, 30}, /* OTHER */ - { 301, 6, 30}, /* C */ - { 302, 6, 30}, /* C& */ - { 820, 6, 31}, /* LETTER */ - { 783, 6, 31}, /* L */ - { 784, 6, 31}, /* L& */ - { 914, 6, 32}, /* MARK */ - { 860, 6, 32}, /* M */ - { 419, 6, 32}, /* COMBININGMARK */ - { 861, 6, 32}, /* M& */ - {1035, 6, 33}, /* NUMBER */ - { 984, 6, 33}, /* N */ - { 985, 6, 33}, /* N& */ - {1154, 6, 34}, /* PUNCTUATION */ - {1098, 6, 34}, /* P */ - {1153, 6, 34}, /* PUNCT */ - {1099, 6, 34}, /* P& */ - {1290, 6, 35}, /* SYMBOL */ - {1188, 6, 35}, /* S */ - {1189, 6, 35}, /* S& */ - {1212, 6, 36}, /* SEPARATOR */ - {1432, 6, 36}, /* Z */ - {1433, 6, 36}, /* Z& */ - { 315, 6, 37}, /* CASEDLETTER */ - { 808, 6, 37}, /* LC */ - { 222, 6, 38}, /* ASSIGNED */ - {1079, 7, 0}, /* OTHER */ - {1416, 7, 0}, /* XX */ - { 443, 7, 1}, /* CONTROL */ - { 410, 7, 1}, /* CN */ - { 823, 7, 2}, /* LF */ - { 452, 7, 3}, /* CR */ - { 573, 7, 4}, /* EXTEND */ - { 570, 7, 4}, /* EX */ - {1144, 7, 5}, /* PREPEND */ - {1141, 7, 5}, /* PP */ - {1249, 7, 6}, /* SPACINGMARK */ - {1230, 7, 6}, /* SM */ - { 783, 7, 7}, /* L */ - {1372, 7, 8}, /* V */ - {1299, 7, 9}, /* T */ - {1443, 7, 10}, /* ZWJ */ - { 852, 7, 11}, /* LV */ - { 854, 7, 12}, /* LVT */ - {1166, 7, 13}, /* REGIONALINDICATOR */ - {1171, 7, 13}, /* RI */ - { 525, 7, 14}, /* EBASE */ - { 524, 7, 14}, /* EB */ - { 526, 7, 15}, /* EBASEGAZ */ - { 527, 7, 15}, /* EBG */ - { 538, 7, 16}, /* EMODIFIER */ - { 536, 7, 16}, /* EM */ - { 618, 7, 17}, /* GLUEAFTERZWJ */ - { 597, 7, 17}, /* GAZ */ - {1026, 8, 0}, /* NOTAPPLICABLE */ - { 986, 8, 0}, /* NA */ - { 810, 8, 1}, /* LEADINGJAMO */ - { 783, 8, 1}, /* L */ - {1389, 8, 2}, /* VOWELJAMO */ - {1372, 8, 2}, /* V */ - {1352, 8, 3}, /* TRAILINGJAMO */ - {1299, 8, 3}, /* T */ - { 853, 8, 4}, /* LVSYLLABLE */ - { 852, 8, 4}, /* LV */ - { 855, 8, 5}, /* LVTSYLLABLE */ - { 854, 8, 5}, /* LVT */ - { 986, 9, 0}, /* NA */ - {1345, 9, 1}, /* TOP */ - {1172, 9, 2}, /* RIGHT */ - { 278, 9, 3}, /* BOTTOM */ - { 811, 9, 4}, /* LEFT */ - { 812, 9, 5}, /* LEFTANDRIGHT */ - {1351, 9, 6}, /* TOPANDRIGHT */ - {1349, 9, 7}, /* TOPANDLEFT */ - {1350, 9, 8}, /* TOPANDLEFTANDRIGHT */ - {1346, 9, 9}, /* TOPANDBOTTOM */ - {1385, 9, 10}, /* VISUALORDERLEFT */ - {1347, 9, 11}, /* TOPANDBOTTOMANDLEFT */ - { 280, 9, 12}, /* BOTTOMANDRIGHT */ - {1348, 9, 13}, /* TOPANDBOTTOMANDRIGHT */ - {1097, 9, 14}, /* OVERSTRUCK */ - { 279, 9, 15}, /* BOTTOMANDLEFT */ - {1079, 10, 0}, /* OTHER */ - { 436, 10, 1}, /* CONSONANTPLACEHOLDER */ - {1035, 10, 2}, /* NUMBER */ - {1287, 10, 3}, /* SYLLABLEMODIFIER */ - { 266, 10, 4}, /* BINDU */ - {1384, 10, 5}, /* VISARGA */ - {1388, 10, 6}, /* VOWELINDEPENDENT */ - { 429, 10, 7}, /* CONSONANT */ - {1387, 10, 8}, /* VOWELDEPENDENT */ - {1034, 10, 9}, /* NUKTA */ - { 233, 10, 10}, /* AVAGRAHA */ - {1383, 10, 11}, /* VIRAMA */ - { 310, 10, 12}, /* CANTILLATIONMARK */ - { 430, 10, 13}, /* CONSONANTDEAD */ - { 600, 10, 14}, /* GEMINATIONMARK */ - { 435, 10, 15}, /* CONSONANTMEDIAL */ - { 966, 10, 16}, /* MODIFYINGLETTER */ - { 441, 10, 17}, /* CONSONANTWITHSTACKER */ - {1155, 10, 18}, /* PUREKILLER */ - { 437, 10, 19}, /* CONSONANTPRECEDINGREPHA */ - {1344, 10, 20}, /* TONEMARK */ - { 434, 10, 21}, /* CONSONANTKILLER */ - { 432, 10, 22}, /* CONSONANTHEADLETTER */ - { 439, 10, 23}, /* CONSONANTSUBJOINED */ - { 725, 10, 24}, /* INVISIBLESTACKER */ - {1167, 10, 25}, /* REGISTERSHIFTER */ - { 440, 10, 26}, /* CONSONANTSUCCEEDINGREPHA */ - { 431, 10, 27}, /* CONSONANTFINAL */ - {1386, 10, 28}, /* VOWEL */ - {1343, 10, 29}, /* TONELETTER */ - { 433, 10, 30}, /* CONSONANTINITIALPOSTFIXED */ - {1021, 10, 31}, /* NONJOINER */ - { 743, 10, 32}, /* JOINER */ - { 286, 10, 33}, /* BRAHMIJOININGNUMBER */ - {1037, 10, 34}, /* NUMBERJOINER */ - { 438, 10, 35}, /* CONSONANTPREFIXED */ - {1018, 11, 0}, /* NOJOININGGROUP */ - {1418, 11, 1}, /* YEH */ + {1424, 5, 3}, /* WIDE */ + {1416, 5, 3}, /* W */ + { 655, 5, 4}, /* HALFWIDTH */ + { 649, 5, 4}, /* H */ + { 600, 5, 5}, /* FULLWIDTH */ + { 584, 5, 5}, /* F */ + {1382, 6, 0}, /* UNASSIGNED */ + { 412, 6, 0}, /* CN */ + { 445, 6, 1}, /* CONTROL */ + { 321, 6, 1}, /* CC */ + { 413, 6, 1}, /* CNTRL */ + {1262, 6, 2}, /* SPACESEPARATOR */ + {1466, 6, 2}, /* ZS */ + {1103, 6, 3}, /* OTHERPUNCTUATION */ + {1147, 6, 3}, /* PO */ + { 460, 6, 4}, /* CURRENCYSYMBOL */ + {1213, 6, 4}, /* SC */ + {1082, 6, 5}, /* OPENPUNCTUATION */ + {1164, 6, 5}, /* PS */ + { 410, 6, 6}, /* CLOSEPUNCTUATION */ + {1129, 6, 6}, /* PE */ + { 933, 6, 7}, /* MATHSYMBOL */ + {1244, 6, 7}, /* SM */ + { 486, 6, 8}, /* DASHPUNCTUATION */ + {1126, 6, 8}, /* PD */ + { 490, 6, 9}, /* DECIMALNUMBER */ + {1009, 6, 9}, /* ND */ + { 508, 6, 9}, /* DIGIT */ + {1391, 6, 10}, /* UPPERCASELETTER */ + { 863, 6, 10}, /* LU */ + { 976, 6, 11}, /* MODIFIERSYMBOL */ + {1243, 6, 11}, /* SK */ + { 430, 6, 12}, /* CONNECTORPUNCTUATION */ + {1124, 6, 12}, /* PC */ + { 857, 6, 13}, /* LOWERCASELETTER */ + { 850, 6, 13}, /* LL */ + {1104, 6, 14}, /* OTHERSYMBOL */ + {1251, 6, 14}, /* SO */ + {1098, 6, 15}, /* OTHERLETTER */ + { 852, 6, 15}, /* LO */ + { 724, 6, 16}, /* INITIALPUNCTUATION */ + {1144, 6, 16}, /* PI */ + { 596, 6, 17}, /* FORMAT */ + { 360, 6, 17}, /* CF */ + {1102, 6, 18}, /* OTHERNUMBER */ + {1027, 6, 18}, /* NO */ + { 591, 6, 19}, /* FINALPUNCTUATION */ + {1131, 6, 19}, /* PF */ + {1358, 6, 20}, /* TITLECASELETTER */ + { 862, 6, 20}, /* LT */ + { 974, 6, 21}, /* MODIFIERLETTER */ + { 851, 6, 21}, /* LM */ + {1035, 6, 22}, /* NONSPACINGMARK */ + { 972, 6, 22}, /* MN */ + { 559, 6, 23}, /* ENCLOSINGMARK */ + { 938, 6, 23}, /* ME */ + {1263, 6, 24}, /* SPACINGMARK */ + { 937, 6, 24}, /* MC */ + { 834, 6, 25}, /* LETTERNUMBER */ + {1026, 6, 25}, /* NL */ + { 846, 6, 26}, /* LINESEPARATOR */ + {1462, 6, 26}, /* ZL */ + {1117, 6, 27}, /* PARAGRAPHSEPARATOR */ + {1465, 6, 27}, /* ZP */ + {1297, 6, 28}, /* SURROGATE */ + { 456, 6, 28}, /* CS */ + {1161, 6, 29}, /* PRIVATEUSE */ + { 414, 6, 29}, /* CO */ + {1092, 6, 30}, /* OTHER */ + { 303, 6, 30}, /* C */ + { 304, 6, 30}, /* C& */ + { 832, 6, 31}, /* LETTER */ + { 791, 6, 31}, /* L */ + { 792, 6, 31}, /* L& */ + { 926, 6, 32}, /* MARK */ + { 872, 6, 32}, /* M */ + { 421, 6, 32}, /* COMBININGMARK */ + { 873, 6, 32}, /* M& */ + {1047, 6, 33}, /* NUMBER */ + { 996, 6, 33}, /* N */ + { 997, 6, 33}, /* N& */ + {1168, 6, 34}, /* PUNCTUATION */ + {1112, 6, 34}, /* P */ + {1167, 6, 34}, /* PUNCT */ + {1113, 6, 34}, /* P& */ + {1304, 6, 35}, /* SYMBOL */ + {1202, 6, 35}, /* S */ + {1203, 6, 35}, /* S& */ + {1226, 6, 36}, /* SEPARATOR */ + {1455, 6, 36}, /* Z */ + {1456, 6, 36}, /* Z& */ + { 317, 6, 37}, /* CASEDLETTER */ + { 820, 6, 37}, /* LC */ + { 224, 6, 38}, /* ASSIGNED */ + {1092, 7, 0}, /* OTHER */ + {1439, 7, 0}, /* XX */ + { 445, 7, 1}, /* CONTROL */ + { 412, 7, 1}, /* CN */ + { 835, 7, 2}, /* LF */ + { 455, 7, 3}, /* CR */ + { 579, 7, 4}, /* EXTEND */ + { 576, 7, 4}, /* EX */ + {1158, 7, 5}, /* PREPEND */ + {1155, 7, 5}, /* PP */ + {1263, 7, 6}, /* SPACINGMARK */ + {1244, 7, 6}, /* SM */ + { 791, 7, 7}, /* L */ + {1392, 7, 8}, /* V */ + {1313, 7, 9}, /* T */ + {1468, 7, 10}, /* ZWJ */ + { 864, 7, 11}, /* LV */ + { 866, 7, 12}, /* LVT */ + {1180, 7, 13}, /* REGIONALINDICATOR */ + {1185, 7, 13}, /* RI */ + { 529, 7, 14}, /* EBASE */ + { 528, 7, 14}, /* EB */ + { 530, 7, 15}, /* EBASEGAZ */ + { 531, 7, 15}, /* EBG */ + { 542, 7, 16}, /* EMODIFIER */ + { 540, 7, 16}, /* EM */ + { 624, 7, 17}, /* GLUEAFTERZWJ */ + { 603, 7, 17}, /* GAZ */ + {1038, 8, 0}, /* NOTAPPLICABLE */ + { 998, 8, 0}, /* NA */ + { 822, 8, 1}, /* LEADINGJAMO */ + { 791, 8, 1}, /* L */ + {1412, 8, 2}, /* VOWELJAMO */ + {1392, 8, 2}, /* V */ + {1370, 8, 3}, /* TRAILINGJAMO */ + {1313, 8, 3}, /* T */ + { 865, 8, 4}, /* LVSYLLABLE */ + { 864, 8, 4}, /* LV */ + { 867, 8, 5}, /* LVTSYLLABLE */ + { 866, 8, 5}, /* LVT */ + { 998, 9, 0}, /* NA */ + {1362, 9, 1}, /* TOP */ + {1186, 9, 2}, /* RIGHT */ + { 280, 9, 3}, /* BOTTOM */ + { 823, 9, 4}, /* LEFT */ + { 824, 9, 5}, /* LEFTANDRIGHT */ + {1368, 9, 6}, /* TOPANDRIGHT */ + {1366, 9, 7}, /* TOPANDLEFT */ + {1367, 9, 8}, /* TOPANDLEFTANDRIGHT */ + {1363, 9, 9}, /* TOPANDBOTTOM */ + {1406, 9, 10}, /* VISUALORDERLEFT */ + {1364, 9, 11}, /* TOPANDBOTTOMANDLEFT */ + { 282, 9, 12}, /* BOTTOMANDRIGHT */ + {1365, 9, 13}, /* TOPANDBOTTOMANDRIGHT */ + {1111, 9, 14}, /* OVERSTRUCK */ + { 281, 9, 15}, /* BOTTOMANDLEFT */ + {1092, 10, 0}, /* OTHER */ + { 438, 10, 1}, /* CONSONANTPLACEHOLDER */ + {1047, 10, 2}, /* NUMBER */ + {1301, 10, 3}, /* SYLLABLEMODIFIER */ + { 268, 10, 4}, /* BINDU */ + {1405, 10, 5}, /* VISARGA */ + {1411, 10, 6}, /* VOWELINDEPENDENT */ + { 431, 10, 7}, /* CONSONANT */ + {1410, 10, 8}, /* VOWELDEPENDENT */ + {1046, 10, 9}, /* NUKTA */ + { 235, 10, 10}, /* AVAGRAHA */ + {1404, 10, 11}, /* VIRAMA */ + { 312, 10, 12}, /* CANTILLATIONMARK */ + { 432, 10, 13}, /* CONSONANTDEAD */ + { 606, 10, 14}, /* GEMINATIONMARK */ + { 437, 10, 15}, /* CONSONANTMEDIAL */ + { 978, 10, 16}, /* MODIFYINGLETTER */ + { 443, 10, 17}, /* CONSONANTWITHSTACKER */ + {1169, 10, 18}, /* PUREKILLER */ + { 439, 10, 19}, /* CONSONANTPRECEDINGREPHA */ + {1361, 10, 20}, /* TONEMARK */ + { 436, 10, 21}, /* CONSONANTKILLER */ + { 434, 10, 22}, /* CONSONANTHEADLETTER */ + { 441, 10, 23}, /* CONSONANTSUBJOINED */ + { 731, 10, 24}, /* INVISIBLESTACKER */ + {1181, 10, 25}, /* REGISTERSHIFTER */ + { 442, 10, 26}, /* CONSONANTSUCCEEDINGREPHA */ + { 433, 10, 27}, /* CONSONANTFINAL */ + {1409, 10, 28}, /* VOWEL */ + {1360, 10, 29}, /* TONELETTER */ + { 435, 10, 30}, /* CONSONANTINITIALPOSTFIXED */ + {1033, 10, 31}, /* NONJOINER */ + { 749, 10, 32}, /* JOINER */ + { 288, 10, 33}, /* BRAHMIJOININGNUMBER */ + {1049, 10, 34}, /* NUMBERJOINER */ + { 440, 10, 35}, /* CONSONANTPREFIXED */ + {1030, 11, 0}, /* NOJOININGGROUP */ + {1441, 11, 1}, /* YEH */ { 185, 11, 2}, /* ALEF */ - {1397, 11, 3}, /* WAW */ - { 252, 11, 4}, /* BEH */ - {1325, 11, 5}, /* TEHMARBUTA */ - { 646, 11, 6}, /* HAH */ - { 479, 11, 7}, /* DAL */ - {1168, 11, 8}, /* REH */ - {1206, 11, 9}, /* SEEN */ - {1191, 11, 10}, /* SAD */ - {1304, 11, 11}, /* TAH */ + {1420, 11, 3}, /* WAW */ + { 254, 11, 4}, /* BEH */ + {1340, 11, 5}, /* TEHMARBUTA */ + { 652, 11, 6}, /* HAH */ + { 483, 11, 7}, /* DAL */ + {1182, 11, 8}, /* REH */ + {1220, 11, 9}, /* SEEN */ + {1205, 11, 10}, /* SAD */ + {1318, 11, 11}, /* TAH */ { 180, 11, 12}, /* AIN */ - { 595, 11, 13}, /* GAF */ - { 580, 11, 14}, /* FARSIYEH */ - { 582, 11, 15}, /* FEH */ - {1158, 11, 16}, /* QAF */ - { 749, 11, 17}, /* KAF */ - { 785, 11, 18}, /* LAM */ - { 931, 11, 19}, /* MEEM */ - {1025, 11, 20}, /* NOON */ - { 675, 11, 21}, /* HEH */ - {1285, 11, 22}, /* SWASHKAF */ - {1044, 11, 23}, /* NYA */ - { 780, 11, 24}, /* KNOTTEDHEH */ - { 676, 11, 25}, /* HEHGOAL */ - { 651, 11, 26}, /* HAMZAONHEHGOAL */ - {1326, 11, 26}, /* TEHMARBUTAGOAL */ - {1420, 11, 27}, /* YEHWITHTAIL */ - {1419, 11, 28}, /* YEHBARREE */ + { 601, 11, 13}, /* GAF */ + { 586, 11, 14}, /* FARSIYEH */ + { 588, 11, 15}, /* FEH */ + {1172, 11, 16}, /* QAF */ + { 755, 11, 17}, /* KAF */ + { 793, 11, 18}, /* LAM */ + { 943, 11, 19}, /* MEEM */ + {1037, 11, 20}, /* NOON */ + { 681, 11, 21}, /* HEH */ + {1299, 11, 22}, /* SWASHKAF */ + {1056, 11, 23}, /* NYA */ + { 788, 11, 24}, /* KNOTTEDHEH */ + { 682, 11, 25}, /* HEHGOAL */ + { 657, 11, 26}, /* HAMZAONHEHGOAL */ + {1341, 11, 26}, /* TEHMARBUTAGOAL */ + {1443, 11, 27}, /* YEHWITHTAIL */ + {1442, 11, 28}, /* YEHBARREE */ { 182, 11, 29}, /* ALAPH */ - { 258, 11, 30}, /* BETH */ - { 596, 11, 31}, /* GAMAL */ - { 480, 11, 32}, /* DALATHRISH */ - { 671, 11, 33}, /* HE */ - {1298, 11, 34}, /* SYRIACWAW */ - {1434, 11, 35}, /* ZAIN */ - { 677, 11, 36}, /* HETH */ - {1331, 11, 37}, /* TETH */ - {1430, 11, 38}, /* YUDH */ - {1431, 11, 39}, /* YUDHHE */ - { 762, 11, 40}, /* KAPH */ - { 786, 11, 41}, /* LAMADH */ - { 945, 11, 42}, /* MIM */ - {1041, 11, 43}, /* NUN */ - {1208, 11, 44}, /* SEMKATH */ - { 586, 11, 45}, /* FINALSEMKATH */ - { 520, 11, 46}, /* E */ - {1115, 11, 47}, /* PE */ - {1170, 11, 48}, /* REVERSEDPE */ - {1192, 11, 49}, /* SADHE */ - {1159, 11, 50}, /* QAPH */ - {1218, 11, 51}, /* SHIN */ - {1324, 11, 52}, /* TAW */ - {1437, 11, 53}, /* ZHAIN */ - { 768, 11, 54}, /* KHAPH */ - { 581, 11, 55}, /* FE */ - { 298, 11, 56}, /* BURUSHASKIYEHBARREE */ - { 873, 11, 57}, /* MALAYALAMNGA */ - { 870, 11, 58}, /* MALAYALAMJA */ - { 876, 11, 59}, /* MALAYALAMNYA */ - { 879, 11, 60}, /* MALAYALAMTTA */ - { 874, 11, 61}, /* MALAYALAMNNA */ - { 875, 11, 62}, /* MALAYALAMNNNA */ - { 869, 11, 63}, /* MALAYALAMBHA */ - { 877, 11, 64}, /* MALAYALAMRA */ - { 871, 11, 65}, /* MALAYALAMLLA */ - { 872, 11, 66}, /* MALAYALAMLLLA */ - { 878, 11, 67}, /* MALAYALAMSSA */ - {1183, 11, 68}, /* ROHINGYAYEH */ - {1257, 11, 69}, /* STRAIGHTWAW */ - { 173, 11, 70}, /* AFRICANFEH */ - { 175, 11, 71}, /* AFRICANQAF */ - { 174, 11, 72}, /* AFRICANNOON */ - { 885, 11, 73}, /* MANICHAEANALEPH */ - { 887, 11, 74}, /* MANICHAEANBETH */ - { 891, 11, 75}, /* MANICHAEANGIMEL */ - { 888, 11, 76}, /* MANICHAEANDALETH */ - { 909, 11, 77}, /* MANICHAEANWAW */ - { 911, 11, 78}, /* MANICHAEANZAYIN */ - { 892, 11, 79}, /* MANICHAEANHETH */ - { 906, 11, 80}, /* MANICHAEANTETH */ - { 910, 11, 81}, /* MANICHAEANYODH */ - { 894, 11, 82}, /* MANICHAEANKAPH */ - { 895, 11, 83}, /* MANICHAEANLAMEDH */ - { 889, 11, 84}, /* MANICHAEANDHAMEDH */ - { 907, 11, 85}, /* MANICHAEANTHAMEDH */ - { 896, 11, 86}, /* MANICHAEANMEM */ - { 897, 11, 87}, /* MANICHAEANNUN */ - { 903, 11, 88}, /* MANICHAEANSAMEKH */ - { 886, 11, 89}, /* MANICHAEANAYIN */ - { 899, 11, 90}, /* MANICHAEANPE */ - { 902, 11, 91}, /* MANICHAEANSADHE */ - { 900, 11, 92}, /* MANICHAEANQOPH */ - { 901, 11, 93}, /* MANICHAEANRESH */ - { 904, 11, 94}, /* MANICHAEANTAW */ - { 898, 11, 95}, /* MANICHAEANONE */ - { 890, 11, 96}, /* MANICHAEANFIVE */ - { 905, 11, 97}, /* MANICHAEANTEN */ - { 908, 11, 98}, /* MANICHAEANTWENTY */ - { 893, 11, 99}, /* MANICHAEANHUNDRED */ - { 664, 11, 100}, /* HANIFIROHINGYAPA */ - { 663, 11, 101}, /* HANIFIROHINGYAKINNAYA */ - {1022, 12, 0}, /* NONJOINING */ - {1357, 12, 0}, /* U */ - {1353, 12, 1}, /* TRANSPARENT */ - {1299, 12, 1}, /* T */ - { 517, 12, 2}, /* DUALJOINING */ - { 477, 12, 2}, /* D */ - {1173, 12, 3}, /* RIGHTJOINING */ - {1164, 12, 3}, /* R */ - { 741, 12, 4}, /* JOINCAUSING */ - { 301, 12, 4}, /* C */ - { 813, 12, 5}, /* LEFTJOINING */ - { 783, 12, 5}, /* L */ - {1367, 13, 0}, /* UNKNOWN */ - {1416, 13, 0}, /* XX */ - { 419, 13, 1}, /* COMBININGMARK */ - { 409, 13, 1}, /* CM */ - { 290, 13, 2}, /* BREAKAFTER */ - { 238, 13, 2}, /* BA */ - { 833, 13, 3}, /* LINEFEED */ - { 823, 13, 3}, /* LF */ - { 882, 13, 4}, /* MANDATORYBREAK */ - { 267, 13, 4}, /* BK */ - { 313, 13, 5}, /* CARRIAGERETURN */ - { 452, 13, 5}, /* CR */ - {1247, 13, 6}, /* SPACE */ - {1246, 13, 6}, /* SP */ - { 571, 13, 7}, /* EXCLAMATION */ - { 570, 13, 7}, /* EX */ - {1162, 13, 8}, /* QUOTATION */ - {1161, 13, 8}, /* QU */ + { 260, 11, 30}, /* BETH */ + { 602, 11, 31}, /* GAMAL */ + { 484, 11, 32}, /* DALATHRISH */ + { 677, 11, 33}, /* HE */ + {1312, 11, 34}, /* SYRIACWAW */ + {1457, 11, 35}, /* ZAIN */ + { 683, 11, 36}, /* HETH */ + {1346, 11, 37}, /* TETH */ + {1453, 11, 38}, /* YUDH */ + {1454, 11, 39}, /* YUDHHE */ + { 770, 11, 40}, /* KAPH */ + { 794, 11, 41}, /* LAMADH */ + { 957, 11, 42}, /* MIM */ + {1053, 11, 43}, /* NUN */ + {1222, 11, 44}, /* SEMKATH */ + { 592, 11, 45}, /* FINALSEMKATH */ + { 524, 11, 46}, /* E */ + {1129, 11, 47}, /* PE */ + {1184, 11, 48}, /* REVERSEDPE */ + {1206, 11, 49}, /* SADHE */ + {1173, 11, 50}, /* QAPH */ + {1232, 11, 51}, /* SHIN */ + {1339, 11, 52}, /* TAW */ + {1460, 11, 53}, /* ZHAIN */ + { 776, 11, 54}, /* KHAPH */ + { 587, 11, 55}, /* FE */ + { 300, 11, 56}, /* BURUSHASKIYEHBARREE */ + { 885, 11, 57}, /* MALAYALAMNGA */ + { 882, 11, 58}, /* MALAYALAMJA */ + { 888, 11, 59}, /* MALAYALAMNYA */ + { 891, 11, 60}, /* MALAYALAMTTA */ + { 886, 11, 61}, /* MALAYALAMNNA */ + { 887, 11, 62}, /* MALAYALAMNNNA */ + { 881, 11, 63}, /* MALAYALAMBHA */ + { 889, 11, 64}, /* MALAYALAMRA */ + { 883, 11, 65}, /* MALAYALAMLLA */ + { 884, 11, 66}, /* MALAYALAMLLLA */ + { 890, 11, 67}, /* MALAYALAMSSA */ + {1352, 11, 68}, /* THINYEH */ + {1403, 11, 69}, /* VERTICALTAIL */ + {1197, 11, 70}, /* ROHINGYAYEH */ + {1271, 11, 71}, /* STRAIGHTWAW */ + { 173, 11, 72}, /* AFRICANFEH */ + { 175, 11, 73}, /* AFRICANQAF */ + { 174, 11, 74}, /* AFRICANNOON */ + { 897, 11, 75}, /* MANICHAEANALEPH */ + { 899, 11, 76}, /* MANICHAEANBETH */ + { 903, 11, 77}, /* MANICHAEANGIMEL */ + { 900, 11, 78}, /* MANICHAEANDALETH */ + { 921, 11, 79}, /* MANICHAEANWAW */ + { 923, 11, 80}, /* MANICHAEANZAYIN */ + { 904, 11, 81}, /* MANICHAEANHETH */ + { 918, 11, 82}, /* MANICHAEANTETH */ + { 922, 11, 83}, /* MANICHAEANYODH */ + { 906, 11, 84}, /* MANICHAEANKAPH */ + { 907, 11, 85}, /* MANICHAEANLAMEDH */ + { 901, 11, 86}, /* MANICHAEANDHAMEDH */ + { 919, 11, 87}, /* MANICHAEANTHAMEDH */ + { 908, 11, 88}, /* MANICHAEANMEM */ + { 909, 11, 89}, /* MANICHAEANNUN */ + { 915, 11, 90}, /* MANICHAEANSAMEKH */ + { 898, 11, 91}, /* MANICHAEANAYIN */ + { 911, 11, 92}, /* MANICHAEANPE */ + { 914, 11, 93}, /* MANICHAEANSADHE */ + { 912, 11, 94}, /* MANICHAEANQOPH */ + { 913, 11, 95}, /* MANICHAEANRESH */ + { 916, 11, 96}, /* MANICHAEANTAW */ + { 910, 11, 97}, /* MANICHAEANONE */ + { 902, 11, 98}, /* MANICHAEANFIVE */ + { 917, 11, 99}, /* MANICHAEANTEN */ + { 920, 11, 100}, /* MANICHAEANTWENTY */ + { 905, 11, 101}, /* MANICHAEANHUNDRED */ + { 670, 11, 102}, /* HANIFIROHINGYAPA */ + { 669, 11, 103}, /* HANIFIROHINGYAKINNAYA */ + {1034, 12, 0}, /* NONJOINING */ + {1375, 12, 0}, /* U */ + {1371, 12, 1}, /* TRANSPARENT */ + {1313, 12, 1}, /* T */ + { 521, 12, 2}, /* DUALJOINING */ + { 481, 12, 2}, /* D */ + {1187, 12, 3}, /* RIGHTJOINING */ + {1178, 12, 3}, /* R */ + { 747, 12, 4}, /* JOINCAUSING */ + { 303, 12, 4}, /* C */ + { 825, 12, 5}, /* LEFTJOINING */ + { 791, 12, 5}, /* L */ + {1387, 13, 0}, /* UNKNOWN */ + {1439, 13, 0}, /* XX */ + { 421, 13, 1}, /* COMBININGMARK */ + { 411, 13, 1}, /* CM */ + { 292, 13, 2}, /* BREAKAFTER */ + { 240, 13, 2}, /* BA */ + { 845, 13, 3}, /* LINEFEED */ + { 835, 13, 3}, /* LF */ + { 894, 13, 4}, /* MANDATORYBREAK */ + { 269, 13, 4}, /* BK */ + { 315, 13, 5}, /* CARRIAGERETURN */ + { 455, 13, 5}, /* CR */ + {1261, 13, 6}, /* SPACE */ + {1260, 13, 6}, /* SP */ + { 577, 13, 7}, /* EXCLAMATION */ + { 576, 13, 7}, /* EX */ + {1176, 13, 8}, /* QUOTATION */ + {1175, 13, 8}, /* QU */ { 189, 13, 9}, /* ALPHABETIC */ { 181, 13, 9}, /* AL */ - {1143, 13, 10}, /* PREFIXNUMERIC */ - {1142, 13, 10}, /* PR */ - {1140, 13, 11}, /* POSTFIXNUMERIC */ - {1133, 13, 11}, /* PO */ - {1069, 13, 12}, /* OPENPUNCTUATION */ - {1068, 13, 12}, /* OP */ - { 407, 13, 13}, /* CLOSEPARENTHESIS */ - { 450, 13, 13}, /* CP */ - { 714, 13, 14}, /* INFIXNUMERIC */ - { 729, 13, 14}, /* IS */ - { 693, 13, 15}, /* HYPHEN */ - { 692, 13, 15}, /* HY */ - { 293, 13, 16}, /* BREAKSYMBOLS */ - {1286, 13, 16}, /* SY */ - {1038, 13, 17}, /* NUMERIC */ - {1033, 13, 17}, /* NU */ - { 408, 13, 18}, /* CLOSEPUNCTUATION */ - { 405, 13, 18}, /* CL */ - {1002, 13, 19}, /* NEXTLINE */ - {1014, 13, 19}, /* NL */ - { 617, 13, 20}, /* GLUE */ - { 612, 13, 20}, /* GL */ + {1157, 13, 10}, /* PREFIXNUMERIC */ + {1156, 13, 10}, /* PR */ + {1154, 13, 11}, /* POSTFIXNUMERIC */ + {1147, 13, 11}, /* PO */ + {1082, 13, 12}, /* OPENPUNCTUATION */ + {1081, 13, 12}, /* OP */ + { 409, 13, 13}, /* CLOSEPARENTHESIS */ + { 452, 13, 13}, /* CP */ + { 720, 13, 14}, /* INFIXNUMERIC */ + { 735, 13, 14}, /* IS */ + { 699, 13, 15}, /* HYPHEN */ + { 698, 13, 15}, /* HY */ + { 295, 13, 16}, /* BREAKSYMBOLS */ + {1300, 13, 16}, /* SY */ + {1050, 13, 17}, /* NUMERIC */ + {1045, 13, 17}, /* NU */ + { 410, 13, 18}, /* CLOSEPUNCTUATION */ + { 407, 13, 18}, /* CL */ + {1014, 13, 19}, /* NEXTLINE */ + {1026, 13, 19}, /* NL */ + { 623, 13, 20}, /* GLUE */ + { 618, 13, 20}, /* GL */ { 193, 13, 21}, /* AMBIGUOUS */ { 179, 13, 21}, /* AI */ - { 291, 13, 22}, /* BREAKBEFORE */ - { 250, 13, 22}, /* BB */ - { 674, 13, 23}, /* HEBREWLETTER */ - { 685, 13, 23}, /* HL */ - { 426, 13, 24}, /* COMPLEXCONTEXT */ - {1190, 13, 24}, /* SA */ - { 739, 13, 25}, /* JL */ - { 747, 13, 26}, /* JV */ - { 746, 13, 27}, /* JT */ - {1024, 13, 28}, /* NONSTARTER */ - {1029, 13, 28}, /* NS */ - {1444, 13, 29}, /* ZWSPACE */ - {1442, 13, 29}, /* ZW */ - {1443, 13, 30}, /* ZWJ */ - { 292, 13, 31}, /* BREAKBOTH */ - { 237, 13, 31}, /* B2 */ - { 723, 13, 32}, /* INSEPARABLE */ - { 709, 13, 32}, /* IN */ - { 724, 13, 32}, /* INSEPERABLE */ - {1405, 13, 33}, /* WORDJOINER */ - {1402, 13, 33}, /* WJ */ - { 698, 13, 34}, /* IDEOGRAPHIC */ - { 694, 13, 34}, /* ID */ - { 525, 13, 35}, /* EBASE */ - { 524, 13, 35}, /* EB */ - { 427, 13, 36}, /* CONDITIONALJAPANESESTARTER */ - { 375, 13, 36}, /* CJ */ - { 644, 13, 37}, /* H2 */ - { 645, 13, 38}, /* H3 */ - {1283, 13, 39}, /* SURROGATE */ - {1213, 13, 39}, /* SG */ - { 442, 13, 40}, /* CONTINGENTBREAK */ - { 318, 13, 40}, /* CB */ - {1166, 13, 41}, /* REGIONALINDICATOR */ - {1171, 13, 41}, /* RI */ - { 538, 13, 42}, /* EMODIFIER */ - { 536, 13, 42}, /* EM */ - {1015, 14, 0}, /* NO */ - { 984, 14, 0}, /* N */ - {1421, 14, 1}, /* YES */ - {1417, 14, 1}, /* Y */ - { 923, 14, 2}, /* MAYBE */ - { 860, 14, 2}, /* M */ - {1015, 15, 0}, /* NO */ - { 984, 15, 0}, /* N */ - {1421, 15, 1}, /* YES */ - {1417, 15, 1}, /* Y */ - {1020, 16, 0}, /* NONE */ - { 485, 16, 1}, /* DECIMAL */ - { 484, 16, 1}, /* DE */ - { 504, 16, 2}, /* DIGIT */ - { 496, 16, 2}, /* DI */ - {1038, 16, 3}, /* NUMERIC */ - {1033, 16, 3}, /* NU */ - { 988, 17, 0}, /* NAN */ + { 293, 13, 22}, /* BREAKBEFORE */ + { 252, 13, 22}, /* BB */ + { 680, 13, 23}, /* HEBREWLETTER */ + { 691, 13, 23}, /* HL */ + { 428, 13, 24}, /* COMPLEXCONTEXT */ + {1204, 13, 24}, /* SA */ + { 745, 13, 25}, /* JL */ + { 753, 13, 26}, /* JV */ + { 752, 13, 27}, /* JT */ + {1036, 13, 28}, /* NONSTARTER */ + {1041, 13, 28}, /* NS */ + {1469, 13, 29}, /* ZWSPACE */ + {1467, 13, 29}, /* ZW */ + {1468, 13, 30}, /* ZWJ */ + { 294, 13, 31}, /* BREAKBOTH */ + { 239, 13, 31}, /* B2 */ + { 729, 13, 32}, /* INSEPARABLE */ + { 715, 13, 32}, /* IN */ + { 730, 13, 32}, /* INSEPERABLE */ + {1428, 13, 33}, /* WORDJOINER */ + {1425, 13, 33}, /* WJ */ + { 704, 13, 34}, /* IDEOGRAPHIC */ + { 700, 13, 34}, /* ID */ + { 529, 13, 35}, /* EBASE */ + { 528, 13, 35}, /* EB */ + { 429, 13, 36}, /* CONDITIONALJAPANESESTARTER */ + { 377, 13, 36}, /* CJ */ + { 650, 13, 37}, /* H2 */ + { 651, 13, 38}, /* H3 */ + {1297, 13, 39}, /* SURROGATE */ + {1227, 13, 39}, /* SG */ + { 444, 13, 40}, /* CONTINGENTBREAK */ + { 320, 13, 40}, /* CB */ + {1180, 13, 41}, /* REGIONALINDICATOR */ + {1185, 13, 41}, /* RI */ + { 542, 13, 42}, /* EMODIFIER */ + { 540, 13, 42}, /* EM */ + {1027, 14, 0}, /* NO */ + { 996, 14, 0}, /* N */ + {1444, 14, 1}, /* YES */ + {1440, 14, 1}, /* Y */ + { 935, 14, 2}, /* MAYBE */ + { 872, 14, 2}, /* M */ + {1027, 15, 0}, /* NO */ + { 996, 15, 0}, /* N */ + {1444, 15, 1}, /* YES */ + {1440, 15, 1}, /* Y */ + {1032, 16, 0}, /* NONE */ + { 489, 16, 1}, /* DECIMAL */ + { 488, 16, 1}, /* DE */ + { 508, 16, 2}, /* DIGIT */ + { 500, 16, 2}, /* DI */ + {1050, 16, 3}, /* NUMERIC */ + {1045, 16, 3}, /* NU */ + {1000, 17, 0}, /* NAN */ { 1, 17, 1}, /* 0 */ { 2, 17, 2}, /* 1 */ { 53, 17, 3}, /* 2 */ @@ -2854,386 +2904,395 @@ RE_PropertyValue re_property_values[] = { { 29, 17, 140}, /* 10000000000 */ { 27, 17, 141}, /* 10000000 */ { 61, 17, 142}, /* 20000000 */ - {1367, 18, 0}, /* UNKNOWN */ - {1446, 18, 0}, /* ZZZZ */ - { 421, 18, 1}, /* COMMON */ - {1445, 18, 1}, /* ZYYY */ - { 790, 18, 2}, /* LATIN */ - { 806, 18, 2}, /* LATN */ - { 275, 18, 3}, /* BOPOMOFO */ - { 274, 18, 3}, /* BOPO */ - { 715, 18, 4}, /* INHERITED */ - {1438, 18, 4}, /* ZINH */ - {1157, 18, 4}, /* QAAI */ - { 631, 18, 5}, /* GREEK */ - { 635, 18, 5}, /* GREK */ - { 446, 18, 6}, /* COPTIC */ - { 445, 18, 6}, /* COPT */ - {1156, 18, 6}, /* QAAC */ - { 466, 18, 7}, /* CYRILLIC */ - { 476, 18, 7}, /* CYRL */ - { 216, 18, 8}, /* ARMENIAN */ - { 218, 18, 8}, /* ARMN */ - { 673, 18, 9}, /* HEBREW */ - { 672, 18, 9}, /* HEBR */ + {1387, 18, 0}, /* UNKNOWN */ + {1471, 18, 0}, /* ZZZZ */ + { 423, 18, 1}, /* COMMON */ + {1470, 18, 1}, /* ZYYY */ + { 798, 18, 2}, /* LATIN */ + { 818, 18, 2}, /* LATN */ + { 277, 18, 3}, /* BOPOMOFO */ + { 276, 18, 3}, /* BOPO */ + { 721, 18, 4}, /* INHERITED */ + {1461, 18, 4}, /* ZINH */ + {1171, 18, 4}, /* QAAI */ + { 637, 18, 5}, /* GREEK */ + { 641, 18, 5}, /* GREK */ + { 448, 18, 6}, /* COPTIC */ + { 447, 18, 6}, /* COPT */ + {1170, 18, 6}, /* QAAC */ + { 470, 18, 7}, /* CYRILLIC */ + { 480, 18, 7}, /* CYRL */ + { 218, 18, 8}, /* ARMENIAN */ + { 220, 18, 8}, /* ARMN */ + { 679, 18, 9}, /* HEBREW */ + { 678, 18, 9}, /* HEBR */ { 203, 18, 10}, /* ARABIC */ { 202, 18, 10}, /* ARAB */ - {1295, 18, 11}, /* SYRIAC */ - {1294, 18, 11}, /* SYRC */ - {1335, 18, 12}, /* THAANA */ - {1334, 18, 12}, /* THAA */ - {1012, 18, 13}, /* NKO */ - {1013, 18, 13}, /* NKOO */ - {1193, 18, 14}, /* SAMARITAN */ - {1194, 18, 14}, /* SAMR */ - { 881, 18, 15}, /* MANDAIC */ - { 880, 18, 15}, /* MAND */ - { 493, 18, 16}, /* DEVANAGARI */ - { 492, 18, 16}, /* DEVA */ - { 257, 18, 17}, /* BENGALI */ - { 256, 18, 17}, /* BENG */ - { 641, 18, 18}, /* GURMUKHI */ - { 642, 18, 18}, /* GURU */ - { 638, 18, 19}, /* GUJARATI */ - { 639, 18, 19}, /* GUJR */ - {1071, 18, 20}, /* ORIYA */ - {1074, 18, 20}, /* ORYA */ - {1314, 18, 21}, /* TAMIL */ - {1317, 18, 21}, /* TAML */ - {1328, 18, 22}, /* TELUGU */ - {1327, 18, 22}, /* TELU */ - { 761, 18, 23}, /* KANNADA */ - { 779, 18, 23}, /* KNDA */ - { 868, 18, 24}, /* MALAYALAM */ - { 959, 18, 24}, /* MLYM */ - {1227, 18, 25}, /* SINHALA */ - {1226, 18, 25}, /* SINH */ - {1336, 18, 26}, /* THAI */ - { 788, 18, 27}, /* LAO */ - { 789, 18, 27}, /* LAOO */ - {1337, 18, 28}, /* TIBETAN */ - {1338, 18, 28}, /* TIBT */ - { 978, 18, 29}, /* MYANMAR */ - { 983, 18, 29}, /* MYMR */ - { 607, 18, 30}, /* GEORGIAN */ - { 606, 18, 30}, /* GEOR */ - { 654, 18, 31}, /* HANGUL */ - { 653, 18, 31}, /* HANG */ - { 560, 18, 32}, /* ETHIOPIC */ - { 559, 18, 32}, /* ETHI */ - { 367, 18, 33}, /* CHEROKEE */ - { 366, 18, 33}, /* CHER */ - { 305, 18, 34}, /* CANADIANABORIGINAL */ - { 309, 18, 34}, /* CANS */ - {1050, 18, 35}, /* OGHAM */ - {1049, 18, 35}, /* OGAM */ - {1186, 18, 36}, /* RUNIC */ - {1187, 18, 36}, /* RUNR */ - {1300, 18, 37}, /* TAGALOG */ - {1333, 18, 37}, /* TGLG */ - { 668, 18, 38}, /* HANUNOO */ - { 665, 18, 38}, /* HANO */ - { 297, 18, 39}, /* BUHID */ - { 296, 18, 39}, /* BUHD */ - {1302, 18, 40}, /* TAGBANWA */ - {1301, 18, 40}, /* TAGB */ - { 772, 18, 41}, /* KHMER */ - { 774, 18, 41}, /* KHMR */ - { 968, 18, 42}, /* MONGOLIAN */ - { 967, 18, 42}, /* MONG */ - { 825, 18, 43}, /* LIMBU */ - { 824, 18, 43}, /* LIMB */ - {1305, 18, 44}, /* TAILE */ - {1312, 18, 44}, /* TALE */ - {1001, 18, 45}, /* NEWTAILUE */ - {1313, 18, 45}, /* TALU */ - { 295, 18, 46}, /* BUGINESE */ - { 294, 18, 46}, /* BUGI */ - {1306, 18, 47}, /* TAITHAM */ - { 787, 18, 47}, /* LANA */ - { 240, 18, 48}, /* BALINESE */ - { 239, 18, 48}, /* BALI */ - {1260, 18, 49}, /* SUNDANESE */ - {1259, 18, 49}, /* SUND */ - { 248, 18, 50}, /* BATAK */ - { 249, 18, 50}, /* BATK */ - { 819, 18, 51}, /* LEPCHA */ - { 818, 18, 51}, /* LEPC */ - {1054, 18, 52}, /* OLCHIKI */ - {1055, 18, 52}, /* OLCK */ - { 288, 18, 53}, /* BRAILLE */ - { 287, 18, 53}, /* BRAI */ - { 614, 18, 54}, /* GLAGOLITIC */ - { 613, 18, 54}, /* GLAG */ - {1339, 18, 55}, /* TIFINAGH */ - {1332, 18, 55}, /* TFNG */ - { 652, 18, 56}, /* HAN */ - { 661, 18, 56}, /* HANI */ - { 684, 18, 57}, /* HIRAGANA */ - { 683, 18, 57}, /* HIRA */ - { 763, 18, 58}, /* KATAKANA */ - { 752, 18, 58}, /* KANA */ - {1424, 18, 59}, /* YI */ - {1425, 18, 59}, /* YIII */ - { 835, 18, 60}, /* LISU */ - {1373, 18, 61}, /* VAI */ - {1374, 18, 61}, /* VAII */ - { 242, 18, 62}, /* BAMUM */ - { 241, 18, 62}, /* BAMU */ - {1289, 18, 63}, /* SYLOTINAGRI */ - {1288, 18, 63}, /* SYLO */ - {1119, 18, 64}, /* PHAGSPA */ - {1118, 18, 64}, /* PHAG */ - {1197, 18, 65}, /* SAURASHTRA */ - {1196, 18, 65}, /* SAUR */ - { 767, 18, 66}, /* KAYAHLI */ - { 751, 18, 66}, /* KALI */ - {1169, 18, 67}, /* REJANG */ - {1178, 18, 67}, /* RJNG */ - { 737, 18, 68}, /* JAVANESE */ - { 736, 18, 68}, /* JAVA */ - { 360, 18, 69}, /* CHAM */ - {1307, 18, 70}, /* TAIVIET */ - {1323, 18, 70}, /* TAVT */ - { 932, 18, 71}, /* MEETEIMAYEK */ - { 973, 18, 71}, /* MTEI */ - { 829, 18, 72}, /* LINEARB */ - { 827, 18, 72}, /* LINB */ - { 857, 18, 73}, /* LYCIAN */ - { 856, 18, 73}, /* LYCI */ - { 312, 18, 74}, /* CARIAN */ - { 311, 18, 74}, /* CARI */ - {1057, 18, 75}, /* OLDITALIC */ - { 732, 18, 75}, /* ITAL */ - { 622, 18, 76}, /* GOTHIC */ - { 621, 18, 76}, /* GOTH */ - {1059, 18, 77}, /* OLDPERMIC */ - {1116, 18, 77}, /* PERM */ - {1361, 18, 78}, /* UGARITIC */ - {1360, 18, 78}, /* UGAR */ - {1060, 18, 79}, /* OLDPERSIAN */ - {1414, 18, 79}, /* XPEO */ - { 491, 18, 80}, /* DESERET */ - { 515, 18, 80}, /* DSRT */ - {1216, 18, 81}, /* SHAVIAN */ - {1217, 18, 81}, /* SHAW */ - {1078, 18, 82}, /* OSMANYA */ - {1077, 18, 82}, /* OSMA */ - {1075, 18, 83}, /* OSAGE */ - {1076, 18, 83}, /* OSGE */ - { 533, 18, 84}, /* ELBASAN */ - { 532, 18, 84}, /* ELBA */ - { 317, 18, 85}, /* CAUCASIANALBANIAN */ + {1309, 18, 11}, /* SYRIAC */ + {1308, 18, 11}, /* SYRC */ + {1350, 18, 12}, /* THAANA */ + {1349, 18, 12}, /* THAA */ + {1024, 18, 13}, /* NKO */ + {1025, 18, 13}, /* NKOO */ + {1207, 18, 14}, /* SAMARITAN */ + {1208, 18, 14}, /* SAMR */ + { 893, 18, 15}, /* MANDAIC */ + { 892, 18, 15}, /* MAND */ + { 497, 18, 16}, /* DEVANAGARI */ + { 496, 18, 16}, /* DEVA */ + { 259, 18, 17}, /* BENGALI */ + { 258, 18, 17}, /* BENG */ + { 647, 18, 18}, /* GURMUKHI */ + { 648, 18, 18}, /* GURU */ + { 644, 18, 19}, /* GUJARATI */ + { 645, 18, 19}, /* GUJR */ + {1084, 18, 20}, /* ORIYA */ + {1087, 18, 20}, /* ORYA */ + {1328, 18, 21}, /* TAMIL */ + {1331, 18, 21}, /* TAML */ + {1343, 18, 22}, /* TELUGU */ + {1342, 18, 22}, /* TELU */ + { 769, 18, 23}, /* KANNADA */ + { 787, 18, 23}, /* KNDA */ + { 880, 18, 24}, /* MALAYALAM */ + { 971, 18, 24}, /* MLYM */ + {1241, 18, 25}, /* SINHALA */ + {1240, 18, 25}, /* SINH */ + {1351, 18, 26}, /* THAI */ + { 796, 18, 27}, /* LAO */ + { 797, 18, 27}, /* LAOO */ + {1353, 18, 28}, /* TIBETAN */ + {1354, 18, 28}, /* TIBT */ + { 990, 18, 29}, /* MYANMAR */ + { 995, 18, 29}, /* MYMR */ + { 613, 18, 30}, /* GEORGIAN */ + { 612, 18, 30}, /* GEOR */ + { 660, 18, 31}, /* HANGUL */ + { 659, 18, 31}, /* HANG */ + { 564, 18, 32}, /* ETHIOPIC */ + { 563, 18, 32}, /* ETHI */ + { 369, 18, 33}, /* CHEROKEE */ + { 368, 18, 33}, /* CHER */ + { 307, 18, 34}, /* CANADIANABORIGINAL */ + { 311, 18, 34}, /* CANS */ + {1062, 18, 35}, /* OGHAM */ + {1061, 18, 35}, /* OGAM */ + {1200, 18, 36}, /* RUNIC */ + {1201, 18, 36}, /* RUNR */ + {1314, 18, 37}, /* TAGALOG */ + {1348, 18, 37}, /* TGLG */ + { 674, 18, 38}, /* HANUNOO */ + { 671, 18, 38}, /* HANO */ + { 299, 18, 39}, /* BUHID */ + { 298, 18, 39}, /* BUHD */ + {1316, 18, 40}, /* TAGBANWA */ + {1315, 18, 40}, /* TAGB */ + { 780, 18, 41}, /* KHMER */ + { 782, 18, 41}, /* KHMR */ + { 980, 18, 42}, /* MONGOLIAN */ + { 979, 18, 42}, /* MONG */ + { 837, 18, 43}, /* LIMBU */ + { 836, 18, 43}, /* LIMB */ + {1319, 18, 44}, /* TAILE */ + {1326, 18, 44}, /* TALE */ + {1013, 18, 45}, /* NEWTAILUE */ + {1327, 18, 45}, /* TALU */ + { 297, 18, 46}, /* BUGINESE */ + { 296, 18, 46}, /* BUGI */ + {1320, 18, 47}, /* TAITHAM */ + { 795, 18, 47}, /* LANA */ + { 242, 18, 48}, /* BALINESE */ + { 241, 18, 48}, /* BALI */ + {1274, 18, 49}, /* SUNDANESE */ + {1273, 18, 49}, /* SUND */ + { 250, 18, 50}, /* BATAK */ + { 251, 18, 50}, /* BATK */ + { 831, 18, 51}, /* LEPCHA */ + { 830, 18, 51}, /* LEPC */ + {1066, 18, 52}, /* OLCHIKI */ + {1067, 18, 52}, /* OLCK */ + { 290, 18, 53}, /* BRAILLE */ + { 289, 18, 53}, /* BRAI */ + { 620, 18, 54}, /* GLAGOLITIC */ + { 619, 18, 54}, /* GLAG */ + {1355, 18, 55}, /* TIFINAGH */ + {1347, 18, 55}, /* TFNG */ + { 658, 18, 56}, /* HAN */ + { 667, 18, 56}, /* HANI */ + { 690, 18, 57}, /* HIRAGANA */ + { 689, 18, 57}, /* HIRA */ + { 771, 18, 58}, /* KATAKANA */ + { 758, 18, 58}, /* KANA */ + {1447, 18, 59}, /* YI */ + {1448, 18, 59}, /* YIII */ + { 847, 18, 60}, /* LISU */ + {1393, 18, 61}, /* VAI */ + {1394, 18, 61}, /* VAII */ + { 244, 18, 62}, /* BAMUM */ + { 243, 18, 62}, /* BAMU */ + {1303, 18, 63}, /* SYLOTINAGRI */ + {1302, 18, 63}, /* SYLO */ + {1133, 18, 64}, /* PHAGSPA */ + {1132, 18, 64}, /* PHAG */ + {1211, 18, 65}, /* SAURASHTRA */ + {1210, 18, 65}, /* SAUR */ + { 775, 18, 66}, /* KAYAHLI */ + { 757, 18, 66}, /* KALI */ + {1183, 18, 67}, /* REJANG */ + {1192, 18, 67}, /* RJNG */ + { 743, 18, 68}, /* JAVANESE */ + { 742, 18, 68}, /* JAVA */ + { 362, 18, 69}, /* CHAM */ + {1321, 18, 70}, /* TAIVIET */ + {1338, 18, 70}, /* TAVT */ + { 944, 18, 71}, /* MEETEIMAYEK */ + { 985, 18, 71}, /* MTEI */ + { 841, 18, 72}, /* LINEARB */ + { 839, 18, 72}, /* LINB */ + { 869, 18, 73}, /* LYCIAN */ + { 868, 18, 73}, /* LYCI */ + { 314, 18, 74}, /* CARIAN */ + { 313, 18, 74}, /* CARI */ + {1069, 18, 75}, /* OLDITALIC */ + { 738, 18, 75}, /* ITAL */ + { 628, 18, 76}, /* GOTHIC */ + { 627, 18, 76}, /* GOTH */ + {1071, 18, 77}, /* OLDPERMIC */ + {1130, 18, 77}, /* PERM */ + {1380, 18, 78}, /* UGARITIC */ + {1379, 18, 78}, /* UGAR */ + {1072, 18, 79}, /* OLDPERSIAN */ + {1437, 18, 79}, /* XPEO */ + { 495, 18, 80}, /* DESERET */ + { 519, 18, 80}, /* DSRT */ + {1230, 18, 81}, /* SHAVIAN */ + {1231, 18, 81}, /* SHAW */ + {1091, 18, 82}, /* OSMANYA */ + {1090, 18, 82}, /* OSMA */ + {1088, 18, 83}, /* OSAGE */ + {1089, 18, 83}, /* OSGE */ + { 537, 18, 84}, /* ELBASAN */ + { 536, 18, 84}, /* ELBA */ + { 319, 18, 85}, /* CAUCASIANALBANIAN */ { 176, 18, 85}, /* AGHB */ - { 828, 18, 86}, /* LINEARA */ - { 826, 18, 86}, /* LINA */ - { 464, 18, 87}, /* CYPRIOT */ - { 451, 18, 87}, /* CPRT */ - { 708, 18, 88}, /* IMPERIALARAMAIC */ - { 217, 18, 88}, /* ARMI */ - {1102, 18, 89}, /* PALMYRENE */ - {1101, 18, 89}, /* PALM */ - { 987, 18, 90}, /* NABATAEAN */ - { 995, 18, 90}, /* NBAT */ - { 670, 18, 91}, /* HATRAN */ - { 669, 18, 91}, /* HATR */ - {1125, 18, 92}, /* PHOENICIAN */ - {1124, 18, 92}, /* PHNX */ - { 859, 18, 93}, /* LYDIAN */ - { 858, 18, 93}, /* LYDI */ - { 940, 18, 94}, /* MEROITICHIEROGLYPHS */ - { 938, 18, 94}, /* MERO */ - { 939, 18, 95}, /* MEROITICCURSIVE */ - { 937, 18, 95}, /* MERC */ - { 770, 18, 96}, /* KHAROSHTHI */ - { 769, 18, 96}, /* KHAR */ - {1062, 18, 97}, /* OLDSOUTHARABIAN */ - {1195, 18, 97}, /* SARB */ - {1058, 18, 98}, /* OLDNORTHARABIAN */ - { 992, 18, 98}, /* NARB */ - { 884, 18, 99}, /* MANICHAEAN */ - { 883, 18, 99}, /* MANI */ - { 234, 18, 100}, /* AVESTAN */ - { 235, 18, 100}, /* AVST */ - { 722, 18, 101}, /* INSCRIPTIONALPARTHIAN */ - {1149, 18, 101}, /* PRTI */ - { 721, 18, 102}, /* INSCRIPTIONALPAHLAVI */ - {1122, 18, 102}, /* PHLI */ - {1151, 18, 103}, /* PSALTERPAHLAVI */ - {1123, 18, 103}, /* PHLP */ - {1063, 18, 104}, /* OLDTURKIC */ - {1072, 18, 104}, /* ORKH */ - {1056, 18, 105}, /* OLDHUNGARIAN */ - { 691, 18, 105}, /* HUNG */ - { 662, 18, 106}, /* HANIFIROHINGYA */ - {1182, 18, 106}, /* ROHG */ - {1423, 18, 107}, /* YEZIDI */ - {1422, 18, 107}, /* YEZI */ - {1061, 18, 108}, /* OLDSOGDIAN */ - {1241, 18, 108}, /* SOGO */ - {1240, 18, 109}, /* SOGDIAN */ - {1239, 18, 109}, /* SOGD */ - { 371, 18, 110}, /* CHORASMIAN */ - { 372, 18, 110}, /* CHRS */ - { 535, 18, 111}, /* ELYMAIC */ - { 534, 18, 111}, /* ELYM */ - { 285, 18, 112}, /* BRAHMI */ - { 284, 18, 112}, /* BRAH */ - { 750, 18, 113}, /* KAITHI */ - { 781, 18, 113}, /* KTHI */ - {1243, 18, 114}, /* SORASOMPENG */ - {1242, 18, 114}, /* SORA */ - { 359, 18, 115}, /* CHAKMA */ - { 303, 18, 115}, /* CAKM */ - { 862, 18, 116}, /* MAHAJANI */ - { 863, 18, 116}, /* MAHJ */ - {1215, 18, 117}, /* SHARADA */ - {1220, 18, 117}, /* SHRD */ - { 776, 18, 118}, /* KHOJKI */ - { 775, 18, 118}, /* KHOJ */ - { 975, 18, 119}, /* MULTANI */ - { 974, 18, 119}, /* MULT */ - { 777, 18, 120}, /* KHUDAWADI */ - {1224, 18, 120}, /* SIND */ - { 624, 18, 121}, /* GRANTHA */ - { 623, 18, 121}, /* GRAN */ - { 999, 18, 122}, /* NEWA */ - {1341, 18, 123}, /* TIRHUTA */ - {1340, 18, 123}, /* TIRH */ - {1222, 18, 124}, /* SIDDHAM */ - {1221, 18, 124}, /* SIDD */ - { 961, 18, 125}, /* MODI */ - {1311, 18, 126}, /* TAKRI */ - {1310, 18, 126}, /* TAKR */ - { 178, 18, 127}, /* AHOM */ - { 508, 18, 128}, /* DOGRA */ - { 507, 18, 128}, /* DOGR */ - {1396, 18, 129}, /* WARANGCITI */ - {1395, 18, 129}, /* WARA */ - { 506, 18, 130}, /* DIVESAKURU */ - { 503, 18, 130}, /* DIAK */ - { 990, 18, 131}, /* NANDINAGARI */ - { 989, 18, 131}, /* NAND */ - {1435, 18, 132}, /* ZANABAZARSQUARE */ - {1436, 18, 132}, /* ZANB */ - {1245, 18, 133}, /* SOYOMBO */ - {1244, 18, 133}, /* SOYO */ - {1109, 18, 134}, /* PAUCINHAU */ - {1108, 18, 134}, /* PAUC */ - { 259, 18, 135}, /* BHAIKSUKI */ - { 260, 18, 135}, /* BHKS */ - { 913, 18, 136}, /* MARCHEN */ - { 912, 18, 136}, /* MARC */ - { 915, 18, 137}, /* MASARAMGONDI */ - { 620, 18, 137}, /* GONM */ - { 640, 18, 138}, /* GUNJALAGONDI */ - { 619, 18, 138}, /* GONG */ - { 867, 18, 139}, /* MAKASAR */ - { 866, 18, 139}, /* MAKA */ - { 454, 18, 140}, /* CUNEIFORM */ - {1415, 18, 140}, /* XSUX */ - { 531, 18, 141}, /* EGYPTIANHIEROGLYPHS */ - { 529, 18, 141}, /* EGYP */ - { 195, 18, 142}, /* ANATOLIANHIEROGLYPHS */ - { 686, 18, 142}, /* HLUW */ - { 971, 18, 143}, /* MRO */ - { 972, 18, 143}, /* MROO */ - { 247, 18, 144}, /* BASSAVAH */ - { 246, 18, 144}, /* BASS */ - {1100, 18, 145}, /* PAHAWHHMONG */ - { 687, 18, 145}, /* HMNG */ - { 928, 18, 146}, /* MEDEFAIDRIN */ - { 929, 18, 146}, /* MEDF */ - { 941, 18, 147}, /* MIAO */ - {1132, 18, 147}, /* PLRD */ - {1319, 18, 148}, /* TANGUT */ - {1318, 18, 148}, /* TANG */ - {1042, 18, 149}, /* NUSHU */ - {1030, 18, 149}, /* NSHU */ - { 771, 18, 150}, /* KHITANSMALLSCRIPT */ - { 778, 18, 150}, /* KITS */ - { 519, 18, 151}, /* DUPLOYAN */ - { 518, 18, 151}, /* DUPL */ - {1223, 18, 152}, /* SIGNWRITING */ - {1214, 18, 152}, /* SGNW */ - {1045, 18, 153}, /* NYIAKENGPUACHUEHMONG */ - { 688, 18, 153}, /* HMNP */ - {1394, 18, 154}, /* WANCHO */ - {1399, 18, 154}, /* WCHO */ - { 936, 18, 155}, /* MENDEKIKAKUI */ - { 935, 18, 155}, /* MEND */ - { 170, 18, 156}, /* ADLAM */ - { 171, 18, 156}, /* ADLM */ - { 765, 18, 157}, /* KATAKANAORHIRAGANA */ - { 689, 18, 157}, /* HRKT */ - {1079, 19, 0}, /* OTHER */ - {1416, 19, 0}, /* XX */ - {1246, 19, 1}, /* SP */ - { 823, 19, 2}, /* LF */ - { 452, 19, 3}, /* CR */ - {1256, 19, 4}, /* STERM */ - {1255, 19, 4}, /* ST */ - { 406, 19, 5}, /* CLOSE */ - { 405, 19, 5}, /* CL */ - {1200, 19, 6}, /* SCONTINUE */ - {1199, 19, 6}, /* SC */ - { 228, 19, 7}, /* ATERM */ - { 223, 19, 7}, /* AT */ - {1038, 19, 8}, /* NUMERIC */ - {1033, 19, 8}, /* NU */ - {1369, 19, 9}, /* UPPER */ - {1368, 19, 9}, /* UP */ - { 843, 19, 10}, /* LOWER */ - { 840, 19, 10}, /* LO */ - {1211, 19, 11}, /* SEP */ - {1205, 19, 11}, /* SE */ - { 590, 19, 12}, /* FORMAT */ - { 588, 19, 12}, /* FO */ - {1064, 19, 13}, /* OLETTER */ - { 809, 19, 13}, /* LE */ - { 573, 19, 14}, /* EXTEND */ - { 570, 19, 14}, /* EX */ - {1079, 20, 0}, /* OTHER */ - {1416, 20, 0}, /* XX */ - { 823, 20, 1}, /* LF */ - {1000, 20, 2}, /* NEWLINE */ - {1014, 20, 2}, /* NL */ - { 452, 20, 3}, /* CR */ - {1407, 20, 4}, /* WSEGSPACE */ - { 513, 20, 5}, /* DOUBLEQUOTE */ - { 514, 20, 5}, /* DQ */ - {1225, 20, 6}, /* SINGLEQUOTE */ - {1252, 20, 6}, /* SQ */ - { 943, 20, 7}, /* MIDNUM */ - { 960, 20, 7}, /* MN */ - { 944, 20, 8}, /* MIDNUMLET */ - { 924, 20, 8}, /* MB */ - {1038, 20, 9}, /* NUMERIC */ - {1033, 20, 9}, /* NU */ - { 942, 20, 10}, /* MIDLETTER */ - { 958, 20, 10}, /* ML */ + {1408, 18, 86}, /* VITHKUQI */ + {1407, 18, 86}, /* VITH */ + { 840, 18, 87}, /* LINEARA */ + { 838, 18, 87}, /* LINA */ + { 467, 18, 88}, /* CYPRIOT */ + { 454, 18, 88}, /* CPRT */ + { 714, 18, 89}, /* IMPERIALARAMAIC */ + { 219, 18, 89}, /* ARMI */ + {1116, 18, 90}, /* PALMYRENE */ + {1115, 18, 90}, /* PALM */ + { 999, 18, 91}, /* NABATAEAN */ + {1007, 18, 91}, /* NBAT */ + { 676, 18, 92}, /* HATRAN */ + { 675, 18, 92}, /* HATR */ + {1139, 18, 93}, /* PHOENICIAN */ + {1138, 18, 93}, /* PHNX */ + { 871, 18, 94}, /* LYDIAN */ + { 870, 18, 94}, /* LYDI */ + { 952, 18, 95}, /* MEROITICHIEROGLYPHS */ + { 950, 18, 95}, /* MERO */ + { 951, 18, 96}, /* MEROITICCURSIVE */ + { 949, 18, 96}, /* MERC */ + { 778, 18, 97}, /* KHAROSHTHI */ + { 777, 18, 97}, /* KHAR */ + {1074, 18, 98}, /* OLDSOUTHARABIAN */ + {1209, 18, 98}, /* SARB */ + {1070, 18, 99}, /* OLDNORTHARABIAN */ + {1004, 18, 99}, /* NARB */ + { 896, 18, 100}, /* MANICHAEAN */ + { 895, 18, 100}, /* MANI */ + { 236, 18, 101}, /* AVESTAN */ + { 237, 18, 101}, /* AVST */ + { 728, 18, 102}, /* INSCRIPTIONALPARTHIAN */ + {1163, 18, 102}, /* PRTI */ + { 727, 18, 103}, /* INSCRIPTIONALPAHLAVI */ + {1136, 18, 103}, /* PHLI */ + {1165, 18, 104}, /* PSALTERPAHLAVI */ + {1137, 18, 104}, /* PHLP */ + {1075, 18, 105}, /* OLDTURKIC */ + {1085, 18, 105}, /* ORKH */ + {1068, 18, 106}, /* OLDHUNGARIAN */ + { 697, 18, 106}, /* HUNG */ + { 668, 18, 107}, /* HANIFIROHINGYA */ + {1196, 18, 107}, /* ROHG */ + {1446, 18, 108}, /* YEZIDI */ + {1445, 18, 108}, /* YEZI */ + {1073, 18, 109}, /* OLDSOGDIAN */ + {1255, 18, 109}, /* SOGO */ + {1254, 18, 110}, /* SOGDIAN */ + {1253, 18, 110}, /* SOGD */ + {1076, 18, 111}, /* OLDUYGHUR */ + {1107, 18, 111}, /* OUGR */ + { 373, 18, 112}, /* CHORASMIAN */ + { 374, 18, 112}, /* CHRS */ + { 539, 18, 113}, /* ELYMAIC */ + { 538, 18, 113}, /* ELYM */ + { 287, 18, 114}, /* BRAHMI */ + { 286, 18, 114}, /* BRAH */ + { 756, 18, 115}, /* KAITHI */ + { 789, 18, 115}, /* KTHI */ + {1257, 18, 116}, /* SORASOMPENG */ + {1256, 18, 116}, /* SORA */ + { 361, 18, 117}, /* CHAKMA */ + { 305, 18, 117}, /* CAKM */ + { 874, 18, 118}, /* MAHAJANI */ + { 875, 18, 118}, /* MAHJ */ + {1229, 18, 119}, /* SHARADA */ + {1234, 18, 119}, /* SHRD */ + { 784, 18, 120}, /* KHOJKI */ + { 783, 18, 120}, /* KHOJ */ + { 987, 18, 121}, /* MULTANI */ + { 986, 18, 121}, /* MULT */ + { 785, 18, 122}, /* KHUDAWADI */ + {1238, 18, 122}, /* SIND */ + { 630, 18, 123}, /* GRANTHA */ + { 629, 18, 123}, /* GRAN */ + {1011, 18, 124}, /* NEWA */ + {1357, 18, 125}, /* TIRHUTA */ + {1356, 18, 125}, /* TIRH */ + {1236, 18, 126}, /* SIDDHAM */ + {1235, 18, 126}, /* SIDD */ + { 973, 18, 127}, /* MODI */ + {1325, 18, 128}, /* TAKRI */ + {1324, 18, 128}, /* TAKR */ + { 178, 18, 129}, /* AHOM */ + { 512, 18, 130}, /* DOGRA */ + { 511, 18, 130}, /* DOGR */ + {1419, 18, 131}, /* WARANGCITI */ + {1418, 18, 131}, /* WARA */ + { 510, 18, 132}, /* DIVESAKURU */ + { 507, 18, 132}, /* DIAK */ + {1002, 18, 133}, /* NANDINAGARI */ + {1001, 18, 133}, /* NAND */ + {1458, 18, 134}, /* ZANABAZARSQUARE */ + {1459, 18, 134}, /* ZANB */ + {1259, 18, 135}, /* SOYOMBO */ + {1258, 18, 135}, /* SOYO */ + {1123, 18, 136}, /* PAUCINHAU */ + {1122, 18, 136}, /* PAUC */ + { 261, 18, 137}, /* BHAIKSUKI */ + { 262, 18, 137}, /* BHKS */ + { 925, 18, 138}, /* MARCHEN */ + { 924, 18, 138}, /* MARC */ + { 927, 18, 139}, /* MASARAMGONDI */ + { 626, 18, 139}, /* GONM */ + { 646, 18, 140}, /* GUNJALAGONDI */ + { 625, 18, 140}, /* GONG */ + { 879, 18, 141}, /* MAKASAR */ + { 878, 18, 141}, /* MAKA */ + { 457, 18, 142}, /* CUNEIFORM */ + {1438, 18, 142}, /* XSUX */ + { 469, 18, 143}, /* CYPROMINOAN */ + { 453, 18, 143}, /* CPMN */ + { 535, 18, 144}, /* EGYPTIANHIEROGLYPHS */ + { 533, 18, 144}, /* EGYP */ + { 195, 18, 145}, /* ANATOLIANHIEROGLYPHS */ + { 692, 18, 145}, /* HLUW */ + { 983, 18, 146}, /* MRO */ + { 984, 18, 146}, /* MROO */ + {1333, 18, 147}, /* TANGSA */ + {1359, 18, 147}, /* TNSA */ + { 249, 18, 148}, /* BASSAVAH */ + { 248, 18, 148}, /* BASS */ + {1114, 18, 149}, /* PAHAWHHMONG */ + { 693, 18, 149}, /* HMNG */ + { 940, 18, 150}, /* MEDEFAIDRIN */ + { 941, 18, 150}, /* MEDF */ + { 953, 18, 151}, /* MIAO */ + {1146, 18, 151}, /* PLRD */ + {1334, 18, 152}, /* TANGUT */ + {1332, 18, 152}, /* TANG */ + {1054, 18, 153}, /* NUSHU */ + {1042, 18, 153}, /* NSHU */ + { 779, 18, 154}, /* KHITANSMALLSCRIPT */ + { 786, 18, 154}, /* KITS */ + { 523, 18, 155}, /* DUPLOYAN */ + { 522, 18, 155}, /* DUPL */ + {1237, 18, 156}, /* SIGNWRITING */ + {1228, 18, 156}, /* SGNW */ + {1057, 18, 157}, /* NYIAKENGPUACHUEHMONG */ + { 694, 18, 157}, /* HMNP */ + {1369, 18, 158}, /* TOTO */ + {1417, 18, 159}, /* WANCHO */ + {1422, 18, 159}, /* WCHO */ + { 948, 18, 160}, /* MENDEKIKAKUI */ + { 947, 18, 160}, /* MEND */ + { 170, 18, 161}, /* ADLAM */ + { 171, 18, 161}, /* ADLM */ + { 773, 18, 162}, /* KATAKANAORHIRAGANA */ + { 695, 18, 162}, /* HRKT */ + {1092, 19, 0}, /* OTHER */ + {1439, 19, 0}, /* XX */ + {1260, 19, 1}, /* SP */ + { 835, 19, 2}, /* LF */ + { 455, 19, 3}, /* CR */ + {1270, 19, 4}, /* STERM */ + {1269, 19, 4}, /* ST */ + { 408, 19, 5}, /* CLOSE */ + { 407, 19, 5}, /* CL */ + {1214, 19, 6}, /* SCONTINUE */ + {1213, 19, 6}, /* SC */ + { 230, 19, 7}, /* ATERM */ + { 225, 19, 7}, /* AT */ + {1050, 19, 8}, /* NUMERIC */ + {1045, 19, 8}, /* NU */ + {1389, 19, 9}, /* UPPER */ + {1388, 19, 9}, /* UP */ + { 855, 19, 10}, /* LOWER */ + { 852, 19, 10}, /* LO */ + {1225, 19, 11}, /* SEP */ + {1219, 19, 11}, /* SE */ + { 596, 19, 12}, /* FORMAT */ + { 594, 19, 12}, /* FO */ + {1077, 19, 13}, /* OLETTER */ + { 821, 19, 13}, /* LE */ + { 579, 19, 14}, /* EXTEND */ + { 576, 19, 14}, /* EX */ + {1092, 20, 0}, /* OTHER */ + {1439, 20, 0}, /* XX */ + { 835, 20, 1}, /* LF */ + {1012, 20, 2}, /* NEWLINE */ + {1026, 20, 2}, /* NL */ + { 455, 20, 3}, /* CR */ + {1430, 20, 4}, /* WSEGSPACE */ + { 517, 20, 5}, /* DOUBLEQUOTE */ + { 518, 20, 5}, /* DQ */ + {1239, 20, 6}, /* SINGLEQUOTE */ + {1266, 20, 6}, /* SQ */ + { 955, 20, 7}, /* MIDNUM */ + { 972, 20, 7}, /* MN */ + { 956, 20, 8}, /* MIDNUMLET */ + { 936, 20, 8}, /* MB */ + {1050, 20, 9}, /* NUMERIC */ + {1045, 20, 9}, /* NU */ + { 954, 20, 10}, /* MIDLETTER */ + { 970, 20, 10}, /* ML */ { 186, 20, 11}, /* ALETTER */ - { 809, 20, 11}, /* LE */ - { 576, 20, 12}, /* EXTENDNUMLET */ - { 570, 20, 12}, /* EX */ - { 590, 20, 13}, /* FORMAT */ - { 588, 20, 13}, /* FO */ - { 573, 20, 14}, /* EXTEND */ - { 674, 20, 15}, /* HEBREWLETTER */ - { 685, 20, 15}, /* HL */ - {1443, 20, 16}, /* ZWJ */ - { 763, 20, 17}, /* KATAKANA */ - { 748, 20, 17}, /* KA */ - {1166, 20, 18}, /* REGIONALINDICATOR */ - {1171, 20, 18}, /* RI */ - { 525, 20, 19}, /* EBASE */ - { 524, 20, 19}, /* EB */ - { 526, 20, 20}, /* EBASEGAZ */ - { 527, 20, 20}, /* EBG */ - { 538, 20, 21}, /* EMODIFIER */ - { 536, 20, 21}, /* EM */ - { 618, 20, 22}, /* GLUEAFTERZWJ */ - { 597, 20, 22}, /* GAZ */ + { 821, 20, 11}, /* LE */ + { 582, 20, 12}, /* EXTENDNUMLET */ + { 576, 20, 12}, /* EX */ + { 596, 20, 13}, /* FORMAT */ + { 594, 20, 13}, /* FO */ + { 579, 20, 14}, /* EXTEND */ + { 680, 20, 15}, /* HEBREWLETTER */ + { 691, 20, 15}, /* HL */ + {1468, 20, 16}, /* ZWJ */ + { 771, 20, 17}, /* KATAKANA */ + { 754, 20, 17}, /* KA */ + {1180, 20, 18}, /* REGIONALINDICATOR */ + {1185, 20, 18}, /* RI */ + { 529, 20, 19}, /* EBASE */ + { 528, 20, 19}, /* EB */ + { 530, 20, 20}, /* EBASEGAZ */ + { 531, 20, 20}, /* EBG */ + { 542, 20, 21}, /* EMODIFIER */ + { 540, 20, 21}, /* EM */ + { 624, 20, 22}, /* GLUEAFTERZWJ */ + { 603, 20, 22}, /* GAZ */ }; /* Codepoints which expand on full case-folding. */ @@ -3257,17 +3316,17 @@ RE_UINT16 re_expand_on_folding[] = { static RE_UINT8 re_alphabetic_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 10, 10, 10, 10, 10, 10, 10, 10, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 10, 10, 13, 31, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 10, 10, 10, 10, 10, 10, 10, 10, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 30, 13, 31, 10, 10, 10, 32, 10, 10, 10, 10, 10, 10, 10, 10, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 10, 37, 10, 10, 38, - 10, 10, 10, 10, 10, 39, 10, 10, 40, 10, 41, 42, 43, 10, 10, 10, + 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 37, 38, 10, 10, 39, + 10, 10, 10, 10, 10, 40, 10, 41, 42, 43, 44, 45, 46, 10, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 44, 13, 13, 13, 45, 46, 13, - 13, 13, 13, 47, 13, 13, 13, 13, 13, 13, 48, 10, 10, 10, 49, 10, - 13, 13, 13, 13, 50, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 47, 13, 13, 13, 48, 49, 13, + 13, 13, 13, 50, 13, 13, 13, 13, 13, 13, 51, 10, 10, 10, 52, 10, + 13, 13, 13, 13, 53, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -3325,12 +3384,12 @@ static RE_UINT8 re_alphabetic_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 }; -static RE_UINT8 re_alphabetic_table_2[] = { +static RE_UINT16 re_alphabetic_table_2[] = { 0, 0, 1, 1, 0, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 6, 0, 0, 7, 8, 9, 10, 4, 11, 4, 4, 4, 4, 12, 4, 4, 4, 4, 13, 14, 4, 15, 16, 17, 18, 19, 4, 20, 21, 4, 4, 22, 23, 24, 4, 25, 4, 4, 26, 27, 28, - 29, 30, 31, 32, 0, 33, 34, 35, 4, 36, 37, 38, 39, 40, 41, 42, + 29, 30, 31, 32, 33, 4, 34, 35, 4, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 48, 52, 53, 54, 55, 56, 0, 57, 58, 59, 60, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 0, 78, 0, 79, 80, 81, 82, 0, 0, @@ -3338,96 +3397,102 @@ static RE_UINT8 re_alphabetic_table_2[] = { 4, 4, 87, 4, 88, 89, 90, 4, 91, 4, 73, 0, 92, 4, 4, 93, 72, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 94, 1, 4, 4, 95, 96, 97, 97, 98, 4, 99, 100, 0, - 0, 4, 4, 31, 4, 101, 4, 102, 103, 104, 24, 105, 4, 106, 107, 0, - 108, 4, 103, 109, 0, 110, 78, 0, 4, 111, 112, 0, 4, 113, 4, 114, + 0, 4, 4, 31, 4, 32, 4, 101, 102, 103, 24, 104, 4, 105, 106, 0, + 107, 4, 102, 108, 0, 109, 110, 0, 4, 111, 112, 0, 4, 113, 4, 114, 4, 115, 116, 117, 118, 65, 0, 119, 4, 4, 4, 4, 4, 4, 0, 120, 4, 4, 4, 4, 4, 4, 4, 4, 93, 4, 121, 117, 4, 122, 123, 124, 0, 0, 0, 125, 126, 0, 0, 0, 127, 128, 129, 4, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 130, 4, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 4, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 131, 103, 4, 4, 4, 4, 132, 4, 85, 4, 133, 115, 134, 134, 4, - 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 136, 137, 72, 4, 138, 72, 4, 86, 139, 13, 4, 4, 140, 4, 0, 24, + 4, 4, 4, 4, 4, 4, 4, 131, 4, 85, 4, 132, 115, 133, 133, 4, + 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 135, 136, 72, 4, 137, 72, 4, 86, 138, 13, 4, 4, 139, 4, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 82, 4, 4, 4, 4, 30, 0, 24, 117, 4, 4, 4, 4, 4, 4, 4, 4, - 141, 142, 4, 143, 4, 4, 4, 92, 144, 145, 4, 4, 146, 4, 147, 148, - 149, 150, 4, 97, 4, 4, 151, 152, 27, 101, 153, 82, 4, 154, 135, 155, - 4, 115, 156, 157, 4, 103, 158, 159, 160, 161, 86, 162, 4, 4, 4, 32, + 140, 141, 4, 142, 4, 4, 4, 92, 143, 144, 4, 4, 145, 4, 146, 147, + 148, 149, 4, 97, 4, 4, 150, 151, 27, 32, 152, 82, 4, 153, 134, 154, + 4, 115, 155, 156, 4, 102, 157, 158, 159, 160, 86, 161, 4, 4, 4, 162, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 163, 164, 108, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 163, 164, 107, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 165, 4, 4, 166, 0, 167, 168, 169, 4, 4, 26, 170, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 117, 24, 4, 171, 4, 150, 172, - 0, 0, 0, 173, 4, 4, 4, 82, 0, 1, 1, 174, 4, 103, 175, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 117, 24, 4, 171, 4, 149, 172, + 0, 0, 0, 173, 4, 4, 4, 82, 0, 1, 1, 174, 4, 102, 175, 0, 176, 177, 178, 0, 4, 4, 4, 73, 0, 0, 4, 179, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 4, 180, 0, 4, 25, 101, 73, 117, 4, 181, 0, - 4, 4, 4, 4, 117, 24, 182, 108, 4, 183, 4, 60, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 115, 102, 150, 0, 0, 0, 0, - 184, 185, 102, 115, 103, 0, 0, 186, 102, 166, 0, 0, 4, 187, 0, 0, - 188, 102, 0, 82, 82, 0, 79, 189, 4, 102, 102, 153, 26, 0, 0, 0, - 4, 4, 15, 0, 4, 153, 4, 153, 4, 150, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 190, 0, 0, 82, 191, 192, 0, 0, 24, 189, 115, - 4, 4, 192, 0, 145, 31, 24, 15, 4, 153, 193, 194, 4, 4, 195, 0, - 196, 197, 0, 0, 198, 118, 4, 15, 39, 48, 199, 60, 0, 0, 0, 0, - 4, 4, 200, 201, 4, 4, 202, 0, 0, 0, 0, 0, 4, 203, 204, 0, - 4, 103, 205, 0, 4, 206, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, - 4, 31, 0, 0, 0, 4, 4, 207, 208, 209, 210, 0, 0, 211, 29, 212, - 4, 213, 24, 4, 214, 0, 4, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 215, 216, 78, 217, 171, 218, 0, 0, 219, 220, 221, 222, 223, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 224, 0, 0, + 0, 0, 0, 0, 82, 4, 180, 0, 4, 25, 32, 73, 117, 4, 181, 0, + 4, 4, 4, 4, 117, 24, 182, 107, 4, 183, 4, 184, 185, 186, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 115, 101, 149, 148, 187, 0, 0, + 188, 189, 101, 115, 102, 0, 0, 190, 101, 166, 0, 0, 4, 191, 0, 0, + 192, 101, 0, 82, 82, 0, 79, 193, 4, 101, 101, 152, 26, 0, 0, 0, + 4, 4, 15, 0, 4, 152, 4, 152, 4, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 194, 0, 0, 82, 195, 196, 24, 197, 24, 193, 115, + 4, 4, 196, 198, 144, 31, 199, 15, 4, 152, 200, 201, 4, 4, 202, 0, + 203, 204, 0, 0, 205, 118, 4, 15, 39, 48, 206, 60, 0, 0, 0, 0, + 4, 4, 207, 197, 4, 4, 208, 0, 0, 0, 0, 0, 4, 209, 210, 0, + 4, 102, 211, 0, 4, 212, 0, 0, 65, 162, 213, 0, 0, 0, 0, 0, + 4, 31, 0, 0, 0, 4, 4, 214, 215, 216, 217, 0, 0, 218, 29, 219, + 4, 220, 24, 4, 221, 24, 4, 31, 0, 0, 0, 0, 0, 0, 0, 0, + 222, 223, 78, 147, 171, 224, 0, 0, 225, 226, 227, 228, 229, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 230, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 166, 0, 0, 0, - 4, 4, 4, 140, 4, 4, 4, 4, 4, 4, 60, 0, 0, 0, 0, 0, + 4, 4, 4, 139, 4, 4, 4, 4, 4, 4, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 4, 180, + 4, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 31, 103, 0, 0, 0, 24, 156, 4, 92, 60, 226, 92, 0, 0, 0, + 4, 31, 102, 24, 4, 102, 24, 155, 4, 92, 60, 231, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 227, 4, 228, 0, 0, 229, + 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 232, 4, 233, 0, 0, 234, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 230, - 4, 4, 4, 4, 4, 4, 102, 0, 15, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 235, + 4, 4, 4, 4, 4, 4, 101, 0, 15, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 217, 237, 200, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 240, 4, 241, 242, 243, 4, 244, 245, 246, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 247, 248, 86, 240, 240, 249, 249, 222, 222, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 103, 0, 231, 193, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 108, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 232, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, + 251, 252, 0, 0, 0, 0, 0, 0, 4, 253, 254, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 155, 4, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 33, 4, 234, 235, 236, 4, 237, 238, 239, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 240, 241, 86, 33, 33, 131, 131, 215, 215, 242, 0, - 243, 244, 0, 0, 0, 0, 0, 0, 4, 245, 246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 189, 0, 4, 4, 248, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, + 4, 4, 4, 4, 4, 4, 193, 0, 4, 4, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 236, 249, 250, 251, 252, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 162, 162, 107, 0, 0, 0, + 243, 258, 259, 260, 261, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 161, 161, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 117, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 179, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 31, 4, 4, 4, 4, 4, 4, 117, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 254, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 263, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 78, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 32, 0, 0, 0, 0, 0 + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 162, 0, 0, 0, 0, 0 }; static RE_UINT8 re_alphabetic_table_3[] = { @@ -3439,14 +3504,14 @@ static RE_UINT8 re_alphabetic_table_3[] = { 255, 255, 255, 254, 0, 192, 255, 255, 255, 255, 239, 31, 254, 225, 0, 156, 0, 0, 255, 255, 0, 224, 255, 255, 255, 255, 3, 0, 0, 252, 255, 255, 255, 7, 48, 4, 255, 255, 255, 252, 255, 31, 0, 0, 255, 255, 255, 1, - 255, 7, 0, 0, 255, 255, 223, 255, 255, 0, 240, 255, 248, 3, 255, 255, + 255, 7, 255, 255, 255, 126, 0, 0, 255, 3, 240, 255, 248, 3, 255, 255, 255, 255, 255, 239, 255, 223, 225, 255, 15, 0, 254, 255, 239, 159, 249, 255, 255, 253, 197, 227, 159, 89, 128, 176, 15, 0, 3, 16, 238, 135, 249, 255, 255, 253, 109, 195, 135, 25, 2, 94, 0, 0, 63, 0, 238, 191, 251, 255, 255, 253, 237, 227, 191, 27, 1, 0, 15, 0, 0, 30, 238, 159, 249, 255, 159, 25, 192, 176, 15, 0, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, - 199, 29, 129, 0, 239, 223, 253, 255, 255, 253, 255, 227, 223, 29, 96, 7, - 15, 0, 0, 0, 255, 253, 239, 227, 223, 29, 96, 64, 15, 0, 6, 0, + 199, 29, 129, 0, 239, 223, 253, 255, 255, 253, 255, 227, 223, 29, 96, 39, + 15, 0, 0, 0, 255, 253, 239, 227, 223, 29, 96, 96, 15, 0, 6, 0, 255, 223, 253, 255, 255, 255, 255, 231, 223, 93, 240, 128, 15, 0, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, 127, 128, 95, 255, 0, 0, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, 127, 32, 0, 0, 214, 247, 255, 255, @@ -3455,46 +3520,48 @@ static RE_UINT8 re_alphabetic_table_3[] = { 255, 255, 0, 60, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 0, 0, 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, - 255, 223, 15, 0, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 207, 255, - 255, 1, 128, 16, 255, 7, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, - 255, 15, 255, 1, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, - 255, 255, 255, 15, 254, 255, 31, 0, 128, 0, 0, 128, 255, 255, 239, 255, - 239, 15, 0, 0, 255, 243, 0, 252, 191, 255, 3, 0, 255, 255, 127, 0, + 255, 255, 15, 128, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 207, 255, + 255, 1, 128, 16, 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 1, + 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, 255, 255, 255, 15, + 254, 255, 31, 0, 128, 0, 0, 128, 1, 112, 0, 0, 255, 255, 239, 255, + 239, 31, 0, 0, 255, 243, 0, 252, 191, 255, 3, 0, 255, 255, 127, 0, 0, 224, 0, 252, 255, 255, 255, 63, 255, 1, 255, 255, 0, 222, 111, 4, 128, 255, 31, 0, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 62, - 80, 189, 255, 243, 224, 67, 0, 0, 0, 0, 192, 255, 255, 127, 255, 255, - 31, 120, 12, 0, 255, 128, 0, 0, 127, 127, 127, 127, 0, 128, 0, 0, - 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 224, 224, 255, 255, 255, - 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 240, 143, - 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 252, 7, 0, 0, - 0, 0, 224, 255, 191, 255, 255, 255, 255, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 252, 232, 255, 255, 7, 0, 255, 255, 247, 255, 255, 255, 0, 124, - 255, 63, 0, 0, 255, 255, 127, 252, 5, 0, 0, 56, 255, 255, 60, 0, - 126, 126, 126, 0, 127, 127, 255, 255, 255, 3, 255, 255, 15, 0, 255, 255, + 80, 189, 255, 243, 224, 67, 0, 0, 0, 0, 192, 255, 31, 120, 12, 0, + 255, 128, 0, 0, 127, 127, 127, 127, 0, 128, 0, 0, 224, 0, 0, 0, + 254, 3, 62, 31, 255, 255, 127, 224, 224, 255, 255, 255, 255, 127, 0, 0, + 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 240, 143, 0, 0, 128, 255, + 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, 0, 0, 252, 255, + 191, 255, 255, 255, 255, 0, 0, 0, 47, 0, 0, 0, 0, 0, 252, 232, + 255, 255, 7, 0, 255, 255, 247, 255, 255, 255, 0, 124, 255, 63, 0, 0, + 255, 255, 127, 252, 5, 0, 0, 56, 255, 255, 60, 0, 126, 126, 126, 0, + 127, 127, 255, 255, 255, 3, 255, 255, 255, 7, 0, 0, 15, 0, 255, 255, 127, 248, 255, 255, 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 0, 0, 255, 15, 0, 0, 223, 255, 192, 255, 255, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 255, 255, 31, 0, 255, 255, 1, 0, 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, + 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 31, 0, 0, 0, 255, 27, 3, 0, 128, 0, 255, 255, - 63, 0, 0, 0, 240, 0, 255, 255, 255, 255, 71, 0, 30, 192, 0, 20, - 255, 255, 251, 255, 255, 255, 159, 64, 127, 189, 255, 191, 159, 25, 129, 224, - 187, 7, 0, 128, 3, 0, 0, 0, 179, 0, 0, 0, 255, 255, 63, 127, - 0, 0, 0, 63, 17, 0, 0, 0, 255, 255, 63, 1, 0, 0, 0, 128, - 127, 242, 111, 255, 255, 255, 191, 153, 7, 0, 0, 0, 255, 252, 255, 255, - 26, 0, 0, 0, 255, 255, 231, 127, 255, 255, 255, 32, 255, 253, 255, 255, - 255, 255, 127, 127, 0, 0, 252, 255, 255, 254, 127, 0, 127, 251, 255, 255, - 255, 255, 127, 180, 203, 0, 0, 0, 191, 253, 255, 255, 255, 127, 123, 1, - 0, 0, 1, 0, 127, 0, 0, 0, 248, 255, 255, 224, 255, 135, 255, 255, - 255, 128, 255, 255, 11, 0, 3, 0, 255, 255, 255, 0, 0, 0, 7, 0, - 255, 7, 255, 31, 255, 1, 255, 67, 255, 255, 255, 223, 100, 222, 255, 235, - 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, - 63, 255, 255, 255, 253, 255, 255, 247, 247, 15, 0, 0, 127, 255, 255, 249, + 63, 0, 0, 0, 3, 0, 0, 0, 0, 0, 62, 0, 4, 0, 255, 255, + 240, 0, 255, 255, 255, 255, 71, 0, 30, 192, 0, 20, 255, 255, 251, 255, + 255, 255, 159, 64, 127, 189, 255, 191, 159, 25, 129, 224, 187, 7, 0, 128, + 179, 0, 0, 0, 255, 255, 63, 127, 0, 0, 0, 63, 17, 0, 0, 0, + 255, 255, 63, 1, 127, 0, 0, 0, 0, 0, 0, 128, 127, 242, 111, 255, + 255, 255, 191, 153, 7, 0, 0, 0, 255, 252, 255, 255, 26, 0, 0, 0, + 255, 255, 231, 127, 255, 255, 255, 32, 255, 253, 255, 255, 255, 255, 127, 127, + 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, 203, 0, 0, 0, + 191, 253, 255, 255, 255, 127, 123, 1, 0, 0, 1, 0, 248, 255, 255, 224, + 255, 135, 255, 255, 255, 128, 255, 255, 11, 0, 3, 0, 255, 255, 255, 0, + 0, 0, 239, 111, 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 67, + 255, 255, 223, 255, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, + 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, + 253, 255, 255, 247, 255, 127, 255, 255, 247, 15, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 128, 63, 0, 64, 0, 0, 255, 15, 0, 0, - 143, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, - 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 127, 111, 255, 127, 143, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, + 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 }; RE_UINT32 re_get_alphabetic(RE_UINT32 codepoint) { @@ -3520,17 +3587,17 @@ RE_UINT32 re_get_alphabetic(RE_UINT32 codepoint) { static RE_UINT8 re_alphanumeric_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 10, 10, 10, 10, 10, 10, 10, 10, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 10, 10, 13, 31, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 10, 10, 10, 10, 10, 10, 10, 10, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 30, 13, 31, 10, 10, 10, 32, 10, 10, 10, 10, 10, 10, 10, 10, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 10, 37, 10, 10, 38, - 10, 10, 10, 10, 10, 39, 10, 10, 40, 10, 41, 42, 43, 10, 44, 10, + 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 37, 38, 10, 10, 39, + 10, 10, 10, 10, 10, 40, 10, 41, 42, 43, 44, 45, 46, 10, 47, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 45, 13, 13, 13, 46, 47, 13, - 13, 13, 13, 48, 13, 13, 13, 13, 13, 13, 49, 10, 10, 10, 50, 10, - 13, 13, 13, 13, 51, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 48, 13, 13, 13, 49, 50, 13, + 13, 13, 13, 51, 13, 13, 13, 13, 13, 13, 52, 10, 10, 10, 53, 10, + 13, 13, 13, 13, 54, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -3593,7 +3660,7 @@ static RE_UINT16 re_alphanumeric_table_2[] = { 5, 5, 5, 5, 5, 5, 6, 7, 0, 0, 8, 9, 10, 11, 5, 12, 5, 5, 5, 5, 13, 5, 5, 5, 5, 14, 15, 5, 16, 17, 18, 19, 20, 5, 21, 22, 5, 5, 23, 24, 25, 5, 26, 5, 5, 27, 5, 28, - 29, 30, 31, 32, 0, 33, 34, 35, 5, 36, 37, 38, 39, 40, 41, 42, + 29, 30, 31, 32, 33, 5, 34, 35, 5, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 48, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 58, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 0, 76, 77, 78, 0, 79, 80, 81, 82, 83, 84, 0, 0, @@ -3601,8 +3668,8 @@ static RE_UINT16 re_alphanumeric_table_2[] = { 5, 5, 90, 5, 91, 92, 93, 5, 94, 5, 74, 0, 95, 5, 5, 96, 73, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 97, 2, 5, 5, 98, 99, 100, 100, 101, 5, 102, 103, 80, - 1, 5, 5, 31, 5, 104, 5, 105, 106, 107, 108, 109, 5, 110, 111, 0, - 112, 5, 106, 113, 111, 114, 79, 0, 5, 115, 116, 0, 5, 117, 5, 118, + 1, 5, 5, 31, 5, 32, 5, 104, 105, 106, 107, 108, 5, 109, 110, 0, + 111, 5, 105, 112, 110, 113, 114, 0, 5, 115, 116, 0, 5, 117, 5, 118, 5, 119, 120, 87, 121, 66, 0, 122, 5, 5, 5, 5, 5, 5, 0, 123, 5, 5, 5, 5, 5, 5, 5, 5, 96, 5, 124, 87, 5, 125, 126, 127, 0, 0, 0, 128, 129, 0, 0, 0, 130, 131, 132, 5, 16, 0, 0, 0, @@ -3611,88 +3678,94 @@ static RE_UINT16 re_alphanumeric_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 134, 106, 5, 5, 5, 5, 135, 5, 88, 5, 136, 119, 137, 137, 5, - 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 139, 140, 73, 5, 141, 73, 5, 89, 142, 14, 5, 5, 143, 5, 0, 25, + 5, 5, 5, 5, 5, 5, 5, 134, 5, 88, 5, 135, 119, 136, 136, 5, + 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 139, 73, 5, 140, 73, 5, 89, 141, 14, 5, 5, 142, 5, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 84, 5, 5, 5, 5, 30, 0, 25, 87, 5, 5, 5, 5, 5, 5, 5, 5, - 144, 145, 5, 146, 5, 5, 5, 95, 147, 148, 5, 5, 149, 5, 150, 151, - 152, 153, 5, 100, 5, 5, 154, 155, 5, 104, 156, 84, 5, 157, 158, 106, - 5, 119, 159, 160, 5, 106, 161, 162, 163, 164, 89, 86, 5, 5, 5, 165, + 143, 144, 5, 145, 5, 5, 5, 95, 146, 147, 5, 5, 148, 5, 149, 150, + 151, 152, 5, 100, 5, 5, 153, 154, 5, 32, 155, 84, 5, 156, 157, 105, + 5, 119, 158, 159, 5, 105, 160, 161, 162, 163, 89, 86, 5, 5, 5, 164, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 166, 167, 112, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 165, 166, 111, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 168, 5, 5, 169, 0, 170, 171, 172, 5, 5, 27, 173, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 87, 25, 5, 174, 5, 153, 175, - 0, 0, 0, 176, 5, 5, 5, 84, 1, 2, 2, 108, 5, 106, 177, 0, - 178, 179, 180, 0, 5, 5, 5, 74, 0, 0, 5, 181, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 5, 182, 0, 5, 26, 104, 74, 87, 5, 183, 0, - 5, 5, 5, 5, 87, 86, 184, 112, 5, 185, 5, 186, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 119, 105, 153, 0, 0, 0, 0, - 187, 188, 105, 119, 106, 0, 0, 189, 105, 169, 0, 0, 5, 190, 0, 0, - 191, 105, 0, 84, 84, 0, 81, 192, 5, 105, 105, 156, 27, 0, 0, 0, - 5, 5, 16, 0, 5, 156, 5, 156, 5, 193, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5, 194, 0, 0, 84, 195, 196, 0, 0, 25, 192, 119, - 5, 5, 196, 57, 148, 31, 25, 197, 5, 198, 199, 200, 5, 5, 201, 0, - 202, 203, 0, 0, 204, 121, 5, 197, 39, 48, 205, 186, 0, 0, 0, 0, - 5, 5, 206, 207, 5, 5, 208, 0, 0, 0, 0, 0, 5, 209, 210, 0, - 5, 106, 211, 0, 5, 212, 80, 0, 66, 165, 0, 0, 0, 0, 0, 0, - 5, 31, 0, 0, 0, 5, 5, 213, 214, 215, 216, 0, 0, 217, 29, 218, - 5, 219, 25, 5, 220, 0, 5, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 221, 222, 223, 224, 174, 225, 0, 0, 226, 227, 228, 229, 230, 80, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 231, 0, 0, + 5, 5, 5, 167, 5, 5, 168, 0, 169, 170, 171, 5, 5, 27, 172, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 87, 25, 5, 173, 5, 152, 174, + 0, 0, 0, 175, 5, 5, 5, 84, 1, 2, 2, 107, 5, 105, 176, 0, + 177, 178, 179, 0, 5, 5, 5, 74, 0, 0, 5, 180, 0, 0, 0, 0, + 0, 0, 0, 0, 84, 5, 181, 0, 5, 26, 32, 74, 87, 5, 182, 0, + 5, 5, 5, 5, 87, 86, 183, 111, 5, 184, 5, 185, 186, 187, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 119, 104, 152, 151, 188, 0, 0, + 189, 190, 104, 119, 105, 0, 0, 191, 104, 168, 0, 0, 5, 192, 0, 0, + 193, 104, 0, 84, 84, 0, 81, 194, 5, 104, 104, 155, 27, 0, 0, 0, + 5, 5, 16, 0, 5, 155, 5, 155, 5, 195, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 196, 0, 0, 84, 197, 198, 25, 199, 25, 194, 119, + 5, 5, 198, 200, 147, 31, 201, 202, 5, 203, 204, 205, 5, 5, 206, 0, + 207, 208, 0, 0, 209, 121, 5, 202, 39, 48, 210, 211, 0, 0, 0, 0, + 5, 5, 212, 199, 5, 5, 213, 0, 0, 0, 0, 0, 5, 214, 215, 0, + 5, 105, 216, 0, 5, 217, 80, 0, 66, 164, 218, 0, 0, 0, 0, 0, + 5, 31, 0, 0, 0, 5, 5, 219, 220, 221, 222, 0, 0, 223, 29, 224, + 5, 225, 25, 5, 226, 25, 5, 31, 0, 0, 0, 0, 0, 0, 0, 0, + 227, 228, 229, 150, 173, 230, 0, 0, 231, 232, 233, 234, 235, 80, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 236, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 169, 0, 0, 0, - 5, 5, 5, 143, 5, 5, 5, 5, 5, 5, 186, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 168, 0, 0, 0, + 5, 5, 5, 142, 5, 5, 5, 5, 5, 5, 211, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 5, 5, 181, + 5, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 31, 106, 80, 0, 0, 25, 233, 5, 95, 234, 235, 95, 0, 0, 0, + 5, 31, 105, 86, 5, 105, 86, 237, 5, 95, 238, 239, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 236, 5, 237, 0, 0, 238, + 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 240, 5, 241, 0, 0, 242, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 239, - 5, 5, 5, 5, 5, 5, 105, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 243, + 5, 5, 5, 5, 5, 5, 104, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 106, 0, 240, 199, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 112, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 241, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 33, 5, 243, 244, 245, 5, 246, 247, 248, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 249, 250, 89, 33, 33, 134, 134, 221, 221, 251, 5, - 252, 253, 0, 0, 0, 0, 0, 0, 5, 254, 255, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5, 256, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 192, 0, 5, 5, 257, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 245, 246, 204, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 111, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 247, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 249, 5, 250, 251, 252, 5, 253, 254, 255, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 256, 257, 89, 249, 249, 258, 258, 227, 227, 259, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 260, 261, 0, 0, 0, 0, 0, 0, 5, 262, 263, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 25, 237, 5, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 245, 258, 259, 260, 261, 262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, + 5, 5, 5, 5, 5, 5, 194, 0, 5, 5, 266, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 252, 267, 268, 269, 270, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 86, 86, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 87, 0, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 181, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 31, 5, 5, 5, 5, 5, 5, 87, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 263, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 272, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 79, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 32, 0, 0, 0, 0, 0 + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 273, 0, 0, 0, 0, 0 }; static RE_UINT8 re_alphanumeric_table_3[] = { @@ -3704,14 +3777,14 @@ static RE_UINT8 re_alphanumeric_table_3[] = { 0, 0, 255, 7, 255, 255, 255, 254, 255, 195, 255, 255, 255, 255, 239, 31, 254, 225, 255, 159, 0, 0, 255, 255, 0, 224, 255, 255, 255, 255, 3, 0, 255, 7, 48, 4, 255, 255, 255, 252, 255, 31, 0, 0, 255, 255, 255, 1, - 255, 7, 0, 0, 255, 255, 223, 255, 255, 0, 240, 255, 248, 3, 255, 255, + 255, 7, 255, 255, 255, 126, 0, 0, 255, 3, 240, 255, 248, 3, 255, 255, 255, 255, 255, 239, 255, 223, 225, 255, 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 227, 159, 89, 128, 176, 207, 255, 3, 16, 238, 135, 249, 255, 255, 253, 109, 195, 135, 25, 2, 94, 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 227, 191, 27, 1, 0, 207, 255, 0, 30, 238, 159, 249, 255, 159, 25, 192, 176, 207, 255, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 29, 129, 0, 192, 255, 0, 0, 239, 223, 253, 255, 255, 253, 255, 227, - 223, 29, 96, 7, 207, 255, 0, 0, 255, 253, 239, 227, 223, 29, 96, 64, + 223, 29, 96, 39, 207, 255, 0, 0, 255, 253, 239, 227, 223, 29, 96, 96, 207, 255, 6, 0, 255, 223, 253, 255, 255, 255, 255, 231, 223, 93, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, 127, 128, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, 127, 32, 255, 3, @@ -3720,48 +3793,51 @@ static RE_UINT8 re_alphanumeric_table_3[] = { 255, 255, 255, 31, 255, 255, 127, 249, 255, 3, 255, 255, 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 0, 0, - 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, 255, 223, 15, 0, + 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, 255, 255, 15, 128, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 207, 255, 255, 1, 128, 16, - 255, 7, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 1, - 192, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 3, - 255, 255, 255, 15, 254, 255, 31, 0, 128, 0, 0, 128, 255, 255, 239, 255, - 239, 15, 255, 3, 255, 243, 255, 255, 191, 255, 3, 0, 255, 255, 127, 0, + 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 1, 192, 255, 255, 255, + 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 3, 255, 255, 255, 15, + 254, 255, 31, 0, 128, 0, 0, 128, 1, 112, 0, 0, 255, 255, 239, 255, + 239, 31, 255, 3, 255, 243, 255, 255, 191, 255, 3, 0, 255, 255, 127, 0, 255, 227, 255, 255, 255, 1, 255, 255, 0, 222, 111, 4, 128, 255, 31, 0, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 62, 80, 189, 255, 243, - 224, 67, 0, 0, 0, 0, 192, 255, 255, 127, 255, 255, 31, 120, 12, 0, - 255, 128, 0, 0, 127, 127, 127, 127, 0, 128, 0, 0, 224, 0, 0, 0, - 254, 3, 62, 31, 255, 255, 127, 224, 224, 255, 255, 255, 255, 127, 0, 0, - 255, 31, 255, 255, 255, 15, 0, 0, 255, 127, 240, 143, 0, 0, 128, 255, - 252, 255, 255, 255, 255, 249, 255, 255, 252, 7, 0, 0, 0, 0, 224, 255, - 191, 255, 255, 255, 255, 0, 0, 0, 47, 0, 255, 3, 0, 0, 252, 232, - 255, 255, 7, 0, 255, 255, 247, 255, 0, 128, 255, 3, 255, 63, 255, 3, - 255, 255, 127, 252, 5, 0, 0, 56, 255, 255, 60, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 7, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, - 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 0, 0, 255, 15, - 0, 0, 223, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, - 255, 63, 255, 63, 255, 255, 31, 0, 255, 255, 1, 0, 15, 255, 62, 0, - 255, 255, 15, 255, 255, 0, 255, 255, 15, 0, 0, 0, 63, 253, 255, 255, - 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, - 31, 0, 0, 0, 255, 0, 255, 3, 255, 27, 3, 0, 128, 0, 255, 255, - 63, 0, 0, 0, 255, 1, 255, 3, 255, 255, 199, 255, 240, 0, 255, 255, - 255, 255, 71, 0, 30, 192, 255, 23, 255, 255, 251, 255, 255, 255, 159, 64, - 127, 189, 255, 191, 159, 25, 129, 224, 187, 7, 255, 131, 3, 0, 0, 0, - 179, 0, 255, 3, 255, 255, 63, 127, 0, 0, 0, 63, 17, 0, 255, 3, - 255, 255, 63, 1, 255, 3, 0, 128, 127, 242, 111, 255, 255, 255, 191, 153, - 7, 0, 255, 3, 255, 252, 255, 255, 26, 0, 0, 0, 255, 255, 231, 127, - 255, 255, 255, 32, 255, 253, 255, 255, 255, 255, 127, 127, 1, 0, 255, 3, - 0, 0, 252, 255, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, - 203, 0, 255, 3, 191, 253, 255, 255, 255, 127, 123, 1, 0, 0, 1, 0, - 127, 0, 0, 0, 255, 63, 0, 0, 15, 0, 255, 3, 248, 255, 255, 224, + 224, 67, 0, 0, 0, 0, 192, 255, 31, 120, 12, 0, 255, 128, 0, 0, + 127, 127, 127, 127, 0, 128, 0, 0, 224, 0, 0, 0, 254, 3, 62, 31, + 255, 255, 127, 224, 224, 255, 255, 255, 255, 127, 0, 0, 255, 31, 255, 255, + 255, 15, 0, 0, 255, 127, 240, 143, 0, 0, 128, 255, 252, 255, 255, 255, + 255, 249, 255, 255, 255, 7, 235, 3, 0, 0, 252, 255, 191, 255, 255, 255, + 255, 0, 0, 0, 47, 0, 255, 3, 0, 0, 252, 232, 255, 255, 7, 0, + 255, 255, 247, 255, 0, 128, 255, 3, 255, 63, 255, 3, 255, 255, 127, 252, + 5, 0, 0, 56, 255, 255, 60, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 7, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, 255, 63, 255, 255, + 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, + 0, 0, 248, 255, 255, 255, 252, 255, 0, 0, 255, 15, 0, 0, 223, 255, + 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, + 255, 255, 31, 0, 255, 255, 1, 0, 15, 255, 62, 0, 255, 255, 15, 255, + 255, 0, 255, 255, 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, + 255, 255, 255, 192, 111, 240, 239, 254, 31, 0, 0, 0, 255, 0, 255, 3, + 255, 27, 3, 0, 128, 0, 255, 255, 63, 0, 0, 0, 3, 0, 0, 0, + 192, 255, 62, 0, 4, 0, 255, 255, 255, 1, 255, 3, 255, 255, 199, 255, + 240, 0, 255, 255, 255, 255, 71, 0, 30, 192, 255, 23, 255, 255, 251, 255, + 255, 255, 159, 64, 127, 189, 255, 191, 159, 25, 129, 224, 15, 0, 0, 0, + 187, 7, 255, 131, 179, 0, 255, 3, 255, 255, 63, 127, 0, 0, 0, 63, + 17, 0, 255, 3, 255, 255, 63, 1, 127, 0, 0, 0, 255, 3, 0, 128, + 127, 242, 111, 255, 255, 255, 191, 153, 7, 0, 255, 3, 255, 252, 255, 255, + 26, 0, 0, 0, 255, 255, 231, 127, 255, 255, 255, 32, 255, 253, 255, 255, + 255, 255, 127, 127, 1, 0, 255, 3, 255, 254, 127, 0, 127, 251, 255, 255, + 255, 255, 127, 180, 203, 0, 255, 3, 191, 253, 255, 255, 255, 127, 123, 1, + 0, 0, 1, 0, 255, 63, 0, 0, 15, 0, 255, 3, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, 11, 0, 3, 0, 255, 255, 255, 0, - 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 67, 255, 255, 255, 223, - 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, - 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, 247, 207, 255, 255, + 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, 255, 7, 255, 31, + 255, 1, 255, 67, 255, 255, 223, 255, 255, 255, 255, 223, 100, 222, 255, 235, + 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, + 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, 247, 207, 255, 255, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 128, 63, 255, 67, 0, 0, - 255, 15, 255, 3, 143, 8, 255, 3, 150, 254, 247, 10, 132, 234, 150, 170, - 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 255, 15, 255, 3, 127, 111, 255, 127, 143, 8, 255, 3, 150, 254, 247, 10, + 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, + 3, 0, 255, 255, 255, 7, 0, 0 }; RE_UINT32 re_get_alphanumeric(RE_UINT32 codepoint) { @@ -3809,67 +3885,67 @@ static RE_UINT8 re_bidi_class_table_1[] = { 19, 13, 20, 21, 22, 23, 24, 25, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 26, 27, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 28, - 13, 13, 13, 13, 29, 30, 31, 13, 32, 13, 33, 34, 35, 36, 37, 38, + 13, 13, 13, 29, 30, 31, 32, 13, 33, 13, 34, 35, 36, 37, 38, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, - 39, 40, 40, 40, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, + 40, 41, 41, 41, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 38 + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 39 }; static RE_UINT16 re_bidi_class_table_2[] = { @@ -3877,84 +3953,86 @@ static RE_UINT16 re_bidi_class_table_2[] = { 7, 7, 7, 7, 7, 8, 9, 10, 11, 11, 11, 12, 13, 7, 7, 14, 7, 7, 7, 7, 15, 7, 7, 7, 7, 7, 7, 7, 16, 17, 18, 19, 20, 21, 22, 23, 21, 21, 24, 25, 26, 27, 28, 21, 21, 29, 19, 30, - 31, 32, 33, 34, 19, 21, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 31, 32, 33, 21, 34, 21, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 42, 46, 47, 45, 42, 48, 49, 41, 50, 51, 40, 52, 7, 53, 54, 55, 56, 57, 58, 41, 42, 59, 40, 60, 61, 43, 40, 41, 7, 62, 7, 7, 63, 64, 7, 7, 65, 66, 7, 67, 68, 7, 69, 70, 71, 72, 7, 7, 73, 74, 75, 76, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 77, 7, 78, 7, 7, 7, 79, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 80, 7, 7, 7, 81, 81, 82, 82, 7, 83, 84, 78, + 7, 7, 7, 7, 80, 7, 7, 7, 81, 82, 82, 82, 7, 83, 84, 78, 85, 7, 7, 7, 86, 87, 7, 7, 7, 88, 89, 7, 7, 7, 90, 91, 92, 7, 93, 94, 7, 95, 96, 7, 97, 98, 52, 99, 60, 100, 7, 101, - 7, 102, 7, 7, 7, 7, 103, 104, 7, 7, 7, 7, 7, 7, 11, 105, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 7, 120, 91, 91, 91, - 121, 91, 91, 91, 91, 91, 91, 91, 91, 122, 7, 123, 124, 91, 91, 91, - 91, 125, 126, 91, 127, 7, 7, 128, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 129, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 7, 102, 7, 7, 7, 7, 103, 104, 7, 7, 7, 7, 7, 7, 11, 11, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 7, 119, 91, 91, 91, + 120, 91, 91, 91, 91, 91, 91, 91, 91, 121, 7, 122, 123, 91, 91, 91, + 91, 124, 125, 91, 126, 7, 7, 127, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 128, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 7, 7, 7, 7, 7, 7, 7, 7, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 130, 131, 91, 91, 91, - 7, 7, 7, 7, 7, 7, 7, 132, 7, 7, 7, 133, 7, 7, 7, 11, - 91, 91, 134, 7, 135, 91, 91, 136, 91, 91, 91, 91, 91, 91, 122, 137, - 138, 139, 7, 7, 140, 79, 7, 141, 7, 7, 7, 7, 7, 7, 91, 142, - 143, 7, 144, 145, 7, 146, 147, 7, 7, 7, 7, 148, 7, 7, 90, 149, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 129, 130, 91, 91, 91, + 7, 7, 7, 7, 7, 7, 7, 131, 7, 7, 7, 132, 7, 7, 7, 11, + 91, 91, 133, 7, 134, 91, 91, 135, 91, 91, 91, 91, 91, 91, 121, 136, + 137, 138, 7, 7, 139, 79, 7, 140, 7, 7, 7, 7, 7, 7, 91, 141, + 142, 7, 143, 144, 7, 145, 146, 7, 7, 7, 7, 147, 7, 7, 90, 148, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 91, 91, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 144, 91, 125, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 150, 7, 7, 151, 56, 7, 7, 152, 91, 153, 7, 7, 154, 7, 7, 7, + 7, 7, 7, 7, 143, 91, 124, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 149, 7, 7, 150, 151, 7, 7, 152, 91, 153, 7, 7, 154, 7, 7, 7, 155, 156, 7, 157, 7, 7, 158, 159, 7, 160, 161, 7, 37, 162, 7, 163, 7, 164, 165, 42, 7, 166, 41, 167, 7, 7, 7, 168, 7, 7, 7, 169, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 170, 171, 172, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 173, 21, 21, 21, 21, 174, 175, - 176, 177, 178, 179, 21, 21, 21, 180, 181, 2, 2, 182, 7, 7, 7, 183, - 7, 7, 7, 7, 7, 7, 7, 7, 184, 7, 91, 91, 185, 79, 7, 186, - 7, 7, 7, 7, 7, 7, 7, 187, 7, 7, 7, 188, 7, 7, 7, 7, - 19, 19, 19, 19, 19, 19, 19, 19, 189, 19, 19, 19, 19, 19, 19, 19, - 190, 191, 19, 19, 19, 19, 19, 192, 19, 193, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 21, 194, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 195, 19, 196, 19, 19, 19, 172, 29, 34, 19, 19, 19, 19, - 41, 197, 198, 199, 60, 200, 7, 7, 37, 201, 7, 202, 60, 203, 204, 7, - 7, 205, 7, 7, 7, 7, 133, 206, 60, 61, 96, 207, 7, 7, 7, 7, - 7, 197, 208, 7, 7, 209, 210, 7, 7, 7, 7, 7, 7, 211, 212, 7, - 7, 213, 96, 214, 7, 215, 7, 7, 77, 216, 7, 7, 7, 7, 7, 7, - 7, 217, 7, 7, 7, 7, 7, 7, 7, 218, 219, 7, 7, 7, 220, 96, - 221, 222, 223, 7, 224, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 225, 7, 7, 226, 227, 7, 7, 7, 228, 229, 7, 230, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 231, 7, 7, 7, 7, 7, 7, 232, 233, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 173, 174, 21, 21, 21, 175, 176, + 177, 178, 179, 180, 21, 21, 21, 181, 182, 2, 2, 183, 7, 7, 7, 184, + 7, 7, 7, 7, 7, 7, 7, 7, 185, 7, 91, 91, 186, 79, 7, 187, + 7, 7, 7, 7, 7, 7, 7, 188, 7, 7, 7, 189, 7, 7, 7, 7, + 19, 19, 19, 19, 19, 19, 19, 19, 190, 19, 19, 19, 19, 19, 19, 19, + 191, 192, 19, 19, 19, 19, 19, 193, 19, 194, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 21, 195, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 196, 19, 197, 19, 19, 19, 172, 29, 198, 199, 19, 19, 19, + 41, 200, 201, 202, 60, 203, 52, 7, 37, 204, 7, 205, 60, 206, 207, 7, + 7, 208, 7, 7, 7, 7, 132, 209, 60, 61, 210, 211, 7, 7, 7, 7, + 7, 200, 212, 7, 7, 213, 214, 7, 7, 7, 7, 7, 7, 215, 216, 7, + 7, 217, 210, 218, 7, 219, 7, 7, 77, 220, 7, 7, 7, 7, 7, 7, + 7, 221, 7, 7, 7, 7, 7, 7, 7, 222, 223, 7, 7, 7, 224, 210, + 225, 226, 227, 7, 228, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 229, 7, 7, 230, 231, 7, 7, 7, 232, 233, 7, 234, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 235, 7, 7, 7, 7, 7, 7, 236, 237, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 238, 7, 239, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 234, 7, 235, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 240, 7, 241, 7, 7, 242, + 7, 7, 7, 7, 243, 244, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 236, 7, 237, 7, 7, 238, - 7, 7, 7, 7, 239, 240, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 241, 242, 243, 7, 7, - 91, 91, 244, 7, 7, 7, 7, 7, 91, 91, 245, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 11, 245, 246, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 247, 248, 249, 7, 250, + 91, 91, 251, 7, 7, 7, 7, 7, 91, 91, 252, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 141, 7, 246, 7, 247, 7, 248, 7, 249, 250, + 7, 7, 7, 7, 7, 7, 140, 7, 253, 7, 254, 7, 255, 7, 256, 257, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 11, 251, 11, 252, 253, 254, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 255, 256, 7, 7, 7, 7, 7, 7, 7, 235, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 257, 7, 7, 7, 7, 7, 7, 7, 7, - 19, 19, 19, 19, 19, 19, 258, 19, 19, 19, 259, 19, 19, 19, 19, 19, + 11, 258, 11, 259, 260, 261, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 262, 263, 7, 7, 7, 7, 7, 7, 7, 239, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 264, 7, 265, 7, 7, 7, 7, 7, 7, 7, 7, + 19, 19, 19, 19, 19, 19, 266, 19, 19, 19, 267, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 172, 21, 21, 19, 19, 21, 21, 34, 19, 19, 19, 19, 19, - 21, 21, 21, 21, 21, 21, 21, 260, 19, 19, 19, 19, 19, 19, 19, 19, - 91, 261, 91, 91, 136, 262, 263, 122, 264, 247, 7, 265, 7, 266, 7, 7, - 7, 7, 7, 182, 7, 7, 7, 7, 91, 91, 91, 91, 91, 91, 91, 91, + 19, 19, 19, 172, 21, 21, 19, 19, 21, 21, 198, 19, 19, 19, 19, 19, + 21, 21, 21, 21, 21, 21, 21, 268, 19, 19, 19, 19, 19, 19, 19, 19, + 91, 269, 91, 91, 135, 270, 271, 121, 272, 254, 7, 273, 7, 274, 7, 7, + 7, 7, 7, 183, 7, 7, 7, 7, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 267, 185, 91, 91, 91, 136, 91, 91, 268, 269, - 261, 91, 270, 91, 271, 272, 7, 7, 91, 91, 91, 273, 91, 91, 129, 91, - 91, 91, 136, 274, 275, 276, 277, 7, 91, 91, 91, 91, 278, 91, 126, 279, + 91, 91, 91, 91, 91, 91, 275, 186, 91, 91, 91, 135, 91, 91, 276, 277, + 269, 91, 278, 91, 279, 280, 7, 7, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 135, 281, 282, 283, 284, 285, 91, 91, 91, 91, 286, 91, 125, 287, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 280, - 281, 281, 281, 281, 281, 281, 281, 281, 11, 11, 11, 11, 11, 11, 11, 282, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281 + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 288, + 289, 289, 289, 289, 289, 289, 289, 289, 11, 11, 11, 11, 11, 11, 11, 290, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289 }; static RE_UINT8 re_bidi_class_table_3[] = { @@ -4027,9 +4105,9 @@ static RE_UINT8 re_bidi_class_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 11, 11, 11, 11, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 12, 12, 13, 13, 13, 13, 13, 13, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4071,7 +4149,7 @@ static RE_UINT8 re_bidi_class_table_3[] = { 10, 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, 10, 10, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 10, 10, 10, 0, 0, 0, 0, 0, 10, 10, 10, 0, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4128,7 +4206,7 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 6, 0, 10, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 1, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 10, 10, 1, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 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, @@ -4150,7 +4228,7 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 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, @@ -4168,8 +4246,6 @@ static RE_UINT8 re_bidi_class_table_3[] = { 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 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, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, @@ -4227,7 +4303,7 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 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, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -4263,6 +4339,8 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 5, 0, 0, 0, 0, 0, 0, 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, 10, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4306,10 +4384,12 @@ static RE_UINT8 re_bidi_class_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -4351,13 +4431,17 @@ static RE_UINT8 re_bidi_class_table_3[] = { 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 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, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 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, + 10, 0, 0, 10, 10, 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, 10, 10, 10, 10, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 0, 10, 10, 10, @@ -4372,6 +4456,8 @@ static RE_UINT8 re_bidi_class_table_3[] = { 10, 10, 0, 0, 10, 0, 10, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 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, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4440,12 +4526,18 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 1, 1, 1, 1, 0, 0, 0, 0, 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, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 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, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, 10, 10, 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, 10, 10, 10, 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, 5, 5, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 10, 10, 10, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -4471,6 +4563,8 @@ static RE_UINT8 re_bidi_class_table_3[] = { 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 0, 10, 10, 10, 10, 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, 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, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, @@ -4493,26 +4587,26 @@ static RE_UINT8 re_bidi_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, - 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -4645,13 +4739,13 @@ static RE_UINT8 re_bidi_mirrored_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 40, 41, 0, 0, 0, 0, 1, 2, 42, 43, 0, 0, 0, 0, + 0, 0, 41, 42, 0, 0, 0, 0, 1, 2, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0 + 0, 0, 0, 0, 0, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0 }; static RE_UINT8 re_bidi_mirrored_table_3[] = { @@ -4664,10 +4758,10 @@ static RE_UINT8 re_bidi_mirrored_table_3[] = { 248, 255, 255, 249, 253, 255, 0, 1, 63, 194, 55, 31, 58, 3, 240, 51, 0, 252, 255, 223, 83, 122, 48, 112, 0, 0, 128, 1, 48, 188, 25, 254, 255, 255, 255, 255, 207, 191, 255, 255, 255, 255, 127, 80, 124, 112, 136, 47, - 0, 0, 0, 64, 60, 54, 0, 48, 255, 3, 0, 0, 0, 255, 243, 15, - 0, 0, 0, 126, 48, 0, 0, 0, 0, 0, 0, 168, 13, 0, 0, 0, - 0, 0, 0, 8, 0, 0, 32, 0, 0, 128, 0, 0, 0, 2, 0, 0, - 8, 0, 0, 0 + 0, 0, 0, 64, 60, 54, 0, 48, 255, 3, 0, 0, 0, 0, 224, 31, + 0, 255, 243, 15, 0, 0, 0, 126, 48, 0, 0, 0, 0, 0, 0, 168, + 13, 0, 0, 0, 0, 0, 0, 8, 0, 0, 32, 0, 0, 128, 0, 0, + 0, 2, 0, 0, 8, 0, 0, 0 }; RE_UINT32 re_get_bidi_mirrored(RE_UINT32 codepoint) { @@ -4717,15 +4811,15 @@ static RE_UINT8 re_block_table_1[] = { 13, 13, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 17, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 21, 22, 23, 23, 23, 23, 23, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 36, 37, 38, 36, 36, - 36, 39, 36, 36, 36, 36, 36, 36, 36, 36, 40, 41, 42, 42, 42, 42, - 42, 42, 43, 44, 36, 36, 36, 36, 36, 36, 36, 36, 45, 36, 36, 46, - 36, 36, 36, 36, 47, 48, 49, 36, 50, 36, 51, 52, 53, 54, 55, 36, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 58, 58, 58, 59, 60, 61, - 61, 61, 61, 62, 63, 63, 63, 63, 63, 63, 64, 36, 36, 36, 65, 36, - 66, 66, 66, 66, 67, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 36, 36, + 36, 40, 36, 36, 36, 36, 36, 36, 36, 36, 41, 42, 43, 43, 43, 43, + 43, 43, 44, 45, 36, 36, 36, 36, 36, 36, 36, 46, 47, 36, 36, 48, + 36, 36, 36, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 36, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 62, 63, 63, 63, 64, 65, 66, + 66, 66, 66, 67, 68, 68, 68, 68, 68, 68, 69, 36, 36, 36, 70, 36, + 71, 71, 71, 71, 72, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, @@ -4769,18 +4863,18 @@ static RE_UINT8 re_block_table_1[] = { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 68, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 73, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70 + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75 }; static RE_UINT16 re_block_table_2[] = { @@ -4837,95 +4931,105 @@ static RE_UINT16 re_block_table_2[] = { 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 179, 180, 181, 182, 183, 183, 183, 183, 184, 184, 184, 184, 184, 184, 184, 185, 186, 186, 186, 186, 187, 187, 187, 187, 188, 188, 189, 189, 190, 191, 192, 193, - 26, 26, 26, 26, 194, 195, 195, 196, 197, 198, 199, 200, 201, 202, 202, 26, - 203, 203, 204, 205, 206, 207, 208, 208, 209, 210, 211, 212, 26, 26, 26, 26, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 26, 26, 26, 26, - 214, 214, 215, 216, 217, 218, 26, 219, 220, 221, 26, 26, 222, 223, 223, 223, - 224, 224, 224, 225, 226, 26, 227, 227, 228, 228, 229, 230, 231, 232, 26, 26, - 233, 233, 234, 26, 235, 235, 235, 235, 236, 236, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 237, 238, 238, 26, 26, 239, 240, 241, 242, 26, 243, 244, 245, - 246, 246, 246, 246, 247, 247, 248, 249, 250, 250, 251, 252, 253, 253, 253, 254, - 255, 255, 256, 26, 257, 258, 259, 259, 260, 260, 260, 260, 26, 26, 26, 26, - 261, 261, 261, 261, 262, 262, 262, 26, 26, 26, 26, 26, 263, 263, 263, 263, - 264, 264, 264, 265, 266, 266, 267, 26, 268, 268, 26, 26, 26, 26, 26, 26, - 269, 269, 270, 26, 26, 271, 271, 271, 272, 272, 272, 26, 26, 273, 273, 273, - 274, 274, 275, 276, 276, 277, 278, 278, 26, 26, 26, 26, 26, 26, 26, 26, - 279, 279, 279, 280, 281, 281, 26, 26, 282, 282, 282, 283, 283, 284, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 285, 26, 26, 26, 26, 26, 286, 287, 287, - 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 289, 289, 289, 289, 290, 290, 290, 290, 290, 290, 291, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, - 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, - 292, 293, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, - 294, 294, 294, 294, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, - 295, 295, 296, 297, 26, 26, 298, 299, 300, 300, 300, 300, 301, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 302, 302, 302, 26, 26, 26, 303, 303, 303, 303, 303, 26, 26, 304, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 307, 307, 307, 307, 307, 307, 307, 307, - 307, 307, 307, 307, 307, 307, 307, 307, 308, 308, 308, 308, 309, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 310, 310, 310, 310, 310, 310, 310, 310, 311, 312, 313, 314, 315, 315, 315, 315, - 315, 315, 315, 315, 315, 315, 315, 315, 26, 26, 26, 26, 26, 26, 26, 26, - 316, 316, 316, 316, 316, 317, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 318, 318, 318, 318, 318, 318, 318, 318, 319, 319, 319, 319, 319, 319, 319, 319, - 320, 320, 321, 26, 26, 26, 26, 322, 323, 323, 323, 324, 26, 26, 26, 26, - 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, - 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, - 326, 326, 326, 326, 326, 327, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 328, 329, 26, 26, 26, 26, 26, 26, 330, 330, 331, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 332, 332, 26, 26, 26, 26, 26, 26, 26, 26, - 333, 333, 333, 333, 333, 333, 333, 26, 334, 334, 334, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 335, 336, 336, 26, 26, 337, 337, 338, 26, 26, 26, 26, 26, - 339, 339, 339, 339, 339, 339, 339, 339, 26, 26, 26, 26, 26, 26, 26, 26, - 340, 341, 342, 342, 342, 343, 343, 343, 344, 344, 344, 344, 344, 344, 344, 344, - 345, 345, 345, 345, 345, 345, 345, 345, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 347, 347, 348, 349, 350, 350, 350, 350, 351, 351, 351, 351, 352, 352, 352, 352, - 353, 353, 353, 353, 353, 353, 353, 353, 354, 354, 354, 354, 354, 354, 354, 354, - 355, 355, 355, 356, 357, 357, 357, 357, 358, 358, 358, 358, 358, 358, 358, 358, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 26, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, + 194, 194, 194, 194, 195, 196, 196, 197, 198, 199, 200, 201, 202, 203, 203, 194, + 204, 204, 205, 206, 207, 208, 209, 209, 210, 211, 212, 213, 214, 214, 194, 194, + 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, 194, 194, + 217, 217, 218, 219, 220, 221, 194, 222, 223, 224, 194, 194, 225, 226, 226, 226, + 227, 227, 227, 228, 229, 194, 230, 230, 231, 231, 232, 233, 234, 235, 194, 194, + 236, 236, 237, 194, 238, 238, 238, 238, 239, 239, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 240, 241, 241, 194, 194, 242, 243, 244, 245, 246, 247, 248, 249, + 250, 250, 250, 250, 251, 251, 252, 253, 254, 254, 255, 256, 257, 257, 257, 258, + 259, 259, 260, 194, 261, 262, 263, 263, 264, 264, 264, 264, 194, 194, 194, 194, + 265, 265, 265, 265, 266, 266, 266, 194, 194, 194, 194, 194, 267, 267, 267, 267, + 268, 268, 268, 269, 270, 270, 271, 194, 272, 272, 273, 194, 194, 194, 194, 194, + 274, 274, 275, 194, 194, 276, 276, 276, 277, 277, 277, 194, 194, 278, 278, 278, + 279, 279, 280, 281, 281, 282, 283, 283, 194, 194, 194, 194, 194, 194, 194, 194, + 284, 284, 284, 285, 286, 286, 194, 194, 287, 287, 287, 288, 288, 289, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 290, 194, 194, 194, 194, 194, 291, 292, 292, + 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, + 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, + 294, 294, 294, 294, 295, 295, 295, 295, 295, 295, 296, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 297, 298, 298, 298, + 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, + 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, + 299, 300, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, + 301, 301, 301, 301, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, + 302, 302, 303, 304, 305, 305, 306, 307, 308, 308, 308, 308, 309, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 310, 310, 310, 194, 194, 194, 311, 311, 311, 311, 311, 194, 194, 312, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 315, 315, 315, 315, 315, 315, 315, 315, + 315, 315, 315, 315, 315, 315, 315, 315, 316, 316, 316, 316, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 317, + 318, 318, 318, 318, 318, 318, 318, 318, 319, 320, 321, 322, 323, 323, 323, 323, + 323, 323, 323, 323, 323, 323, 323, 323, 194, 194, 194, 194, 194, 194, 194, 194, + 324, 324, 324, 324, 324, 325, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 326, 326, 326, 326, 326, 326, 327, 194, + 328, 328, 328, 328, 328, 328, 328, 328, 329, 329, 329, 329, 329, 329, 329, 329, + 330, 330, 331, 194, 194, 194, 194, 332, 333, 333, 333, 334, 194, 194, 194, 194, + 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, + 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, + 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, 336, + 336, 336, 336, 336, 336, 337, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 338, 338, 338, 338, 338, 338, 338, 338, + 339, 340, 194, 194, 194, 194, 194, 194, 341, 341, 342, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 343, 344, 345, 345, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 346, + 347, 347, 347, 347, 347, 347, 347, 194, 348, 348, 348, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 349, 350, 350, 194, 194, 351, 351, 352, 194, 194, 194, 194, 194, + 353, 353, 353, 353, 353, 353, 353, 353, 194, 194, 194, 194, 194, 194, 194, 194, + 354, 355, 356, 356, 356, 357, 357, 357, 358, 358, 358, 358, 358, 358, 358, 358, + 359, 359, 359, 359, 359, 359, 359, 359, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, - 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 361, 361, 361, 361, 361, 361, - 361, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 365, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, - 366, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 368, 26, 26, 26, 26, 26, - 369, 369, 369, 369, 26, 26, 26, 26, 370, 370, 370, 370, 370, 370, 370, 371, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, - 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, + 361, 361, 362, 363, 364, 364, 364, 364, 365, 365, 365, 365, 366, 366, 366, 366, + 367, 367, 367, 367, 367, 367, 367, 367, 368, 368, 368, 368, 368, 368, 368, 368, + 369, 369, 369, 370, 371, 371, 371, 371, 372, 372, 372, 372, 372, 372, 372, 372, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, + 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, - 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373, 373 + 373, 373, 373, 373, 373, 373, 373, 194, 374, 374, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 375, 375, 375, 375, 375, 375, + 375, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, + 376, 376, 376, 376, 376, 377, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, + 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 379, + 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, + 380, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, + 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 382, 194, 194, 194, 194, 194, + 383, 383, 383, 383, 194, 194, 194, 194, 384, 384, 384, 384, 384, 384, 384, 385, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, + 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, + 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, + 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387, 387 }; static RE_UINT16 re_block_table_3[] = { @@ -4980,9 +5084,7 @@ static RE_UINT16 re_block_table_3[] = { 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, @@ -5041,7 +5143,6 @@ static RE_UINT16 re_block_table_3[] = { 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, @@ -5053,38 +5154,39 @@ static RE_UINT16 re_block_table_3[] = { 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, @@ -5095,7 +5197,6 @@ static RE_UINT16 re_block_table_3[] = { 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, @@ -5111,12 +5212,13 @@ static RE_UINT16 re_block_table_3[] = { 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, 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, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, @@ -5137,9 +5239,9 @@ static RE_UINT16 re_block_table_3[] = { 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, @@ -5157,12 +5259,12 @@ static RE_UINT16 re_block_table_3[] = { 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, @@ -5171,9 +5273,9 @@ static RE_UINT16 re_block_table_3[] = { 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, @@ -5181,19 +5283,19 @@ static RE_UINT16 re_block_table_3[] = { 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 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, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, @@ -5205,14 +5307,14 @@ static RE_UINT16 re_block_table_3[] = { 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, @@ -5225,9 +5327,9 @@ static RE_UINT16 re_block_table_3[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, @@ -5235,12 +5337,12 @@ static RE_UINT16 re_block_table_3[] = { 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, @@ -5255,17 +5357,16 @@ static RE_UINT16 re_block_table_3[] = { 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, @@ -5273,6 +5374,7 @@ static RE_UINT16 re_block_table_3[] = { 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, @@ -5283,25 +5385,25 @@ static RE_UINT16 re_block_table_3[] = { 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, @@ -5309,35 +5411,36 @@ static RE_UINT16 re_block_table_3[] = { 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, @@ -5353,26 +5456,27 @@ static RE_UINT16 re_block_table_3[] = { 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, @@ -5393,129 +5497,127 @@ static RE_UINT16 re_block_table_3[] = { 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, - 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, - 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, - 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, - 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, - 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, + 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, @@ -5532,8 +5634,6 @@ static RE_UINT16 re_block_table_3[] = { 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, @@ -5541,10 +5641,14 @@ static RE_UINT16 re_block_table_3[] = { 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, + 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, @@ -5553,36 +5657,32 @@ static RE_UINT16 re_block_table_3[] = { 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, - 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, - 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, - 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, - 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 265, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, @@ -5591,60 +5691,64 @@ static RE_UINT16 re_block_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, 290, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 293, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, @@ -5653,30 +5757,58 @@ static RE_UINT16 re_block_table_3[] = { 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, + 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, - 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308 + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, + 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, + 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, 312, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, + 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, + 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, + 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, + 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, + 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, + 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320 }; RE_UINT32 re_get_block(RE_UINT32 codepoint) { @@ -5773,59 +5905,59 @@ static RE_UINT8 re_canonical_combining_class_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 6, 7, 8, 0, 9, 0, 10, 11, 0, 0, 12, 13, 14, 15, 16, 0, 0, 0, 0, 17, - 18, 19, 20, 0, 0, 0, 21, 22, 0, 23, 24, 0, 0, 23, 25, 26, - 0, 23, 25, 0, 0, 23, 25, 0, 0, 23, 25, 0, 0, 0, 25, 0, - 0, 0, 27, 0, 0, 23, 25, 0, 0, 28, 25, 0, 0, 0, 29, 0, - 0, 30, 31, 0, 0, 32, 33, 0, 34, 35, 0, 36, 37, 0, 38, 0, - 0, 39, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, + 18, 19, 20, 0, 21, 0, 22, 23, 0, 24, 25, 0, 0, 24, 26, 27, + 0, 24, 26, 0, 0, 24, 26, 0, 0, 24, 26, 0, 0, 0, 26, 0, + 0, 24, 28, 0, 0, 24, 26, 0, 0, 29, 26, 0, 0, 0, 30, 0, + 0, 31, 32, 0, 0, 33, 34, 0, 35, 36, 0, 37, 38, 0, 39, 0, + 0, 40, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 42, 42, 0, 0, 0, 0, 43, 0, - 0, 0, 0, 0, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, - 46, 0, 0, 47, 0, 48, 49, 0, 0, 50, 51, 52, 0, 53, 0, 54, - 0, 55, 0, 0, 0, 0, 56, 57, 0, 0, 0, 0, 0, 0, 58, 59, + 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 0, 0, 0, 0, 45, 0, + 0, 0, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, + 48, 0, 0, 49, 0, 50, 51, 0, 0, 52, 53, 54, 0, 55, 0, 56, + 0, 57, 0, 0, 0, 0, 58, 59, 0, 0, 0, 0, 0, 0, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 64, + 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 65, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 67, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 67, 68, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 70, 71, 0, 0, 0, 0, 51, 72, 0, 73, 74, 0, 0, 75, 76, 0, - 0, 0, 0, 0, 0, 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, 25, + 0, 0, 0, 69, 70, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 73, 0, 0, 0, 0, 53, 74, 0, 75, 76, 0, 0, 77, 78, 0, + 0, 0, 0, 0, 0, 79, 80, 81, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 83, 0, 0, 0, 0, + 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 85, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, - 0, 0, 70, 63, 0, 90, 0, 0, 91, 92, 0, 75, 0, 0, 93, 0, - 0, 94, 0, 0, 0, 0, 0, 95, 0, 96, 25, 97, 0, 0, 0, 0, - 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 63, 100, 0, - 0, 63, 0, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, - 0, 90, 0, 0, 0, 0, 0, 0, 0, 103, 104, 0, 0, 0, 0, 76, - 0, 42, 105, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 108, 0, 0, 0, + 87, 88, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 92, 0, 93, 0, 0, 0, + 0, 0, 72, 94, 0, 95, 0, 0, 96, 97, 0, 77, 0, 0, 98, 0, + 0, 99, 0, 0, 0, 0, 0, 100, 0, 101, 26, 102, 0, 0, 0, 0, + 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 65, 105, 0, + 0, 65, 0, 0, 0, 106, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, + 0, 95, 0, 0, 0, 0, 0, 0, 0, 108, 109, 0, 0, 0, 0, 78, + 0, 44, 110, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 0, 110, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 114, 0, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, - 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, + 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, 0, 0, - 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 117, 118, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 119, 120, 0, 0, + 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 122, 123, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -5873,7 +6005,9 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 3, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 3, + 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 1, 1, 3, 1, 1, 3, 1, 1, 1, 3, 3, 3, 31, 32, 33, 1, 1, 1, 3, 1, 1, 3, 3, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5915,6 +6049,8 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, @@ -5928,7 +6064,7 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 1, 1, 3, 0, 3, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 1, 1, 3, 3, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5949,7 +6085,7 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 9, 49, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 11, 11, 3, 0, 1, 8, 3, 1, 3, + 1, 1, 1, 1, 1, 1, 2, 11, 11, 3, 50, 1, 8, 3, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 6, 6, 1, 1, 1, 1, 6, 6, 6, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 6, 6, 1, 3, 1, 6, 6, 3, 3, 3, 3, @@ -5996,6 +6132,8 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, @@ -6010,6 +6148,10 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 1, 1, 3, 1, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 3, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 38, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6068,6 +6210,8 @@ static RE_UINT8 re_canonical_combining_class_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6102,7 +6246,7 @@ static RE_UINT8 re_cased_table_1[] = { 2, 12, 2, 13, 2, 2, 14, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 17, 2, 18, 2, 2, 2, + 2, 2, 2, 2, 2, 16, 2, 17, 2, 2, 18, 2, 19, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -6180,29 +6324,31 @@ static RE_UINT8 re_cased_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 37, 38, 4, 4, 4, 4, 39, 4, 40, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 37, 4, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 41, 25, 0, 0, 0, 0, 42, 4, 4, 43, 4, 44, 45, + 0, 0, 4, 39, 25, 0, 0, 0, 0, 40, 4, 4, 41, 4, 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 5, 23, 4, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 5, 23, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, - 4, 4, 48, 0, 0, 46, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 51, 4, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 46, 0, 0, 44, 47, 48, 0, 0, 0, 49, 50, 51, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 0, 0, + 0, 0, 0, 0, 4, 54, 4, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 52, 4, 53, 54, 55, 4, 56, 57, 58, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 59, 60, 5, 52, 52, 37, 37, 61, 61, 62, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 63, 0, 0, 0, 0, 0, + 4, 4, 55, 4, 56, 57, 58, 4, 59, 60, 61, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 62, 63, 5, 55, 55, 64, 64, 65, 65, 66, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 64, 64, 36, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 69, 69, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6216,14 +6362,15 @@ static RE_UINT8 re_cased_table_3[] = { 63, 63, 255, 170, 255, 255, 255, 63, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 62, 80, 189, 31, 242, 224, 67, 0, 0, 24, 0, 0, 0, 0, 0, 192, 255, - 255, 3, 0, 0, 255, 127, 255, 255, 255, 255, 255, 127, 31, 120, 12, 0, - 191, 32, 0, 0, 255, 63, 0, 0, 252, 255, 255, 255, 255, 120, 255, 255, - 252, 7, 0, 0, 0, 0, 96, 7, 0, 0, 255, 255, 127, 0, 248, 0, - 255, 255, 0, 0, 255, 255, 15, 255, 255, 255, 255, 15, 255, 255, 7, 0, - 255, 255, 223, 255, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, - 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, - 253, 255, 255, 247, 255, 253, 255, 255, 247, 15, 0, 0, 15, 0, 0, 0, - 255, 3, 255, 255 + 255, 3, 0, 0, 31, 120, 12, 0, 191, 32, 0, 0, 255, 63, 0, 0, + 252, 255, 255, 255, 255, 120, 255, 255, 255, 7, 235, 3, 0, 0, 96, 7, + 0, 0, 255, 255, 127, 0, 248, 0, 255, 255, 0, 0, 255, 255, 15, 255, + 255, 255, 255, 15, 0, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 185, 255, 255, 255, 255, 255, 253, 7, 255, 255, 7, 0, 255, 255, 223, 255, + 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, + 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, + 255, 127, 255, 255, 255, 253, 255, 255, 247, 15, 0, 0, 255, 251, 255, 127, + 15, 0, 0, 0, 255, 3, 255, 255 }; RE_UINT32 re_get_cased(RE_UINT32 codepoint) { @@ -6251,10 +6398,10 @@ static RE_UINT8 re_case_ignorable_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 13, 14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 15, 16, - 17, 9, 18, 19, 20, 21, 22, 23, 9, 9, 9, 9, 9, 24, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25, 26, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 27, - 9, 9, 9, 9, 28, 9, 29, 9, 30, 9, 31, 9, 32, 9, 9, 9, + 17, 18, 19, 20, 21, 22, 23, 24, 9, 9, 9, 9, 9, 25, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 26, 27, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 28, 9, 9, 9, 29, + 9, 9, 9, 30, 31, 9, 32, 9, 33, 9, 34, 9, 35, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -6303,7 +6450,7 @@ static RE_UINT8 re_case_ignorable_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 33, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 36, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -6322,69 +6469,75 @@ static RE_UINT8 re_case_ignorable_table_2[] = { 0, 0, 0, 0, 0, 5, 6, 6, 6, 6, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 11, 12, 13, 14, 15, 0, 16, 17, 0, 0, 18, 19, 20, 5, 21, 0, 0, 22, 0, 23, - 24, 25, 26, 0, 0, 0, 27, 6, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 33, 37, 38, 36, 33, 39, 40, 32, 41, 42, 43, 44, 0, 45, 0, - 46, 47, 48, 43, 32, 41, 49, 43, 50, 51, 34, 43, 32, 0, 52, 0, - 0, 53, 54, 0, 0, 55, 56, 0, 57, 58, 0, 59, 60, 61, 62, 0, - 0, 63, 64, 65, 66, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, + 24, 25, 26, 0, 27, 0, 28, 6, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 34, 38, 39, 37, 34, 40, 41, 33, 42, 43, 44, 45, 0, 46, 0, + 47, 48, 49, 44, 33, 42, 50, 44, 51, 52, 35, 44, 33, 0, 53, 0, + 0, 54, 55, 0, 0, 56, 57, 0, 58, 59, 0, 60, 61, 62, 63, 0, + 0, 64, 65, 66, 67, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 69, 70, 70, 70, 0, 71, 72, 0, + 73, 0, 74, 0, 75, 76, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, + 78, 0, 79, 80, 0, 81, 82, 0, 83, 84, 45, 85, 51, 86, 0, 87, + 0, 88, 0, 89, 0, 0, 90, 91, 0, 92, 6, 93, 94, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 96, 97, + 98, 99, 0, 100, 101, 0, 5, 102, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 68, 69, 69, 0, 70, 71, 0, - 72, 0, 73, 0, 74, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, - 77, 0, 78, 79, 0, 80, 3, 0, 81, 82, 44, 83, 50, 84, 0, 85, - 0, 86, 0, 87, 0, 0, 88, 89, 0, 90, 6, 91, 92, 6, 6, 93, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 95, 96, - 97, 98, 0, 99, 100, 0, 5, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 105, 0, 0, 0, 6, + 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 108, 0, 0, 109, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, + 112, 0, 0, 113, 114, 0, 0, 115, 6, 51, 0, 17, 116, 0, 0, 117, + 118, 119, 0, 0, 0, 0, 120, 121, 0, 122, 123, 0, 29, 124, 106, 75, + 0, 125, 126, 127, 0, 128, 129, 130, 0, 0, 94, 131, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 6, - 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 106, 107, 0, 0, 108, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 133, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 134, 135, 136, 0, 0, 0, 0, 137, 1, 2, 3, 17, 138, 0, 0, 139, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, + 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, - 111, 0, 0, 112, 113, 0, 0, 114, 6, 50, 0, 17, 115, 0, 0, 57, - 116, 117, 0, 0, 0, 0, 118, 119, 0, 120, 121, 0, 28, 122, 105, 74, - 0, 123, 124, 125, 0, 126, 127, 128, 0, 0, 92, 129, 0, 0, 0, 130, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 131, 50, 0, + 144, 145, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 22, 0, 148, 0, 0, 0, + 33, 149, 150, 151, 51, 152, 153, 0, 29, 154, 0, 155, 51, 156, 157, 0, + 0, 158, 0, 0, 0, 0, 137, 159, 51, 52, 3, 160, 0, 0, 0, 0, + 0, 149, 161, 0, 0, 162, 163, 0, 0, 0, 0, 0, 0, 164, 165, 0, + 0, 166, 3, 0, 0, 167, 0, 0, 68, 168, 0, 0, 0, 0, 0, 0, + 0, 169, 0, 0, 0, 0, 0, 0, 0, 170, 74, 0, 0, 0, 171, 3, + 172, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 176, 0, 0, 133, 177, 0, 0, 0, 178, 179, 0, 180, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 133, 134, 0, 0, 0, 0, 135, 1, 2, 3, 17, 47, 0, 0, 136, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, - 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 139, 140, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, - 32, 143, 144, 135, 50, 145, 146, 0, 28, 147, 0, 148, 50, 149, 150, 0, - 0, 151, 0, 0, 0, 0, 135, 152, 50, 51, 3, 153, 0, 0, 0, 0, - 0, 143, 154, 0, 0, 155, 156, 0, 0, 0, 0, 0, 0, 157, 158, 0, - 0, 159, 3, 0, 0, 160, 0, 0, 67, 161, 0, 0, 0, 0, 0, 0, - 0, 162, 0, 0, 0, 0, 0, 0, 0, 163, 73, 0, 0, 0, 164, 3, - 165, 166, 167, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 169, 0, 0, 131, 170, 0, 0, 0, 171, 172, 0, 173, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 183, 0, 184, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 185, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 176, 0, 177, 81, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 0, 0, 0, 0, 188, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 178, 0, 0, 179, - 0, 0, 0, 0, 180, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 182, 183, 0, 0, - 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 189, 150, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 191, 192, 0, 0, + 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 185, 6, 186, 187, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 189, 190, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 193, 0, 0, 0, 0, 0, + 6, 194, 6, 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 198, 199, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 201, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, - 32, 6, 6, 6, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 133, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, + 33, 6, 6, 6, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6395,49 +6548,51 @@ static RE_UINT8 re_case_ignorable_table_3[] = { 255, 255, 255, 191, 182, 0, 0, 0, 0, 0, 16, 0, 63, 0, 255, 23, 1, 248, 255, 255, 0, 0, 1, 0, 0, 0, 192, 191, 255, 61, 0, 0, 0, 128, 2, 0, 255, 7, 0, 0, 192, 255, 1, 0, 0, 248, 63, 36, - 0, 0, 192, 255, 255, 63, 0, 0, 0, 0, 0, 14, 0, 0, 248, 255, - 7, 0, 0, 0, 0, 0, 0, 20, 254, 33, 254, 0, 12, 0, 2, 0, - 2, 0, 0, 0, 0, 0, 0, 16, 30, 32, 0, 0, 12, 0, 0, 64, - 6, 0, 0, 0, 134, 57, 2, 0, 0, 0, 35, 0, 190, 33, 0, 0, - 12, 0, 0, 252, 0, 0, 0, 144, 30, 32, 96, 0, 12, 0, 0, 0, - 4, 0, 0, 0, 1, 32, 0, 0, 17, 0, 0, 0, 0, 0, 0, 192, - 193, 61, 96, 0, 64, 48, 0, 0, 3, 0, 0, 0, 0, 0, 0, 24, - 0, 4, 92, 0, 0, 0, 242, 7, 192, 127, 0, 0, 0, 0, 242, 31, - 64, 63, 0, 0, 0, 0, 0, 3, 0, 0, 160, 2, 0, 0, 254, 127, - 223, 224, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 0, 224, 253, 102, - 0, 0, 0, 195, 1, 0, 30, 0, 100, 32, 0, 32, 0, 0, 0, 224, - 0, 0, 28, 0, 0, 0, 12, 0, 0, 0, 176, 63, 64, 254, 143, 32, - 0, 120, 0, 0, 8, 0, 0, 0, 96, 0, 0, 0, 0, 2, 0, 0, - 135, 1, 4, 14, 0, 0, 128, 9, 0, 0, 64, 127, 229, 31, 248, 159, - 128, 0, 255, 255, 15, 0, 0, 0, 0, 0, 208, 23, 0, 248, 15, 0, - 60, 59, 0, 0, 64, 163, 3, 0, 0, 240, 207, 0, 0, 0, 0, 63, - 0, 0, 247, 255, 253, 33, 16, 3, 0, 240, 255, 255, 255, 7, 0, 1, - 0, 0, 0, 248, 255, 255, 255, 251, 0, 0, 0, 160, 3, 224, 0, 224, - 0, 224, 0, 96, 0, 248, 0, 3, 144, 124, 0, 0, 223, 255, 2, 128, - 0, 0, 255, 31, 255, 255, 1, 0, 0, 0, 0, 48, 0, 128, 3, 0, - 0, 128, 0, 128, 0, 128, 0, 0, 32, 0, 0, 0, 0, 60, 62, 8, - 0, 0, 0, 126, 0, 0, 0, 112, 0, 0, 32, 0, 0, 16, 0, 0, - 0, 128, 247, 191, 0, 0, 0, 240, 0, 0, 3, 0, 0, 7, 0, 0, - 68, 8, 0, 0, 96, 16, 0, 0, 48, 0, 0, 0, 255, 255, 3, 128, - 192, 63, 0, 0, 128, 255, 3, 0, 0, 0, 200, 51, 0, 126, 102, 0, - 8, 16, 0, 0, 0, 0, 1, 16, 0, 0, 157, 193, 2, 0, 0, 32, - 0, 48, 88, 0, 0, 14, 0, 0, 32, 33, 0, 0, 0, 0, 252, 255, - 255, 255, 8, 0, 255, 255, 0, 0, 0, 0, 36, 0, 0, 0, 0, 128, - 8, 0, 0, 14, 0, 0, 0, 32, 0, 0, 192, 7, 110, 240, 0, 0, - 0, 0, 0, 135, 240, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 255, - 127, 0, 0, 0, 0, 0, 120, 38, 0, 32, 0, 0, 128, 239, 31, 0, - 0, 0, 8, 0, 0, 0, 192, 127, 0, 158, 0, 0, 0, 128, 211, 64, - 248, 7, 0, 0, 192, 31, 31, 0, 92, 0, 0, 64, 0, 0, 248, 133, - 13, 0, 0, 0, 0, 0, 60, 176, 1, 0, 0, 48, 0, 0, 248, 167, - 0, 40, 191, 0, 188, 15, 0, 0, 0, 128, 255, 6, 0, 0, 0, 88, - 0, 0, 240, 12, 254, 7, 0, 0, 0, 0, 248, 121, 128, 0, 126, 14, - 0, 252, 127, 3, 0, 0, 127, 191, 255, 252, 109, 0, 0, 0, 126, 180, - 191, 0, 0, 0, 0, 0, 163, 0, 0, 0, 24, 0, 0, 0, 255, 1, - 0, 0, 31, 0, 0, 0, 127, 0, 0, 128, 255, 255, 27, 0, 0, 0, - 0, 0, 0, 96, 128, 3, 248, 255, 231, 15, 0, 0, 0, 60, 0, 0, - 28, 0, 0, 0, 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, - 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 0, 0, 255, 63, - 0, 240, 0, 0, 240, 15, 0, 0 + 0, 0, 192, 255, 255, 63, 0, 0, 0, 0, 0, 14, 0, 1, 3, 255, + 0, 254, 255, 255, 7, 0, 0, 0, 0, 0, 0, 20, 254, 33, 254, 0, + 12, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 16, 30, 32, 0, 0, + 12, 0, 0, 64, 6, 0, 0, 0, 134, 57, 2, 0, 0, 0, 35, 0, + 190, 33, 0, 0, 12, 0, 0, 252, 0, 0, 0, 144, 30, 32, 96, 0, + 12, 0, 0, 0, 4, 0, 0, 0, 1, 32, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 208, 193, 61, 96, 0, 64, 48, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 24, 0, 4, 92, 0, 0, 0, 242, 7, 192, 127, 0, 0, + 0, 0, 242, 31, 64, 63, 0, 0, 0, 0, 0, 3, 0, 0, 160, 2, + 0, 0, 254, 127, 223, 224, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, + 0, 224, 253, 102, 0, 0, 0, 195, 1, 0, 30, 0, 100, 32, 0, 32, + 0, 0, 0, 224, 0, 0, 28, 0, 0, 0, 12, 0, 0, 0, 176, 63, + 64, 254, 143, 32, 0, 248, 0, 0, 8, 0, 0, 0, 96, 0, 0, 0, + 0, 2, 0, 0, 135, 1, 4, 14, 0, 0, 128, 9, 0, 0, 64, 127, + 229, 31, 248, 159, 128, 0, 255, 255, 255, 127, 0, 0, 15, 0, 0, 0, + 0, 0, 208, 23, 0, 248, 15, 0, 60, 59, 0, 0, 64, 163, 3, 0, + 0, 240, 207, 0, 0, 0, 0, 63, 0, 0, 247, 255, 253, 33, 16, 3, + 0, 240, 255, 255, 255, 7, 0, 1, 0, 0, 0, 248, 0, 0, 0, 160, + 3, 224, 0, 224, 0, 224, 0, 96, 0, 248, 0, 3, 144, 124, 0, 0, + 223, 255, 2, 128, 0, 0, 255, 31, 255, 255, 1, 0, 0, 0, 0, 48, + 0, 128, 3, 0, 0, 128, 0, 128, 0, 128, 0, 0, 32, 0, 0, 0, + 0, 60, 62, 8, 0, 0, 0, 126, 0, 0, 0, 112, 0, 0, 32, 0, + 0, 16, 0, 0, 0, 128, 247, 191, 0, 0, 0, 240, 0, 0, 3, 0, + 0, 7, 0, 0, 0, 0, 28, 3, 68, 8, 0, 0, 96, 16, 0, 0, + 48, 0, 0, 0, 255, 255, 3, 128, 192, 63, 0, 0, 128, 255, 3, 0, + 0, 0, 200, 51, 0, 126, 102, 0, 8, 16, 0, 0, 0, 0, 1, 16, + 0, 0, 157, 193, 2, 0, 0, 32, 0, 48, 88, 0, 0, 14, 0, 0, + 32, 33, 0, 0, 0, 0, 252, 255, 255, 255, 8, 0, 255, 255, 0, 0, + 0, 0, 36, 0, 0, 0, 0, 128, 0, 0, 0, 192, 8, 0, 0, 14, + 0, 0, 0, 32, 0, 0, 192, 7, 191, 255, 255, 255, 255, 255, 253, 7, + 110, 240, 0, 0, 0, 0, 0, 135, 240, 0, 0, 0, 0, 24, 0, 0, + 60, 0, 0, 0, 0, 0, 0, 255, 127, 0, 0, 0, 0, 0, 25, 128, + 0, 0, 120, 38, 4, 32, 0, 0, 128, 239, 31, 0, 0, 0, 8, 0, + 0, 0, 192, 127, 0, 158, 0, 0, 0, 128, 211, 64, 248, 7, 0, 0, + 192, 31, 31, 0, 92, 0, 0, 64, 0, 0, 248, 133, 13, 0, 0, 0, + 0, 0, 60, 176, 1, 0, 0, 48, 0, 0, 248, 167, 0, 40, 191, 0, + 188, 15, 0, 0, 0, 128, 255, 6, 0, 0, 0, 88, 0, 0, 240, 12, + 254, 7, 0, 0, 0, 0, 248, 121, 128, 0, 126, 14, 0, 252, 127, 3, + 0, 0, 127, 191, 255, 252, 109, 0, 0, 0, 126, 180, 191, 0, 0, 0, + 0, 0, 163, 0, 0, 0, 24, 0, 0, 0, 255, 1, 0, 0, 31, 0, + 0, 0, 127, 0, 0, 128, 255, 255, 27, 0, 0, 0, 0, 0, 239, 111, + 0, 0, 0, 96, 255, 63, 255, 255, 128, 3, 248, 255, 231, 15, 0, 0, + 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 127, 248, 255, 31, 32, 0, + 16, 0, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, + 0, 0, 255, 63, 0, 64, 0, 0, 0, 240, 0, 0, 240, 15, 0, 0 }; RE_UINT32 re_get_case_ignorable(RE_UINT32 codepoint) { @@ -6546,25 +6701,25 @@ static RE_UINT8 re_changes_when_casefolded_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 42, 0, 43, 4, 4, 4, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 20, 21, 0, 42, 4, 4, 4, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 45, 46, 0, 0, 0, 0, 47, 4, 48, 49, 50, 51, 2, + 0, 0, 4, 44, 45, 0, 0, 0, 0, 46, 4, 47, 48, 49, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 20, 20, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 20, 54, 0, 0, 0, 52, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 20, 53, 0, 0, 0, 51, 54, 0, 0, 0, 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 20, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 20, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 20, 57, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6579,11 +6734,11 @@ static RE_UINT8 re_changes_when_casefolded_table_3[] = { 0, 0, 0, 63, 255, 1, 255, 255, 255, 255, 255, 231, 85, 85, 21, 76, 0, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 170, 0, 255, 0, 0, 255, 255, 156, 31, 156, 31, 0, 15, 0, 31, 156, 31, 64, 12, 4, 0, - 8, 0, 0, 0, 0, 0, 192, 255, 255, 127, 0, 0, 157, 234, 37, 192, - 5, 40, 4, 0, 85, 21, 0, 0, 85, 85, 85, 5, 84, 85, 84, 85, - 85, 85, 0, 106, 85, 40, 69, 85, 85, 125, 95, 85, 244, 2, 0, 0, - 0, 0, 255, 255, 127, 0, 248, 0, 255, 0, 0, 0, 255, 255, 15, 0, - 255, 255, 7, 0, 3, 0, 0, 0 + 8, 0, 0, 0, 0, 0, 192, 255, 157, 234, 37, 192, 5, 40, 4, 0, + 85, 21, 0, 0, 85, 85, 85, 5, 84, 85, 84, 85, 85, 85, 0, 106, + 85, 40, 69, 85, 85, 125, 95, 85, 245, 2, 65, 1, 0, 0, 255, 255, + 127, 0, 248, 0, 255, 0, 0, 0, 255, 255, 15, 0, 0, 0, 255, 247, + 255, 247, 55, 0, 255, 255, 7, 0, 3, 0, 0, 0 }; RE_UINT32 re_get_changes_when_casefolded(RE_UINT32 codepoint) { @@ -6692,25 +6847,25 @@ static RE_UINT8 re_changes_when_casemapped_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 4, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 40, 41, 42, 4, 4, 4, 43, 4, 44, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 40, 4, 4, 4, 41, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 45, 46, 0, 0, 0, 0, 47, 4, 48, 49, 40, 50, 51, + 0, 0, 4, 43, 44, 0, 0, 0, 0, 45, 4, 46, 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 4, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 52, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, - 4, 4, 55, 0, 0, 53, 56, 46, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 54, 0, 0, 52, 55, 44, 0, 0, 0, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 57, 4, 57, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 59, 4, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 58, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6725,11 +6880,12 @@ static RE_UINT8 re_changes_when_casemapped_table_3[] = { 0, 0, 0, 34, 0, 64, 0, 0, 255, 255, 255, 79, 63, 63, 255, 170, 255, 255, 255, 63, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 64, 12, 4, 0, 24, 0, 0, 0, 0, 0, 192, 255, 255, 3, 0, 0, - 255, 127, 255, 255, 255, 255, 255, 127, 255, 255, 109, 192, 15, 120, 12, 0, - 191, 32, 0, 0, 255, 63, 0, 0, 255, 255, 255, 15, 252, 255, 252, 255, - 255, 255, 0, 254, 255, 56, 223, 255, 252, 7, 0, 0, 0, 0, 96, 0, - 0, 0, 8, 0, 0, 0, 255, 255, 127, 0, 248, 0, 255, 255, 0, 0, - 255, 255, 15, 255, 255, 255, 7, 0, 15, 0, 0, 0 + 255, 255, 109, 192, 15, 120, 12, 0, 191, 32, 0, 0, 255, 63, 0, 0, + 255, 255, 255, 15, 252, 255, 252, 255, 255, 255, 0, 254, 255, 56, 223, 255, + 255, 127, 255, 255, 255, 7, 195, 3, 0, 0, 96, 0, 0, 0, 8, 0, + 0, 0, 255, 255, 127, 0, 248, 0, 255, 255, 0, 0, 255, 255, 15, 255, + 0, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, 255, 255, 7, 0, + 15, 0, 0, 0 }; RE_UINT32 re_get_changes_when_casemapped(RE_UINT32 codepoint) { @@ -6838,21 +6994,21 @@ static RE_UINT8 re_changes_when_lowercased_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 18, 39, 0, 40, 3, 3, 3, 41, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 19, 0, 39, 3, 3, 3, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 42, 43, 0, 0, 0, 0, 44, 3, 45, 46, 47, 48, 49, + 0, 0, 3, 41, 42, 0, 0, 0, 0, 43, 3, 44, 45, 46, 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 18, 50, 0, 0, 0, 26, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 49, 0, 0, 0, 26, 50, 0, 0, 0, 0, 51, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 18, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 18, 53, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -6866,11 +7022,11 @@ static RE_UINT8 re_changes_when_lowercased_table_3[] = { 191, 32, 0, 0, 255, 255, 63, 0, 0, 0, 255, 255, 255, 255, 255, 231, 85, 85, 21, 64, 0, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 170, 0, 255, 0, 0, 0, 255, 0, 31, 0, 31, 0, 15, 0, 31, 0, 31, - 64, 12, 4, 0, 8, 0, 0, 0, 0, 0, 192, 255, 255, 127, 0, 0, - 157, 234, 37, 192, 5, 40, 4, 0, 85, 21, 0, 0, 85, 85, 85, 5, - 84, 85, 84, 85, 85, 85, 0, 106, 85, 40, 69, 85, 85, 125, 95, 85, - 244, 2, 0, 0, 0, 0, 32, 0, 255, 0, 0, 0, 255, 255, 15, 0, - 255, 255, 7, 0, 3, 0, 0, 0 + 64, 12, 4, 0, 8, 0, 0, 0, 0, 0, 192, 255, 157, 234, 37, 192, + 5, 40, 4, 0, 85, 21, 0, 0, 85, 85, 85, 5, 84, 85, 84, 85, + 85, 85, 0, 106, 85, 40, 69, 85, 85, 125, 95, 85, 245, 2, 65, 1, + 0, 0, 32, 0, 255, 0, 0, 0, 255, 255, 15, 0, 0, 0, 255, 247, + 255, 247, 55, 0, 255, 255, 7, 0, 3, 0, 0, 0 }; RE_UINT32 re_get_changes_when_lowercased(RE_UINT32 codepoint) { @@ -6979,25 +7135,25 @@ static RE_UINT8 re_changes_when_titlecased_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 23, 44, 45, 5, 5, 5, 46, 24, 47, 0, 0, 0, 0, 0, 0, + 0, 23, 24, 44, 5, 5, 5, 45, 24, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 48, 49, 0, 0, 0, 0, 50, 5, 51, 52, 53, 54, 55, + 0, 0, 5, 47, 48, 0, 0, 0, 0, 49, 5, 50, 51, 52, 53, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 23, 24, 24, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 23, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 58, 59, 0, 0, 0, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 57, 58, 0, 0, 0, 59, 60, 0, 0, 0, 0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -7013,12 +7169,12 @@ static RE_UINT8 re_changes_when_titlecased_table_3[] = { 0, 0, 0, 34, 0, 64, 0, 0, 170, 170, 234, 15, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 255, 0, 255, 0, 255, 63, 255, 0, 223, 64, 220, 0, 207, 0, 255, 0, 220, 0, 16, 0, 0, 0, 255, 3, 0, 0, - 255, 255, 255, 127, 98, 21, 72, 0, 10, 80, 8, 0, 191, 32, 0, 0, - 170, 42, 0, 0, 170, 170, 170, 10, 168, 170, 168, 170, 170, 170, 0, 148, - 170, 16, 154, 170, 170, 2, 160, 170, 8, 5, 0, 0, 0, 0, 64, 0, - 0, 0, 8, 0, 127, 0, 248, 0, 0, 255, 255, 255, 255, 255, 0, 0, - 0, 0, 0, 255, 255, 255, 255, 15, 255, 255, 7, 0, 252, 255, 255, 255, - 15, 0, 0, 0 + 98, 21, 72, 0, 10, 80, 8, 0, 191, 32, 0, 0, 170, 42, 0, 0, + 170, 170, 170, 10, 168, 170, 168, 170, 170, 170, 0, 148, 170, 16, 154, 170, + 170, 2, 160, 170, 10, 5, 130, 2, 0, 0, 64, 0, 0, 0, 8, 0, + 127, 0, 248, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 15, 0, 0, 128, 255, 251, 255, 251, 27, 255, 255, 7, 0, + 252, 255, 255, 255, 15, 0, 0, 0 }; RE_UINT32 re_get_changes_when_titlecased(RE_UINT32 codepoint) { @@ -7127,25 +7283,25 @@ static RE_UINT8 re_changes_when_uppercased_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 23, 45, 46, 5, 5, 5, 47, 24, 48, 0, 0, 0, 0, 0, 0, + 0, 23, 24, 45, 5, 5, 5, 46, 24, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 49, 50, 0, 0, 0, 0, 51, 5, 52, 53, 54, 55, 56, + 0, 0, 5, 48, 49, 0, 0, 0, 0, 50, 5, 51, 52, 53, 54, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 23, 24, 24, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 23, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 59, 60, 0, 0, 0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 58, 59, 0, 0, 0, 60, 61, 0, 0, 0, 0, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -7161,12 +7317,12 @@ static RE_UINT8 re_changes_when_uppercased_table_3[] = { 255, 1, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 170, 170, 234, 15, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 255, 0, 255, 0, 255, 63, 255, 255, 223, 80, 220, 16, 207, 0, 255, 0, 220, 16, 16, 0, 0, 0, - 255, 3, 0, 0, 255, 255, 255, 127, 98, 21, 72, 0, 10, 80, 8, 0, - 191, 32, 0, 0, 170, 42, 0, 0, 170, 170, 170, 10, 168, 170, 168, 170, - 170, 170, 0, 148, 170, 16, 154, 170, 170, 2, 160, 170, 8, 5, 0, 0, - 0, 0, 64, 0, 0, 0, 8, 0, 127, 0, 248, 0, 0, 255, 255, 255, - 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 255, 15, 255, 255, 7, 0, - 252, 255, 255, 255, 15, 0, 0, 0 + 255, 3, 0, 0, 98, 21, 72, 0, 10, 80, 8, 0, 191, 32, 0, 0, + 170, 42, 0, 0, 170, 170, 170, 10, 168, 170, 168, 170, 170, 170, 0, 148, + 170, 16, 154, 170, 170, 2, 160, 170, 10, 5, 130, 2, 0, 0, 64, 0, + 0, 0, 8, 0, 127, 0, 248, 0, 0, 255, 255, 255, 255, 255, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 15, 0, 0, 128, 255, 251, 255, 251, 27, + 255, 255, 7, 0, 252, 255, 255, 255, 15, 0, 0, 0 }; RE_UINT32 re_get_changes_when_uppercased(RE_UINT32 codepoint) { @@ -7274,11 +7430,11 @@ static RE_UINT8 re_dash_table_2[] = { 6, 0, 7, 8, 9, 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, - 11, 12, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 13, 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 15, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 15, 16, 17, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 16, 17, 18, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -7287,8 +7443,8 @@ static RE_UINT8 re_dash_table_3[] = { 0, 0, 0, 0, 0, 32, 0, 0, 0, 4, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 63, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, 0, 4, 0, 0, 0, 128, 4, - 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 1, 0, 0, 0, 6, 0, - 0, 0, 0, 1, 8, 0, 0, 0 + 0, 0, 0, 12, 1, 0, 0, 32, 0, 0, 0, 16, 0, 0, 1, 0, + 0, 0, 6, 0, 0, 0, 0, 1, 8, 0, 0, 0 }; RE_UINT32 re_get_dash(RE_UINT32 codepoint) { @@ -7316,14 +7472,14 @@ static RE_UINT8 re_decomposition_type_table_1[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 5, 5, 5, 5, 5, 5, 5, 5, 17, 18, - 5, 5, 5, 5, 19, 20, 21, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 19, 5, 5, 20, 21, 22, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 22, 23, 5, 5, 5, 5, 5, 24, 25, 5, 26, 5, + 5, 5, 5, 5, 23, 24, 5, 5, 5, 5, 5, 25, 26, 5, 27, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 27, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 28, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -7421,22 +7577,24 @@ static RE_UINT8 re_decomposition_type_table_2[] = { 124, 125, 60, 126, 60, 60, 62, 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, 135, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 158, 159, 160, 161, 162, 163, - 0, 0, 0, 0, 164, 165, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 165, 0, 0, + 0, 0, 0, 0, 166, 167, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 172, 0, 173, 174, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 175, 176, 175, 177, 178, 179, 175, 180, 181, 182, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 183, 175, 175, 175, 175, 175, 175, 175, 175, 184, 175, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 174, 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 179, 185, 186, 187, 188, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 190, 191, 192, 193, 194, 0, 0, 0, - 195, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 177, 177, 178, 177, 179, 180, 181, 177, 182, 183, 184, 177, 177, 177, 177, 177, + 177, 177, 177, 177, 177, 185, 177, 177, 177, 177, 177, 177, 177, 177, 186, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 181, 187, 188, 189, 190, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 192, 193, 194, 195, 196, 0, 0, 0, + 197, 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -7683,7 +7841,7 @@ static RE_UINT8 re_decomposition_type_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 3, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, @@ -7770,6 +7928,10 @@ static RE_UINT8 re_decomposition_type_table_3[] = { 0, 0, 17, 17, 17, 17, 17, 17, 0, 0, 17, 17, 17, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, @@ -7944,25 +8106,25 @@ static RE_UINT8 re_default_ignorable_code_point_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 7, 8, 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, 11, 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, - 10, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 12, - 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 11, + 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14 }; static RE_UINT8 re_default_ignorable_code_point_table_3[] = { 0, 0, 0, 0, 0, 32, 0, 0, 0, 128, 0, 0, 0, 0, 0, 16, - 0, 0, 0, 128, 1, 0, 0, 0, 0, 0, 48, 0, 0, 120, 0, 0, - 0, 248, 0, 0, 0, 124, 0, 0, 255, 255, 0, 0, 16, 0, 0, 0, - 0, 0, 255, 1, 15, 0, 0, 0, 0, 0, 248, 7, 255, 255, 255, 255 + 0, 0, 0, 128, 1, 0, 0, 0, 0, 0, 48, 0, 0, 248, 0, 0, + 0, 124, 0, 0, 255, 255, 0, 0, 16, 0, 0, 0, 0, 0, 255, 1, + 15, 0, 0, 0, 0, 0, 248, 7, 255, 255, 255, 255 }; RE_UINT32 re_get_default_ignorable_code_point(RE_UINT32 codepoint) { @@ -8012,10 +8174,10 @@ static RE_UINT8 re_diacritic_table_1[] = { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 13, 14, - 15, 8, 16, 17, 18, 19, 20, 21, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 22, 23, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 24, 8, 8, 8, 25, 8, 26, 8, 8, 8, 8, 8, + 15, 16, 17, 18, 19, 20, 21, 22, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 23, 24, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 25, 8, 8, 8, 8, + 8, 8, 8, 26, 27, 8, 8, 8, 28, 8, 29, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, @@ -8083,55 +8245,61 @@ static RE_UINT8 re_diacritic_table_2[] = { 0, 0, 0, 0, 0, 4, 5, 5, 5, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 11, 12, 13, 0, 0, 0, 14, 0, 0, 0, 15, 16, 0, 4, 17, 0, 0, 18, 0, 19, - 20, 0, 0, 0, 0, 0, 0, 21, 0, 22, 23, 24, 0, 22, 25, 0, - 0, 22, 25, 0, 0, 22, 25, 26, 0, 22, 27, 0, 0, 0, 25, 0, - 0, 0, 25, 0, 0, 22, 25, 0, 0, 28, 25, 0, 0, 0, 29, 0, - 0, 0, 30, 0, 0, 31, 32, 0, 20, 33, 0, 0, 34, 0, 35, 0, - 0, 36, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 41, 0, 42, 0, 0, 0, 43, 44, 45, 0, 46, 0, 0, - 0, 47, 0, 48, 0, 0, 4, 49, 0, 50, 5, 17, 0, 0, 51, 52, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 55, + 20, 0, 0, 0, 21, 0, 22, 23, 0, 24, 25, 26, 0, 24, 27, 0, + 0, 24, 27, 0, 0, 24, 27, 28, 0, 24, 29, 0, 0, 0, 27, 0, + 0, 24, 27, 0, 0, 24, 27, 0, 0, 30, 27, 0, 0, 0, 31, 0, + 0, 0, 32, 0, 0, 33, 34, 0, 20, 35, 0, 0, 36, 0, 37, 0, + 0, 38, 0, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 42, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 44, 0, 45, 46, 0, 0, 47, 48, 49, 0, 50, 0, 0, + 0, 51, 0, 52, 0, 0, 4, 53, 0, 54, 5, 17, 0, 0, 55, 56, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 58, 0, 0, 59, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 62, 0, 0, 63, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 60, 61, 0, 0, 62, 5, 63, 0, 0, 64, 0, 0, 20, - 0, 0, 0, 0, 0, 0, 44, 65, 0, 66, 67, 0, 0, 67, 2, 68, - 0, 0, 0, 69, 0, 15, 70, 71, 0, 0, 72, 73, 0, 0, 0, 74, + 0, 0, 0, 64, 65, 0, 0, 66, 5, 67, 0, 0, 68, 0, 0, 20, + 0, 0, 0, 0, 0, 0, 48, 69, 0, 70, 71, 0, 0, 71, 2, 72, + 0, 0, 0, 73, 0, 15, 74, 75, 0, 0, 76, 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 1, 2, 76, 77, 0, 0, 78, + 0, 79, 0, 0, 0, 0, 0, 0, 0, 1, 2, 80, 81, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 0, 0, 82, 0, 67, 0, 0, 83, 0, - 0, 84, 0, 0, 0, 0, 0, 85, 0, 22, 25, 86, 0, 0, 0, 0, - 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 15, 2, 0, - 0, 15, 0, 0, 0, 47, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 0, 0, 0, 0, 0, 0, 90, 78, 0, 0, 0, 0, 2, - 0, 43, 91, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 93, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 84, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 87, 0, 0, 0, + 0, 0, 37, 80, 0, 88, 0, 0, 0, 89, 0, 71, 0, 0, 90, 0, + 0, 91, 0, 0, 0, 0, 0, 92, 0, 24, 27, 93, 0, 0, 0, 0, + 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 15, 2, 0, + 0, 15, 0, 0, 0, 51, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, + 0, 88, 0, 0, 0, 0, 0, 0, 0, 97, 82, 0, 0, 0, 0, 2, + 0, 47, 98, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 95, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 101, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 62, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 98, 99, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5, 105, 106, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 108, 109, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 110, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -8141,27 +8309,30 @@ static RE_UINT8 re_diacritic_table_3[] = { 48, 0, 0, 0, 248, 0, 0, 0, 0, 0, 0, 2, 0, 0, 254, 255, 251, 255, 255, 191, 22, 0, 0, 0, 0, 248, 135, 1, 0, 0, 0, 128, 97, 28, 0, 0, 255, 7, 0, 0, 192, 255, 1, 0, 0, 248, 63, 0, - 0, 0, 0, 3, 248, 255, 255, 127, 0, 0, 0, 16, 0, 32, 30, 0, - 0, 0, 2, 0, 0, 32, 0, 0, 0, 0, 0, 224, 0, 32, 32, 0, - 0, 0, 0, 24, 0, 4, 0, 0, 128, 95, 0, 0, 0, 0, 0, 4, - 0, 31, 0, 0, 0, 0, 160, 194, 220, 0, 0, 0, 64, 0, 0, 0, - 0, 0, 128, 6, 24, 62, 0, 0, 128, 191, 0, 12, 0, 254, 15, 32, - 0, 0, 0, 14, 0, 0, 224, 159, 0, 0, 255, 63, 0, 0, 16, 0, + 0, 0, 0, 3, 0, 0, 0, 255, 0, 254, 7, 0, 248, 255, 255, 127, + 0, 0, 0, 16, 0, 32, 30, 0, 0, 0, 2, 0, 0, 32, 0, 0, + 0, 0, 0, 224, 0, 32, 32, 0, 0, 0, 0, 24, 0, 4, 0, 0, + 128, 95, 0, 0, 0, 0, 0, 4, 0, 31, 0, 0, 0, 0, 160, 194, + 220, 0, 0, 0, 64, 0, 0, 0, 0, 0, 128, 6, 24, 62, 0, 0, + 128, 191, 0, 12, 0, 0, 48, 0, 0, 254, 15, 32, 0, 0, 0, 14, + 0, 0, 224, 159, 0, 0, 255, 127, 254, 15, 0, 0, 0, 0, 16, 0, 16, 0, 0, 0, 0, 248, 15, 0, 0, 12, 0, 0, 0, 0, 192, 0, 0, 0, 0, 63, 255, 33, 144, 3, 0, 240, 255, 255, 240, 255, 0, 0, - 0, 0, 224, 227, 0, 0, 0, 160, 3, 224, 0, 224, 0, 224, 0, 96, + 0, 0, 224, 255, 0, 0, 0, 160, 3, 224, 0, 224, 0, 224, 0, 96, 0, 128, 3, 0, 0, 128, 0, 0, 0, 252, 0, 0, 0, 0, 0, 30, 0, 128, 0, 176, 0, 0, 0, 48, 0, 0, 3, 0, 3, 0, 0, 0, 0, 7, 0, 0, 255, 255, 3, 0, 0, 120, 0, 0, 0, 0, 8, 0, 32, 0, 0, 0, 0, 0, 0, 56, 7, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 248, 0, 14, 0, 0, 0, 48, 0, 0, 255, 255, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 192, 8, 0, 0, 0, 96, 0, 0, 0, - 252, 0, 0, 0, 0, 0, 0, 6, 0, 0, 24, 0, 1, 28, 0, 0, - 0, 0, 96, 0, 0, 6, 0, 0, 192, 31, 31, 0, 68, 0, 0, 0, - 12, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 96, 128, 0, 0, 0, - 52, 0, 0, 0, 0, 0, 128, 0, 0, 0, 31, 0, 0, 0, 127, 0, - 0, 128, 255, 255, 128, 227, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, - 0, 240, 0, 0, 112, 7, 0, 0 + 0, 0, 1, 0, 0, 0, 0, 192, 8, 0, 0, 0, 191, 255, 255, 255, + 255, 255, 253, 7, 96, 0, 0, 0, 252, 0, 0, 0, 60, 0, 0, 0, + 0, 0, 0, 6, 0, 0, 24, 0, 1, 28, 0, 0, 0, 0, 96, 0, + 0, 6, 0, 0, 192, 31, 31, 0, 68, 0, 0, 0, 12, 0, 0, 0, + 0, 8, 0, 0, 0, 0, 0, 96, 128, 0, 0, 0, 52, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 31, 0, 0, 0, 127, 0, 0, 128, 255, 255, + 0, 0, 239, 111, 255, 63, 255, 255, 127, 0, 0, 0, 128, 227, 7, 248, + 231, 15, 0, 0, 0, 60, 0, 0, 0, 64, 0, 0, 0, 240, 0, 0, + 112, 7, 0, 0 }; RE_UINT32 re_get_diacritic(RE_UINT32 codepoint) { @@ -8191,16 +8362,16 @@ static RE_UINT8 re_east_asian_width_table_1[] = { 9, 9, 9, 9, 9, 13, 2, 2, 14, 14, 14, 14, 14, 14, 15, 16, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 17, 9, 9, 9, 9, - 9, 18, 9, 19, 2, 2, 2, 2, 2, 2, 2, 2, 20, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 21, 22, 23, 2, + 9, 18, 9, 19, 2, 2, 2, 2, 2, 2, 2, 20, 21, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 22, 23, 24, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 24, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 24, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -8241,18 +8412,18 @@ static RE_UINT8 re_east_asian_width_table_1[] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 25, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 26, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 26, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 26 + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27 }; static RE_UINT8 re_east_asian_width_table_2[] = { @@ -8296,20 +8467,22 @@ static RE_UINT8 re_east_asian_width_table_2[] = { 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 97, 21, 21, 21, 21, 21, 21, 70, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 21, 21, 21, 21, 21, 21, 21, 21, 73, 0, 99, 100, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 0, 103, 0, 104, 105, 14, 106, 107, 108, 0, 0, - 109, 101, 110, 111, 0, 0, 0, 0, 21, 112, 21, 113, 69, 21, 114, 115, - 21, 73, 116, 21, 21, 21, 21, 117, 21, 118, 119, 120, 121, 102, 0, 122, - 21, 21, 123, 0, 21, 21, 124, 125, 0, 0, 0, 0, 0, 0, 0, 126, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, 21, 21, 131, 21, - 0, 0, 0, 132, 133, 134, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 100, 101, 102, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 103, 0, 0, 0, 0, 0, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 105, 0, 106, 107, 14, 108, 109, 110, 0, 0, + 111, 103, 112, 113, 0, 0, 0, 0, 21, 114, 21, 115, 69, 21, 116, 117, + 21, 73, 118, 21, 21, 21, 21, 119, 21, 120, 121, 122, 123, 104, 0, 124, + 21, 21, 125, 0, 21, 21, 126, 127, 0, 0, 0, 0, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 131, 21, 21, 21, 21, 21, + 0, 0, 0, 132, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 118, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 120, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 136 + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 137 }; static RE_UINT8 re_east_asian_width_table_3[] = { @@ -8512,6 +8685,10 @@ static RE_UINT8 re_east_asian_width_table_3[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 0, + 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -8562,28 +8739,26 @@ static RE_UINT8 re_east_asian_width_table_3[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, - 3, 3, 3, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0 @@ -8695,8 +8870,8 @@ static RE_UINT8 re_emoji_table_2[] = { 39, 40, 41, 0, 0, 0, 0, 0, 42, 43, 42, 42, 44, 42, 42, 45, 42, 42, 42, 42, 42, 42, 42, 46, 42, 47, 48, 49, 50, 51, 52, 53, 42, 42, 54, 0, 42, 42, 55, 56, 0, 0, 0, 0, 0, 0, 0, 57, - 0, 0, 0, 0, 0, 0, 0, 0, 58, 59, 60, 61, 42, 42, 62, 42, - 0, 0, 0, 63, 64, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 58, 59, 60, 42, 42, 42, 42, 42, + 0, 0, 0, 61, 62, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_emoji_table_3[] = { @@ -8713,10 +8888,10 @@ static RE_UINT8 re_emoji_table_3[] = { 0, 128, 252, 7, 0, 0, 3, 0, 255, 255, 255, 255, 243, 255, 255, 255, 255, 255, 207, 206, 255, 255, 185, 255, 255, 255, 255, 191, 255, 255, 255, 63, 0, 126, 255, 255, 255, 128, 249, 7, 128, 60, 97, 0, 48, 1, 6, 16, - 28, 0, 14, 112, 10, 129, 8, 252, 255, 255, 0, 0, 63, 248, 231, 0, - 63, 26, 249, 31, 255, 15, 0, 0, 0, 240, 255, 255, 255, 255, 255, 247, - 191, 255, 255, 255, 255, 255, 255, 253, 255, 239, 255, 255, 0, 0, 31, 7, - 127, 0, 255, 255, 255, 1, 127, 0, 7, 0, 127, 0 + 28, 0, 14, 112, 10, 129, 8, 252, 255, 255, 0, 0, 63, 248, 231, 224, + 63, 26, 249, 31, 255, 15, 1, 0, 0, 240, 255, 255, 255, 255, 255, 247, + 191, 255, 255, 255, 0, 0, 31, 31, 127, 0, 255, 255, 255, 31, 255, 7, + 63, 0, 255, 3, 255, 0, 127, 0 }; RE_UINT32 re_get_emoji(RE_UINT32 codepoint) { @@ -8942,7 +9117,7 @@ static RE_UINT8 re_emoji_modifier_base_table_2[] = { 0, 0, 6, 7, 8, 9, 0, 0, 0, 0, 0, 10, 11, 0, 0, 0, 0, 0, 12, 0, 0, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 0, 17, 0, 18, 19, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_emoji_modifier_base_table_3[] = { @@ -8950,7 +9125,8 @@ static RE_UINT8 re_emoji_modifier_base_table_3[] = { 32, 0, 0, 0, 156, 28, 0, 0, 204, 255, 1, 0, 192, 255, 255, 17, 238, 128, 2, 0, 0, 4, 0, 0, 0, 0, 48, 4, 0, 0, 97, 0, 224, 248, 0, 0, 8, 0, 112, 0, 1, 16, 0, 0, 0, 144, 0, 255, - 64, 0, 255, 115, 0, 0, 128, 0, 0, 0, 96, 11, 0, 224, 254, 63 + 64, 0, 255, 115, 0, 0, 128, 0, 0, 0, 96, 11, 0, 224, 254, 63, + 56, 0, 0, 0, 0, 0, 127, 0 }; RE_UINT32 re_get_emoji_modifier_base(RE_UINT32 codepoint) { @@ -9057,8 +9233,8 @@ static RE_UINT8 re_emoji_presentation_table_2[] = { 22, 23, 24, 0, 0, 0, 0, 0, 25, 26, 25, 27, 28, 25, 29, 30, 25, 31, 32, 25, 25, 25, 25, 33, 25, 34, 35, 36, 37, 18, 0, 38, 25, 25, 39, 0, 25, 25, 40, 41, 0, 0, 0, 0, 0, 0, 0, 42, - 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 25, 25, 47, 25, - 0, 0, 0, 48, 49, 50, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 25, 25, 25, 25, 25, + 0, 0, 0, 46, 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_emoji_presentation_table_3[] = { @@ -9072,9 +9248,9 @@ static RE_UINT8 re_emoji_presentation_table_3[] = { 255, 255, 15, 0, 255, 135, 15, 0, 255, 255, 17, 255, 255, 255, 255, 127, 253, 255, 255, 255, 255, 255, 255, 159, 255, 255, 255, 63, 0, 120, 255, 255, 255, 0, 0, 4, 0, 0, 96, 0, 0, 0, 0, 248, 255, 255, 0, 0, - 63, 16, 231, 0, 0, 24, 240, 31, 255, 15, 0, 0, 0, 240, 255, 255, - 255, 255, 255, 247, 191, 255, 255, 255, 255, 255, 255, 253, 255, 239, 255, 255, - 0, 0, 31, 7, 127, 0, 255, 255, 255, 1, 127, 0, 7, 0, 127, 0 + 63, 16, 231, 224, 0, 24, 240, 31, 255, 15, 1, 0, 0, 240, 255, 255, + 255, 255, 255, 247, 191, 255, 255, 255, 0, 0, 31, 31, 127, 0, 255, 255, + 255, 31, 255, 7, 63, 0, 255, 3, 255, 0, 127, 0 }; RE_UINT32 re_get_emoji_presentation(RE_UINT32 codepoint) { @@ -9232,10 +9408,10 @@ static RE_UINT8 re_extender_table_1[] = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 9, 10, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, - 4, 4, 4, 4, 12, 13, 14, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 15, 16, 4, 4, 4, 4, + 4, 12, 4, 4, 13, 14, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 16, 17, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 17, 4, 18, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 18, 4, 19, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -9324,18 +9500,20 @@ static RE_UINT8 re_extender_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -9345,8 +9523,8 @@ static RE_UINT8 re_extender_table_3[] = { 8, 0, 0, 0, 128, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 8, 32, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 96, 0, 0, 0, 112, 0, 16, 0, 0, 0, 128, 0, 0, 0, 0, 1, 0, 0, 0, 0, 32, - 0, 0, 24, 0, 192, 1, 0, 0, 0, 0, 0, 1, 12, 0, 0, 0, - 11, 0, 0, 0, 0, 0, 0, 48, 112, 0, 0, 0 + 0, 0, 24, 0, 6, 0, 0, 0, 192, 1, 0, 0, 0, 0, 0, 1, + 12, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 48, 112, 0, 0, 0 }; RE_UINT32 re_get_extender(RE_UINT32 codepoint) { @@ -9372,72 +9550,72 @@ RE_UINT32 re_get_extender(RE_UINT32 codepoint) { static RE_UINT8 re_general_category_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 19, 20, 20, 21, 21, 21, 21, 21, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 34, 13, 35, 34, 34, - 34, 36, 34, 34, 34, 34, 34, 34, 34, 34, 37, 38, 13, 13, 13, 13, - 13, 39, 13, 40, 34, 34, 34, 34, 34, 34, 34, 34, 41, 34, 34, 42, - 34, 34, 34, 34, 43, 44, 45, 34, 46, 34, 47, 48, 49, 50, 51, 34, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 52, 13, 13, 13, 53, 54, 13, - 13, 13, 13, 55, 13, 13, 13, 13, 13, 13, 56, 34, 34, 34, 57, 34, - 13, 13, 13, 13, 58, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 59, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 60, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 60 + 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 18, 19, 19, 20, 20, 20, 20, 20, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 13, 35, 33, 33, + 33, 36, 33, 33, 33, 33, 33, 33, 33, 33, 37, 38, 13, 13, 13, 13, + 13, 39, 13, 40, 33, 33, 33, 33, 33, 33, 33, 41, 42, 33, 33, 43, + 33, 33, 33, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 33, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 56, 13, 13, 13, 57, 58, 13, + 13, 13, 13, 59, 13, 13, 13, 13, 13, 13, 60, 33, 33, 33, 61, 33, + 13, 13, 13, 13, 62, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 63, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 64, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 64 }; static RE_UINT16 re_general_category_table_2[] = { @@ -9445,124 +9623,132 @@ static RE_UINT16 re_general_category_table_2[] = { 7, 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 23, 24, 25, 26, 27, 28, 29, 17, 7, 30, 7, 31, 7, 7, 32, 33, 17, 34, 35, 36, 37, 38, 39, 40, 41, 39, 39, 42, 43, 44, 45, 46, 39, 39, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 54, 101, 102, 103, 54, 104, 105, 106, 107, 108, 109, 110, 54, + 50, 51, 52, 53, 54, 39, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 100, 104, 105, 106, 107, 108, 109, 110, 100, 39, 111, 112, 113, 114, 28, 115, 116, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 117, 39, 118, 119, 120, 39, 121, 39, 122, 123, 124, 28, 28, 125, 126, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 127, 128, 39, 39, 129, 130, 131, 132, 133, 39, 134, 135, 136, 137, 39, 138, 139, 140, 141, 39, 142, 143, 144, 145, 146, 39, 147, 148, 149, - 150, 39, 151, 152, 153, 154, 155, 54, 156, 157, 158, 159, 160, 161, 39, 162, - 39, 163, 164, 165, 166, 167, 168, 169, 17, 170, 171, 172, 173, 171, 22, 174, - 7, 7, 7, 7, 175, 7, 7, 7, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 200, 200, 200, 200, 200, 200, 200, 201, 202, 149, 203, 204, 205, 206, 207, - 149, 208, 209, 210, 211, 149, 149, 212, 149, 149, 149, 149, 149, 213, 214, 215, - 149, 149, 149, 216, 149, 149, 149, 149, 149, 149, 149, 217, 218, 149, 219, 220, - 149, 149, 149, 149, 149, 149, 149, 149, 200, 200, 200, 200, 221, 200, 222, 223, - 200, 200, 200, 200, 200, 200, 200, 200, 149, 224, 225, 226, 227, 149, 149, 149, - 28, 228, 229, 230, 7, 7, 7, 231, 17, 232, 39, 233, 234, 235, 235, 22, - 236, 237, 238, 54, 239, 149, 149, 240, 149, 149, 149, 149, 149, 149, 241, 242, - 243, 244, 98, 39, 245, 126, 39, 246, 247, 248, 39, 39, 249, 39, 149, 250, - 251, 252, 253, 149, 252, 254, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 150, 39, 151, 152, 153, 154, 155, 100, 156, 157, 158, 159, 160, 161, 39, 162, + 39, 163, 164, 165, 166, 167, 168, 169, 17, 170, 171, 172, 173, 171, 22, 22, + 7, 7, 7, 7, 174, 7, 7, 7, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 199, 199, 199, 199, 199, 199, 199, 200, 201, 149, 202, 203, 204, 205, 206, + 149, 207, 208, 209, 210, 149, 149, 211, 149, 149, 149, 149, 149, 212, 213, 214, + 149, 149, 149, 215, 149, 149, 149, 149, 149, 149, 149, 216, 217, 149, 218, 219, + 149, 149, 149, 149, 149, 149, 149, 149, 199, 199, 199, 199, 220, 199, 221, 222, + 199, 199, 199, 199, 199, 199, 199, 199, 149, 223, 224, 225, 226, 149, 149, 149, + 28, 29, 17, 227, 7, 7, 7, 228, 17, 229, 39, 230, 231, 232, 232, 22, + 233, 234, 235, 100, 236, 149, 149, 237, 149, 149, 149, 149, 149, 149, 238, 239, + 240, 241, 97, 39, 242, 126, 39, 243, 244, 245, 39, 39, 246, 39, 149, 247, + 248, 249, 250, 149, 249, 251, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 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, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 149, 149, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 252, 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, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 255, - 256, 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, 257, 149, 258, 165, 39, 39, 39, 39, 39, 39, 39, 39, - 259, 260, 7, 261, 262, 39, 39, 263, 264, 265, 7, 266, 267, 268, 269, 270, - 271, 272, 39, 273, 274, 275, 276, 277, 48, 278, 279, 255, 58, 280, 281, 282, - 39, 283, 284, 285, 39, 286, 287, 288, 289, 290, 291, 292, 17, 17, 39, 293, + 39, 39, 39, 39, 253, 149, 254, 165, 39, 39, 39, 39, 39, 39, 39, 39, + 255, 256, 7, 257, 258, 39, 39, 259, 260, 261, 7, 262, 263, 264, 265, 266, + 267, 268, 39, 269, 270, 271, 272, 273, 48, 274, 275, 276, 57, 277, 278, 279, + 39, 280, 281, 282, 39, 283, 284, 285, 286, 287, 288, 289, 17, 17, 39, 290, 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, 294, 295, 296, - 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 299, 39, 39, 300, 54, 301, 302, 303, 39, 39, 304, 305, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 306, 307, 39, 308, 39, 309, 310, - 311, 312, 313, 314, 39, 39, 39, 315, 316, 2, 317, 318, 319, 143, 320, 321, - 322, 323, 324, 54, 39, 39, 39, 325, 326, 327, 195, 328, 329, 330, 331, 332, - 54, 54, 54, 54, 255, 39, 333, 334, 39, 335, 336, 337, 338, 39, 339, 54, - 28, 340, 341, 39, 342, 343, 344, 345, 39, 346, 39, 347, 54, 54, 54, 54, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 234, 142, 309, 54, 54, 54, 54, - 348, 349, 350, 351, 143, 352, 54, 353, 354, 355, 54, 54, 39, 356, 357, 210, - 358, 359, 360, 361, 362, 54, 363, 364, 39, 365, 366, 367, 368, 369, 54, 54, - 39, 39, 370, 54, 28, 371, 17, 372, 39, 373, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 374, 39, 375, 54, 54, 362, 376, 377, 54, 54, 307, 378, 234, - 379, 380, 381, 382, 160, 383, 384, 385, 386, 387, 388, 389, 160, 390, 391, 392, - 393, 394, 54, 54, 395, 396, 397, 398, 399, 400, 401, 402, 54, 54, 54, 54, - 39, 403, 404, 405, 39, 406, 407, 54, 54, 54, 54, 54, 39, 408, 409, 54, - 39, 410, 411, 412, 39, 413, 414, 54, 122, 415, 54, 54, 54, 54, 54, 54, - 39, 416, 54, 54, 54, 28, 17, 417, 418, 419, 420, 54, 54, 421, 422, 423, - 424, 425, 426, 39, 427, 428, 39, 139, 54, 54, 54, 54, 54, 54, 54, 54, - 429, 430, 431, 432, 433, 434, 54, 54, 435, 436, 437, 438, 439, 414, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 440, 54, 54, 54, 54, 54, 441, 442, 443, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 291, 292, 293, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 296, 39, 39, 297, 100, 298, 299, 300, 39, 39, 301, 302, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 303, 304, 39, 305, 39, 306, 307, + 308, 309, 310, 311, 39, 39, 39, 312, 313, 2, 314, 315, 316, 143, 317, 318, + 319, 320, 321, 100, 39, 39, 39, 322, 323, 324, 194, 325, 326, 327, 328, 329, + 100, 100, 100, 100, 276, 39, 330, 331, 39, 332, 333, 334, 335, 39, 336, 100, + 28, 337, 338, 39, 339, 340, 341, 342, 39, 343, 39, 344, 345, 346, 100, 100, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 231, 142, 347, 348, 349, 100, 100, + 350, 351, 352, 353, 143, 354, 100, 355, 356, 357, 100, 100, 39, 358, 359, 209, + 360, 361, 362, 363, 364, 100, 365, 366, 39, 367, 368, 369, 370, 371, 100, 100, + 39, 39, 372, 100, 28, 373, 17, 374, 39, 375, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 376, 39, 377, 100, 100, 364, 378, 379, 380, 381, 380, 382, 231, + 383, 384, 385, 386, 160, 387, 388, 389, 390, 391, 392, 393, 160, 394, 395, 396, + 397, 398, 100, 100, 399, 400, 401, 402, 403, 404, 405, 406, 100, 100, 100, 100, + 39, 407, 408, 409, 39, 410, 411, 100, 100, 100, 100, 100, 39, 412, 413, 100, + 39, 414, 415, 416, 39, 417, 418, 100, 122, 419, 420, 100, 100, 100, 100, 100, + 39, 421, 100, 100, 100, 28, 17, 422, 423, 424, 425, 100, 100, 426, 427, 428, + 429, 430, 431, 39, 432, 433, 39, 139, 100, 100, 100, 100, 100, 100, 100, 100, + 434, 435, 436, 437, 438, 439, 100, 100, 440, 441, 442, 443, 444, 418, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 445, 100, 100, 100, 100, 100, 446, 447, 448, 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, 300, 54, 54, 54, - 195, 195, 195, 444, 39, 39, 39, 39, 39, 39, 445, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 39, 446, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 297, 100, 100, 100, + 194, 194, 194, 449, 39, 39, 39, 39, 39, 39, 450, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 380, 39, 39, 451, + 39, 452, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 447, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 39, 39, 420, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 139, 143, 448, 54, 54, 307, 449, 39, 450, 451, 452, 453, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 28, 17, 454, 54, 54, 54, 39, 39, 455, 456, 457, 54, 54, 458, + 39, 139, 143, 453, 39, 143, 454, 455, 39, 456, 457, 458, 459, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 28, 17, 460, 100, 100, 100, 39, 39, 461, 462, 463, 100, 100, 464, 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, 459, - 39, 39, 39, 39, 39, 39, 142, 54, 370, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 39, 39, 39, 39, 39, 39, 39, 39, 143, 54, 460, 461, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 296, 54, 54, 54, 54, 54, 54, 54, 54, - 39, 39, 39, 462, 463, 464, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 149, 149, 149, 149, 149, 149, 149, 241, 149, 465, 149, 466, 467, 468, 149, 469, - 149, 149, 470, 54, 54, 54, 54, 471, 149, 149, 472, 473, 54, 54, 54, 54, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 474, 475, 487, - 477, 488, 489, 490, 481, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 465, + 39, 39, 39, 39, 39, 39, 142, 100, 372, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 466, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 467, 468, 469, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 293, 100, 100, 100, 100, 100, 100, 100, 100, + 39, 39, 39, 470, 471, 472, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 22, 473, 474, 149, 149, 149, 475, 100, + 149, 149, 149, 149, 149, 149, 149, 238, 149, 476, 149, 477, 478, 479, 149, 208, + 149, 149, 480, 100, 100, 100, 100, 481, 149, 149, 482, 483, 100, 100, 100, 100, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 484, 485, 497, + 487, 498, 499, 500, 491, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 22, 502, 22, 503, 504, 505, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 506, 507, 54, 54, 54, 54, 54, 54, 39, 508, 509, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 39, 510, 54, 54, 54, 54, 54, 54, 54, 54, - 39, 39, 39, 39, 39, 39, 511, 54, 28, 512, 513, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 514, 210, 515, 54, 54, 516, 517, 54, 54, 54, 54, 54, 54, - 518, 519, 520, 521, 522, 523, 54, 524, 54, 54, 54, 54, 54, 54, 54, 54, - 149, 525, 149, 149, 240, 526, 527, 241, 528, 149, 149, 149, 149, 529, 54, 530, - 531, 532, 533, 534, 54, 54, 54, 54, 149, 149, 149, 149, 149, 149, 149, 535, + 22, 512, 22, 513, 514, 515, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 516, 100, 100, 100, 100, 100, 100, 100, + 517, 518, 100, 100, 100, 100, 100, 100, 39, 519, 520, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 380, 521, 39, 522, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 523, + 39, 39, 39, 39, 39, 39, 524, 100, 28, 525, 526, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 527, 209, 528, 100, 100, 529, 530, 100, 100, 100, 100, 100, 100, + 531, 532, 533, 534, 535, 536, 100, 537, 100, 100, 100, 100, 100, 100, 100, 100, + 149, 538, 149, 149, 237, 539, 540, 238, 541, 149, 149, 149, 149, 542, 100, 543, + 544, 545, 546, 547, 100, 100, 100, 100, 149, 149, 149, 149, 149, 149, 149, 548, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 536, 537, 149, 149, 149, 240, 149, 149, 538, 539, - 525, 149, 540, 149, 541, 542, 54, 54, 149, 149, 149, 543, 149, 149, 544, 149, - 149, 149, 240, 545, 546, 547, 548, 54, 149, 149, 149, 149, 549, 149, 209, 550, + 149, 149, 149, 149, 149, 149, 549, 550, 149, 149, 149, 237, 149, 149, 551, 552, + 538, 149, 553, 149, 554, 555, 100, 100, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 237, 556, 557, 558, 559, 560, 149, 149, 149, 149, 561, 149, 208, 562, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 342, 54, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 100, 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, 551, 39, 39, 39, 39, 39, 39, - 342, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 139, 39, 39, 39, 39, 39, 39, + 339, 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, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 552, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 563, 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, 39, 39, 39, 39, 39, 553, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 564, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 342, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 339, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 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, 53, 54, 54, 54, 54, 54, - 554, 555, 555, 555, 54, 54, 54, 54, 22, 22, 22, 22, 22, 22, 22, 556, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, - 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 557 + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 565, 100, 100, 100, 100, 100, + 566, 567, 567, 567, 100, 100, 100, 100, 22, 22, 22, 22, 22, 22, 22, 568, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 569 }; static RE_UINT8 re_general_category_table_3[] = { @@ -9643,7 +9829,7 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 15, 15, 15, 15, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 7, 7, 7, 3, 3, 4, 3, 3, 14, 14, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 3, 17, 0, 3, 3, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 3, 17, 3, 3, 3, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 21, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, @@ -9673,13 +9859,11 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 0, 0, 3, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 15, 15, 15, 15, 15, 15, 15, 15, 11, 15, 15, 15, 15, 15, 15, 0, + 17, 17, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 21, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 17, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -9733,9 +9917,9 @@ static RE_UINT8 re_general_category_table_3[] = { 22, 24, 24, 24, 22, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 15, 22, 22, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 22, 15, 22, 22, 22, 24, 24, 24, 24, 0, 22, 22, 22, 0, 22, 22, 22, 22, 0, 0, - 0, 0, 0, 0, 0, 22, 22, 0, 15, 15, 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 22, 0, 15, 15, 15, 0, 0, 15, 0, 0, 15, 15, 22, 22, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 3, 18, 18, 18, 18, 18, 18, 18, 14, 15, 22, 24, 24, 3, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, @@ -9743,7 +9927,7 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 0, 0, 22, 15, 24, 22, 24, 24, 24, 24, 24, 0, 22, 24, 24, 0, 24, 24, 22, 22, 0, 0, - 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 15, 15, 0, 15, 15, 22, 22, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 24, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, @@ -9768,7 +9952,9 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 22, 15, 15, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 4, 15, 15, 15, 15, 15, 15, 21, 22, 22, 22, 22, 22, 22, 22, 22, 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 0, 0, 0, 0, - 0, 15, 15, 0, 15, 0, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 15, 0, 15, 0, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 15, 0, 0, @@ -9826,10 +10012,10 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 5, 6, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 3, 3, 3, 25, 25, 25, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, - 15, 15, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 22, 22, 22, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 22, 22, 22, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 22, 22, 24, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, @@ -9840,7 +10026,7 @@ static RE_UINT8 re_general_category_table_3[] = { 22, 22, 22, 22, 3, 3, 3, 21, 3, 3, 3, 4, 15, 22, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, - 3, 3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 22, 22, 22, 17, 0, + 3, 3, 3, 3, 3, 3, 8, 3, 3, 3, 3, 22, 22, 22, 17, 22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 15, 15, 15, 21, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -9876,16 +10062,16 @@ static RE_UINT8 re_general_category_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 21, 3, 3, 3, 3, 3, 3, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 22, - 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 24, 22, 22, 22, 22, 22, 24, 22, 24, 24, 24, - 24, 24, 22, 24, 24, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, + 24, 24, 22, 24, 24, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 3, 3, 3, 3, 3, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, + 22, 22, 22, 22, 14, 14, 14, 14, 14, 14, 14, 14, 14, 3, 3, 0, 22, 22, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, 22, 22, 22, 22, 24, 24, 22, 22, 24, 22, 22, 22, 15, 15, @@ -9914,8 +10100,6 @@ static RE_UINT8 re_general_category_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 21, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 21, 21, 21, 21, 21, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 10, 10, 10, 10, 10, 10, 10, 10, @@ -9946,7 +10130,7 @@ static RE_UINT8 re_general_category_table_3[] = { 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 22, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -10022,10 +10206,6 @@ static RE_UINT8 re_general_category_table_3[] = { 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 10, 13, 10, 10, 10, 13, 13, 10, 13, 10, 13, 10, 13, 10, 10, 10, 10, 13, 10, 13, 13, 10, 13, 13, 13, 13, 13, 13, 21, 21, 10, 10, 10, 13, 10, 13, 13, 14, 14, 14, 14, 14, 14, 10, 13, 10, 13, 22, @@ -10043,7 +10223,7 @@ static RE_UINT8 re_general_category_table_3[] = { 16, 19, 5, 6, 5, 6, 5, 6, 5, 6, 3, 3, 3, 3, 3, 21, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, 8, 3, 3, 3, 3, 8, 3, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 14, 14, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 3, 3, 3, 5, 6, 5, 6, 5, 6, 5, 6, 8, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, @@ -10077,8 +10257,6 @@ static RE_UINT8 re_general_category_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 21, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, @@ -10104,10 +10282,10 @@ static RE_UINT8 re_general_category_table_3[] = { 10, 13, 10, 13, 13, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 10, 10, 10, 10, 13, 10, 10, 10, 10, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, 10, 13, - 0, 0, 10, 13, 10, 10, 10, 10, 13, 10, 13, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 13, 10, 13, 10, 10, 10, 10, 13, 10, 13, 0, 0, 0, 0, 0, + 10, 13, 0, 13, 0, 13, 10, 13, 10, 13, 0, 0, 0, 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, 13, 15, 21, 21, 13, 15, 15, 15, 15, 15, + 0, 0, 21, 21, 21, 10, 13, 15, 21, 21, 13, 15, 15, 15, 15, 15, 15, 15, 22, 15, 15, 15, 22, 15, 15, 15, 15, 22, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, 24, 22, 22, 24, 14, 14, 14, 14, 22, 0, 0, 0, @@ -10127,6 +10305,8 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 24, 24, 22, 22, 22, 22, 24, 24, 22, 22, 24, 24, 24, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 21, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 3, 3, @@ -10176,18 +10356,18 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 6, 5, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 4, 14, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 4, 14, 14, 14, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 3, 3, 3, 3, 3, 3, 3, 5, 6, 3, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, @@ -10261,7 +10441,17 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, + 10, 10, 10, 0, 10, 10, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 0, 0, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -10322,6 +10512,10 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 18, 18, 18, 18, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 22, 22, 22, 22, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 22, 24, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -10331,10 +10525,10 @@ static RE_UINT8 re_general_category_table_3[] = { 22, 22, 22, 22, 22, 22, 22, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, + 22, 15, 15, 22, 22, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, 24, 24, 22, 22, 22, 22, 24, 24, 22, 22, 3, 3, 17, 3, 3, - 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, + 3, 3, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, @@ -10393,11 +10587,13 @@ static RE_UINT8 re_general_category_table_3[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 24, 22, 24, 24, - 22, 22, 22, 22, 22, 22, 24, 22, 15, 0, 0, 0, 0, 0, 0, 0, + 22, 22, 22, 22, 22, 22, 24, 22, 15, 3, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 22, 22, 22, 22, 24, 22, 22, 22, 22, 22, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 18, 18, 3, 3, 3, 14, + 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, 24, 24, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 22, 22, 3, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 18, 18, 18, 18, 18, 18, @@ -10423,7 +10619,7 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 22, 22, 3, 3, 3, 15, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 24, @@ -10458,12 +10654,14 @@ static RE_UINT8 re_general_category_table_3[] = { 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 3, 3, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 22, 22, 22, 22, 22, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -10487,6 +10685,10 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 0, + 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -10496,6 +10698,12 @@ static RE_UINT8 re_general_category_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 14, 22, 22, 3, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 24, 24, 22, 22, 22, 14, 14, 14, 24, 24, 24, @@ -10504,8 +10712,6 @@ static RE_UINT8 re_general_category_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 22, 22, 22, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 22, 22, 22, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, @@ -10578,6 +10784,8 @@ static RE_UINT8 re_general_category_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 0, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, @@ -10586,8 +10794,12 @@ static RE_UINT8 re_general_category_table_3[] = { 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 15, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 22, 22, 22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 4, + 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 0, 15, 15, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -10639,41 +10851,39 @@ static RE_UINT8 re_general_category_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, - 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, @@ -10705,258 +10915,268 @@ RE_UINT32 re_get_general_category(RE_UINT32 codepoint) { static RE_UINT8 re_graph_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 14, 13, 15, 16, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 17, 18, 18, 13, 13, 13, 13, 13, 13, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 18, 18, 13, 31, 18, 18, - 18, 32, 18, 18, 18, 18, 18, 18, 18, 18, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 18, 18, 18, 18, 18, 18, 18, 18, 37, 18, 18, 38, - 18, 18, 18, 18, 39, 40, 41, 18, 42, 18, 43, 44, 45, 46, 47, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 16, 17, 17, 13, 13, 13, 13, 13, 13, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 17, 30, 13, 31, 17, 17, + 17, 32, 17, 17, 17, 17, 17, 17, 17, 17, 33, 34, 13, 13, 13, 13, + 13, 35, 13, 36, 17, 17, 17, 17, 17, 17, 17, 37, 38, 17, 17, 39, + 17, 17, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 48, 13, 13, 13, 49, 50, 13, - 13, 13, 13, 51, 13, 13, 13, 13, 13, 13, 52, 18, 18, 18, 53, 18, - 13, 13, 13, 13, 54, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 55, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 52, 13, 13, 13, 53, 54, 13, + 13, 13, 13, 55, 13, 13, 13, 13, 13, 13, 56, 17, 17, 17, 57, 17, + 13, 13, 13, 13, 58, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 59, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 56, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 60, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 56 + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 60 }; static RE_UINT16 re_graph_table_2[] = { 0, 1, 2, 3, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 5, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 8, 2, 9, 2, 10, 11, - 12, 2, 2, 2, 2, 2, 2, 2, 13, 2, 14, 2, 2, 15, 2, 16, - 2, 17, 18, 19, 0, 20, 21, 2, 2, 2, 2, 2, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 31, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 41, 45, 46, 47, 41, 2, 48, 49, 50, 51, 52, 53, - 1, 54, 55, 0, 56, 57, 58, 0, 2, 2, 59, 60, 61, 12, 62, 0, - 2, 2, 2, 2, 2, 2, 63, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 64, 2, 65, 66, 67, 2, 68, 2, 16, 69, 70, 2, 2, 71, + 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, 13, 2, 2, 14, 2, 15, + 2, 16, 17, 18, 19, 2, 2, 2, 2, 2, 2, 2, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 29, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 39, 43, 44, 45, 39, 2, 46, 47, 48, 49, 50, 51, + 1, 52, 53, 0, 54, 55, 56, 0, 2, 2, 57, 58, 59, 60, 61, 0, + 2, 2, 2, 2, 2, 2, 62, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 63, 2, 64, 65, 66, 2, 67, 2, 15, 68, 69, 2, 2, 70, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 72, 2, 2, 73, 74, 75, 76, 77, 2, 2, 78, 79, - 80, 2, 2, 73, 2, 81, 2, 82, 3, 83, 84, 85, 2, 86, 87, 2, - 88, 2, 3, 89, 79, 90, 91, 0, 2, 2, 86, 69, 2, 2, 2, 92, - 2, 93, 94, 2, 95, 16, 10, 96, 2, 2, 2, 2, 2, 2, 2, 97, - 2, 2, 2, 2, 2, 2, 2, 2, 71, 2, 98, 78, 2, 20, 99, 100, - 101, 102, 3, 103, 104, 2, 105, 106, 2, 2, 2, 2, 86, 2, 2, 2, + 2, 2, 2, 2, 71, 2, 2, 72, 73, 74, 75, 76, 2, 2, 77, 78, + 69, 2, 2, 72, 2, 18, 2, 79, 3, 80, 81, 82, 2, 83, 84, 2, + 85, 2, 3, 86, 78, 87, 88, 0, 2, 2, 89, 3, 2, 2, 2, 90, + 2, 91, 92, 2, 93, 15, 10, 94, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 70, 2, 95, 77, 2, 96, 97, 98, + 99, 100, 3, 101, 102, 2, 103, 104, 2, 2, 2, 2, 83, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 107, 19, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 105, 106, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 108, 109, 2, 2, 2, - 2, 110, 3, 2, 2, 2, 2, 111, 2, 63, 2, 112, 75, 113, 113, 2, - 2, 2, 114, 0, 97, 2, 2, 76, 2, 2, 2, 2, 2, 2, 82, 115, - 1, 2, 1, 2, 8, 2, 2, 2, 116, 7, 2, 2, 110, 2, 2, 117, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 107, 108, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 109, 2, 62, 2, 110, 74, 111, 111, 2, + 2, 2, 77, 0, 112, 2, 2, 75, 2, 2, 2, 2, 2, 2, 79, 113, + 1, 2, 1, 2, 8, 2, 2, 2, 114, 7, 2, 2, 115, 2, 2, 116, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 89, 2, 117, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 118, 2, 2, 2, 2, 2, 119, 2, 2, 2, 2, 2, 2, 120, 121, + 2, 122, 2, 119, 2, 2, 123, 2, 2, 2, 124, 68, 2, 2, 125, 3, + 2, 74, 126, 2, 2, 2, 127, 74, 128, 129, 2, 83, 2, 2, 2, 130, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 69, - 2, 2, 2, 2, 118, 2, 119, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 120, 2, 2, 2, 2, 2, 121, 2, 2, 2, 2, 2, 2, 122, 123, - 2, 124, 2, 121, 2, 2, 125, 2, 2, 2, 126, 69, 2, 2, 127, 3, - 2, 75, 128, 2, 2, 2, 129, 75, 130, 131, 2, 86, 2, 2, 2, 132, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 117, 133, 55, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 116, 131, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 90, 2, 2, 70, 0, 134, 135, 136, 2, 2, 2, 137, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 105, 2, 138, 2, 139, 140, - 70, 2, 141, 142, 2, 2, 2, 89, 1, 2, 2, 2, 2, 3, 143, 144, - 145, 146, 147, 0, 2, 2, 2, 96, 148, 149, 2, 2, 104, 91, 105, 78, - 0, 0, 0, 0, 69, 2, 106, 55, 2, 150, 81, 96, 151, 2, 152, 0, - 2, 2, 2, 2, 78, 153, 154, 55, 2, 10, 2, 155, 0, 0, 0, 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 75, 82, 139, 0, 0, 0, 0, - 156, 157, 109, 2, 3, 158, 0, 159, 160, 161, 0, 0, 2, 162, 138, 2, - 163, 164, 165, 2, 2, 0, 2, 166, 2, 167, 168, 169, 170, 171, 0, 0, - 2, 2, 172, 0, 2, 114, 2, 173, 2, 174, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 2, 175, 0, 0, 2, 10, 70, 0, 0, 105, 120, 75, - 2, 2, 176, 177, 2, 2, 178, 179, 2, 20, 10, 75, 2, 2, 2, 180, - 181, 3, 0, 0, 182, 153, 2, 183, 22, 184, 185, 186, 0, 0, 0, 0, - 2, 2, 187, 188, 2, 2, 174, 0, 0, 0, 0, 0, 2, 168, 78, 0, - 2, 2, 189, 190, 2, 73, 191, 0, 16, 86, 0, 0, 0, 0, 0, 0, - 2, 55, 0, 0, 0, 2, 2, 192, 193, 194, 195, 0, 0, 196, 4, 197, - 2, 2, 10, 2, 2, 198, 2, 73, 0, 0, 0, 0, 0, 0, 0, 0, - 199, 200, 201, 118, 138, 202, 0, 0, 203, 204, 174, 205, 206, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 207, 2, 208, + 2, 2, 2, 87, 2, 2, 69, 0, 132, 133, 134, 2, 2, 2, 135, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 136, 2, 137, 138, + 69, 2, 139, 140, 2, 2, 2, 86, 1, 2, 2, 2, 2, 3, 141, 142, + 143, 144, 145, 0, 2, 2, 2, 94, 146, 147, 2, 2, 102, 148, 138, 77, + 0, 0, 0, 0, 68, 2, 104, 53, 2, 149, 18, 94, 150, 2, 151, 0, + 2, 2, 2, 2, 77, 152, 153, 53, 2, 10, 2, 154, 155, 156, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 74, 79, 157, 158, 159, 0, 0, + 160, 161, 108, 2, 3, 162, 0, 163, 164, 165, 0, 0, 2, 166, 136, 2, + 167, 168, 169, 2, 2, 0, 2, 170, 2, 171, 172, 173, 174, 175, 0, 0, + 2, 2, 176, 0, 2, 177, 2, 178, 2, 179, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 2, 180, 0, 0, 2, 10, 69, 138, 181, 138, 118, 74, + 2, 2, 182, 73, 2, 2, 183, 184, 2, 96, 10, 74, 2, 2, 2, 185, + 186, 3, 0, 0, 187, 152, 2, 188, 20, 189, 190, 191, 0, 0, 0, 0, + 2, 2, 192, 193, 2, 2, 179, 0, 0, 0, 0, 0, 2, 172, 77, 0, + 2, 2, 194, 195, 2, 69, 181, 0, 15, 83, 105, 0, 0, 0, 0, 0, + 2, 53, 0, 0, 0, 2, 2, 196, 197, 198, 199, 0, 0, 200, 4, 201, + 2, 2, 10, 2, 2, 202, 2, 72, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 204, 205, 89, 136, 206, 0, 0, 207, 208, 179, 209, 210, 181, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 211, 2, 212, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 70, 0, 0, 0, - 2, 2, 2, 209, 2, 2, 2, 2, 2, 2, 210, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 69, 0, 0, 0, + 2, 2, 2, 213, 2, 2, 2, 2, 2, 2, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 2, 2, 177, + 2, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 73, 3, 212, 0, 0, 105, 213, 2, 2, 214, 215, 216, 0, 0, 0, + 2, 72, 3, 216, 2, 3, 152, 217, 2, 2, 218, 219, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2, 2, 96, 0, 0, 0, 2, 2, 217, 2, 218, 0, 0, 219, + 0, 0, 2, 2, 94, 0, 0, 0, 2, 2, 221, 2, 222, 0, 0, 223, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 121, - 2, 2, 2, 2, 2, 2, 82, 0, 172, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 119, + 2, 2, 2, 2, 2, 2, 79, 0, 176, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 2, 2, 2, 2, 2, 2, 3, 0, 220, 221, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 55, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 2, 222, 223, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 225, 226, 227, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 228, 229, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 2, 2, 2, 2, 2, 82, 2, 224, 2, 2, 2, 2, 2, 172, - 2, 2, 225, 0, 0, 0, 0, 76, 2, 2, 75, 73, 0, 0, 0, 0, - 2, 2, 20, 2, 12, 226, 227, 2, 228, 229, 230, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 231, 2, 2, 2, 2, 2, 2, 2, 2, 232, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 87, 117, 2, 2, 2, 214, 0, + 2, 2, 2, 2, 2, 2, 2, 79, 2, 230, 2, 2, 2, 2, 2, 106, + 2, 2, 231, 0, 0, 0, 0, 75, 2, 2, 74, 72, 0, 0, 0, 0, + 2, 2, 96, 2, 60, 232, 233, 2, 234, 235, 236, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 237, 2, 2, 2, 2, 2, 2, 2, 2, 238, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 233, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 0, 0, 0, 0, 0, 0, 2, 237, 212, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 161, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 2, 2, 2, 2, 238, 0, 2, 2, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 240, 2, 241, 0, 0, 1, 78, 0, 0, 0, 0, 0, 0, - 227, 242, 243, 244, 245, 246, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 86, 2, 2, 76, 248, 249, 82, 2, 2, 2, 2, 2, 250, 0, 251, - 252, 55, 253, 225, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 239, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 241, 242, 0, 0, 0, 0, 0, 0, 2, 243, 244, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 88, 2, 165, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, + 2, 2, 2, 2, 2, 2, 246, 0, 2, 2, 247, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 248, 2, 249, 0, 0, 1, 77, 0, 0, 0, 0, 0, 0, + 233, 250, 251, 252, 253, 254, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 83, 2, 2, 75, 256, 257, 79, 2, 2, 2, 2, 2, 258, 0, 259, + 202, 53, 260, 231, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 121, 254, 2, 2, 2, 76, 2, 2, 73, 120, - 86, 2, 174, 2, 10, 255, 0, 0, 2, 2, 2, 256, 2, 2, 145, 2, - 2, 2, 76, 257, 119, 258, 259, 0, 2, 2, 2, 2, 141, 2, 19, 260, + 2, 2, 2, 2, 2, 2, 261, 262, 2, 2, 2, 75, 2, 2, 72, 263, + 83, 2, 179, 2, 10, 264, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 75, 265, 117, 266, 267, 268, 2, 2, 2, 2, 139, 2, 106, 269, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 78, 0, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 241, 2, 2, 2, 2, 2, 2, - 78, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 72, 2, 2, 2, 2, 2, 2, + 77, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 261, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 270, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 91, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 148, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 19, 0, 0, 0, 0, 0, - 262, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 216, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 106, 0, 0, 0, 0, 0, + 271, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 78 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 77 }; static RE_UINT8 re_graph_table_3[] = { 0, 0, 0, 0, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 255, 255, 255, 252, 240, 215, 255, 255, 251, 255, 255, 255, 255, 255, 254, 255, 255, 255, 127, 254, 255, 231, 254, 255, 255, 0, 255, 255, 255, 135, 31, 0, - 255, 255, 255, 223, 255, 191, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, - 255, 255, 255, 231, 255, 63, 255, 127, 255, 255, 255, 79, 255, 7, 0, 0, - 255, 255, 223, 255, 255, 0, 248, 255, 239, 159, 249, 255, 255, 253, 197, 243, - 159, 121, 128, 176, 207, 255, 255, 127, 238, 135, 249, 255, 255, 253, 109, 211, - 135, 57, 2, 94, 192, 255, 127, 0, 238, 191, 251, 255, 255, 253, 237, 243, - 191, 59, 1, 0, 207, 255, 3, 254, 238, 159, 249, 255, 159, 57, 224, 176, - 207, 255, 255, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, - 192, 255, 255, 7, 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, - 207, 255, 128, 255, 255, 253, 239, 243, 223, 61, 96, 64, 207, 255, 6, 0, - 223, 253, 240, 255, 207, 255, 255, 255, 238, 255, 127, 252, 255, 255, 251, 47, - 127, 132, 95, 255, 192, 255, 28, 0, 255, 255, 255, 135, 255, 255, 255, 15, - 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, 255, 254, 255, 255, - 255, 31, 254, 255, 255, 255, 255, 254, 255, 223, 255, 7, 191, 32, 255, 255, - 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, - 255, 255, 61, 255, 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, - 254, 255, 255, 31, 255, 255, 255, 1, 255, 223, 31, 0, 255, 255, 127, 0, - 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 255, 63, 255, 3, 255, 3, - 255, 127, 255, 3, 255, 7, 255, 255, 255, 255, 63, 0, 255, 15, 255, 15, - 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 199, - 255, 255, 255, 207, 255, 255, 255, 159, 255, 63, 255, 255, 1, 0, 0, 0, - 255, 255, 15, 240, 255, 255, 255, 248, 255, 227, 255, 255, 255, 1, 255, 255, - 255, 255, 255, 7, 255, 255, 255, 251, 63, 63, 255, 170, 223, 255, 207, 239, - 255, 255, 220, 127, 0, 248, 255, 255, 255, 124, 255, 255, 223, 255, 243, 255, - 255, 127, 255, 31, 0, 0, 255, 255, 255, 255, 1, 0, 127, 0, 0, 0, - 255, 255, 207, 255, 255, 255, 191, 255, 255, 127, 255, 255, 255, 255, 15, 254, - 255, 128, 1, 128, 127, 127, 127, 127, 255, 255, 7, 0, 0, 0, 255, 15, - 224, 255, 255, 255, 15, 0, 255, 255, 255, 31, 255, 255, 127, 0, 255, 255, - 255, 15, 0, 0, 255, 255, 255, 0, 252, 7, 0, 0, 0, 0, 224, 255, - 255, 31, 255, 3, 63, 192, 255, 3, 255, 255, 15, 128, 255, 191, 255, 195, - 255, 63, 255, 243, 7, 0, 0, 248, 126, 126, 126, 0, 127, 127, 255, 255, - 255, 63, 255, 3, 127, 248, 255, 255, 127, 0, 248, 224, 255, 255, 127, 95, - 219, 255, 255, 255, 3, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, - 0, 0, 255, 63, 255, 255, 247, 255, 127, 15, 223, 255, 252, 252, 252, 28, - 127, 127, 0, 62, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, - 135, 255, 255, 255, 255, 255, 143, 255, 15, 224, 255, 255, 255, 255, 255, 191, - 15, 255, 63, 0, 255, 3, 255, 255, 255, 255, 15, 255, 15, 128, 0, 0, + 255, 191, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 255, 231, + 255, 63, 255, 127, 255, 255, 255, 79, 255, 7, 255, 255, 255, 127, 3, 255, + 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, 207, 255, 255, 127, + 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, 192, 255, 127, 0, + 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, 207, 255, 3, 254, + 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 255, 0, 236, 199, 61, 214, + 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 255, 7, 255, 223, 253, 255, + 255, 253, 255, 243, 223, 61, 96, 39, 207, 255, 128, 255, 255, 253, 239, 243, + 223, 61, 96, 96, 207, 255, 6, 0, 223, 253, 240, 255, 207, 255, 255, 255, + 238, 255, 127, 252, 255, 255, 251, 47, 127, 132, 95, 255, 192, 255, 28, 0, + 255, 255, 255, 135, 255, 255, 255, 15, 214, 247, 255, 255, 175, 255, 255, 63, + 95, 63, 255, 243, 255, 254, 255, 255, 255, 31, 254, 255, 255, 255, 255, 254, + 255, 255, 255, 223, 255, 223, 255, 7, 191, 32, 255, 255, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, 254, 255, 255, 31, + 255, 255, 255, 1, 255, 255, 63, 128, 255, 255, 127, 0, 255, 255, 15, 0, + 255, 223, 13, 0, 255, 255, 255, 63, 255, 3, 255, 3, 255, 255, 63, 0, + 255, 15, 255, 15, 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, + 255, 3, 255, 199, 255, 255, 255, 207, 255, 255, 255, 159, 255, 63, 255, 255, + 255, 127, 0, 0, 255, 31, 255, 255, 255, 255, 15, 240, 255, 255, 255, 248, + 255, 227, 255, 255, 255, 1, 255, 255, 255, 255, 255, 7, 63, 63, 255, 170, + 255, 255, 223, 255, 223, 255, 207, 239, 255, 255, 220, 127, 0, 248, 255, 255, + 255, 124, 255, 255, 223, 255, 243, 255, 255, 127, 255, 31, 1, 0, 255, 255, + 255, 255, 1, 0, 127, 0, 0, 0, 255, 7, 0, 0, 255, 255, 207, 255, + 255, 255, 191, 255, 255, 255, 15, 254, 255, 128, 1, 128, 127, 127, 127, 127, + 255, 255, 255, 251, 0, 0, 255, 15, 224, 255, 255, 255, 255, 127, 255, 255, + 15, 0, 255, 255, 127, 0, 255, 255, 255, 15, 0, 0, 255, 255, 255, 0, + 255, 7, 235, 3, 0, 0, 252, 255, 255, 31, 255, 3, 63, 192, 255, 3, + 255, 255, 15, 128, 255, 191, 255, 195, 255, 63, 255, 243, 7, 0, 0, 248, + 126, 126, 126, 0, 127, 127, 255, 255, 255, 63, 255, 3, 127, 248, 255, 255, + 127, 0, 248, 224, 255, 255, 127, 95, 219, 255, 255, 255, 7, 0, 248, 255, + 255, 255, 252, 255, 255, 128, 0, 0, 0, 0, 255, 255, 255, 255, 247, 255, + 127, 15, 223, 255, 252, 252, 252, 28, 127, 127, 0, 62, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 135, 255, 255, 255, 255, 255, 143, 255, + 1, 0, 0, 0, 15, 224, 255, 255, 255, 255, 255, 191, 15, 255, 63, 0, + 255, 3, 255, 255, 255, 255, 15, 255, 15, 128, 255, 247, 255, 247, 183, 255, + 251, 255, 251, 27, 255, 0, 0, 0, 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 128, 255, 0, 0, 255, 255, 55, 248, 255, 255, 255, 143, 255, 255, 255, 131, 255, 255, 255, 240, 111, 240, 239, 254, 255, 255, 63, 135, 255, 1, 255, 1, 127, 248, 127, 0, 255, 255, 63, 254, 255, 255, 63, 255, 255, 255, 7, 255, 255, 255, 3, 30, 0, 254, 0, 0, - 255, 1, 0, 0, 255, 255, 7, 252, 255, 0, 255, 3, 255, 59, 3, 0, - 255, 63, 252, 255, 255, 255, 0, 128, 3, 32, 255, 255, 255, 1, 255, 3, - 254, 255, 31, 0, 255, 255, 251, 255, 127, 189, 255, 191, 255, 7, 255, 3, - 255, 253, 237, 251, 159, 57, 129, 224, 207, 31, 31, 0, 255, 255, 255, 239, - 3, 0, 0, 0, 31, 0, 255, 3, 255, 31, 0, 0, 255, 3, 0, 0, + 255, 1, 0, 0, 255, 255, 7, 0, 255, 255, 7, 252, 255, 0, 255, 3, + 255, 59, 3, 0, 255, 3, 0, 0, 255, 63, 252, 255, 7, 32, 255, 255, + 255, 1, 255, 3, 254, 255, 31, 0, 255, 255, 251, 255, 127, 189, 255, 191, + 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, 207, 31, 31, 0, + 255, 255, 255, 239, 3, 0, 0, 0, 31, 0, 255, 3, 255, 31, 0, 0, 255, 255, 7, 128, 127, 242, 111, 255, 255, 255, 191, 249, 127, 0, 255, 3, - 255, 252, 255, 255, 31, 0, 0, 0, 7, 0, 0, 0, 255, 253, 255, 255, + 255, 252, 255, 255, 31, 0, 0, 0, 7, 0, 255, 255, 255, 253, 255, 255, 255, 255, 127, 255, 63, 0, 255, 255, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, 255, 255, 3, 128, 255, 127, 31, 0, 15, 0, 0, 0, 255, 127, 255, 1, - 255, 195, 0, 0, 255, 63, 63, 0, 63, 0, 255, 251, 251, 255, 255, 224, + 255, 195, 255, 255, 255, 63, 63, 0, 63, 0, 255, 251, 251, 255, 255, 224, 255, 255, 0, 0, 255, 135, 255, 255, 255, 128, 255, 255, 31, 0, 3, 0, - 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, 255, 1, 255, 243, - 127, 254, 255, 255, 63, 0, 0, 0, 100, 222, 255, 235, 239, 255, 255, 255, - 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, - 255, 207, 255, 255, 255, 15, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, - 219, 7, 0, 0, 255, 31, 255, 63, 159, 255, 127, 0, 255, 15, 255, 195, + 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, 240, 0, 255, 255, + 255, 7, 255, 31, 255, 1, 255, 243, 127, 254, 255, 255, 63, 0, 0, 0, + 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, + 95, 252, 253, 255, 63, 255, 255, 255, 255, 207, 255, 255, 255, 15, 0, 248, + 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, + 255, 195, 0, 0, 127, 111, 255, 127, 159, 255, 127, 0, 255, 15, 255, 195, 0, 0, 254, 255, 255, 255, 31, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 0, 0, 3, 0, 255, 127, 254, 255, 254, 255, 254, 255, 255, 63, 0, 0, 192, 255, 255, 255, - 7, 0, 255, 255, 255, 1, 3, 0, 255, 31, 255, 31, 255, 63, 3, 0, - 255, 255, 255, 253, 255, 63, 31, 7, 255, 1, 127, 0, 7, 0, 127, 0, - 0, 0, 255, 3, 3, 0, 255, 255, 2, 0, 0, 0 + 255, 1, 3, 0, 255, 255, 255, 224, 255, 31, 255, 31, 255, 15, 1, 0, + 255, 63, 3, 0, 255, 63, 31, 31, 255, 31, 255, 7, 63, 0, 255, 3, + 255, 0, 127, 0, 0, 0, 255, 3, 3, 0, 255, 255, 2, 0, 0, 0 }; RE_UINT32 re_get_graph(RE_UINT32 codepoint) { @@ -10982,183 +11202,191 @@ RE_UINT32 re_get_graph(RE_UINT32 codepoint) { static RE_UINT8 re_grapheme_base_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 14, 13, 15, 16, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 18, 18, 13, 31, 18, 18, - 18, 32, 18, 18, 18, 18, 18, 18, 18, 18, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 18, 18, 18, 18, 18, 18, 18, 18, 37, 18, 18, 38, - 18, 18, 18, 18, 39, 40, 41, 18, 42, 18, 43, 44, 45, 46, 47, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 17, 30, 13, 31, 17, 17, + 17, 32, 17, 17, 17, 17, 17, 17, 17, 17, 33, 34, 13, 13, 13, 13, + 13, 35, 13, 36, 17, 17, 17, 17, 17, 17, 17, 37, 38, 17, 17, 39, + 17, 17, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 48, 13, 13, 13, 49, 50, 13, - 13, 13, 13, 51, 13, 13, 13, 13, 13, 13, 52, 18, 18, 18, 53, 18, - 13, 13, 13, 13, 54, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 -}; - -static RE_UINT16 re_grapheme_base_table_2[] = { - 0, 1, 1, 2, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 4, 5, 6, 1, 1, - 1, 1, 1, 1, 7, 1, 1, 1, 1, 8, 9, 1, 10, 11, 12, 13, - 14, 1, 15, 8, 1, 1, 16, 17, 18, 19, 20, 1, 1, 21, 1, 22, - 23, 24, 25, 15, 0, 26, 27, 0, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 0, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 0, - 1, 81, 82, 83, 84, 1, 85, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 86, 1, 87, 88, 89, 1, 90, 1, 91, 92, 93, 1, 1, 94, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 52, 13, 13, 13, 53, 54, 13, + 13, 13, 13, 55, 13, 13, 13, 13, 13, 13, 56, 17, 17, 17, 57, 17, + 13, 13, 13, 13, 58, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 +}; + +static RE_UINT16 re_grapheme_base_table_2[] = { + 0, 1, 1, 2, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 4, 5, 6, 1, 1, + 1, 1, 1, 1, 7, 1, 1, 1, 1, 8, 9, 1, 10, 11, 12, 13, + 14, 1, 15, 8, 1, 1, 16, 17, 18, 19, 20, 1, 1, 21, 1, 22, + 23, 24, 25, 26, 27, 1, 28, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 0, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 0, + 1, 82, 83, 84, 85, 1, 86, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 87, 1, 88, 89, 90, 1, 91, 1, 92, 93, 94, 1, 1, 95, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 92, 1, 1, 95, 96, 97, 98, 99, 1, 100, 101, 102, - 103, 1, 1, 95, 104, 105, 1, 106, 2, 107, 108, 109, 1, 110, 111, 1, - 112, 1, 113, 114, 102, 115, 0, 0, 116, 117, 118, 119, 120, 121, 1, 122, - 1, 123, 124, 1, 125, 126, 127, 128, 1, 1, 1, 1, 1, 1, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 94, 1, 129, 130, 1, 26, 131, 132, - 133, 134, 1, 135, 136, 1, 0, 0, 1, 1, 1, 1, 110, 1, 1, 1, + 1, 1, 1, 1, 93, 1, 1, 96, 97, 98, 99, 100, 1, 101, 102, 103, + 104, 1, 1, 96, 105, 106, 1, 107, 2, 108, 109, 110, 1, 111, 112, 1, + 113, 1, 114, 115, 103, 116, 0, 0, 117, 118, 119, 120, 121, 122, 1, 123, + 1, 124, 125, 1, 126, 127, 128, 129, 1, 1, 1, 1, 1, 1, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 95, 1, 130, 131, 1, 132, 133, 134, + 26, 135, 1, 136, 137, 1, 138, 0, 1, 1, 1, 1, 111, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 137, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 139, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 138, 139, 1, 1, 1, - 1, 140, 2, 1, 1, 1, 1, 141, 1, 85, 1, 142, 143, 144, 144, 0, - 1, 1, 145, 0, 146, 1, 1, 147, 1, 1, 1, 1, 1, 1, 106, 148, - 1, 149, 68, 1, 150, 1, 1, 1, 151, 8, 1, 1, 140, 1, 1, 152, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 140, 141, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 142, 1, 86, 1, 143, 144, 145, 145, 0, + 1, 1, 131, 0, 146, 1, 1, 147, 1, 1, 1, 1, 1, 1, 107, 148, + 1, 149, 69, 1, 150, 1, 1, 1, 151, 8, 1, 1, 152, 1, 1, 153, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 154, 1, 155, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 156, 1, 157, 131, 1, 1, 158, 1, 1, 1, 1, 1, 1, 159, 160, + 161, 162, 1, 163, 1, 1, 164, 165, 1, 166, 167, 93, 29, 168, 169, 170, + 1, 171, 172, 173, 1, 174, 175, 176, 177, 178, 1, 111, 1, 1, 1, 179, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 92, - 1, 1, 1, 1, 153, 1, 154, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 155, 1, 156, 130, 1, 1, 157, 1, 1, 1, 1, 1, 1, 158, 159, - 160, 161, 1, 162, 1, 1, 163, 164, 1, 165, 166, 92, 28, 167, 168, 169, - 1, 170, 171, 172, 1, 173, 174, 175, 176, 177, 1, 110, 1, 1, 1, 178, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 152, 179, 180, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 153, 180, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 181, 1, 1, 93, 0, 182, 183, 184, 1, 1, 1, 185, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 186, 1, 187, 1, 27, 188, - 189, 186, 190, 191, 1, 1, 1, 92, 68, 1, 1, 1, 130, 2, 192, 193, - 194, 195, 196, 0, 1, 1, 1, 91, 197, 198, 1, 1, 136, 199, 186, 92, - 0, 0, 0, 0, 92, 1, 200, 201, 1, 202, 133, 106, 203, 1, 204, 0, - 1, 1, 1, 1, 130, 149, 205, 180, 1, 206, 1, 207, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 143, 106, 27, 0, 0, 0, 0, - 208, 209, 139, 1, 2, 210, 0, 211, 212, 213, 0, 0, 1, 214, 187, 1, - 215, 106, 216, 1, 1, 0, 1, 217, 1, 218, 219, 220, 221, 222, 0, 0, - 1, 1, 223, 0, 1, 145, 1, 224, 1, 225, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 1, 226, 0, 0, 1, 206, 227, 0, 0, 186, 155, 143, - 228, 162, 229, 19, 120, 230, 231, 232, 28, 233, 206, 234, 120, 235, 236, 237, - 238, 239, 0, 0, 240, 149, 2, 241, 44, 242, 243, 244, 0, 0, 0, 0, - 1, 162, 245, 246, 1, 247, 248, 0, 0, 0, 0, 0, 1, 249, 201, 0, - 1, 250, 251, 252, 1, 253, 254, 0, 91, 255, 0, 0, 0, 0, 0, 0, - 1, 256, 0, 0, 0, 1, 1, 257, 258, 259, 260, 0, 0, 261, 262, 263, - 264, 265, 266, 1, 267, 268, 1, 95, 0, 0, 0, 0, 0, 0, 0, 0, - 269, 270, 271, 153, 19, 272, 0, 0, 273, 200, 274, 275, 276, 254, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 278, 1, 279, + 1, 1, 1, 182, 1, 1, 94, 0, 183, 184, 185, 1, 1, 1, 186, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 187, 1, 188, 189, + 190, 189, 191, 192, 1, 1, 1, 93, 69, 1, 1, 1, 131, 2, 193, 194, + 195, 196, 197, 0, 1, 1, 1, 92, 198, 199, 1, 1, 137, 138, 189, 93, + 0, 0, 0, 0, 93, 1, 200, 201, 1, 202, 26, 107, 203, 1, 204, 0, + 1, 1, 1, 1, 131, 149, 205, 181, 1, 206, 1, 207, 208, 209, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 144, 107, 210, 211, 212, 0, 0, + 213, 214, 141, 1, 2, 215, 0, 216, 217, 218, 0, 0, 1, 219, 187, 1, + 220, 107, 221, 1, 1, 0, 1, 222, 1, 223, 224, 225, 226, 227, 0, 0, + 1, 1, 228, 0, 1, 229, 1, 230, 1, 231, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 1, 232, 0, 0, 1, 206, 233, 189, 234, 189, 156, 144, + 235, 163, 236, 237, 121, 238, 239, 240, 29, 241, 206, 242, 121, 243, 244, 245, + 246, 247, 0, 0, 248, 149, 2, 249, 45, 250, 251, 252, 0, 0, 0, 0, + 1, 163, 253, 254, 1, 255, 256, 0, 0, 0, 0, 0, 1, 257, 201, 0, + 1, 258, 259, 260, 1, 261, 28, 0, 92, 262, 139, 0, 0, 0, 0, 0, + 1, 263, 0, 0, 0, 1, 1, 264, 265, 266, 267, 0, 0, 268, 269, 270, + 271, 272, 273, 1, 274, 275, 1, 96, 0, 0, 0, 0, 0, 0, 0, 0, + 276, 277, 278, 154, 19, 279, 0, 0, 280, 200, 281, 282, 283, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 284, 0, 0, 0, 0, 0, 285, 1, 286, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 93, 0, 0, 0, - 1, 1, 1, 280, 1, 1, 1, 1, 1, 1, 244, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 94, 0, 0, 0, + 1, 1, 1, 287, 1, 1, 1, 1, 1, 1, 252, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 1, 1, 229, + 1, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 95, 2, 282, 0, 0, 186, 283, 1, 284, 285, 286, 19, 0, 0, 0, + 1, 96, 2, 288, 1, 2, 149, 289, 1, 290, 291, 292, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 91, 0, 0, 0, 1, 1, 133, 1, 287, 0, 0, 288, + 0, 0, 1, 1, 92, 0, 0, 0, 1, 1, 26, 1, 293, 0, 0, 294, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 162, - 1, 1, 1, 1, 1, 1, 106, 0, 223, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 163, + 1, 1, 1, 1, 1, 1, 107, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 289, 290, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 180, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 291, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 106, 1, 293, 1, 294, 295, 296, 1, 223, - 1, 1, 297, 0, 0, 0, 0, 147, 1, 1, 143, 95, 0, 0, 0, 0, - 1, 1, 26, 1, 298, 299, 300, 1, 301, 302, 303, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 304, 1, 1, 1, 1, 1, 1, 1, 1, 305, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 296, 297, 298, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 181, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 299, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 1, 1, 1, 252, 0, + 1, 1, 1, 1, 1, 1, 1, 107, 1, 301, 1, 302, 303, 288, 1, 15, + 1, 1, 304, 0, 0, 0, 0, 147, 1, 1, 144, 96, 0, 0, 0, 0, + 1, 1, 132, 1, 305, 306, 307, 1, 308, 309, 310, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 311, 1, 1, 1, 1, 1, 1, 1, 1, 312, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 306, 0, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 309, 282, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 310, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 311, 0, 1, 1, 312, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 313, 1, 314, 0, 0, 68, 130, 0, 0, 0, 0, 0, 0, - 300, 315, 316, 317, 318, 319, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 110, 1, 1, 147, 321, 322, 106, 1, 1, 1, 1, 1, 115, 0, 323, - 324, 180, 325, 326, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 313, 0, 314, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 316, 317, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 189, 116, 1, 318, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, + 1, 1, 1, 1, 1, 1, 320, 0, 1, 1, 321, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 322, 1, 323, 0, 0, 69, 131, 0, 0, 0, 0, 0, 0, + 307, 324, 325, 326, 327, 328, 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 111, 1, 1, 147, 330, 331, 107, 1, 1, 1, 1, 1, 116, 0, 332, + 275, 181, 333, 334, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 162, 327, 1, 1, 1, 147, 1, 1, 95, 155, - 110, 1, 328, 1, 206, 329, 0, 0, 1, 1, 1, 330, 1, 1, 194, 1, - 1, 1, 147, 331, 154, 332, 333, 0, 1, 1, 1, 1, 190, 1, 15, 189, + 1, 1, 1, 1, 1, 1, 335, 336, 1, 1, 1, 147, 1, 1, 96, 337, + 111, 1, 338, 1, 206, 339, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 147, 340, 155, 341, 342, 343, 1, 1, 1, 1, 191, 1, 15, 190, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 130, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 314, 1, 1, 1, 1, 1, 1, - 130, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 96, 1, 1, 1, 1, 1, 1, + 131, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 231, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 239, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 199, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 138, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 0, 0, 0, 0, 0 }; @@ -11167,87 +11395,89 @@ static RE_UINT8 re_grapheme_base_table_3[] = { 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 127, 255, 223, 255, 255, 0, 0, 255, 252, 240, 215, 255, 255, 251, 255, 255, 255, 7, 252, 255, 255, 255, 255, 254, 255, 255, 255, 127, 254, 255, 231, 0, 0, 0, 0, 0, 64, - 73, 0, 255, 255, 255, 135, 31, 0, 192, 255, 0, 200, 255, 7, 0, 0, + 73, 0, 255, 255, 255, 135, 31, 0, 192, 255, 0, 232, 255, 7, 0, 0, 255, 255, 63, 64, 96, 194, 255, 255, 255, 63, 253, 255, 255, 255, 0, 0, 0, 224, 255, 255, 63, 0, 2, 0, 255, 7, 240, 199, 255, 255, 63, 4, - 16, 1, 255, 127, 255, 255, 255, 65, 255, 255, 223, 255, 255, 0, 0, 0, - 248, 255, 255, 255, 255, 255, 255, 235, 1, 222, 1, 255, 243, 255, 255, 255, - 237, 159, 249, 255, 255, 253, 197, 163, 129, 89, 0, 176, 195, 255, 255, 63, - 232, 135, 249, 255, 255, 253, 109, 195, 1, 0, 0, 94, 192, 255, 92, 0, - 232, 191, 251, 255, 255, 253, 237, 227, 1, 26, 1, 0, 195, 255, 3, 2, - 236, 159, 249, 255, 255, 253, 237, 35, 129, 25, 0, 176, 195, 255, 255, 0, - 232, 199, 61, 214, 24, 199, 255, 131, 198, 29, 1, 0, 192, 255, 255, 7, - 238, 223, 253, 255, 255, 253, 255, 35, 30, 0, 0, 7, 195, 255, 128, 255, - 253, 223, 253, 255, 255, 253, 239, 99, 155, 13, 0, 64, 195, 255, 6, 0, - 252, 223, 253, 255, 255, 255, 255, 167, 193, 221, 112, 255, 195, 255, 255, 255, - 236, 255, 127, 252, 255, 255, 251, 47, 127, 0, 3, 127, 192, 255, 28, 0, - 254, 255, 255, 255, 255, 255, 13, 128, 127, 128, 255, 15, 214, 247, 255, 255, - 175, 255, 13, 32, 95, 0, 255, 243, 255, 255, 255, 252, 255, 255, 95, 253, - 255, 254, 255, 255, 255, 31, 0, 128, 32, 31, 0, 0, 0, 0, 0, 192, - 191, 223, 255, 7, 255, 31, 2, 153, 255, 255, 255, 60, 254, 255, 225, 255, - 155, 223, 255, 223, 191, 32, 255, 255, 255, 61, 127, 61, 255, 61, 255, 255, - 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 255, 7, - 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, 255, 255, 255, 1, - 255, 223, 3, 0, 255, 255, 99, 0, 255, 255, 3, 0, 255, 223, 1, 0, - 255, 255, 79, 192, 191, 1, 240, 31, 255, 3, 255, 3, 255, 7, 255, 3, - 159, 255, 255, 255, 255, 5, 255, 255, 255, 255, 63, 0, 120, 14, 251, 1, - 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 199, - 255, 255, 127, 198, 255, 255, 191, 0, 26, 224, 7, 0, 255, 63, 0, 0, - 240, 255, 255, 255, 255, 255, 15, 232, 251, 15, 255, 255, 255, 7, 240, 31, - 252, 255, 255, 255, 195, 196, 255, 255, 191, 92, 12, 240, 255, 15, 48, 248, - 255, 227, 255, 255, 255, 1, 255, 255, 255, 255, 255, 231, 255, 0, 8, 0, - 2, 222, 239, 4, 63, 63, 255, 170, 255, 255, 255, 63, 223, 255, 207, 239, - 255, 255, 220, 127, 255, 7, 255, 255, 255, 128, 255, 255, 0, 0, 243, 255, - 255, 127, 255, 31, 127, 0, 0, 0, 255, 255, 207, 255, 255, 255, 191, 255, - 255, 127, 255, 255, 255, 127, 12, 254, 255, 128, 1, 0, 255, 255, 127, 0, - 127, 127, 127, 127, 255, 255, 7, 0, 255, 255, 255, 251, 255, 255, 15, 0, + 16, 1, 255, 127, 255, 255, 255, 65, 255, 7, 255, 255, 255, 127, 0, 0, + 255, 3, 0, 0, 248, 255, 255, 255, 255, 255, 255, 235, 1, 222, 1, 255, + 243, 255, 255, 255, 237, 159, 249, 255, 255, 253, 197, 163, 129, 89, 0, 176, + 195, 255, 255, 63, 232, 135, 249, 255, 255, 253, 109, 195, 1, 0, 0, 94, + 192, 255, 92, 0, 232, 191, 251, 255, 255, 253, 237, 227, 1, 26, 1, 0, + 195, 255, 3, 2, 236, 159, 249, 255, 255, 253, 237, 35, 129, 25, 0, 176, + 195, 255, 255, 0, 232, 199, 61, 214, 24, 199, 255, 131, 198, 29, 1, 0, + 192, 255, 255, 7, 238, 223, 253, 255, 255, 253, 255, 35, 30, 0, 0, 39, + 195, 255, 128, 255, 253, 223, 253, 255, 255, 253, 239, 99, 155, 13, 0, 96, + 195, 255, 6, 0, 252, 223, 253, 255, 255, 255, 255, 167, 193, 221, 112, 255, + 195, 255, 255, 255, 236, 255, 127, 252, 255, 255, 251, 47, 127, 0, 3, 127, + 192, 255, 28, 0, 254, 255, 255, 255, 255, 255, 13, 128, 127, 128, 255, 15, + 214, 247, 255, 255, 175, 255, 13, 32, 95, 0, 255, 243, 255, 255, 255, 252, + 255, 255, 95, 253, 255, 254, 255, 255, 255, 31, 0, 128, 32, 31, 0, 0, + 0, 0, 0, 192, 191, 223, 255, 7, 255, 31, 2, 153, 255, 255, 255, 60, + 254, 255, 225, 255, 155, 223, 255, 223, 191, 32, 255, 255, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 7, 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, + 255, 255, 255, 1, 255, 255, 35, 128, 255, 255, 115, 0, 255, 255, 3, 0, + 255, 223, 1, 0, 255, 255, 79, 192, 191, 1, 240, 31, 255, 3, 255, 3, + 255, 7, 255, 3, 159, 255, 255, 255, 255, 5, 255, 255, 255, 255, 63, 0, + 120, 14, 251, 1, 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, + 255, 3, 255, 199, 255, 255, 127, 198, 255, 255, 191, 0, 26, 224, 7, 0, + 255, 63, 0, 0, 240, 255, 255, 255, 255, 255, 15, 232, 251, 31, 255, 255, + 255, 7, 240, 127, 252, 255, 255, 255, 195, 196, 255, 255, 191, 92, 12, 240, + 255, 15, 48, 248, 255, 227, 255, 255, 255, 1, 255, 255, 255, 255, 255, 231, + 255, 0, 8, 0, 2, 222, 239, 4, 63, 63, 255, 170, 255, 255, 255, 63, + 255, 255, 223, 255, 223, 255, 207, 239, 255, 255, 220, 127, 255, 128, 255, 255, + 0, 0, 243, 255, 255, 127, 255, 31, 1, 0, 0, 0, 127, 0, 0, 0, + 255, 255, 207, 255, 255, 255, 191, 255, 255, 127, 12, 254, 255, 128, 1, 0, + 255, 255, 127, 0, 127, 127, 127, 127, 255, 255, 255, 251, 255, 255, 15, 0, 0, 0, 255, 15, 255, 3, 255, 255, 255, 255, 127, 248, 224, 255, 255, 255, - 15, 0, 255, 255, 255, 31, 255, 255, 127, 0, 255, 255, 255, 15, 0, 0, - 255, 127, 8, 192, 255, 255, 252, 0, 252, 7, 0, 0, 0, 0, 224, 255, - 187, 247, 255, 255, 159, 15, 255, 3, 255, 255, 255, 0, 15, 192, 255, 3, - 0, 0, 252, 127, 63, 192, 255, 255, 127, 0, 12, 128, 255, 255, 55, 204, - 255, 191, 255, 195, 223, 255, 255, 127, 255, 129, 25, 0, 247, 47, 255, 243, - 255, 255, 255, 239, 255, 255, 98, 62, 5, 0, 0, 248, 255, 207, 63, 0, - 126, 126, 126, 0, 127, 127, 255, 255, 223, 30, 255, 3, 127, 248, 255, 255, - 255, 255, 255, 15, 255, 63, 255, 255, 127, 0, 248, 160, 255, 255, 127, 95, - 219, 255, 255, 255, 3, 0, 248, 255, 0, 0, 255, 255, 255, 255, 252, 255, - 0, 0, 255, 63, 0, 0, 255, 3, 255, 255, 247, 255, 127, 15, 223, 255, - 252, 252, 252, 28, 127, 127, 0, 48, 255, 239, 255, 255, 127, 255, 255, 183, - 255, 63, 255, 63, 135, 255, 255, 255, 255, 255, 143, 255, 1, 0, 0, 0, + 255, 127, 255, 255, 15, 0, 255, 255, 255, 31, 255, 255, 127, 0, 255, 255, + 255, 15, 0, 0, 255, 127, 8, 192, 255, 255, 252, 0, 255, 7, 235, 3, + 0, 0, 252, 255, 187, 247, 255, 255, 159, 15, 255, 3, 255, 255, 255, 0, + 15, 192, 255, 3, 0, 0, 252, 127, 63, 192, 255, 255, 127, 0, 12, 128, + 255, 255, 55, 204, 255, 191, 255, 195, 223, 255, 255, 127, 255, 129, 25, 0, + 247, 47, 255, 243, 255, 255, 255, 239, 255, 255, 98, 62, 5, 0, 0, 248, + 255, 207, 63, 0, 126, 126, 126, 0, 127, 127, 255, 255, 223, 30, 255, 3, + 127, 248, 255, 255, 255, 255, 255, 15, 255, 63, 255, 255, 127, 0, 248, 160, + 255, 255, 127, 95, 219, 255, 255, 255, 7, 0, 248, 255, 255, 255, 252, 255, + 255, 128, 0, 0, 0, 0, 255, 255, 0, 0, 255, 3, 255, 255, 247, 255, + 127, 15, 223, 255, 252, 252, 252, 28, 127, 127, 0, 48, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 135, 255, 255, 255, 255, 255, 143, 255, 255, 255, 1, 0, 254, 255, 255, 15, 15, 224, 255, 255, 255, 255, 255, 191, - 15, 255, 63, 0, 255, 255, 15, 255, 255, 0, 255, 255, 15, 128, 0, 0, - 63, 253, 255, 255, 255, 255, 191, 145, 128, 255, 0, 0, 255, 255, 55, 248, - 255, 255, 255, 143, 255, 255, 255, 131, 255, 255, 255, 240, 1, 0, 239, 254, - 255, 1, 255, 1, 31, 248, 127, 0, 255, 255, 63, 254, 255, 255, 63, 255, - 255, 255, 7, 255, 255, 255, 3, 30, 0, 254, 0, 0, 255, 1, 0, 0, - 255, 255, 7, 252, 15, 0, 255, 3, 255, 35, 3, 0, 63, 0, 254, 3, - 253, 255, 255, 255, 128, 63, 252, 255, 255, 255, 135, 217, 3, 0, 255, 255, + 15, 255, 63, 0, 255, 255, 15, 255, 255, 0, 255, 255, 15, 128, 255, 247, + 255, 247, 183, 255, 251, 255, 251, 27, 255, 0, 0, 0, 191, 255, 255, 255, + 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 128, 255, 0, 0, + 255, 255, 55, 248, 255, 255, 255, 143, 255, 255, 255, 131, 255, 255, 255, 240, + 1, 0, 239, 254, 255, 1, 255, 1, 31, 248, 127, 0, 255, 255, 63, 254, + 255, 255, 63, 255, 255, 255, 7, 255, 255, 255, 3, 30, 0, 254, 0, 0, + 255, 1, 0, 0, 255, 255, 7, 0, 255, 255, 7, 252, 15, 0, 255, 3, + 255, 35, 3, 0, 63, 0, 254, 3, 195, 3, 0, 0, 253, 255, 255, 255, + 128, 63, 252, 255, 255, 255, 38, 0, 255, 255, 135, 217, 3, 0, 255, 255, 255, 1, 255, 3, 127, 16, 192, 255, 255, 255, 119, 0, 255, 255, 63, 128, 255, 97, 255, 255, 254, 255, 31, 0, 255, 255, 251, 255, 255, 127, 44, 63, 127, 189, 255, 191, 7, 0, 255, 3, 255, 253, 237, 163, 158, 57, 1, 224, 15, 0, 0, 0, 163, 255, 255, 175, 3, 0, 0, 0, 255, 255, 6, 90, 242, 0, 255, 3, 255, 127, 3, 79, 255, 255, 7, 88, 30, 0, 255, 3, - 255, 31, 0, 0, 255, 215, 64, 1, 255, 3, 0, 0, 67, 0, 255, 255, - 255, 127, 0, 9, 255, 255, 7, 128, 127, 242, 111, 255, 255, 255, 190, 161, - 119, 0, 255, 3, 255, 252, 255, 255, 255, 255, 15, 240, 30, 0, 0, 0, - 1, 248, 255, 255, 255, 255, 7, 134, 127, 0, 129, 241, 255, 3, 128, 252, - 7, 0, 0, 0, 255, 253, 255, 255, 255, 255, 0, 64, 63, 0, 255, 255, - 0, 2, 18, 0, 127, 251, 255, 255, 64, 0, 255, 3, 191, 253, 255, 255, - 255, 127, 88, 1, 255, 255, 231, 1, 0, 0, 1, 0, 255, 255, 3, 128, - 255, 127, 31, 0, 255, 127, 0, 0, 255, 195, 0, 0, 255, 63, 32, 0, - 255, 255, 128, 255, 63, 0, 255, 251, 251, 255, 255, 224, 255, 0, 248, 255, - 15, 0, 3, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, + 255, 31, 0, 0, 255, 215, 64, 3, 67, 0, 255, 255, 255, 127, 0, 9, + 255, 255, 7, 128, 127, 242, 111, 255, 255, 255, 190, 161, 119, 0, 255, 3, + 255, 252, 255, 255, 255, 255, 15, 240, 30, 0, 0, 0, 1, 248, 255, 255, + 255, 255, 7, 134, 127, 0, 129, 241, 255, 3, 128, 252, 7, 0, 255, 255, + 255, 253, 255, 255, 255, 255, 0, 64, 63, 0, 255, 255, 0, 2, 18, 0, + 127, 251, 255, 255, 64, 0, 255, 3, 191, 253, 255, 255, 255, 127, 88, 1, + 255, 255, 231, 1, 0, 0, 1, 0, 255, 255, 3, 128, 255, 127, 31, 0, + 255, 195, 255, 255, 255, 63, 32, 0, 255, 255, 128, 255, 63, 0, 255, 251, + 251, 255, 255, 224, 255, 0, 248, 255, 15, 0, 3, 0, 0, 0, 239, 111, + 7, 0, 0, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, 255, 1, 255, 147, 127, 254, 255, 255, 95, 60, 0, 0, 24, 240, 255, 255, - 255, 195, 255, 255, 35, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, - 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, - 63, 255, 255, 255, 255, 207, 255, 255, 0, 0, 128, 7, 0, 224, 223, 255, - 239, 15, 0, 0, 255, 31, 128, 63, 255, 15, 255, 131, 159, 255, 0, 0, - 15, 8, 255, 195, 0, 0, 254, 255, 255, 255, 31, 0, 150, 254, 247, 10, - 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, - 0, 0, 3, 0, 255, 127, 254, 255, 254, 255, 254, 255, 192, 255, 255, 255, - 7, 0, 255, 255, 255, 1, 3, 0, 63, 0, 0, 0, 255, 31, 255, 31, - 255, 0, 255, 3, 255, 63, 3, 0, 255, 255, 255, 253, 255, 63, 31, 7, - 255, 1, 127, 0, 7, 0, 127, 0 + 35, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, + 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, + 255, 207, 255, 255, 0, 0, 128, 7, 0, 224, 223, 255, 239, 15, 0, 0, + 255, 31, 128, 63, 255, 195, 0, 0, 255, 15, 255, 131, 127, 111, 255, 127, + 159, 255, 0, 0, 15, 8, 255, 195, 0, 0, 254, 255, 255, 255, 31, 0, + 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, + 238, 251, 255, 15, 0, 0, 3, 0, 255, 127, 254, 255, 254, 255, 254, 255, + 192, 255, 255, 255, 255, 1, 3, 0, 63, 0, 0, 0, 255, 255, 255, 224, + 255, 31, 255, 31, 255, 15, 1, 0, 255, 0, 255, 3, 255, 63, 3, 0, + 255, 63, 31, 31, 255, 31, 255, 7, 63, 0, 255, 3, 255, 0, 127, 0 }; RE_UINT32 re_get_grapheme_base(RE_UINT32 codepoint) { @@ -11278,7 +11508,7 @@ static RE_UINT8 re_grapheme_cluster_break_table_1[] = { 24, 9, 25, 26, 27, 28, 29, 30, 9, 9, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 34, - 9, 9, 9, 9, 35, 9, 36, 9, 37, 9, 38, 9, 39, 9, 9, 9, + 9, 9, 9, 35, 36, 9, 37, 9, 38, 9, 39, 9, 40, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -11327,7 +11557,7 @@ static RE_UINT8 re_grapheme_cluster_break_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 40, 41, 41, 41, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 41, 42, 42, 42, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -11346,17 +11576,17 @@ static RE_UINT8 re_grapheme_cluster_break_table_2[] = { 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 6, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 8, 9, 10, 1, 11, 1, 12, 13, 1, 1, 14, 15, 16, 17, 18, 1, 1, 19, 1, 20, - 21, 22, 23, 1, 1, 1, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 34, 35, 38, 39, 30, 40, 41, 29, 42, 43, 44, 1, - 45, 46, 47, 29, 30, 48, 49, 29, 50, 51, 52, 29, 30, 1, 53, 54, + 21, 22, 23, 1, 24, 1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 35, 36, 39, 40, 31, 41, 42, 30, 43, 44, 45, 1, + 46, 41, 47, 30, 31, 48, 49, 30, 50, 51, 52, 30, 31, 1, 53, 54, 1, 55, 56, 1, 1, 57, 58, 1, 59, 60, 1, 61, 62, 63, 64, 1, 1, 65, 66, 67, 68, 1, 1, 1, 69, 69, 69, 70, 70, 71, 72, 72, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 73, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 74, 74, 75, 75, 1, 76, 77, 1, - 78, 1, 1, 1, 79, 80, 1, 1, 1, 81, 1, 1, 1, 1, 1, 1, - 82, 1, 83, 84, 1, 17, 85, 1, 86, 87, 88, 89, 90, 91, 1, 92, - 1, 93, 1, 1, 1, 1, 94, 95, 1, 1, 1, 1, 1, 1, 5, 96, + 1, 1, 1, 1, 1, 1, 1, 1, 74, 75, 76, 76, 1, 77, 78, 1, + 79, 1, 1, 1, 80, 81, 1, 1, 1, 82, 1, 1, 1, 1, 1, 1, + 83, 1, 84, 85, 1, 17, 86, 1, 87, 88, 89, 90, 91, 92, 1, 93, + 1, 94, 1, 1, 1, 1, 95, 96, 1, 1, 1, 1, 1, 1, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 97, 98, 1, 99, 1, 1, 17, 100, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -11367,62 +11597,64 @@ static RE_UINT8 re_grapheme_cluster_break_table_2[] = { 1, 103, 1, 1, 104, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 105, 46, 1, 1, 106, 1, 1, 1, 1, 1, 1, 1, 1, - 107, 108, 1, 1, 109, 110, 111, 112, 1, 113, 114, 115, 26, 116, 117, 118, - 1, 119, 120, 121, 1, 122, 123, 124, 1, 1, 1, 1, 1, 1, 1, 125, - 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, - 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, - 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, - 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, - 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, - 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, - 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, - 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, - 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, - 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, - 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, - 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, - 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, - 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, - 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, - 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 133, 134, 135, + 1, 1, 1, 105, 106, 1, 1, 107, 1, 1, 1, 1, 1, 1, 1, 1, + 108, 109, 1, 1, 110, 111, 112, 113, 1, 114, 115, 116, 27, 117, 118, 119, + 1, 120, 121, 122, 1, 123, 124, 125, 1, 1, 1, 1, 1, 1, 1, 126, + 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, + 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, + 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, + 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, + 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, + 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, + 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, + 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, + 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, + 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, + 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, + 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, + 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, + 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, + 132, 133, 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 133, + 127, 128, 129, 130, 131, 132, 133, 127, 128, 129, 130, 131, 132, 134, 135, 136, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 136, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 137, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 6, 6, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 46, 1, 1, 137, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 138, - 1, 1, 1, 1, 1, 1, 1, 85, 1, 1, 1, 139, 1, 1, 1, 1, + 6, 6, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 106, 1, 1, 138, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 139, + 1, 1, 1, 1, 1, 1, 1, 140, 1, 1, 1, 141, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 142, 143, 1, 1, 1, 1, 1, 80, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 144, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 145, 1, 1, 1, 1, 19, 1, 146, 1, 1, 1, + 147, 148, 149, 150, 91, 151, 152, 1, 153, 154, 155, 156, 91, 157, 158, 1, + 1, 159, 1, 1, 1, 1, 102, 160, 50, 51, 161, 162, 1, 1, 1, 1, + 1, 163, 164, 1, 1, 165, 166, 1, 1, 1, 1, 1, 1, 167, 168, 1, + 1, 169, 140, 1, 1, 170, 1, 1, 73, 171, 1, 1, 1, 1, 1, 1, + 1, 172, 1, 1, 1, 1, 1, 1, 1, 173, 174, 1, 1, 1, 175, 176, + 177, 178, 179, 1, 180, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 181, 1, 1, 182, 183, 1, 1, 1, 184, 185, 1, 186, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 187, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 188, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 140, 141, 1, 1, 1, 1, 1, 79, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 142, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 143, 1, 1, 1, 1, 19, 1, 1, 1, 1, 1, - 144, 145, 146, 102, 90, 147, 148, 1, 149, 150, 151, 152, 90, 153, 154, 1, - 1, 155, 1, 1, 1, 1, 102, 156, 50, 51, 157, 158, 1, 1, 1, 1, - 1, 159, 160, 1, 1, 161, 162, 1, 1, 1, 1, 1, 1, 163, 164, 1, - 1, 165, 85, 1, 1, 166, 1, 1, 73, 167, 1, 1, 1, 1, 1, 1, - 1, 168, 1, 1, 1, 1, 1, 1, 1, 169, 170, 1, 1, 1, 171, 172, - 173, 174, 175, 1, 176, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 177, 1, 1, 178, 179, 1, 1, 1, 180, 181, 1, 182, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 183, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 184, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 189, 1, 190, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 185, 1, 186, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 191, 192, 193, 1, 1, 194, + 1, 1, 1, 1, 195, 196, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 187, 188, 189, 1, 1, 190, - 1, 1, 1, 1, 191, 192, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 193, 194, 195, 1, 1, - 1, 1, 196, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 5, 197, 149, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 198, 199, 200, 1, 1, + 1, 1, 201, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 5, 197, 5, 198, 199, 200, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 201, 202, 1, 1, 1, 1, 1, 1, 1, 186, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 203, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 186, 1, 1, 1, 204, 1, 1, 1, 1, 1, + 5, 202, 5, 203, 204, 205, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 206, 207, 1, 1, 1, 1, 1, 1, 1, 190, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 208, 1, 209, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 190, 1, 1, 1, 210, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 205, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 206, - 3, 5, 5, 5, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 207, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 211, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 212, + 3, 5, 5, 5, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 213, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 @@ -11478,7 +11710,9 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11521,8 +11755,6 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 6, 6, 0, 4, 4, 4, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11578,14 +11810,16 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4, 4, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 4, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11599,7 +11833,7 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 6, 4, 6, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, - 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11621,8 +11855,6 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 6, 4, 4, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 10, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, @@ -11642,6 +11874,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11707,6 +11941,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 4, 4, 0, 0, 0, 0, 0, 4, 4, 4, 4, @@ -11717,6 +11953,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11724,8 +11962,10 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 4, 4, 4, 4, 6, 6, 4, 4, 0, 0, 5, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, + 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11763,7 +12003,7 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 4, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 4, 6, 6, 4, 4, 4, 4, 4, 4, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 0, 0, 0, 0, + 0, 0, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 4, 4, 0, 0, 0, 0, 0, @@ -11815,6 +12055,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 4, 6, 4, 4, 4, 0, 0, 0, 6, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, @@ -11835,6 +12077,8 @@ static RE_UINT8 re_grapheme_cluster_break_table_3[] = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, @@ -11873,7 +12117,7 @@ static RE_UINT8 re_grapheme_extend_table_1[] = { 16, 9, 17, 18, 19, 20, 21, 22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 23, 24, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 25, - 9, 9, 9, 9, 26, 9, 27, 9, 28, 9, 29, 9, 9, 9, 9, 9, + 9, 9, 9, 26, 27, 9, 28, 9, 29, 9, 30, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -11922,7 +12166,7 @@ static RE_UINT8 re_grapheme_extend_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 30, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -11941,61 +12185,63 @@ static RE_UINT8 re_grapheme_extend_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 0, 7, 0, 8, 9, 0, 0, 10, 11, 12, 13, 14, 0, 0, 15, 0, 16, - 17, 18, 19, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 30, 31, 34, 35, 26, 36, 37, 25, 38, 39, 40, 0, - 41, 42, 43, 25, 26, 44, 45, 25, 46, 47, 28, 25, 26, 0, 48, 0, + 17, 18, 19, 0, 20, 0, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 31, 32, 35, 36, 27, 37, 38, 26, 39, 40, 41, 0, + 42, 37, 43, 26, 27, 44, 45, 26, 46, 47, 29, 26, 27, 0, 48, 0, 0, 49, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 56, 57, 58, 0, 0, 59, 60, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 65, 65, 0, 66, 67, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 65, 65, 0, 66, 67, 0, 68, 0, 0, 0, 69, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, - 72, 0, 73, 74, 0, 13, 75, 0, 76, 77, 38, 78, 46, 79, 0, 80, - 0, 81, 0, 0, 0, 0, 82, 83, 0, 0, 0, 0, 0, 0, 1, 84, + 72, 0, 73, 74, 0, 13, 75, 0, 76, 77, 39, 78, 46, 79, 0, 80, + 0, 81, 0, 0, 0, 0, 82, 83, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 85, 0, 0, 0, 0, 0, 13, 86, 0, 0, 0, 0, 0, 0, 0, 0, + 84, 0, 0, 0, 0, 0, 13, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 89, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 88, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 91, 42, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, - 93, 94, 0, 0, 0, 0, 95, 96, 0, 97, 98, 0, 22, 99, 0, 100, - 0, 101, 102, 31, 0, 103, 26, 104, 0, 0, 0, 0, 0, 0, 0, 105, + 0, 0, 0, 90, 91, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, + 93, 94, 0, 0, 0, 0, 95, 96, 0, 97, 98, 0, 23, 99, 0, 100, + 0, 101, 102, 32, 0, 103, 27, 104, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, + 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, - 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 107, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 108, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 109, 110, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, 15, 0, 113, 0, 0, 0, + 27, 20, 114, 115, 46, 116, 39, 0, 23, 117, 0, 118, 46, 119, 120, 0, + 0, 121, 0, 0, 0, 0, 87, 122, 46, 47, 123, 124, 0, 0, 0, 0, + 0, 20, 125, 0, 0, 126, 127, 0, 0, 0, 0, 0, 0, 128, 129, 0, + 0, 130, 107, 0, 0, 131, 0, 0, 63, 132, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 0, 0, 0, 0, 134, 135, 0, 0, 0, 136, 107, + 137, 138, 139, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 141, 0, 0, 142, 143, 0, 0, 0, 144, 145, 0, 146, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 108, 109, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, - 26, 112, 113, 88, 46, 114, 0, 0, 22, 115, 0, 116, 46, 117, 118, 0, - 0, 119, 0, 0, 0, 0, 88, 120, 46, 47, 121, 122, 0, 0, 0, 0, - 0, 112, 123, 0, 0, 124, 125, 0, 0, 0, 0, 0, 0, 126, 127, 0, - 0, 128, 75, 0, 0, 129, 0, 0, 63, 130, 0, 0, 0, 0, 0, 0, - 0, 131, 0, 0, 0, 0, 0, 0, 0, 132, 133, 0, 0, 0, 134, 75, - 135, 136, 137, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 139, 0, 0, 140, 141, 0, 0, 0, 142, 143, 0, 144, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 148, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 146, 0, 147, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 151, 0, 0, 152, + 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, 149, 0, 0, 150, - 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 154, 0, 0, - 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 154, 114, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 156, 157, 0, 0, + 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 156, 1, 157, 158, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 161, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 163, 0, 0, 0, 0, 0, + 1, 159, 1, 160, 161, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 163, 164, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 165, 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 @@ -12007,42 +12253,43 @@ static RE_UINT8 re_grapheme_extend_table_3[] = { 0, 248, 255, 255, 0, 0, 1, 0, 0, 0, 192, 159, 159, 61, 0, 0, 0, 0, 2, 0, 0, 0, 255, 255, 255, 7, 0, 0, 192, 255, 1, 0, 0, 248, 15, 32, 0, 0, 192, 251, 239, 62, 0, 0, 0, 0, 0, 14, - 0, 0, 248, 255, 251, 255, 255, 255, 7, 0, 0, 0, 0, 0, 0, 20, - 254, 33, 254, 0, 12, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 80, - 30, 32, 128, 0, 12, 0, 0, 64, 6, 0, 0, 0, 0, 0, 0, 16, - 134, 57, 2, 0, 0, 0, 35, 0, 190, 33, 0, 0, 12, 0, 0, 252, - 0, 0, 0, 208, 30, 32, 224, 0, 4, 0, 0, 0, 0, 0, 0, 64, - 1, 32, 128, 0, 17, 0, 0, 0, 0, 0, 0, 192, 193, 61, 96, 0, + 0, 0, 0, 255, 0, 252, 255, 255, 251, 255, 255, 255, 7, 0, 0, 0, + 0, 0, 0, 20, 254, 33, 254, 0, 12, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 80, 30, 32, 128, 0, 12, 0, 0, 64, 6, 0, 0, 0, + 0, 0, 0, 16, 134, 57, 2, 0, 0, 0, 35, 0, 190, 33, 0, 0, + 12, 0, 0, 252, 0, 0, 0, 208, 30, 32, 224, 0, 4, 0, 0, 0, + 0, 0, 0, 64, 1, 32, 128, 0, 17, 0, 0, 0, 193, 61, 96, 0, 0, 0, 0, 144, 68, 48, 96, 0, 3, 0, 0, 0, 0, 0, 0, 88, 0, 132, 92, 128, 0, 0, 242, 7, 128, 127, 0, 0, 0, 0, 242, 31, 0, 63, 0, 0, 0, 0, 0, 3, 0, 0, 160, 2, 0, 0, 254, 127, 223, 224, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 0, 224, 253, 102, 0, 0, 0, 195, 1, 0, 30, 0, 100, 32, 0, 32, 0, 0, 0, 224, 0, 0, 28, 0, 0, 0, 12, 0, 0, 0, 176, 63, 64, 254, 15, 32, - 0, 56, 0, 0, 96, 0, 0, 0, 0, 2, 0, 0, 135, 1, 4, 14, - 0, 0, 128, 9, 0, 0, 64, 127, 229, 31, 248, 159, 1, 0, 0, 0, + 0, 184, 0, 0, 96, 0, 0, 0, 0, 2, 0, 0, 135, 1, 4, 14, + 0, 0, 128, 9, 0, 0, 64, 127, 229, 31, 248, 159, 255, 127, 0, 0, 15, 0, 0, 0, 0, 0, 240, 23, 0, 248, 15, 0, 60, 59, 0, 0, 64, 163, 3, 0, 0, 240, 207, 0, 0, 0, 247, 255, 253, 33, 16, 3, - 255, 255, 255, 251, 0, 16, 0, 0, 255, 255, 1, 0, 0, 128, 3, 0, - 0, 0, 0, 128, 0, 252, 0, 0, 0, 0, 0, 6, 0, 128, 247, 63, + 0, 16, 0, 0, 255, 255, 1, 0, 0, 128, 3, 0, 0, 0, 0, 128, + 0, 252, 0, 0, 0, 0, 0, 6, 0, 128, 247, 63, 0, 0, 0, 192, 0, 0, 3, 0, 68, 8, 0, 0, 96, 16, 0, 0, 48, 0, 0, 0, 255, 255, 3, 128, 192, 63, 0, 0, 128, 255, 3, 0, 0, 0, 200, 51, 32, 0, 0, 0, 0, 126, 102, 0, 8, 16, 0, 0, 0, 0, 157, 193, - 0, 48, 64, 0, 32, 33, 0, 0, 0, 0, 0, 32, 0, 0, 192, 7, - 110, 240, 0, 0, 0, 0, 0, 135, 240, 0, 0, 0, 0, 24, 0, 0, - 0, 0, 0, 255, 127, 0, 0, 0, 0, 0, 120, 6, 128, 239, 31, 0, - 0, 0, 8, 0, 0, 0, 192, 127, 0, 158, 0, 0, 0, 128, 211, 64, - 248, 7, 0, 0, 1, 0, 128, 0, 192, 31, 31, 0, 92, 0, 0, 64, - 0, 0, 249, 165, 13, 0, 0, 0, 0, 128, 60, 176, 1, 0, 0, 48, - 0, 0, 248, 167, 0, 40, 191, 0, 188, 15, 0, 0, 0, 128, 255, 6, - 0, 0, 1, 88, 8, 0, 0, 0, 0, 0, 240, 12, 254, 7, 0, 0, - 0, 0, 248, 121, 128, 0, 126, 14, 0, 252, 127, 3, 0, 0, 127, 191, - 0, 0, 252, 255, 255, 252, 109, 0, 0, 0, 126, 180, 191, 0, 0, 0, - 0, 0, 163, 0, 0, 0, 24, 0, 0, 0, 31, 0, 0, 0, 127, 0, - 0, 128, 0, 0, 0, 128, 7, 0, 16, 0, 0, 0, 0, 0, 0, 96, - 160, 195, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, - 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, - 127, 255, 255, 249, 219, 7, 0, 0, 0, 240, 0, 0, 240, 7, 0, 0 + 0, 48, 64, 0, 32, 33, 0, 0, 0, 0, 0, 32, 1, 0, 0, 0, + 0, 0, 192, 7, 110, 240, 0, 0, 0, 0, 0, 135, 240, 0, 0, 0, + 0, 24, 0, 0, 60, 0, 0, 0, 127, 0, 0, 0, 0, 0, 25, 128, + 0, 0, 120, 6, 128, 239, 31, 0, 0, 0, 8, 0, 0, 0, 192, 127, + 0, 158, 0, 0, 0, 128, 211, 64, 248, 7, 0, 0, 1, 0, 128, 0, + 192, 31, 31, 0, 92, 0, 0, 64, 0, 0, 249, 165, 13, 0, 0, 0, + 0, 128, 60, 176, 1, 0, 0, 48, 0, 0, 248, 167, 0, 40, 191, 0, + 188, 15, 0, 0, 0, 128, 255, 6, 0, 0, 1, 88, 8, 0, 0, 0, + 0, 0, 240, 12, 254, 7, 0, 0, 0, 0, 248, 121, 128, 0, 126, 14, + 0, 252, 127, 3, 0, 0, 127, 191, 0, 0, 252, 255, 255, 252, 109, 0, + 0, 0, 126, 180, 191, 0, 0, 0, 0, 0, 163, 0, 0, 0, 24, 0, + 0, 0, 31, 0, 0, 0, 127, 0, 0, 128, 0, 0, 0, 128, 7, 0, + 16, 0, 0, 0, 0, 0, 0, 96, 255, 63, 255, 255, 160, 195, 7, 248, + 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 127, 248, + 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, + 219, 7, 0, 0, 0, 64, 0, 0, 0, 240, 0, 0, 240, 7, 0, 0 }; RE_UINT32 re_get_grapheme_extend(RE_UINT32 codepoint) { @@ -12146,33 +12393,33 @@ static RE_UINT8 re_grapheme_link_table_2[] = { 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 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, 9, 0, 0, 0, 0, 0, 0, 5, 0, 0, 10, 0, 11, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, + 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 5, 0, 0, 11, 0, 12, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 13, 14, 0, 0, 0, 0, 5, 0, 0, 0, 15, 0, 0, 0, 9, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 1, + 14, 15, 0, 0, 0, 0, 5, 0, 0, 0, 16, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 13, 12, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 9, 0, - 0, 19, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 20, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 12, 0, 0, - 0, 12, 0, 0, 0, 16, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, - 0, 17, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 9, - 0, 7, 23, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 25, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 14, 18, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 10, 0, + 0, 21, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 22, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 13, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, + 0, 19, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 10, + 0, 8, 25, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_grapheme_link_table_3[] = { 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 24, 0, 4, 0, 0, - 0, 0, 0, 4, 16, 0, 0, 0, 0, 0, 0, 6, 0, 0, 16, 0, - 0, 0, 4, 0, 1, 0, 0, 0, 0, 12, 0, 0, 0, 0, 12, 0, - 0, 0, 0, 128, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, - 0, 0, 64, 0, 0, 0, 0, 2, 0, 0, 24, 0, 0, 0, 32, 0, - 4, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 96, 128, 0, 0, 0, - 48, 0, 0, 0, 0, 0, 128, 0 + 0, 0, 0, 4, 16, 0, 0, 0, 0, 0, 0, 6, 0, 0, 48, 0, + 0, 0, 16, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 12, 0, 0, + 0, 0, 12, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 16, 0, 0, + 0, 0, 8, 0, 0, 0, 64, 0, 0, 0, 1, 128, 0, 0, 0, 2, + 0, 0, 24, 0, 0, 0, 32, 0, 4, 0, 0, 0, 0, 8, 0, 0, + 0, 0, 0, 96, 128, 0, 0, 0, 48, 0, 0, 0, 0, 0, 128, 0 }; RE_UINT32 re_get_grapheme_link(RE_UINT32 codepoint) { @@ -12481,17 +12728,17 @@ RE_UINT32 re_get_hyphen(RE_UINT32 codepoint) { static RE_UINT8 re_id_continue_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 14, 12, 15, 16, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 17, 9, 9, 9, 9, 9, 9, 9, 9, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 9, 9, 12, 30, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 15, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 16, 9, 9, 9, 9, 9, 9, 9, 9, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 9, 29, 12, 30, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 12, 12, 12, 12, - 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 9, 36, 9, 9, 37, - 9, 9, 9, 9, 38, 39, 40, 9, 41, 9, 42, 43, 9, 9, 44, 9, + 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 36, 37, 9, 9, 38, + 9, 9, 9, 39, 40, 41, 42, 43, 44, 45, 46, 47, 9, 9, 48, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 45, 12, 12, 12, 46, 47, 12, - 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 49, 9, 9, 9, 50, 9, - 12, 12, 12, 12, 51, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 49, 12, 12, 12, 50, 51, 12, + 12, 12, 12, 52, 12, 12, 12, 12, 12, 12, 53, 9, 9, 9, 54, 9, + 12, 12, 12, 12, 55, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -12535,7 +12782,7 @@ static RE_UINT8 re_id_continue_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 52, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 56, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -12554,107 +12801,115 @@ static RE_UINT16 re_id_continue_table_2[] = { 6, 6, 6, 6, 6, 6, 7, 8, 6, 6, 6, 9, 10, 11, 6, 12, 6, 6, 6, 6, 13, 6, 6, 6, 6, 14, 15, 6, 16, 17, 18, 19, 20, 6, 6, 21, 6, 6, 22, 23, 24, 6, 25, 6, 6, 26, 6, 27, - 6, 28, 29, 30, 0, 31, 32, 11, 6, 6, 6, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 43, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 53, 6, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 0, 70, 71, 72, 0, 73, 74, 75, 76, 77, 78, 79, 0, - 6, 6, 80, 6, 81, 6, 82, 83, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 84, 6, 85, 86, 87, 6, 88, 6, 89, 90, 91, 6, 6, 92, - 67, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 93, 3, 6, 6, 94, 95, 96, 97, 98, 6, 6, 99, 100, - 101, 6, 6, 102, 6, 103, 6, 104, 105, 106, 107, 108, 6, 109, 110, 0, - 29, 6, 105, 111, 112, 113, 114, 0, 6, 6, 115, 116, 6, 6, 6, 97, - 6, 117, 118, 81, 119, 89, 120, 68, 6, 6, 6, 6, 6, 6, 6, 121, - 6, 6, 6, 6, 6, 6, 6, 6, 92, 6, 122, 81, 6, 123, 124, 125, - 0, 126, 127, 128, 129, 0, 129, 130, 131, 132, 133, 6, 134, 0, 0, 0, + 6, 28, 29, 30, 31, 6, 6, 11, 6, 6, 6, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 42, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 52, 6, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 0, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 0, + 6, 6, 79, 6, 80, 6, 81, 82, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 83, 6, 84, 85, 86, 6, 87, 6, 88, 89, 90, 6, 6, 91, + 66, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 92, 3, 6, 6, 93, 94, 95, 96, 97, 6, 6, 98, 99, + 100, 6, 6, 101, 6, 30, 6, 102, 103, 104, 105, 106, 6, 107, 108, 0, + 29, 6, 103, 109, 110, 111, 112, 0, 6, 6, 113, 114, 6, 6, 6, 96, + 6, 115, 116, 80, 117, 88, 118, 67, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 91, 6, 119, 80, 6, 120, 121, 122, + 0, 123, 124, 125, 126, 0, 126, 127, 128, 129, 130, 6, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 135, 105, 6, 6, 6, 6, 136, 6, 82, 6, 137, 138, 139, 139, 6, + 6, 6, 6, 6, 6, 6, 6, 132, 6, 81, 6, 133, 134, 135, 135, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 141, 67, 6, 142, 67, 6, 83, 143, 14, 6, 6, 144, 6, 0, 24, + 136, 137, 66, 6, 138, 66, 6, 82, 139, 14, 6, 6, 112, 6, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 140, 0, 24, 80, 6, 6, 6, 6, 6, 6, 6, 6, + 141, 142, 6, 143, 6, 6, 6, 26, 144, 145, 6, 6, 146, 6, 147, 148, + 6, 149, 6, 96, 6, 6, 150, 151, 6, 152, 96, 77, 6, 6, 153, 103, + 6, 134, 154, 155, 6, 6, 156, 157, 158, 159, 82, 79, 6, 6, 6, 160, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 78, - 6, 6, 6, 6, 145, 0, 24, 81, 6, 6, 6, 6, 6, 6, 6, 6, - 146, 147, 6, 148, 6, 6, 6, 26, 149, 150, 6, 6, 151, 6, 152, 153, - 6, 154, 6, 97, 6, 6, 155, 156, 6, 157, 97, 78, 6, 6, 158, 105, - 6, 138, 159, 160, 6, 6, 161, 162, 163, 164, 83, 80, 6, 6, 6, 165, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 166, 167, 29, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 161, 162, 29, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 157, 6, 6, 168, 0, 169, 170, 171, 6, 6, 26, 172, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 81, 24, 6, 173, 6, 174, 175, - 91, 176, 177, 178, 6, 6, 6, 78, 1, 2, 3, 107, 6, 105, 179, 0, - 180, 181, 182, 0, 6, 6, 6, 68, 0, 0, 6, 96, 0, 0, 0, 183, - 0, 0, 0, 0, 78, 6, 184, 114, 6, 185, 103, 68, 81, 6, 186, 0, - 6, 6, 6, 6, 81, 80, 187, 29, 6, 188, 6, 189, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 138, 104, 174, 0, 0, 0, 0, - 190, 191, 104, 138, 105, 0, 0, 192, 104, 168, 0, 0, 6, 193, 0, 0, - 194, 195, 0, 78, 78, 0, 75, 196, 6, 104, 104, 197, 26, 0, 0, 0, - 6, 6, 134, 0, 6, 197, 6, 197, 6, 198, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 199, 0, 0, 78, 200, 184, 0, 0, 24, 201, 138, - 6, 6, 196, 202, 6, 68, 24, 203, 6, 31, 204, 205, 6, 6, 206, 0, - 207, 208, 0, 0, 209, 119, 6, 210, 34, 211, 212, 213, 0, 0, 0, 0, - 6, 6, 214, 215, 6, 6, 216, 0, 0, 0, 0, 0, 6, 217, 218, 0, - 6, 6, 219, 0, 6, 102, 100, 0, 89, 115, 0, 0, 0, 0, 0, 0, - 6, 68, 0, 0, 0, 6, 6, 220, 221, 222, 223, 0, 0, 224, 225, 226, - 6, 105, 200, 6, 227, 0, 6, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 5, 229, 230, 173, 231, 0, 0, 232, 233, 198, 234, 235, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 236, 0, 0, + 6, 6, 6, 152, 6, 6, 163, 0, 164, 165, 166, 6, 6, 26, 167, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 80, 24, 6, 168, 6, 169, 170, + 90, 171, 172, 173, 6, 6, 6, 77, 1, 2, 3, 105, 6, 103, 174, 0, + 175, 176, 177, 0, 6, 6, 6, 67, 0, 0, 6, 95, 0, 0, 0, 178, + 0, 0, 0, 0, 77, 6, 179, 180, 6, 181, 30, 67, 80, 6, 182, 0, + 6, 6, 6, 6, 80, 79, 183, 29, 6, 184, 6, 185, 186, 187, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 134, 102, 169, 188, 189, 0, 0, + 190, 191, 102, 134, 103, 0, 0, 192, 102, 163, 0, 0, 6, 193, 0, 0, + 194, 195, 0, 77, 77, 0, 74, 196, 6, 102, 102, 197, 26, 0, 0, 0, + 6, 6, 131, 0, 6, 197, 6, 197, 6, 198, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 199, 0, 0, 77, 200, 179, 24, 201, 24, 202, 134, + 6, 6, 196, 203, 6, 67, 204, 205, 6, 206, 207, 208, 6, 6, 209, 0, + 210, 211, 0, 0, 212, 117, 6, 213, 33, 214, 215, 216, 0, 0, 0, 0, + 6, 6, 217, 218, 6, 6, 219, 0, 0, 0, 0, 0, 6, 220, 221, 0, + 6, 6, 222, 0, 6, 101, 99, 0, 88, 223, 196, 0, 0, 0, 0, 0, + 6, 67, 0, 0, 0, 6, 6, 224, 225, 226, 227, 0, 0, 228, 229, 230, + 6, 103, 200, 6, 231, 24, 6, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 232, 5, 233, 148, 168, 234, 0, 0, 235, 236, 198, 237, 238, 99, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 239, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 168, 0, 0, 0, - 6, 6, 6, 144, 6, 6, 6, 6, 6, 6, 189, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 163, 0, 0, 0, + 6, 6, 6, 112, 6, 6, 6, 6, 6, 6, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 6, 179, + 6, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 102, 105, 100, 0, 0, 24, 108, 6, 138, 223, 237, 91, 0, 0, 0, + 6, 101, 103, 79, 6, 103, 79, 106, 6, 134, 227, 241, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 238, 6, 239, 0, 0, 240, + 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 242, 6, 243, 0, 0, 244, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 117, - 6, 6, 6, 6, 6, 6, 104, 0, 134, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 115, + 6, 6, 6, 6, 6, 6, 102, 0, 131, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 105, 0, 241, 204, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 246, 247, 207, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 242, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 248, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 245, 246, 0, 0, - 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 31, 6, 248, 249, 250, 6, 251, 252, 253, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 254, 255, 83, 31, 31, 135, 135, 228, 228, 256, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 257, 6, 258, 259, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 261, 262, 0, 0, 0, 0, 0, 0, 6, 263, 264, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 265, 0, 6, 6, 115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 152, 196, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 251, 252, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 206, 6, 254, 255, 256, 6, 257, 258, 259, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 260, 261, 82, 206, 206, 262, 262, 232, 232, 263, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 264, 6, 265, 266, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 266, 267, 268, 269, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, + 268, 269, 0, 0, 0, 0, 0, 0, 6, 270, 271, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 112, 6, 163, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, + 6, 6, 6, 6, 6, 6, 273, 0, 6, 6, 223, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 256, 274, 275, 276, 277, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 81, 0, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 96, 6, 6, 6, 6, 6, 6, - 81, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 101, 6, 6, 6, 6, 6, 6, + 80, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 271, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 279, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 114, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 180, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 91, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 280, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -12666,67 +12921,70 @@ static RE_UINT8 re_id_continue_table_3[] = { 255, 1, 254, 255, 255, 255, 255, 191, 182, 0, 255, 255, 255, 135, 7, 0, 0, 0, 255, 7, 255, 195, 255, 255, 255, 255, 239, 159, 255, 253, 255, 159, 0, 0, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 63, 36, - 255, 63, 0, 0, 255, 255, 255, 15, 255, 7, 0, 0, 255, 255, 223, 255, - 255, 0, 248, 255, 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, - 159, 121, 128, 176, 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, - 135, 57, 2, 94, 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, - 191, 59, 1, 0, 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, - 207, 255, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, - 192, 255, 0, 0, 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, - 207, 255, 0, 0, 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 64, - 207, 255, 6, 0, 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, - 255, 255, 251, 47, 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, - 255, 255, 255, 7, 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, - 95, 63, 255, 243, 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, - 255, 31, 254, 255, 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, - 255, 3, 255, 255, 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, - 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, - 255, 255, 61, 255, 255, 255, 255, 231, 0, 254, 3, 0, 255, 255, 0, 0, - 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, 255, 223, 31, 0, - 255, 255, 31, 0, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 143, 48, - 255, 3, 0, 0, 0, 56, 255, 3, 255, 255, 255, 1, 255, 7, 255, 255, - 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 15, 192, 255, 255, 255, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 7, 255, 255, 255, 159, - 255, 3, 255, 3, 128, 0, 255, 191, 1, 0, 0, 0, 255, 15, 255, 3, - 0, 248, 15, 0, 255, 255, 255, 0, 255, 227, 255, 255, 255, 1, 255, 255, - 0, 0, 247, 255, 255, 255, 255, 251, 63, 63, 255, 170, 255, 255, 223, 95, - 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 0, 128, 1, 0, 16, 0, - 0, 0, 2, 128, 0, 0, 255, 31, 226, 255, 1, 0, 132, 252, 47, 63, - 80, 253, 255, 243, 224, 67, 0, 0, 255, 1, 0, 0, 255, 127, 255, 255, + 255, 63, 0, 0, 255, 255, 255, 15, 255, 7, 255, 255, 255, 126, 0, 255, + 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, + 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, + 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, + 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 2, 0, + 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 0, 0, + 255, 223, 253, 255, 255, 253, 255, 243, 223, 61, 96, 39, 207, 255, 0, 0, + 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 96, 207, 255, 6, 0, + 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, + 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, + 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, + 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, 255, 31, 254, 255, + 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 255, 3, 255, 255, + 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 231, 0, 254, 3, 0, 255, 255, 0, 0, 255, 255, 63, 63, + 255, 159, 255, 255, 255, 199, 255, 1, 255, 255, 63, 128, 255, 255, 31, 0, + 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 143, 48, 255, 3, 0, 0, + 0, 184, 255, 3, 255, 255, 255, 1, 255, 255, 63, 0, 255, 255, 255, 127, + 255, 15, 255, 15, 192, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, + 255, 3, 255, 7, 255, 255, 255, 159, 255, 3, 255, 3, 128, 0, 255, 191, + 255, 127, 0, 0, 255, 31, 255, 3, 0, 248, 15, 0, 255, 255, 255, 0, + 255, 227, 255, 255, 255, 1, 255, 255, 0, 0, 247, 255, 63, 63, 255, 170, + 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 0, 128, + 1, 0, 16, 0, 0, 0, 2, 128, 0, 0, 255, 31, 226, 255, 1, 0, + 132, 252, 47, 63, 80, 253, 255, 243, 224, 67, 0, 0, 255, 1, 0, 0, 31, 248, 15, 0, 255, 128, 0, 128, 255, 255, 127, 0, 127, 127, 127, 127, 224, 0, 0, 0, 254, 255, 62, 31, 255, 255, 127, 254, 224, 255, 255, 255, - 255, 127, 0, 0, 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, - 255, 255, 240, 191, 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, - 252, 7, 0, 0, 0, 0, 224, 255, 255, 16, 0, 0, 63, 0, 255, 3, - 255, 255, 255, 232, 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, - 255, 255, 127, 252, 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, - 0, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, - 255, 255, 24, 0, 0, 224, 0, 0, 0, 0, 223, 255, 252, 252, 252, 28, - 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, - 255, 255, 1, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, - 255, 0, 255, 255, 15, 0, 0, 0, 63, 253, 255, 255, 255, 255, 191, 145, + 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, 255, 255, 240, 191, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 255, 16, 0, 0, 63, 0, 255, 3, 255, 255, 255, 232, + 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, 255, 255, 127, 252, + 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 3, + 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, + 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, 255, 255, 24, 0, + 0, 224, 0, 0, 0, 0, 223, 255, 252, 252, 252, 28, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, 255, 255, 1, 0, + 1, 0, 0, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, + 255, 0, 255, 255, 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 255, 255, 63, 135, 127, 0, 0, 0, 255, 255, 7, 0, 255, 0, 255, 3, 255, 27, 3, 0, - 128, 0, 255, 255, 31, 0, 0, 0, 192, 255, 0, 128, 255, 1, 255, 3, - 240, 0, 255, 255, 255, 255, 79, 0, 31, 222, 255, 23, 255, 255, 251, 255, - 255, 255, 255, 64, 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, - 159, 57, 129, 224, 207, 31, 31, 0, 255, 7, 255, 195, 3, 0, 0, 0, - 191, 0, 255, 3, 255, 255, 63, 255, 1, 0, 0, 63, 17, 0, 255, 3, + 128, 0, 255, 255, 63, 0, 0, 0, 31, 0, 0, 0, 192, 255, 63, 128, + 4, 0, 255, 255, 255, 1, 255, 3, 255, 255, 223, 255, 240, 0, 255, 255, + 255, 255, 79, 0, 31, 222, 255, 23, 255, 255, 251, 255, 255, 255, 255, 64, + 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, + 207, 31, 31, 0, 255, 7, 255, 195, 3, 0, 0, 0, 191, 0, 255, 3, + 255, 255, 63, 255, 1, 0, 0, 63, 17, 0, 255, 3, 255, 15, 255, 3, 255, 3, 0, 128, 127, 242, 111, 255, 255, 255, 191, 249, 15, 0, 255, 3, 255, 252, 255, 255, 255, 255, 255, 252, 27, 0, 0, 0, 255, 255, 255, 35, - 255, 253, 255, 255, 1, 0, 255, 3, 0, 0, 252, 255, 255, 254, 127, 0, - 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, - 0, 0, 1, 0, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, - 27, 0, 3, 0, 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 99, - 224, 227, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, - 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, - 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, - 247, 207, 255, 255, 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, - 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, - 255, 67, 0, 0, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, - 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 255, 253, 255, 255, 1, 0, 255, 3, 255, 254, 127, 0, 127, 251, 255, 255, + 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, + 15, 0, 0, 0, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, + 27, 0, 3, 0, 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, + 255, 7, 255, 31, 255, 1, 255, 99, 224, 227, 7, 248, 231, 15, 0, 0, + 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, + 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, + 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, 247, 207, 255, 255, + 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, + 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, 255, 67, 0, 0, + 127, 111, 255, 127, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, + 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255, + 255, 7, 0, 0 }; RE_UINT32 re_get_id_continue(RE_UINT32 codepoint) { @@ -12752,17 +13010,17 @@ RE_UINT32 re_get_id_continue(RE_UINT32 codepoint) { static RE_UINT8 re_ideographic_table_1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 2, 2, 2, - 2, 7, 2, 8, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 2, 2, 2, + 2, 6, 2, 7, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 2, 2, 2, 11, 12, 2, - 2, 2, 2, 13, 2, 2, 2, 2, 2, 2, 14, 0, 0, 0, 15, 0, - 2, 2, 2, 2, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 2, 2, 2, 10, 11, 2, + 2, 2, 2, 12, 2, 2, 2, 2, 2, 2, 13, 0, 0, 0, 14, 0, + 2, 2, 2, 2, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -12829,40 +13087,38 @@ static RE_UINT8 re_ideographic_table_2[] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 5, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 4, 3, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8, - 3, 3, 3, 3, 3, 3, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, + 3, 3, 3, 3, 3, 3, 8, 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, 11, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 12, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 11, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 13, 0, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 14, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 12, 3, 3, 3, 3, 3, 3, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 16, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 17, 0, 0, 0, 0, 0 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 16, 0, 0, 0, 0, 0 }; static RE_UINT8 re_ideographic_table_3[] = { 0, 0, 0, 0, 192, 0, 0, 0, 254, 3, 0, 7, 255, 255, 255, 255, - 255, 255, 255, 31, 255, 63, 255, 255, 255, 255, 255, 3, 16, 0, 0, 0, - 255, 255, 255, 0, 255, 255, 63, 0, 255, 1, 0, 0, 0, 0, 255, 255, - 255, 255, 255, 15, 255, 255, 255, 63, 255, 255, 31, 0, 3, 0, 255, 255, - 1, 0, 0, 0, 255, 7, 0, 0 + 255, 63, 255, 255, 255, 255, 255, 3, 16, 0, 0, 0, 255, 255, 255, 0, + 255, 255, 63, 0, 255, 1, 0, 0, 0, 0, 255, 255, 255, 255, 255, 15, + 255, 255, 255, 1, 255, 255, 255, 63, 3, 0, 255, 255, 1, 0, 0, 0, + 255, 7, 0, 0 }; RE_UINT32 re_get_ideographic(RE_UINT32 codepoint) { @@ -12898,17 +13154,17 @@ RE_UINT32 re_get_ids_binary_operator(RE_UINT32 codepoint) { static RE_UINT8 re_id_start_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 14, 12, 15, 16, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 17, 9, 9, 9, 9, 9, 9, 9, 9, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 9, 9, 12, 30, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 15, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 16, 9, 9, 9, 9, 9, 9, 9, 9, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 9, 29, 12, 30, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 12, 12, 12, 12, - 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 9, 36, 9, 9, 37, - 9, 9, 9, 9, 9, 38, 9, 9, 39, 9, 40, 41, 9, 9, 9, 9, + 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 36, 37, 9, 9, 38, + 9, 9, 9, 9, 9, 39, 9, 40, 41, 42, 43, 44, 9, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 42, 12, 12, 12, 43, 44, 12, - 12, 12, 12, 45, 12, 12, 12, 12, 12, 12, 46, 9, 9, 9, 47, 9, - 12, 12, 12, 12, 48, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 45, 12, 12, 12, 46, 47, 12, + 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 49, 9, 9, 9, 50, 9, + 12, 12, 12, 12, 51, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -12971,96 +13227,102 @@ static RE_UINT8 re_id_start_table_2[] = { 4, 4, 4, 4, 4, 4, 5, 6, 0, 0, 0, 7, 8, 9, 4, 10, 4, 4, 4, 4, 11, 4, 4, 4, 4, 12, 13, 4, 14, 0, 15, 16, 0, 4, 17, 18, 4, 4, 19, 20, 21, 22, 23, 4, 4, 24, 25, 26, - 27, 28, 29, 17, 0, 30, 31, 0, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 45, 49, 50, 51, 52, 46, 0, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 0, - 68, 69, 67, 0, 70, 71, 72, 0, 73, 0, 74, 75, 76, 0, 0, 0, - 4, 77, 78, 79, 80, 4, 81, 82, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 83, 4, 84, 85, 86, 4, 87, 4, 88, 0, 22, 4, 4, 89, - 68, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 90, 1, 4, 4, 91, 92, 93, 93, 94, 4, 95, 96, 0, - 0, 4, 4, 29, 4, 97, 4, 98, 99, 0, 15, 100, 4, 101, 102, 0, - 103, 4, 104, 0, 0, 105, 0, 0, 106, 95, 107, 0, 108, 109, 4, 110, + 27, 28, 29, 30, 31, 4, 32, 0, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 46, 50, 51, 52, 53, 47, 0, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, + 69, 70, 68, 0, 71, 72, 73, 0, 74, 0, 75, 76, 77, 0, 0, 0, + 4, 78, 79, 80, 81, 4, 82, 83, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 84, 4, 85, 86, 87, 4, 88, 4, 89, 0, 22, 4, 4, 90, + 69, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 91, 1, 4, 4, 92, 93, 94, 94, 95, 4, 96, 97, 0, + 0, 4, 4, 29, 4, 98, 4, 99, 100, 0, 15, 101, 4, 102, 32, 0, + 103, 4, 104, 0, 0, 105, 0, 0, 106, 96, 107, 0, 108, 109, 4, 110, 4, 111, 112, 113, 114, 115, 0, 116, 4, 4, 4, 4, 4, 4, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 89, 4, 117, 113, 4, 118, 119, 120, + 4, 4, 4, 4, 4, 4, 4, 4, 90, 4, 117, 113, 4, 118, 119, 120, 0, 0, 0, 121, 122, 0, 0, 0, 123, 124, 125, 4, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 126, 99, 4, 4, 4, 4, 127, 4, 81, 4, 128, 103, 129, 129, 0, + 4, 4, 4, 4, 4, 4, 4, 126, 4, 82, 4, 127, 103, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 130, 131, 68, 4, 132, 68, 4, 82, 106, 12, 4, 4, 133, 4, 0, 15, + 129, 130, 69, 4, 131, 69, 4, 83, 106, 12, 4, 4, 132, 4, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 76, 0, 15, 113, 4, 4, 4, 4, 4, 4, 4, 4, + 133, 134, 4, 135, 113, 4, 4, 22, 136, 137, 4, 4, 138, 4, 139, 140, + 141, 142, 4, 96, 137, 96, 0, 143, 25, 144, 68, 145, 33, 146, 147, 148, + 4, 14, 149, 150, 4, 151, 152, 153, 154, 155, 83, 156, 4, 4, 4, 142, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 134, - 4, 4, 4, 4, 75, 0, 15, 113, 4, 4, 4, 4, 4, 4, 4, 4, - 135, 136, 4, 137, 113, 4, 4, 22, 138, 139, 4, 4, 140, 4, 141, 142, - 143, 144, 4, 95, 139, 95, 0, 145, 25, 146, 67, 134, 32, 147, 148, 149, - 4, 14, 150, 151, 4, 152, 153, 154, 155, 156, 82, 157, 4, 4, 4, 144, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 158, 159, 160, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 157, 158, 159, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 161, 4, 4, 162, 0, 163, 164, 165, 4, 4, 93, 166, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 113, 15, 4, 167, 4, 31, 168, - 0, 0, 0, 169, 4, 4, 4, 134, 0, 1, 1, 170, 4, 99, 171, 0, - 172, 173, 174, 0, 4, 4, 4, 88, 0, 0, 4, 104, 0, 0, 0, 0, - 0, 0, 0, 0, 134, 4, 175, 0, 4, 23, 176, 98, 113, 4, 177, 0, - 4, 4, 4, 4, 113, 15, 178, 160, 4, 179, 4, 111, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 103, 98, 31, 0, 0, 0, 0, - 180, 181, 98, 103, 99, 0, 0, 182, 98, 162, 0, 0, 4, 183, 0, 0, - 184, 98, 0, 134, 134, 0, 74, 185, 4, 98, 98, 147, 93, 0, 0, 0, - 4, 4, 14, 0, 4, 147, 4, 147, 4, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 186, 0, 0, 134, 187, 110, 0, 0, 15, 185, 103, - 108, 188, 0, 0, 108, 22, 15, 14, 108, 67, 189, 190, 108, 147, 191, 0, - 192, 193, 0, 0, 194, 114, 99, 0, 48, 45, 195, 56, 0, 0, 0, 0, - 4, 104, 196, 56, 4, 22, 197, 0, 0, 0, 0, 0, 4, 133, 198, 0, - 4, 22, 199, 0, 4, 200, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, - 4, 193, 0, 0, 0, 4, 4, 201, 202, 203, 204, 0, 0, 205, 175, 206, - 207, 208, 209, 4, 210, 0, 4, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 133, 73, 212, 22, 0, 0, 0, 213, 175, 214, 215, 216, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 46, 0, 0, + 4, 4, 4, 160, 4, 4, 161, 0, 162, 163, 164, 4, 4, 94, 165, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 113, 15, 4, 166, 4, 167, 168, + 0, 0, 0, 169, 4, 4, 4, 145, 0, 1, 1, 170, 4, 100, 171, 0, + 172, 173, 174, 0, 4, 4, 4, 89, 0, 0, 4, 104, 0, 0, 0, 0, + 0, 0, 0, 0, 145, 4, 175, 0, 4, 23, 30, 99, 113, 4, 176, 0, + 4, 4, 4, 4, 113, 15, 177, 159, 4, 178, 4, 179, 180, 181, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 103, 99, 167, 182, 183, 0, 0, + 184, 185, 99, 103, 100, 0, 0, 186, 99, 161, 0, 0, 4, 187, 0, 0, + 188, 99, 0, 145, 145, 0, 75, 189, 4, 99, 99, 146, 94, 0, 0, 0, + 4, 4, 14, 0, 4, 146, 4, 146, 4, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 190, 0, 0, 145, 191, 110, 15, 57, 15, 189, 103, + 108, 192, 0, 193, 108, 22, 15, 14, 108, 68, 194, 195, 108, 146, 196, 0, + 197, 198, 0, 0, 199, 114, 100, 0, 49, 46, 200, 57, 0, 0, 0, 0, + 4, 104, 201, 57, 4, 22, 202, 0, 0, 0, 0, 0, 4, 132, 203, 0, + 4, 22, 204, 0, 4, 205, 0, 0, 89, 0, 68, 0, 0, 0, 0, 0, + 4, 198, 0, 0, 0, 4, 4, 206, 207, 208, 209, 0, 0, 210, 175, 211, + 212, 213, 214, 4, 215, 15, 4, 29, 0, 0, 0, 0, 0, 0, 0, 0, + 216, 132, 74, 140, 22, 0, 0, 0, 217, 175, 218, 219, 220, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 47, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 162, 0, 0, 0, - 4, 4, 4, 133, 4, 4, 4, 4, 4, 4, 111, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 161, 0, 0, 0, + 4, 4, 4, 132, 4, 4, 4, 4, 4, 4, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 4, 4, 175, + 4, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 29, 99, 0, 0, 0, 15, 217, 4, 22, 111, 218, 22, 0, 0, 0, + 4, 29, 100, 15, 4, 100, 15, 221, 4, 22, 111, 222, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 219, 0, 166, 0, 0, 220, + 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 223, 0, 165, 0, 0, 224, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 188, - 4, 4, 4, 4, 4, 4, 98, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 192, + 4, 4, 4, 4, 4, 4, 99, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 99, 0, 221, 222, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 160, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 223, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 142, 226, 227, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 159, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 228, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 30, 4, 225, 226, 227, 4, 228, 229, 230, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 231, 232, 82, 30, 30, 126, 126, 211, 211, 150, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 233, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4, 193, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 185, 0, 4, 4, 235, 0, 0, 0, 0, 0, + 4, 4, 230, 4, 231, 232, 233, 4, 234, 235, 236, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 237, 238, 83, 230, 230, 239, 239, 216, 216, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 240, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 221, 4, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 227, 236, 237, 238, 239, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 4, 4, 4, 4, 4, 4, 189, 0, 4, 4, 243, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 233, 244, 245, 246, 247, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 113, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 104, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 29, 4, 4, 4, 4, 4, 4, 113, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 241, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 249, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 73, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 74, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -13075,58 +13337,60 @@ static RE_UINT8 re_id_start_table_3[] = { 255, 135, 7, 0, 255, 7, 0, 0, 0, 192, 254, 255, 255, 255, 47, 0, 96, 192, 0, 156, 0, 0, 253, 255, 255, 255, 0, 0, 0, 224, 255, 255, 63, 0, 2, 0, 0, 252, 255, 255, 255, 7, 48, 4, 255, 255, 63, 4, - 16, 1, 0, 0, 255, 255, 255, 1, 255, 255, 223, 255, 255, 0, 0, 0, - 240, 255, 255, 255, 255, 255, 255, 35, 0, 0, 1, 255, 3, 0, 254, 255, - 225, 159, 249, 255, 255, 253, 197, 35, 0, 64, 0, 176, 3, 0, 3, 16, - 224, 135, 249, 255, 255, 253, 109, 3, 0, 0, 0, 94, 0, 0, 28, 0, - 224, 191, 251, 255, 255, 253, 237, 35, 0, 0, 1, 0, 3, 0, 0, 2, - 224, 159, 249, 255, 0, 0, 0, 176, 3, 0, 2, 0, 232, 199, 61, 214, - 24, 199, 255, 3, 224, 223, 253, 255, 255, 253, 255, 35, 0, 0, 0, 7, - 3, 0, 0, 0, 225, 223, 253, 255, 255, 253, 239, 35, 0, 0, 0, 64, - 3, 0, 6, 0, 240, 223, 253, 255, 255, 255, 255, 39, 0, 64, 112, 128, - 3, 0, 0, 252, 224, 255, 127, 252, 255, 255, 251, 47, 127, 0, 0, 0, - 254, 255, 255, 255, 255, 255, 13, 0, 214, 247, 255, 255, 175, 255, 13, 32, - 95, 0, 0, 240, 1, 0, 0, 0, 255, 254, 255, 255, 255, 31, 0, 0, - 0, 31, 0, 0, 255, 7, 0, 128, 0, 0, 63, 60, 98, 192, 225, 255, - 3, 64, 0, 0, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, - 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, - 255, 255, 255, 7, 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, - 255, 223, 3, 0, 255, 255, 3, 0, 255, 223, 1, 0, 255, 255, 15, 0, - 0, 0, 128, 16, 255, 5, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, 255, 255, 127, 0, - 255, 255, 31, 0, 128, 0, 0, 0, 224, 255, 255, 255, 224, 15, 0, 0, + 16, 1, 0, 0, 255, 255, 255, 1, 255, 7, 255, 255, 255, 126, 0, 0, + 255, 3, 0, 0, 240, 255, 255, 255, 255, 255, 255, 35, 0, 0, 1, 255, + 3, 0, 254, 255, 225, 159, 249, 255, 255, 253, 197, 35, 0, 64, 0, 176, + 3, 0, 3, 16, 224, 135, 249, 255, 255, 253, 109, 3, 0, 0, 0, 94, + 0, 0, 28, 0, 224, 191, 251, 255, 255, 253, 237, 35, 0, 0, 1, 0, + 3, 0, 0, 2, 224, 159, 249, 255, 0, 0, 0, 176, 3, 0, 2, 0, + 232, 199, 61, 214, 24, 199, 255, 3, 224, 223, 253, 255, 255, 253, 255, 35, + 0, 0, 0, 39, 3, 0, 0, 0, 225, 223, 253, 255, 255, 253, 239, 35, + 0, 0, 0, 96, 3, 0, 6, 0, 240, 223, 253, 255, 255, 255, 255, 39, + 0, 64, 112, 128, 3, 0, 0, 252, 224, 255, 127, 252, 255, 255, 251, 47, + 127, 0, 0, 0, 254, 255, 255, 255, 255, 255, 13, 0, 214, 247, 255, 255, + 175, 255, 13, 32, 95, 0, 0, 240, 1, 0, 0, 0, 255, 254, 255, 255, + 255, 31, 0, 0, 0, 31, 0, 0, 255, 7, 0, 128, 0, 0, 63, 60, + 98, 192, 225, 255, 3, 64, 0, 0, 191, 32, 255, 255, 255, 255, 255, 247, + 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, + 255, 255, 61, 255, 255, 255, 255, 7, 255, 255, 63, 63, 255, 159, 255, 255, + 255, 199, 255, 1, 255, 255, 3, 128, 255, 255, 3, 0, 255, 223, 1, 0, + 255, 255, 15, 0, 0, 0, 128, 16, 255, 5, 255, 255, 255, 255, 63, 0, + 255, 255, 255, 127, 255, 63, 31, 0, 255, 15, 255, 255, 255, 255, 127, 0, + 255, 255, 31, 0, 128, 0, 0, 0, 224, 255, 255, 255, 224, 31, 0, 0, 248, 255, 255, 255, 1, 192, 0, 252, 63, 0, 0, 0, 15, 0, 0, 0, 0, 224, 0, 252, 255, 255, 255, 63, 255, 1, 255, 255, 255, 255, 255, 231, 0, 222, 111, 4, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 63, - 80, 253, 255, 243, 224, 67, 0, 0, 255, 127, 255, 255, 31, 120, 12, 0, - 255, 128, 0, 0, 127, 127, 127, 127, 224, 0, 0, 0, 254, 3, 62, 31, - 255, 255, 127, 248, 255, 127, 0, 0, 255, 255, 255, 31, 255, 31, 255, 255, - 0, 12, 0, 0, 255, 127, 0, 128, 0, 0, 128, 255, 252, 255, 255, 255, - 255, 249, 255, 255, 252, 7, 0, 0, 0, 0, 224, 255, 187, 247, 255, 255, - 7, 0, 0, 0, 0, 0, 252, 104, 63, 0, 255, 255, 255, 255, 7, 0, - 0, 128, 0, 0, 223, 255, 0, 124, 247, 15, 0, 0, 255, 255, 127, 196, - 255, 255, 98, 62, 5, 0, 0, 56, 255, 7, 28, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 3, 255, 255, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 15, 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 160, - 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, + 80, 253, 255, 243, 224, 67, 0, 0, 31, 120, 12, 0, 255, 128, 0, 0, + 127, 127, 127, 127, 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 248, + 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 0, 128, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 187, 247, 255, 255, 7, 0, 0, 0, 0, 0, 252, 104, + 63, 0, 255, 255, 255, 255, 255, 31, 255, 255, 7, 0, 0, 128, 0, 0, + 223, 255, 0, 124, 247, 15, 0, 0, 255, 255, 127, 196, 255, 255, 98, 62, + 5, 0, 0, 56, 255, 7, 28, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 3, 255, 255, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 15, + 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 160, 255, 253, 127, 95, + 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, 0, 0, 223, 255, 192, 255, 255, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 255, 255, 1, 0, - 255, 7, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, + 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, 15, 0, 255, 247, + 255, 247, 183, 255, 251, 255, 251, 27, 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 1, 0, 239, 254, 31, 0, 0, 0, 255, 3, 3, 0, 128, 0, 255, 255, - 255, 255, 255, 0, 144, 0, 255, 255, 255, 255, 71, 0, 30, 0, 0, 20, - 255, 255, 251, 255, 255, 15, 0, 0, 127, 189, 255, 191, 0, 0, 1, 224, - 128, 7, 0, 128, 176, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, - 255, 7, 0, 1, 0, 0, 0, 128, 127, 242, 111, 255, 255, 255, 0, 128, - 2, 0, 0, 0, 255, 252, 255, 255, 10, 0, 0, 0, 1, 248, 255, 255, - 255, 255, 7, 4, 0, 0, 1, 240, 255, 3, 0, 32, 255, 253, 255, 255, - 0, 0, 252, 255, 127, 251, 255, 255, 64, 0, 0, 0, 191, 253, 255, 255, + 255, 255, 255, 0, 0, 0, 38, 0, 144, 0, 255, 255, 255, 255, 71, 0, + 30, 0, 0, 20, 255, 255, 251, 255, 255, 15, 0, 0, 127, 189, 255, 191, + 0, 0, 1, 224, 128, 7, 0, 128, 176, 0, 0, 0, 0, 0, 0, 15, + 16, 0, 0, 0, 255, 7, 0, 1, 0, 0, 0, 128, 127, 242, 111, 255, + 255, 255, 0, 128, 2, 0, 0, 0, 255, 252, 255, 255, 10, 0, 0, 0, + 1, 248, 255, 255, 255, 255, 7, 4, 0, 0, 1, 240, 255, 3, 0, 32, + 255, 253, 255, 255, 127, 251, 255, 255, 64, 0, 0, 0, 191, 253, 255, 255, 255, 3, 0, 1, 255, 63, 0, 0, 248, 255, 255, 224, 255, 7, 1, 0, - 11, 0, 0, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, - 255, 1, 255, 3, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, - 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, - 253, 255, 255, 247, 255, 31, 128, 63, 0, 64, 0, 0, 15, 8, 0, 0, + 11, 0, 0, 0, 0, 0, 239, 111, 0, 0, 7, 0, 240, 0, 255, 255, + 255, 7, 255, 31, 255, 1, 255, 3, 255, 255, 223, 255, 255, 255, 255, 223, + 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, + 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, + 255, 31, 128, 63, 0, 64, 0, 0, 127, 111, 255, 127, 15, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 }; @@ -13240,25 +13504,25 @@ static RE_UINT8 re_indic_positional_category_table_2[] = { 0, 38, 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 42, 42, 43, 43, 0, 44, 45, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 47, 48, 0, - 49, 0, 50, 51, 0, 0, 0, 0, 52, 53, 54, 55, 56, 57, 0, 58, - 0, 59, 0, 0, 0, 0, 60, 61, 0, 0, 0, 0, 0, 0, 0, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 44, 44, 0, 45, 46, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 48, 49, 0, + 50, 0, 51, 52, 0, 0, 0, 0, 53, 54, 55, 56, 57, 58, 0, 59, + 0, 60, 0, 0, 0, 0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 64, 65, 0, 0, 66, 67, 68, 69, 0, 70, 71, 0, 1, 72, 73, 74, - 0, 75, 76, 77, 0, 78, 79, 80, 0, 0, 0, 0, 0, 0, 0, 81, + 65, 66, 0, 0, 67, 68, 69, 70, 0, 71, 72, 0, 1, 73, 74, 75, + 0, 76, 77, 78, 0, 79, 80, 81, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 85, 86, 0, 56, 87, 0, 0, 88, 89, 90, 91, 56, 92, 93, 0, - 0, 94, 0, 0, 0, 0, 95, 96, 23, 97, 98, 99, 0, 0, 0, 0, - 0, 100, 101, 0, 0, 102, 103, 0, 0, 0, 0, 0, 0, 104, 105, 0, - 0, 106, 107, 0, 0, 108, 0, 0, 109, 110, 0, 0, 0, 0, 0, 0, - 0, 111, 0, 0, 0, 0, 0, 0, 0, 112, 113, 0, 0, 0, 114, 115, - 116, 117, 118, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 120, 0, 0, 121, 122, 0, 0, 0, 123, 124, 0, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0 + 83, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 85, 86, 87, 88, 57, 89, 90, 0, 91, 92, 93, 94, 57, 95, 96, 0, + 0, 97, 0, 0, 0, 0, 98, 99, 23, 100, 101, 102, 0, 0, 0, 0, + 0, 103, 104, 0, 0, 105, 106, 0, 0, 0, 0, 0, 0, 107, 108, 0, + 0, 109, 110, 0, 0, 111, 0, 0, 112, 113, 0, 0, 0, 0, 0, 0, + 0, 114, 0, 0, 0, 0, 0, 0, 0, 115, 116, 0, 0, 0, 117, 118, + 119, 120, 121, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 123, 0, 0, 124, 125, 0, 0, 0, 126, 127, 0, 128, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_indic_positional_category_table_3[] = { @@ -13303,7 +13567,7 @@ static RE_UINT8 re_indic_positional_category_table_3[] = { 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 2, 2, 2, 2, 0, 1, 1, 9, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 2, 2, 2, 0, 1, 6, 6, 0, 6, 6, 1, 1, 0, 0, @@ -13347,7 +13611,9 @@ static RE_UINT8 re_indic_positional_category_table_3[] = { 0, 0, 3, 2, 4, 1, 1, 2, 2, 2, 2, 2, 2, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 3, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -13437,7 +13703,11 @@ static RE_UINT8 re_indic_positional_category_table_3[] = { 3, 3, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 2, 3, 3, 1, 1, 2, 2, 3, 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 3, 4, 1, 9, 9, @@ -13632,14 +13902,14 @@ static RE_UINT8 re_indic_syllabic_category_table_2[] = { 107, 108, 109, 110, 54, 111, 112, 113, 0, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 117, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 119, 120, 121, 122, 123, 124, 0, 0, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 0, 0, 135, 136, 137, 138, 139, 140, 141, 142, 0, 0, 0, 0, - 143, 144, 145, 146, 147, 148, 149, 0, 0, 0, 0, 0, 143, 150, 151, 0, - 143, 152, 153, 0, 154, 155, 65, 0, 156, 157, 0, 0, 0, 0, 0, 0, - 154, 158, 0, 0, 0, 0, 0, 0, 159, 160, 161, 0, 0, 162, 163, 164, - 165, 166, 167, 54, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 169, 170, 171, 172, 173, 174, 0, 0, 175, 176, 177, 178, 179, 65, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0 + 119, 120, 121, 122, 123, 124, 125, 0, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 0, 0, 136, 137, 138, 139, 140, 141, 142, 143, 0, 0, 0, 0, + 144, 145, 146, 147, 148, 149, 150, 0, 0, 0, 0, 0, 144, 151, 152, 0, + 144, 153, 154, 0, 155, 156, 65, 0, 157, 158, 159, 0, 0, 0, 0, 0, + 155, 160, 0, 0, 0, 0, 0, 0, 161, 162, 163, 0, 0, 164, 165, 166, + 167, 168, 169, 54, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 171, 172, 173, 174, 175, 176, 0, 0, 177, 178, 179, 180, 181, 65, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_indic_syllabic_category_table_3[] = { @@ -13700,9 +13970,9 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 4, 4, 4, 5, 4, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 0, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 10, 8, 8, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 9, 10, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 11, 0, 0, - 0, 0, 0, 0, 0, 8, 8, 0, 7, 7, 7, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 8, 8, 0, 7, 7, 7, 0, 0, 13, 0, 0, 6, 6, 8, 8, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 5, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, @@ -13710,7 +13980,7 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, 7, 7, 7, 0, 0, 9, 10, 8, 8, 8, 8, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 11, 0, 0, - 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 13, 7, 0, 6, 6, 8, 8, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -13761,8 +14031,8 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 7, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 15, 8, 8, 8, 8, 20, 20, 20, 20, 20, 20, 20, 7, 20, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 20, 20, 8, 8, 0, 0, - 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 7, 7, - 7, 7, 8, 8, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 8, 8, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -13795,13 +14065,13 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 8, 8, 8, 8, 4, 20, 20, 20, 20, 20, 18, 3, 3, 0, 0, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 26, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 4, 4, 4, 27, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 11, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, + 8, 8, 8, 8, 11, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, - 4, 26, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, + 4, 27, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 23, 23, 23, 8, 8, 8, 8, 8, 8, 18, 24, 23, 23, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 7, 7, 7, 27, 27, @@ -13849,7 +14119,7 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 27, 27, 27, 27, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 26, 5, 6, 6, 6, 6, 6, 7, 7, 7, 6, 6, 6, 7, + 4, 4, 27, 5, 6, 6, 6, 6, 6, 7, 7, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 15, 15, 15, @@ -13888,11 +14158,13 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 8, 8, 8, 8, 8, 8, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, + 18, 6, 6, 8, 8, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 4, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 9, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, @@ -13959,6 +14231,8 @@ static RE_UINT8 re_indic_syllabic_category_table_3[] = { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 15, 15, 15, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 18, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, + 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 5, 11, 9, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, 0, 0, 7, 7, 7, 7, @@ -14109,11 +14383,11 @@ static RE_UINT8 re_joining_group_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, - 0, 0, 0, 12, 0, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -14143,18 +14417,20 @@ static RE_UINT8 re_joining_group_table_3[] = { 15, 15, 13, 13, 13, 19, 19, 20, 20, 20, 18, 8, 8, 9, 6, 6, 9, 8, 6, 2, 2, 14, 14, 1, 3, 3, 56, 56, 6, 9, 9, 17, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 0, 0, 0, 68, 0, 0, 20, 6, 11, 11, 13, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 6, 11, 15, 16, 18, 19, 1, 1, 8, 3, 68, 0, 7, 10, - 13, 69, 8, 12, 17, 0, 4, 4, 4, 8, 1, 70, 71, 72, 4, 4, - 4, 6, 13, 12, 71, 6, 6, 18, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 6, 11, 15, 16, 18, 19, 1, 1, 8, 3, 70, 0, 7, 10, + 13, 71, 8, 12, 17, 16, 4, 4, 4, 8, 1, 72, 73, 74, 4, 4, + 4, 6, 13, 12, 73, 6, 6, 18, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 73, 74, 74, 75, 75, 76, 0, 77, 0, 78, 78, 0, 0, 79, 80, 81, - 82, 82, 82, 83, 84, 85, 86, 87, 88, 89, 89, 90, 90, 91, 92, 92, - 92, 93, 0, 0, 94, 0, 0, 0, 0, 0, 0, 95, 96, 97, 98, 99, + 75, 76, 76, 77, 77, 78, 0, 79, 0, 80, 80, 0, 0, 81, 82, 83, + 84, 84, 84, 85, 86, 87, 88, 89, 90, 91, 91, 92, 92, 93, 94, 94, + 94, 95, 0, 0, 96, 0, 0, 0, 0, 0, 0, 97, 98, 99, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 100, 0, 101, 0, - 101, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 102, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 102, 0, 103, 0, + 103, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -14184,7 +14460,7 @@ static RE_UINT8 re_joining_type_table_1[] = { 16, 9, 17, 18, 19, 20, 21, 22, 9, 9, 9, 9, 9, 23, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 24, 25, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 26, - 9, 9, 9, 9, 27, 9, 28, 9, 29, 9, 30, 9, 9, 9, 9, 9, + 9, 9, 9, 27, 28, 9, 29, 9, 30, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -14233,7 +14509,7 @@ static RE_UINT8 re_joining_type_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 31, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 32, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -14252,19 +14528,19 @@ static RE_UINT8 re_joining_type_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 20, 21, 22, - 23, 24, 25, 26, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 35, 39, 40, 38, 35, 41, 42, 34, 43, 44, 33, 45, 0, 46, 0, - 47, 48, 49, 33, 34, 43, 50, 33, 51, 52, 36, 33, 34, 0, 53, 0, - 0, 54, 55, 0, 0, 56, 57, 0, 58, 59, 0, 60, 61, 62, 63, 0, - 0, 64, 65, 66, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 36, 40, 41, 39, 36, 42, 43, 35, 44, 45, 34, 46, 0, 47, 0, + 48, 49, 50, 34, 35, 44, 51, 34, 52, 53, 37, 34, 35, 0, 54, 0, + 0, 55, 56, 0, 0, 57, 58, 0, 59, 60, 0, 61, 62, 63, 64, 0, + 0, 65, 66, 67, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 69, 69, 70, 70, 0, 71, 72, 0, - 73, 13, 13, 74, 75, 76, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, - 78, 0, 79, 80, 0, 81, 82, 0, 83, 84, 45, 85, 51, 86, 0, 87, - 0, 88, 0, 0, 0, 0, 89, 90, 0, 0, 0, 0, 0, 0, 2, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 70, 71, 71, 71, 0, 72, 73, 0, + 74, 13, 13, 75, 76, 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, + 79, 0, 80, 81, 0, 82, 83, 0, 84, 85, 46, 86, 52, 87, 0, 88, + 0, 89, 0, 0, 0, 0, 90, 91, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 92, 93, 0, 94, 0, 0, 81, 95, 0, 0, 0, 0, 0, 0, 0, 0, + 92, 93, 0, 94, 0, 0, 82, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14273,44 +14549,46 @@ static RE_UINT8 re_joining_type_table_2[] = { 0, 98, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 48, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 102, 103, 13, 104, 0, 0, 105, 106, 0, 107, 108, 0, 30, 109, 0, 110, - 0, 111, 112, 35, 0, 113, 34, 114, 0, 0, 0, 0, 0, 0, 0, 115, + 0, 0, 0, 100, 101, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, + 103, 104, 13, 105, 0, 0, 106, 107, 0, 108, 109, 0, 31, 110, 0, 111, + 0, 112, 113, 36, 0, 114, 35, 115, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 117, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, - 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 119, 0, 0, 0, 0, + 3, 3, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 118, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, + 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 121, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 122, 123, 0, 0, 0, 0, 124, 125, 0, 0, 0, 0, 126, 127, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 0, 0, 0, 131, 132, 133, 134, 135, 136, 0, + 35, 137, 138, 139, 52, 140, 46, 0, 31, 141, 0, 142, 52, 143, 144, 0, + 0, 145, 0, 0, 0, 0, 97, 146, 52, 53, 120, 147, 0, 0, 0, 0, + 0, 137, 148, 0, 0, 149, 150, 0, 0, 0, 0, 0, 0, 151, 152, 0, + 0, 153, 120, 0, 0, 154, 0, 0, 69, 155, 0, 0, 0, 0, 0, 0, + 0, 156, 0, 0, 0, 0, 0, 0, 0, 157, 158, 0, 0, 0, 159, 120, + 160, 161, 162, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 164, 0, 0, 165, 166, 0, 0, 0, 167, 168, 0, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 120, 121, 0, 0, 0, 0, 122, 123, 0, 0, 0, 0, 124, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 0, 0, 0, 129, 130, 0, 0, 131, 132, 0, - 34, 133, 134, 97, 51, 135, 0, 0, 30, 136, 0, 137, 51, 138, 139, 0, - 0, 140, 0, 0, 0, 0, 97, 141, 51, 52, 82, 142, 0, 0, 0, 0, - 0, 133, 143, 0, 0, 144, 145, 0, 0, 0, 0, 0, 0, 146, 147, 0, - 0, 148, 82, 0, 0, 149, 0, 0, 68, 150, 0, 0, 0, 0, 0, 0, - 0, 151, 0, 0, 0, 0, 0, 0, 0, 152, 153, 0, 0, 0, 154, 82, - 155, 156, 157, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 159, 0, 0, 160, 161, 0, 0, 0, 162, 163, 0, 164, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 167, 0, 168, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 175, 0, 0, 176, + 0, 0, 0, 0, 177, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 170, 0, 0, 171, - 0, 0, 0, 0, 172, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 174, 98, 0, 0, - 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 178, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 180, 98, 0, 0, + 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 176, 2, 177, 178, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 180, 181, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 168, 0, 13, 13, 183, 0, 0, 0, 0, 0, + 2, 182, 2, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 188, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 173, 0, 13, 13, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 34, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 3, + 35, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -14368,11 +14646,13 @@ static RE_UINT8 re_joining_type_table_3[] = { 3, 2, 2, 2, 2, 2, 3, 3, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 3, 3, 3, 1, 1, 1, 0, 0, 0, 0, 2, 0, 2, 2, 2, 2, 0, 3, 2, 3, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 4, 4, 4, 2, 0, 0, 2, 2, 2, 2, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 0, 3, 2, - 2, 3, 3, 2, 2, 0, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14412,7 +14692,7 @@ static RE_UINT8 re_joining_type_table_3[] = { 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, @@ -14461,7 +14741,7 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, @@ -14479,7 +14759,7 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14497,8 +14777,6 @@ static RE_UINT8 re_joining_type_table_3[] = { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, - 1, 1, 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, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, @@ -14518,6 +14796,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14553,6 +14833,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, @@ -14578,6 +14860,10 @@ static RE_UINT8 re_joining_type_table_3[] = { 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 3, 3, 3, 0, 2, 3, 3, 2, 2, 3, 2, 2, 0, 2, 3, 3, 2, 0, 0, 0, 0, 3, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14586,6 +14872,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14661,6 +14949,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, @@ -14679,6 +14969,8 @@ static RE_UINT8 re_joining_type_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, @@ -14708,18 +15000,18 @@ static RE_UINT8 re_line_break_table_1[] = { 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 18, 19, 20, 25, 26, 26, 27, 27, 27, 27, 27, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 27, 27, 40, 41, 27, 27, - 27, 42, 27, 27, 27, 27, 27, 27, 27, 27, 43, 44, 13, 13, 13, 13, - 13, 45, 46, 47, 27, 27, 27, 27, 27, 27, 27, 27, 48, 27, 27, 49, - 27, 27, 27, 27, 50, 51, 52, 27, 53, 27, 54, 55, 56, 57, 58, 59, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 27, 40, 41, 42, 27, 27, + 27, 43, 27, 27, 27, 27, 27, 27, 27, 27, 44, 45, 13, 13, 13, 13, + 13, 46, 47, 48, 27, 27, 27, 27, 27, 27, 27, 49, 50, 27, 27, 51, + 27, 27, 27, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 59, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 64, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 59, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 64, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, @@ -14760,7 +15052,7 @@ static RE_UINT8 re_line_break_table_1[] = { 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 60, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 65, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, @@ -14779,26 +15071,26 @@ static RE_UINT16 re_line_break_table_2[] = { 7, 7, 7, 7, 7, 7, 8, 7, 9, 9, 10, 11, 12, 13, 7, 7, 7, 7, 7, 7, 14, 7, 7, 7, 7, 15, 16, 7, 17, 18, 19, 20, 21, 7, 22, 23, 7, 7, 24, 25, 26, 27, 28, 7, 7, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 53, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 36, 82, 83, 84, 36, 85, 86, 87, 88, 89, 90, 91, 36, + 32, 33, 34, 35, 36, 7, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 52, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 81, 85, 86, 87, 88, 89, 90, 91, 81, 92, 92, 93, 92, 94, 7, 95, 7, 96, 96, 96, 97, 97, 98, 99, 99, 7, 7, 100, 7, 101, 102, 103, 7, 104, 7, 105, 106, 107, 7, 7, 108, 109, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 110, 7, 7, 111, 112, 113, 114, 115, 92, 92, 116, 117, 118, 7, 7, 119, 120, 121, 7, 122, 123, 124, 125, 126, 92, 127, 128, 7, - 129, 92, 130, 131, 132, 133, 134, 36, 135, 136, 137, 138, 139, 140, 7, 141, - 7, 142, 143, 144, 145, 146, 147, 148, 7, 7, 7, 7, 7, 7, 9, 149, - 7, 7, 7, 7, 7, 7, 7, 7, 108, 7, 150, 151, 7, 37, 152, 153, + 129, 92, 130, 131, 132, 133, 134, 81, 135, 136, 137, 138, 139, 140, 7, 141, + 7, 142, 143, 144, 145, 146, 147, 148, 7, 7, 7, 7, 7, 7, 9, 9, + 7, 7, 7, 7, 7, 7, 7, 7, 108, 7, 149, 150, 7, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 7, 167, 7, 168, 169, 170, 171, 172, 173, 7, 174, 175, 176, 7, 7, 7, 7, 7, 177, - 7, 178, 35, 179, 179, 179, 179, 180, 179, 179, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 7, 196, 197, 198, 7, 199, 200, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 201, 7, 202, 203, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 204, 205, 206, 7, 7, 7, - 7, 207, 123, 7, 7, 7, 7, 208, 7, 95, 7, 209, 210, 211, 211, 9, - 212, 213, 214, 36, 215, 216, 216, 217, 216, 216, 216, 216, 216, 216, 218, 219, + 7, 178, 179, 180, 180, 180, 180, 181, 180, 180, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 7, 197, 198, 199, 7, 200, 201, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 202, 7, 203, 204, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 205, 206, 207, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 208, 7, 95, 7, 209, 210, 211, 211, 9, + 212, 213, 214, 81, 215, 216, 216, 217, 216, 216, 216, 216, 216, 216, 218, 219, 220, 221, 222, 223, 224, 225, 223, 226, 227, 228, 216, 216, 229, 216, 216, 230, 231, 216, 232, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, @@ -14809,7 +15101,7 @@ static RE_UINT16 re_line_break_table_2[] = { 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 234, 216, 235, 144, 7, 7, 7, 7, 7, 7, 7, 7, 236, 237, 7, 238, 239, 7, 7, 240, 7, 7, 7, 7, 7, 7, 241, 242, - 243, 244, 7, 245, 246, 136, 247, 248, 30, 249, 250, 251, 40, 252, 253, 254, + 243, 244, 7, 245, 246, 136, 247, 248, 30, 249, 250, 251, 39, 252, 253, 254, 7, 255, 256, 92, 92, 92, 257, 258, 259, 260, 7, 261, 7, 7, 7, 262, 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, @@ -14829,74 +15121,84 @@ static RE_UINT16 re_line_break_table_2[] = { 263, 264, 265, 266, 267, 268, 269, 263, 264, 265, 266, 267, 268, 270, 271, 272, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 216, 216, 216, 216, 216, 216, 216, 216, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 274, 275, 276, 7, 7, 7, 277, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 278, 279, 7, 280, 7, 281, 282, - 283, 284, 285, 286, 7, 7, 7, 287, 288, 289, 290, 291, 292, 231, 293, 294, - 295, 296, 297, 36, 7, 7, 7, 298, 299, 300, 7, 7, 301, 302, 279, 303, - 36, 36, 36, 36, 304, 7, 305, 306, 7, 307, 308, 309, 310, 7, 311, 36, - 7, 7, 7, 7, 151, 312, 313, 314, 7, 315, 7, 316, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 210, 122, 281, 36, 36, 36, 36, - 317, 318, 319, 7, 123, 320, 36, 321, 322, 323, 36, 36, 7, 324, 280, 7, - 325, 326, 327, 7, 7, 36, 7, 328, 7, 329, 330, 331, 332, 333, 36, 36, - 7, 7, 334, 36, 7, 335, 7, 336, 7, 337, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 123, 7, 338, 36, 36, 7, 315, 339, 36, 36, 279, 340, 210, - 139, 341, 342, 343, 139, 344, 345, 346, 139, 347, 348, 349, 139, 252, 350, 351, - 352, 353, 36, 36, 354, 355, 356, 357, 358, 359, 360, 361, 36, 36, 36, 36, - 7, 362, 363, 364, 7, 27, 365, 36, 36, 36, 36, 36, 7, 366, 367, 36, - 7, 27, 368, 369, 7, 370, 371, 36, 372, 373, 36, 36, 36, 36, 36, 36, - 7, 374, 36, 36, 36, 7, 7, 375, 376, 377, 378, 36, 36, 379, 380, 381, - 382, 383, 384, 7, 385, 386, 7, 119, 36, 36, 36, 36, 36, 36, 36, 36, - 387, 388, 389, 390, 391, 392, 36, 36, 393, 394, 395, 396, 397, 371, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 398, 36, 36, 36, 36, 36, 399, 400, 401, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 278, 7, 7, 279, 7, 280, 281, + 282, 283, 284, 285, 7, 7, 7, 286, 287, 288, 289, 290, 291, 231, 292, 293, + 294, 295, 296, 81, 7, 7, 7, 297, 298, 299, 7, 7, 300, 301, 302, 303, + 81, 81, 81, 81, 304, 7, 305, 306, 7, 307, 35, 308, 309, 7, 310, 81, + 7, 7, 7, 7, 150, 311, 312, 313, 7, 314, 7, 315, 316, 317, 81, 81, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 210, 122, 318, 319, 320, 81, 81, + 321, 322, 323, 7, 123, 324, 81, 325, 326, 327, 81, 81, 7, 328, 279, 7, + 329, 330, 331, 7, 7, 81, 7, 332, 7, 333, 334, 335, 336, 337, 81, 81, + 7, 7, 338, 81, 7, 339, 7, 340, 7, 341, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 123, 7, 342, 81, 81, 7, 314, 343, 302, 344, 302, 345, 210, + 139, 346, 347, 348, 139, 349, 350, 351, 139, 352, 353, 354, 139, 252, 355, 356, + 357, 358, 81, 81, 359, 360, 361, 362, 363, 364, 365, 366, 81, 81, 81, 81, + 7, 367, 368, 369, 7, 27, 370, 81, 81, 81, 81, 81, 7, 371, 372, 81, + 7, 27, 373, 374, 7, 375, 376, 81, 377, 378, 379, 81, 81, 81, 81, 81, + 7, 380, 81, 81, 81, 7, 7, 381, 382, 383, 384, 81, 81, 385, 386, 387, + 388, 389, 390, 7, 391, 392, 7, 119, 81, 81, 81, 81, 81, 81, 81, 81, + 393, 394, 395, 396, 397, 398, 81, 81, 399, 400, 401, 402, 403, 376, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 404, 81, 81, 81, 81, 81, 405, 406, 407, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 107, 36, 36, 36, - 7, 7, 7, 402, 7, 7, 7, 7, 7, 7, 403, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 107, 81, 81, 81, + 7, 7, 7, 408, 7, 7, 7, 7, 7, 7, 409, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 302, 7, 7, 339, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 404, 7, 405, 7, 7, 7, 7, 7, 7, 406, 7, 7, 7, 7, - 7, 407, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 408, 7, - 7, 7, 178, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 7, 7, 410, 7, 411, 7, 7, 7, 7, 7, 7, 412, 7, 7, 7, 7, + 7, 413, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 414, 7, + 7, 7, 178, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 119, 123, 409, 36, 36, 279, 410, 7, 411, 412, 413, 414, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 7, 7, 415, 36, 36, 36, 7, 7, 416, 9, 417, 36, 36, 418, + 7, 119, 123, 415, 7, 123, 311, 416, 7, 417, 418, 419, 420, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 7, 7, 421, 81, 81, 81, 7, 7, 422, 9, 423, 81, 81, 424, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 419, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 425, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 122, 36, 420, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 216, 216, 216, 216, 216, 216, 216, 216, 231, 36, 421, 422, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 423, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 424, 425, 426, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 7, 122, 7, 427, 7, 428, 429, 430, 7, 334, - 7, 7, 431, 36, 36, 36, 36, 432, 7, 7, 210, 119, 36, 36, 36, 36, - 7, 7, 37, 7, 433, 434, 435, 7, 436, 437, 438, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 439, 7, 7, 7, 7, 7, 7, 7, 7, 440, 441, + 7, 7, 7, 7, 7, 7, 122, 81, 426, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 427, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 428, 429, 430, 216, 216, 216, 216, + 216, 216, 216, 216, 216, 216, 216, 431, 81, 81, 81, 81, 81, 81, 81, 81, + 7, 7, 7, 432, 433, 434, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 9, 435, 436, 7, 7, 7, 409, 81, + 7, 7, 7, 7, 7, 7, 7, 122, 7, 437, 7, 438, 439, 440, 7, 179, + 7, 7, 441, 81, 81, 81, 81, 442, 7, 7, 210, 119, 81, 81, 81, 81, + 7, 7, 151, 7, 443, 444, 445, 7, 446, 447, 448, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 449, 7, 7, 7, 7, 7, 7, 7, 7, 450, 451, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 9, 442, 9, 443, 444, 445, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 446, 447, 36, 36, 36, 36, 36, 36, 7, 448, 449, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 7, 450, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 451, 36, 7, 7, 452, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 453, 7, 454, 36, 36, 455, 151, 36, 36, 36, 36, 36, 36, - 435, 456, 457, 458, 459, 460, 36, 461, 36, 36, 36, 36, 36, 36, 36, 36, - 216, 216, 216, 216, 216, 216, 216, 216, 462, 463, 179, 464, 179, 465, 216, 466, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 467, 468, 469, 470, - 216, 216, 471, 472, 473, 474, 216, 216, 475, 476, 477, 478, 479, 216, 480, 481, - 216, 216, 482, 483, 216, 484, 485, 216, 7, 7, 7, 486, 7, 7, 487, 216, - 488, 7, 489, 7, 490, 491, 216, 216, 492, 493, 216, 494, 216, 495, 496, 216, - 7, 7, 486, 216, 216, 216, 216, 216, 7, 7, 7, 7, 497, 7, 35, 498, + 9, 452, 9, 453, 454, 455, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 123, 81, 81, 81, 81, 81, 81, 81, + 456, 457, 81, 81, 81, 81, 81, 81, 7, 458, 459, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 302, 460, 7, 461, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 462, + 7, 7, 7, 7, 7, 7, 463, 81, 7, 7, 464, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 465, 7, 466, 81, 81, 467, 150, 81, 81, 81, 81, 81, 81, + 445, 468, 469, 470, 471, 472, 81, 473, 81, 81, 81, 81, 81, 81, 81, 81, + 216, 216, 216, 216, 216, 216, 216, 216, 474, 475, 180, 476, 180, 477, 216, 478, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 479, 480, 481, 482, + 216, 216, 483, 484, 485, 486, 216, 216, 487, 488, 489, 490, 491, 216, 492, 493, + 216, 216, 494, 495, 216, 496, 497, 216, 7, 7, 7, 498, 7, 7, 499, 216, + 500, 7, 501, 7, 502, 503, 216, 216, 504, 505, 216, 506, 216, 507, 508, 216, + 7, 7, 498, 216, 216, 216, 509, 510, 7, 7, 7, 7, 511, 7, 179, 512, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 499, - 500, 9, 9, 9, 36, 36, 36, 36, 9, 9, 9, 9, 9, 9, 9, 501, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 513, + 514, 9, 9, 9, 81, 81, 81, 81, 9, 9, 9, 9, 9, 9, 9, 515, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81 }; static RE_UINT8 re_line_break_table_3[] = { @@ -14943,7 +15245,7 @@ static RE_UINT8 re_line_break_table_3[] = { 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 23, 23, 23, 23, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 11, 11, 11, 14, 14, 9, 9, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 0, 7, 7, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 7, 7, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 11, 17, 17, 9, 9, 9, @@ -14971,13 +15273,11 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 0, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, + 9, 9, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15029,9 +15329,9 @@ static RE_UINT8 re_line_break_table_3[] = { 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 1, 1, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 1, 9, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 9, 9, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 9, 9, 9, 0, 0, 9, 0, 0, 9, 9, 1, 1, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 22, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 22, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, @@ -15039,7 +15339,7 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 0, 0, 1, 9, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 9, 9, 0, 9, 9, 1, 1, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, @@ -15064,6 +15364,8 @@ static RE_UINT8 re_line_break_table_3[] = { 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 10, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 9, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 2, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 0, 24, 0, 24, 24, 24, 24, 24, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 24, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, @@ -15124,8 +15426,8 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 18, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, - 9, 9, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15136,7 +15438,7 @@ static RE_UINT8 re_line_break_table_3[] = { 24, 24, 24, 24, 2, 2, 28, 24, 2, 9, 2, 10, 24, 24, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, - 9, 9, 7, 7, 2, 2, 22, 9, 7, 7, 9, 1, 1, 1, 20, 0, + 9, 9, 7, 7, 2, 2, 22, 9, 7, 7, 9, 1, 1, 1, 20, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, @@ -15168,16 +15470,16 @@ static RE_UINT8 re_line_break_table_3[] = { 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 2, 2, 9, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, + 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 2, 2, 0, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, @@ -15198,12 +15500,12 @@ static RE_UINT8 re_line_break_table_3[] = { 1, 1, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 1, 9, 9, 9, 9, 9, 9, 1, 9, 9, 1, 1, 1, 9, 0, 0, 0, 0, 0, - 1, 1, 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, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 0, 9, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15220,7 +15522,7 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 10, 10, 10, 10, 11, 10, 10, 11, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15258,6 +15560,8 @@ static RE_UINT8 re_line_break_table_3[] = { 34, 34, 34, 34, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, @@ -15314,8 +15618,6 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 9, 9, 0, 0, 0, 0, 0, 7, 2, 2, 2, 9, 7, 2, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, @@ -15329,7 +15631,7 @@ static RE_UINT8 re_line_break_table_3[] = { 8, 8, 12, 18, 12, 18, 12, 18, 12, 18, 2, 2, 2, 2, 7, 9, 2, 2, 9, 2, 2, 9, 9, 9, 9, 9, 31, 31, 2, 2, 2, 9, 2, 2, 12, 2, 2, 2, 2, 2, 2, 2, 2, 9, 2, 9, 2, 2, - 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 7, 7, 12, 18, 12, 18, 12, 18, 12, 18, 2, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, @@ -15382,10 +15684,10 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 9, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, + 9, 9, 0, 9, 0, 9, 9, 9, 9, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 9, 9, 9, 1, 9, 9, 9, 9, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 9, 9, 9, 9, 1, 0, 0, 0, @@ -15454,18 +15756,16 @@ static RE_UINT8 re_line_break_table_3[] = { 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 0, 23, 0, 23, 23, 0, 23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 18, 12, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 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, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 11, 9, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 11, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 18, 18, 14, 14, 7, 7, 12, 18, 32, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -15506,6 +15806,8 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15516,8 +15818,6 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15533,7 +15833,17 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, + 9, 9, 9, 0, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 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, + 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15580,6 +15890,8 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, + 9, 9, 1, 1, 1, 1, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15587,10 +15899,10 @@ static RE_UINT8 re_line_break_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 2, 2, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 9, 9, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 2, 2, - 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, + 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, @@ -15641,13 +15953,15 @@ static RE_UINT8 re_line_break_table_3[] = { 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 24, 24, 2, 2, 2, 24, + 24, 24, 24, 24, 24, 24, 24, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 9, 9, 9, 9, 9, @@ -15673,7 +15987,7 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 9, 22, 22, 22, 2, 2, 0, 0, 0, 0, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, @@ -15719,7 +16033,7 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 18, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 2, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -15743,6 +16057,10 @@ static RE_UINT8 re_line_break_table_3[] = { 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 0, + 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, @@ -15754,6 +16072,10 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 1, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 9, 9, 9, 1, 1, 1, @@ -15799,9 +16121,13 @@ static RE_UINT8 re_line_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 9, 9, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 10, + 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 0, 9, 9, 0, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, @@ -15894,6 +16220,10 @@ static RE_UINT8 re_line_break_table_3[] = { 34, 34, 34, 34, 34, 35, 35, 34, 35, 35, 34, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34, + 34, 34, 34, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15952,7 +16282,7 @@ static RE_UINT8 re_lowercase_table_1[] = { 2, 12, 2, 13, 2, 2, 14, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 16, 2, 2, 2, 2, 17, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 16, 2, 17, 2, 2, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -16030,27 +16360,29 @@ static RE_UINT8 re_lowercase_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 26, 48, 49, 5, 5, 5, 50, 15, 51, 0, 0, 0, 0, 0, 0, + 0, 26, 15, 48, 5, 5, 5, 49, 15, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 52, 53, 0, 0, 0, 0, 54, 5, 55, 56, 57, 58, 59, + 0, 0, 5, 51, 52, 0, 0, 0, 0, 53, 5, 54, 55, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 60, 61, 15, 15, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 59, 60, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 63, 64, 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 62, 63, 0, 0, 0, 64, 65, 0, 0, 0, 0, 66, 67, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, 0, 0, + 0, 0, 0, 0, 0, 0, 15, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 68, 69, 81, - 71, 72, 82, 64, 75, 83, 84, 85, 86, 82, 87, 26, 88, 75, 89, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 91, 0, 0, 0, 0, 0, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 71, 72, 84, + 74, 75, 85, 63, 78, 86, 87, 88, 89, 85, 90, 26, 91, 78, 92, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -16067,17 +16399,18 @@ static RE_UINT8 re_lowercase_table_3[] = { 63, 0, 255, 0, 255, 0, 255, 63, 255, 0, 223, 64, 220, 0, 207, 0, 255, 0, 220, 0, 0, 0, 2, 128, 0, 0, 255, 31, 0, 196, 8, 0, 0, 128, 16, 50, 192, 67, 0, 0, 16, 0, 0, 0, 255, 3, 0, 0, - 255, 255, 255, 127, 98, 21, 218, 63, 26, 80, 8, 0, 191, 32, 0, 0, - 170, 42, 0, 0, 170, 170, 170, 58, 168, 170, 171, 170, 170, 170, 255, 149, - 170, 80, 186, 170, 170, 130, 160, 170, 8, 5, 0, 0, 0, 0, 64, 7, - 255, 255, 255, 247, 255, 1, 255, 255, 127, 0, 248, 0, 0, 255, 255, 255, - 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 255, 15, 255, 255, 7, 0, - 0, 0, 0, 252, 255, 255, 15, 0, 0, 192, 223, 255, 255, 0, 0, 0, - 252, 255, 255, 15, 0, 0, 192, 235, 239, 255, 0, 0, 0, 252, 255, 255, - 15, 0, 0, 192, 255, 255, 255, 0, 0, 0, 252, 255, 255, 15, 0, 0, - 192, 255, 255, 255, 0, 192, 255, 255, 0, 0, 192, 255, 63, 0, 0, 0, - 252, 255, 255, 247, 3, 0, 0, 240, 255, 255, 223, 15, 255, 127, 63, 0, - 255, 253, 0, 0, 247, 11, 0, 0, 252, 255, 255, 255, 15, 0, 0, 0 + 98, 21, 218, 63, 26, 80, 8, 0, 191, 32, 0, 0, 170, 42, 0, 0, + 170, 170, 170, 58, 168, 170, 171, 170, 170, 170, 255, 149, 170, 80, 186, 170, + 170, 130, 160, 170, 10, 5, 170, 2, 0, 0, 64, 7, 255, 255, 255, 247, + 255, 1, 255, 255, 127, 0, 248, 0, 0, 255, 255, 255, 255, 255, 0, 0, + 0, 0, 0, 255, 255, 255, 255, 15, 0, 0, 128, 255, 251, 255, 251, 27, + 185, 255, 255, 255, 255, 255, 253, 7, 255, 255, 7, 0, 0, 0, 0, 252, + 255, 255, 15, 0, 0, 192, 223, 255, 255, 0, 0, 0, 252, 255, 255, 15, + 0, 0, 192, 235, 239, 255, 0, 0, 0, 252, 255, 255, 15, 0, 0, 192, + 255, 255, 255, 0, 0, 0, 252, 255, 255, 15, 0, 0, 192, 255, 255, 255, + 0, 192, 255, 255, 0, 0, 192, 255, 63, 0, 0, 0, 252, 255, 255, 247, + 3, 0, 0, 240, 255, 255, 223, 15, 255, 127, 63, 0, 255, 253, 0, 0, + 247, 11, 0, 0, 255, 251, 255, 127, 252, 255, 255, 255, 15, 0, 0, 0 }; RE_UINT32 re_get_lowercase(RE_UINT32 codepoint) { @@ -16630,14 +16963,14 @@ static RE_UINT8 re_nfkc_quick_check_table_1[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 13, 14, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 15, 16, - 5, 5, 5, 5, 17, 18, 19, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 17, 5, 5, 18, 19, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 20, 21, 5, 5, 5, 5, 5, 22, 23, 5, 24, 5, + 5, 5, 5, 5, 21, 22, 5, 5, 5, 5, 5, 23, 24, 5, 25, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 25, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 26, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -16731,20 +17064,22 @@ static RE_UINT8 re_nfkc_quick_check_table_2[] = { 80, 81, 48, 82, 48, 48, 83, 0, 84, 85, 86, 48, 48, 87, 88, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 89, 90, 48, 91, 48, 92, 93, 94, 90, 95, 96, 48, 48, 48, 97, 98, 48, 48, 48, 48, 75, 99, 100, - 0, 0, 0, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, 0, 0, + 0, 0, 0, 0, 0, 103, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, + 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 9, 0, 47, 70, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 9, 0, 47, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 48, 107, 48, 108, 109, 110, 48, 111, 112, 113, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 114, 48, 48, 48, 48, 48, 48, 48, 48, 115, 48, + 48, 48, 109, 48, 110, 111, 112, 48, 113, 114, 115, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 116, 48, 48, 48, 48, 48, 48, 48, 48, 117, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 110, 116, 117, 118, 119, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 121, 122, 123, 124, 77, 0, 0, 0, - 125, 126, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 112, 118, 119, 120, 121, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 123, 124, 125, 126, 77, 0, 0, 0, + 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, @@ -16909,7 +17244,7 @@ static RE_UINT8 re_nfkc_quick_check_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, @@ -16954,6 +17289,10 @@ static RE_UINT8 re_nfkc_quick_check_table_3[] = { 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, @@ -17033,14 +17372,14 @@ static RE_UINT8 re_nfkd_quick_check_table_1[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 5, 5, 5, 5, 5, 5, 5, 5, 17, 18, - 5, 5, 5, 5, 19, 20, 21, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 19, 5, 5, 20, 21, 22, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 22, 23, 5, 5, 5, 5, 5, 24, 25, 5, 26, 5, + 5, 5, 5, 5, 23, 24, 5, 5, 5, 5, 5, 25, 26, 5, 27, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 27, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 28, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -17138,20 +17477,22 @@ static RE_UINT8 re_nfkd_quick_check_table_2[] = { 107, 108, 59, 109, 59, 59, 61, 0, 110, 111, 112, 59, 59, 113, 114, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 64, 115, 59, 4, 59, 116, 117, 118, 115, 119, 120, 59, 59, 59, 121, 122, 59, 59, 59, 59, 100, 123, 124, - 0, 0, 0, 0, 125, 126, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 126, 0, 0, + 0, 0, 0, 0, 127, 128, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 15, 0, 58, 92, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 15, 0, 58, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 59, 59, 65, 59, 133, 134, 135, 59, 136, 137, 138, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 7, 59, 59, 59, 59, 59, 59, 59, 59, 139, 59, + 59, 59, 65, 59, 135, 136, 137, 59, 138, 139, 140, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 7, 59, 59, 59, 59, 59, 59, 59, 59, 141, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 135, 140, 141, 142, 143, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 145, 146, 147, 39, 102, 0, 0, 0, - 148, 60, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 137, 142, 143, 144, 145, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 147, 148, 149, 39, 102, 0, 0, 0, + 150, 60, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, @@ -17184,19 +17525,19 @@ static RE_UINT8 re_nfkd_quick_check_table_3[] = { 255, 255, 143, 255, 255, 127, 255, 255, 255, 255, 255, 127, 0, 0, 192, 255, 254, 255, 255, 255, 255, 255, 191, 248, 255, 175, 170, 170, 90, 253, 36, 201, 255, 255, 239, 39, 255, 255, 111, 56, 255, 255, 1, 0, 0, 128, 3, 0, - 0, 0, 0, 128, 0, 255, 0, 0, 255, 255, 254, 255, 255, 255, 255, 252, + 0, 0, 0, 128, 0, 255, 0, 0, 255, 255, 254, 255, 255, 255, 227, 252, 255, 255, 255, 15, 255, 253, 255, 255, 240, 255, 255, 255, 0, 192, 26, 128, 154, 3, 0, 0, 0, 192, 0, 0, 128, 255, 7, 95, 0, 0, 128, 160, 36, 0, 0, 0, 0, 0, 252, 255, 255, 255, 7, 0, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 0, 224, 255, 255, 0, 252, 96, 0, 8, 0, 128, 240, 40, 0, 0, 0, 0, 224, 1, 0, 0, 0, 3, 3, 3, 227, - 128, 128, 255, 255, 255, 255, 255, 235, 255, 247, 255, 255, 255, 63, 255, 255, - 255, 231, 255, 255, 255, 255, 255, 167, 255, 255, 255, 243, 255, 255, 255, 254, - 255, 255, 255, 63, 0, 0, 0, 32, 155, 33, 0, 20, 16, 0, 0, 0, - 64, 24, 32, 32, 0, 0, 0, 132, 160, 3, 2, 0, 0, 48, 0, 0, - 105, 1, 8, 245, 123, 21, 105, 85, 105, 8, 8, 161, 0, 4, 0, 240, - 17, 4, 0, 240, 0, 248, 0, 0, 0, 128, 0, 0, 0, 0, 255, 255, - 248, 255, 0, 0, 0, 254, 252, 255 + 128, 128, 255, 255, 65, 0, 0, 0, 0, 0, 2, 248, 255, 255, 255, 235, + 255, 247, 255, 255, 255, 63, 255, 255, 255, 231, 255, 255, 255, 255, 255, 167, + 255, 255, 255, 243, 255, 255, 255, 254, 255, 255, 255, 63, 0, 0, 0, 32, + 155, 33, 0, 20, 16, 0, 0, 0, 64, 24, 32, 32, 0, 0, 0, 132, + 160, 3, 2, 0, 0, 48, 0, 0, 105, 1, 8, 245, 123, 21, 105, 85, + 105, 8, 8, 161, 0, 4, 0, 240, 17, 4, 0, 240, 0, 248, 0, 0, + 0, 128, 0, 0, 0, 0, 255, 255, 248, 255, 0, 0, 0, 254, 252, 255 }; RE_UINT32 re_get_nfkd_quick_check(RE_UINT32 codepoint) { @@ -17480,7 +17821,7 @@ static RE_UINT8 re_numeric_type_table_2[] = { 20, 20, 20, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 101, 102, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -17919,7 +18260,7 @@ static RE_UINT8 re_numeric_value_table_2[] = { 112, 113, 114, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 116, 117, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 116, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -18363,23 +18704,23 @@ static RE_UINT8 re_other_alphabetic_table_2[] = { 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 81, 82, 0, 28, 83, 0, 0, 56, 69, 46, 0, 56, 84, 85, 0, - 0, 86, 0, 0, 0, 0, 52, 45, 16, 21, 22, 19, 0, 0, 0, 0, - 0, 55, 87, 0, 0, 10, 66, 0, 0, 0, 0, 0, 0, 88, 89, 0, - 0, 90, 53, 0, 0, 91, 0, 0, 92, 93, 0, 0, 0, 0, 0, 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 95, 96, 0, 0, 0, 97, 98, - 99, 100, 101, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 103, 0, 0, 104, 105, 0, 0, 0, 106, 107, 0, 108, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 61, 111, 0, 0, 112, + 56, 81, 82, 83, 28, 84, 28, 0, 56, 69, 46, 0, 56, 85, 86, 0, + 0, 87, 0, 0, 0, 0, 52, 45, 16, 21, 22, 19, 0, 0, 0, 0, + 0, 55, 88, 0, 0, 10, 66, 0, 0, 0, 0, 0, 0, 89, 90, 0, + 0, 91, 92, 0, 0, 93, 0, 0, 94, 95, 0, 0, 0, 0, 0, 0, + 0, 96, 0, 0, 0, 0, 0, 0, 0, 97, 98, 0, 0, 0, 99, 100, + 101, 102, 103, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 105, 0, 0, 106, 107, 0, 0, 0, 108, 109, 0, 110, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 61, 113, 0, 0, 114, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 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, 116, 116, 62, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 118, 118, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -18397,23 +18738,23 @@ static RE_UINT8 re_other_alphabetic_table_3[] = { 0, 248, 127, 121, 0, 0, 192, 195, 157, 63, 30, 0, 252, 191, 0, 60, 0, 0, 192, 255, 255, 1, 0, 0, 96, 0, 0, 0, 0, 2, 0, 0, 255, 15, 255, 1, 0, 0, 128, 15, 0, 0, 224, 127, 254, 255, 31, 0, - 0, 0, 0, 128, 1, 0, 0, 0, 31, 0, 0, 0, 0, 0, 224, 255, + 0, 0, 0, 128, 1, 112, 0, 0, 31, 0, 0, 0, 0, 0, 224, 255, 7, 0, 0, 0, 254, 51, 0, 0, 128, 255, 3, 0, 240, 255, 127, 0, 128, 255, 31, 0, 255, 255, 255, 255, 255, 3, 0, 0, 0, 0, 240, 15, 4, 8, 0, 0, 248, 0, 0, 0, 3, 0, 0, 0, 47, 0, 0, 0, 192, 7, 0, 0, 128, 255, 7, 0, 0, 254, 127, 0, 8, 48, 0, 0, 0, 0, 0, 56, 0, 0, 157, 65, 0, 248, 32, 0, 248, 7, 0, 0, 0, 0, 0, 64, 0, 0, 192, 7, 110, 240, 0, 0, 240, 0, 0, 0, - 0, 24, 0, 0, 0, 0, 0, 255, 63, 0, 0, 0, 0, 0, 255, 1, - 0, 0, 248, 255, 0, 192, 0, 0, 0, 240, 159, 64, 59, 0, 0, 0, - 0, 128, 63, 127, 0, 0, 0, 48, 0, 0, 255, 127, 0, 248, 63, 0, - 0, 0, 0, 224, 255, 7, 0, 0, 0, 240, 255, 1, 0, 0, 191, 25, - 5, 0, 0, 0, 0, 0, 254, 252, 16, 0, 0, 0, 254, 7, 0, 0, - 0, 0, 224, 123, 0, 0, 254, 15, 0, 252, 255, 0, 0, 128, 127, 127, - 0, 0, 252, 255, 255, 254, 127, 0, 0, 0, 126, 180, 139, 0, 0, 0, - 0, 124, 123, 0, 0, 0, 120, 0, 0, 128, 254, 255, 255, 128, 7, 0, - 0, 0, 3, 0, 127, 255, 255, 249, 219, 7, 0, 0, 128, 0, 0, 0, - 255, 3, 255, 255 + 0, 24, 0, 0, 0, 0, 0, 255, 63, 0, 0, 0, 0, 0, 24, 0, + 0, 0, 255, 1, 0, 0, 248, 255, 0, 192, 0, 0, 0, 240, 159, 64, + 59, 0, 0, 0, 0, 128, 63, 127, 0, 0, 0, 48, 0, 0, 255, 127, + 1, 0, 0, 0, 0, 248, 63, 0, 0, 0, 0, 224, 255, 7, 0, 0, + 0, 240, 255, 1, 0, 0, 191, 25, 5, 0, 0, 0, 0, 0, 254, 252, + 16, 0, 0, 0, 254, 7, 0, 0, 0, 0, 224, 123, 0, 0, 254, 15, + 0, 252, 255, 0, 0, 128, 127, 127, 0, 0, 252, 255, 255, 254, 127, 0, + 0, 0, 126, 180, 139, 0, 0, 0, 0, 124, 123, 0, 0, 0, 120, 0, + 0, 128, 254, 255, 255, 128, 7, 0, 0, 0, 3, 0, 127, 255, 255, 249, + 219, 7, 0, 0, 128, 0, 0, 0, 255, 3, 255, 255 }; RE_UINT32 re_get_other_alphabetic(RE_UINT32 codepoint) { @@ -18712,7 +19053,7 @@ static RE_UINT8 re_other_lowercase_table_1[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -18794,7 +19135,9 @@ static RE_UINT8 re_other_lowercase_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 20, 0, 0 }; static RE_UINT8 re_other_lowercase_table_3[] = { @@ -18802,7 +19145,8 @@ static RE_UINT8 re_other_lowercase_table_3[] = { 31, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 4, 0, 240, 255, 255, 255, 255, 255, 255, 255, 7, 0, 1, 0, 0, 0, 248, 0, 0, 2, 128, 0, 0, 255, 31, 0, 0, 255, 255, 255, 3, 0, 0, 0, 0, 0, 48, - 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 240 + 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 240, 185, 255, 255, 255, + 255, 255, 253, 7 }; RE_UINT32 re_get_other_lowercase(RE_UINT32 codepoint) { @@ -19104,17 +19448,17 @@ RE_UINT32 re_get_pattern_white_space(RE_UINT32 codepoint) { static RE_UINT8 re_posix_alnum_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 10, 10, 10, 10, 10, 10, 10, 10, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 10, 10, 13, 31, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 10, 10, 10, 10, 10, 10, 10, 10, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 30, 13, 31, 10, 10, 10, 32, 10, 10, 10, 10, 10, 10, 10, 10, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 10, 37, 10, 10, 38, - 10, 10, 10, 10, 10, 39, 10, 10, 40, 10, 41, 42, 43, 10, 10, 10, + 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 37, 38, 10, 10, 39, + 10, 10, 10, 10, 10, 40, 10, 41, 42, 43, 44, 45, 46, 10, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 44, 13, 13, 13, 45, 46, 13, - 13, 13, 13, 47, 13, 13, 13, 13, 13, 13, 48, 10, 10, 10, 49, 10, - 13, 13, 13, 13, 50, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 47, 13, 13, 13, 48, 49, 13, + 13, 13, 13, 50, 13, 13, 13, 13, 13, 13, 51, 10, 10, 10, 52, 10, + 13, 13, 13, 13, 53, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -19172,12 +19516,12 @@ static RE_UINT8 re_posix_alnum_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 }; -static RE_UINT8 re_posix_alnum_table_2[] = { +static RE_UINT16 re_posix_alnum_table_2[] = { 0, 1, 2, 2, 0, 3, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 7, 0, 0, 8, 9, 10, 11, 5, 12, 5, 5, 5, 5, 13, 5, 5, 5, 5, 14, 15, 5, 16, 17, 18, 19, 20, 5, 21, 22, 5, 5, 23, 24, 25, 5, 26, 5, 5, 27, 28, 29, - 30, 31, 32, 33, 0, 34, 35, 36, 5, 37, 38, 39, 40, 41, 42, 43, + 30, 31, 32, 33, 34, 5, 35, 36, 5, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 49, 53, 54, 55, 56, 57, 0, 58, 59, 60, 61, 58, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 0, 76, 77, 78, 0, 79, 0, 80, 81, 82, 83, 0, 0, @@ -19185,96 +19529,102 @@ static RE_UINT8 re_posix_alnum_table_2[] = { 5, 5, 88, 5, 89, 90, 91, 5, 92, 5, 74, 0, 93, 5, 5, 94, 73, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 95, 2, 5, 5, 96, 97, 98, 98, 99, 5, 100, 101, 0, - 0, 5, 5, 32, 5, 102, 5, 103, 104, 105, 25, 106, 5, 107, 108, 0, - 109, 5, 104, 110, 0, 111, 79, 0, 5, 112, 113, 0, 5, 114, 5, 115, + 0, 5, 5, 32, 5, 33, 5, 102, 103, 104, 25, 105, 5, 106, 107, 0, + 108, 5, 103, 109, 0, 110, 111, 0, 5, 112, 113, 0, 5, 114, 5, 115, 5, 116, 117, 118, 119, 66, 0, 120, 5, 5, 5, 5, 5, 5, 0, 121, 5, 5, 5, 5, 5, 5, 5, 5, 94, 5, 122, 118, 5, 123, 124, 125, 0, 0, 0, 126, 127, 0, 0, 0, 128, 129, 130, 5, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 131, 5, 108, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 5, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 132, 104, 5, 5, 5, 5, 133, 5, 86, 5, 134, 116, 135, 135, 5, - 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 138, 73, 5, 139, 73, 5, 87, 140, 14, 5, 5, 141, 5, 0, 25, + 5, 5, 5, 5, 5, 5, 5, 132, 5, 86, 5, 133, 116, 134, 134, 5, + 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 136, 137, 73, 5, 138, 73, 5, 87, 139, 14, 5, 5, 140, 5, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 83, 5, 5, 5, 5, 31, 0, 25, 118, 5, 5, 5, 5, 5, 5, 5, 5, - 142, 143, 5, 144, 5, 5, 5, 93, 145, 146, 5, 5, 147, 5, 148, 149, - 150, 151, 5, 98, 5, 5, 152, 153, 28, 102, 154, 83, 5, 155, 136, 156, - 5, 116, 157, 158, 5, 104, 159, 160, 161, 162, 87, 163, 5, 5, 5, 33, + 141, 142, 5, 143, 5, 5, 5, 93, 144, 145, 5, 5, 146, 5, 147, 148, + 149, 150, 5, 98, 5, 5, 151, 152, 28, 33, 153, 83, 5, 154, 135, 155, + 5, 116, 156, 157, 5, 103, 158, 159, 160, 161, 87, 162, 5, 5, 5, 163, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 164, 165, 109, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 164, 165, 108, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 166, 5, 5, 167, 0, 168, 169, 170, 5, 5, 27, 171, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 118, 25, 5, 172, 5, 151, 173, - 0, 0, 0, 174, 5, 5, 5, 83, 0, 2, 2, 175, 5, 104, 176, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 118, 25, 5, 172, 5, 150, 173, + 0, 0, 0, 174, 5, 5, 5, 83, 0, 2, 2, 175, 5, 103, 176, 0, 177, 178, 179, 0, 5, 5, 5, 74, 0, 0, 5, 180, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 5, 181, 0, 5, 26, 102, 74, 118, 5, 182, 0, - 5, 5, 5, 5, 118, 25, 183, 109, 5, 184, 5, 61, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 116, 103, 151, 0, 0, 0, 0, - 185, 186, 103, 116, 104, 0, 0, 187, 103, 167, 0, 0, 5, 188, 0, 0, - 189, 103, 0, 83, 83, 0, 80, 190, 5, 103, 103, 154, 27, 0, 0, 0, - 5, 5, 16, 0, 5, 154, 5, 154, 5, 151, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5, 191, 0, 0, 83, 192, 193, 0, 0, 25, 190, 116, - 5, 5, 193, 0, 146, 32, 25, 16, 5, 154, 194, 195, 5, 5, 196, 0, - 197, 198, 0, 0, 199, 119, 5, 16, 40, 49, 200, 61, 0, 0, 0, 0, - 5, 5, 201, 202, 5, 5, 203, 0, 0, 0, 0, 0, 5, 204, 205, 0, - 5, 104, 206, 0, 5, 207, 0, 0, 66, 33, 0, 0, 0, 0, 0, 0, - 5, 32, 0, 0, 0, 5, 5, 208, 209, 210, 211, 0, 0, 212, 30, 213, - 5, 214, 25, 5, 215, 0, 5, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 216, 217, 79, 218, 172, 219, 0, 0, 220, 221, 222, 223, 224, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 225, 0, 0, + 0, 0, 0, 0, 83, 5, 181, 0, 5, 26, 33, 74, 118, 5, 182, 0, + 5, 5, 5, 5, 118, 25, 183, 108, 5, 184, 5, 185, 186, 187, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 116, 102, 150, 149, 188, 0, 0, + 189, 190, 102, 116, 103, 0, 0, 191, 102, 167, 0, 0, 5, 192, 0, 0, + 193, 102, 0, 83, 83, 0, 80, 194, 5, 102, 102, 153, 27, 0, 0, 0, + 5, 5, 16, 0, 5, 153, 5, 153, 5, 150, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 195, 0, 0, 83, 196, 197, 25, 198, 25, 194, 116, + 5, 5, 197, 199, 145, 32, 200, 16, 5, 153, 201, 202, 5, 5, 203, 0, + 204, 205, 0, 0, 206, 119, 5, 16, 40, 49, 207, 61, 0, 0, 0, 0, + 5, 5, 208, 198, 5, 5, 209, 0, 0, 0, 0, 0, 5, 210, 211, 0, + 5, 103, 212, 0, 5, 213, 0, 0, 66, 163, 214, 0, 0, 0, 0, 0, + 5, 32, 0, 0, 0, 5, 5, 215, 216, 217, 218, 0, 0, 219, 30, 220, + 5, 221, 25, 5, 222, 25, 5, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 223, 224, 79, 148, 172, 225, 0, 0, 226, 227, 228, 229, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 231, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 167, 0, 0, 0, - 5, 5, 5, 141, 5, 5, 5, 5, 5, 5, 61, 0, 0, 0, 0, 0, + 5, 5, 5, 140, 5, 5, 5, 5, 5, 5, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 5, 5, 181, + 5, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 32, 104, 0, 0, 0, 25, 157, 5, 93, 61, 227, 93, 0, 0, 0, + 5, 32, 103, 25, 5, 103, 25, 156, 5, 93, 61, 232, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 228, 5, 229, 0, 0, 230, + 0, 0, 5, 5, 0, 0, 0, 0, 5, 5, 233, 5, 234, 0, 0, 235, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 231, - 5, 5, 5, 5, 5, 5, 103, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 236, + 5, 5, 5, 5, 5, 5, 102, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 218, 238, 201, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 108, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 239, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 241, 5, 242, 243, 244, 5, 245, 246, 247, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 248, 249, 87, 241, 241, 250, 250, 223, 223, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 104, 0, 232, 194, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 233, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, + 252, 253, 0, 0, 0, 0, 0, 0, 5, 254, 255, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 25, 156, 5, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 34, 5, 235, 236, 237, 5, 238, 239, 240, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 241, 242, 87, 34, 34, 132, 132, 216, 216, 243, 0, - 244, 245, 0, 0, 0, 0, 0, 0, 5, 246, 247, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5, 248, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 190, 0, 5, 5, 249, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, + 5, 5, 5, 5, 5, 5, 194, 0, 5, 5, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 237, 250, 251, 252, 253, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 163, 163, 108, 0, 0, 0, + 244, 259, 260, 261, 262, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 162, 162, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 118, 0, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 180, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 32, 5, 5, 5, 5, 5, 5, 118, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 255, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 264, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 79, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 33, 0, 0, 0, 0, 0 + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 163, 0, 0, 0, 0, 0 }; static RE_UINT8 re_posix_alnum_table_3[] = { @@ -19286,14 +19636,14 @@ static RE_UINT8 re_posix_alnum_table_3[] = { 0, 0, 255, 7, 255, 255, 255, 254, 0, 192, 255, 255, 255, 255, 239, 31, 254, 225, 0, 156, 0, 0, 255, 255, 0, 224, 255, 255, 255, 255, 3, 0, 0, 252, 255, 255, 255, 7, 48, 4, 255, 255, 255, 252, 255, 31, 0, 0, - 255, 255, 255, 1, 255, 7, 0, 0, 255, 255, 223, 255, 255, 0, 240, 255, + 255, 255, 255, 1, 255, 7, 255, 255, 255, 126, 0, 0, 255, 3, 240, 255, 248, 3, 255, 255, 255, 255, 255, 239, 255, 223, 225, 255, 15, 0, 254, 255, 239, 159, 249, 255, 255, 253, 197, 227, 159, 89, 128, 176, 15, 0, 3, 16, 238, 135, 249, 255, 255, 253, 109, 195, 135, 25, 2, 94, 0, 0, 63, 0, 238, 191, 251, 255, 255, 253, 237, 227, 191, 27, 1, 0, 15, 0, 0, 30, 238, 159, 249, 255, 159, 25, 192, 176, 15, 0, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 29, 129, 0, 239, 223, 253, 255, 255, 253, 255, 227, - 223, 29, 96, 7, 15, 0, 0, 0, 255, 253, 239, 227, 223, 29, 96, 64, + 223, 29, 96, 39, 15, 0, 0, 0, 255, 253, 239, 227, 223, 29, 96, 96, 15, 0, 6, 0, 255, 223, 253, 255, 255, 255, 255, 231, 223, 93, 240, 128, 15, 0, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, 127, 128, 95, 255, 0, 0, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, 127, 32, 0, 0, @@ -19302,46 +19652,49 @@ static RE_UINT8 re_posix_alnum_table_3[] = { 255, 255, 127, 249, 255, 255, 0, 60, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 0, 0, 255, 255, 63, 63, 255, 159, 255, 255, - 255, 199, 255, 1, 255, 223, 15, 0, 255, 255, 15, 0, 255, 223, 13, 0, - 255, 255, 207, 255, 255, 1, 128, 16, 255, 7, 255, 255, 255, 255, 63, 0, - 255, 255, 255, 127, 255, 15, 255, 1, 255, 63, 31, 0, 255, 15, 255, 255, - 255, 3, 0, 0, 255, 255, 255, 15, 254, 255, 31, 0, 128, 0, 0, 128, - 255, 255, 239, 255, 239, 15, 0, 0, 255, 243, 0, 252, 191, 255, 3, 0, + 255, 199, 255, 1, 255, 255, 15, 128, 255, 255, 15, 0, 255, 223, 13, 0, + 255, 255, 207, 255, 255, 1, 128, 16, 255, 255, 63, 0, 255, 255, 255, 127, + 255, 15, 255, 1, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, + 255, 255, 255, 15, 254, 255, 31, 0, 128, 0, 0, 128, 1, 112, 0, 0, + 255, 255, 239, 255, 239, 31, 0, 0, 255, 243, 0, 252, 191, 255, 3, 0, 255, 255, 127, 0, 0, 224, 0, 252, 255, 255, 255, 63, 255, 1, 255, 255, 0, 222, 111, 4, 128, 255, 31, 0, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 62, 80, 189, 255, 243, 224, 67, 0, 0, 0, 0, 192, 255, - 255, 127, 255, 255, 31, 120, 12, 0, 255, 128, 0, 0, 127, 127, 127, 127, - 0, 128, 0, 0, 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 224, - 224, 255, 255, 255, 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, - 255, 127, 240, 143, 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, - 252, 7, 0, 0, 0, 0, 224, 255, 191, 255, 255, 255, 255, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 252, 232, 255, 255, 7, 0, 255, 255, 247, 255, - 255, 255, 0, 124, 255, 63, 0, 0, 255, 255, 127, 252, 5, 0, 0, 56, - 255, 255, 60, 0, 126, 126, 126, 0, 127, 127, 255, 255, 255, 3, 255, 255, + 31, 120, 12, 0, 255, 128, 0, 0, 127, 127, 127, 127, 0, 128, 0, 0, + 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 224, 224, 255, 255, 255, + 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 240, 143, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 191, 255, 255, 255, 255, 0, 0, 0, 47, 0, 0, 0, + 0, 0, 252, 232, 255, 255, 7, 0, 255, 255, 247, 255, 255, 255, 0, 124, + 255, 63, 0, 0, 255, 255, 127, 252, 5, 0, 0, 56, 255, 255, 60, 0, + 126, 126, 126, 0, 127, 127, 255, 255, 255, 3, 255, 255, 255, 7, 0, 0, 15, 0, 255, 255, 127, 248, 255, 255, 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 0, 0, 255, 15, 0, 0, 223, 255, 192, 255, 255, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 255, 255, 31, 0, 255, 255, 1, 0, 15, 255, 62, 0, 255, 255, 15, 255, - 255, 0, 255, 255, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, + 255, 0, 255, 255, 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 31, 0, 0, 0, 255, 27, 3, 0, - 128, 0, 255, 255, 63, 0, 0, 0, 240, 0, 255, 255, 255, 255, 71, 0, - 30, 192, 0, 20, 255, 255, 251, 255, 255, 255, 159, 64, 127, 189, 255, 191, - 159, 25, 129, 224, 187, 7, 0, 128, 3, 0, 0, 0, 179, 0, 0, 0, - 255, 255, 63, 127, 0, 0, 0, 63, 17, 0, 0, 0, 255, 255, 63, 1, - 0, 0, 0, 128, 127, 242, 111, 255, 255, 255, 191, 153, 7, 0, 0, 0, - 255, 252, 255, 255, 26, 0, 0, 0, 255, 255, 231, 127, 255, 255, 255, 32, - 255, 253, 255, 255, 255, 255, 127, 127, 0, 0, 252, 255, 255, 254, 127, 0, - 127, 251, 255, 255, 255, 255, 127, 180, 203, 0, 0, 0, 191, 253, 255, 255, - 255, 127, 123, 1, 0, 0, 1, 0, 127, 0, 0, 0, 248, 255, 255, 224, - 255, 135, 255, 255, 255, 128, 255, 255, 11, 0, 3, 0, 255, 255, 255, 0, - 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 67, 255, 255, 255, 223, - 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, - 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, 247, 15, 0, 0, + 128, 0, 255, 255, 63, 0, 0, 0, 3, 0, 0, 0, 0, 0, 62, 0, + 4, 0, 255, 255, 240, 0, 255, 255, 255, 255, 71, 0, 30, 192, 0, 20, + 255, 255, 251, 255, 255, 255, 159, 64, 127, 189, 255, 191, 159, 25, 129, 224, + 187, 7, 0, 128, 179, 0, 0, 0, 255, 255, 63, 127, 0, 0, 0, 63, + 17, 0, 0, 0, 255, 255, 63, 1, 127, 0, 0, 0, 0, 0, 0, 128, + 127, 242, 111, 255, 255, 255, 191, 153, 7, 0, 0, 0, 255, 252, 255, 255, + 26, 0, 0, 0, 255, 255, 231, 127, 255, 255, 255, 32, 255, 253, 255, 255, + 255, 255, 127, 127, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, + 203, 0, 0, 0, 191, 253, 255, 255, 255, 127, 123, 1, 0, 0, 1, 0, + 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, 11, 0, 3, 0, + 255, 255, 255, 0, 0, 0, 239, 111, 0, 0, 7, 0, 255, 7, 255, 31, + 255, 1, 255, 67, 255, 255, 223, 255, 255, 255, 255, 223, 100, 222, 255, 235, + 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, + 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, 247, 15, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 128, 63, 0, 64, 0, 0, - 255, 15, 0, 0, 143, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, - 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 255, 15, 0, 0, 127, 111, 255, 127, 143, 8, 0, 0, 150, 254, 247, 10, + 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, + 3, 0, 255, 255 }; RE_UINT32 re_get_posix_alnum(RE_UINT32 codepoint) { @@ -19377,10 +19730,10 @@ static RE_UINT8 re_posix_punct_table_1[] = { 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 13, 27, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 28, 29, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 30, - 13, 13, 13, 13, 31, 32, 33, 13, 34, 13, 35, 36, 37, 38, 39, 13, + 19, 20, 21, 22, 23, 24, 25, 26, 13, 27, 13, 28, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 29, 30, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 31, + 13, 13, 13, 32, 33, 34, 35, 13, 36, 13, 37, 38, 39, 40, 41, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -19448,82 +19801,86 @@ static RE_UINT8 re_posix_punct_table_2[] = { 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 8, 9, 0, 0, 10, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 12, 0, 13, 14, 15, 16, 17, 0, 0, 18, 0, 0, 19, 20, 21, 0, 0, 0, 0, 0, 0, 22, - 0, 23, 14, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 25, - 0, 0, 0, 10, 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, 28, - 0, 0, 0, 29, 30, 0, 0, 0, 0, 0, 31, 32, 0, 0, 0, 33, - 0, 34, 35, 0, 0, 0, 0, 0, 36, 37, 0, 0, 38, 39, 40, 0, - 0, 0, 41, 0, 39, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 0, 0, 0, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 47, 0, 0, 48, 0, 49, 0, 0, 0, 0, 50, 0, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 39, 53, - 39, 0, 0, 0, 0, 54, 0, 0, 0, 0, 12, 55, 0, 0, 0, 56, - 0, 57, 0, 39, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 60, 61, - 62, 63, 64, 65, 66, 53, 0, 0, 67, 68, 69, 0, 70, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 71, 51, 0, 56, 72, 0, 0, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 72, 73, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 74, 75, 53, 53, 53, - 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 27, 0, 0, 0, 0, - 53, 77, 78, 0, 79, 53, 53, 80, 53, 53, 53, 53, 53, 53, 72, 81, - 82, 83, 0, 0, 47, 45, 0, 42, 0, 0, 0, 0, 84, 0, 53, 85, - 64, 86, 87, 53, 86, 88, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 0, 23, 14, 0, 24, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 26, + 0, 0, 0, 10, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 29, + 0, 0, 0, 30, 31, 0, 0, 0, 0, 0, 32, 33, 0, 0, 0, 34, + 0, 35, 36, 0, 0, 0, 0, 0, 37, 38, 0, 0, 39, 40, 41, 0, + 0, 0, 42, 0, 40, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 0, 0, 0, + 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 48, 0, 0, 49, 0, 50, 0, 0, 0, 0, 51, 0, + 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 40, 54, + 40, 0, 0, 0, 0, 55, 0, 0, 0, 0, 12, 56, 0, 0, 0, 57, + 0, 58, 0, 40, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 61, 62, + 63, 64, 65, 66, 67, 54, 46, 0, 68, 69, 70, 0, 71, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 72, 52, 0, 57, 73, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 73, 74, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 75, 76, 54, 54, 54, + 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 28, 0, 0, 0, 0, + 54, 78, 79, 0, 80, 54, 54, 81, 54, 54, 54, 54, 54, 54, 73, 82, + 83, 84, 0, 0, 48, 46, 0, 43, 0, 0, 0, 0, 85, 0, 54, 86, + 65, 87, 88, 54, 87, 89, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 53, 71, 39, 0, 0, 0, 0, 0, 0, 0, 0, - 89, 0, 0, 90, 0, 0, 0, 91, 92, 93, 0, 0, 94, 0, 0, 0, - 0, 95, 0, 96, 0, 0, 97, 98, 0, 97, 34, 0, 0, 0, 99, 0, - 0, 0, 56, 100, 0, 0, 39, 26, 0, 0, 42, 101, 0, 0, 0, 102, + 0, 0, 0, 0, 63, 54, 72, 40, 0, 0, 0, 0, 0, 0, 0, 0, + 90, 0, 0, 91, 0, 0, 0, 92, 93, 94, 0, 0, 95, 0, 0, 0, + 0, 96, 0, 97, 0, 0, 98, 99, 0, 98, 35, 0, 0, 0, 100, 0, + 0, 0, 57, 101, 0, 0, 40, 27, 0, 0, 43, 102, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 104, 93, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 105, - 44, 62, 106, 107, 0, 0, 0, 0, 1, 2, 2, 108, 0, 0, 0, 109, - 0, 0, 0, 0, 0, 0, 0, 0, 110, 111, 0, 112, 113, 45, 62, 114, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 105, 106, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 107, 0, 0, 0, 32, 57, + 45, 63, 108, 109, 0, 0, 0, 0, 1, 2, 2, 110, 0, 0, 0, 111, + 0, 0, 0, 0, 0, 0, 0, 0, 106, 112, 0, 113, 114, 46, 63, 115, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 28, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 115, 0, 0, 0, 0, 34, 34, 0, 0, 0, 0, 0, 0, - 0, 0, 116, 34, 0, 0, 117, 118, 0, 112, 0, 0, 119, 0, 0, 0, + 0, 0, 5, 116, 0, 0, 0, 0, 35, 35, 0, 0, 0, 0, 0, 0, + 0, 0, 117, 35, 0, 0, 24, 118, 0, 113, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, - 0, 0, 122, 0, 0, 123, 93, 0, 0, 0, 85, 124, 0, 0, 125, 0, - 0, 126, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 129, 0, - 0, 0, 130, 131, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, - 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 11, - 0, 34, 71, 0, 133, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 134, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, 135, 136, - 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 121, 0, 122, 0, 0, 0, + 0, 0, 123, 0, 0, 124, 94, 0, 0, 0, 86, 125, 0, 0, 126, 0, + 0, 127, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 128, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, 130, 0, + 0, 0, 131, 132, 0, 33, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, + 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 11, + 0, 35, 72, 0, 134, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 135, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 136, 137, + 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 97, 0, 0, 0, 138, 0, 111, 139, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, - 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 98, 0, 0, 0, 140, 0, 112, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 53, 53, 53, 53, 53, 53, 72, 53, 142, 53, 143, 144, 145, 53, 43, - 53, 53, 146, 0, 0, 0, 0, 0, 53, 53, 92, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, + 0, 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 147, 42, 138, 138, 31, 31, 103, 103, 148, 0, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 0, 140, 0, 149, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 153, 53, 53, 80, 154, 155, 72, 156, 157, 41, 41, 86, 21, 0, 158, - 159, 160, 161, 108, 0, 0, 0, 0, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 162, 163, 53, 53, 53, 80, 53, 53, 164, 165, - 153, 53, 166, 53, 63, 167, 0, 0, 53, 53, 53, 168, 53, 53, 169, 53, - 53, 53, 80, 170, 171, 172, 173, 0, 53, 53, 53, 53, 106, 53, 51, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 54, 54, 54, 86, 0, + 54, 54, 54, 54, 54, 54, 54, 73, 54, 144, 54, 145, 146, 147, 54, 52, + 54, 54, 148, 0, 0, 0, 0, 0, 54, 54, 93, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 149, 43, 140, 140, 32, 32, 104, 104, 150, 0, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 0, 142, 0, 151, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 153, 0, 0, 0, 154, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 155, 54, 54, 81, 156, 157, 73, 158, 107, 42, 42, 87, 21, 0, 159, + 160, 161, 162, 110, 0, 0, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 163, 164, 54, 54, 54, 81, 54, 54, 165, 166, + 155, 54, 167, 54, 64, 168, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 81, 169, 170, 171, 172, 173, 54, 54, 54, 54, 108, 54, 52, 0 }; static RE_UINT8 re_posix_punct_table_3[] = { @@ -19531,46 +19888,46 @@ static RE_UINT8 re_posix_punct_table_3[] = { 254, 219, 211, 137, 0, 0, 128, 0, 60, 0, 252, 255, 224, 175, 255, 255, 0, 0, 32, 64, 176, 0, 0, 0, 0, 0, 64, 0, 4, 0, 0, 0, 0, 0, 0, 252, 0, 230, 0, 0, 0, 0, 0, 64, 73, 0, 0, 0, - 0, 0, 24, 0, 192, 255, 0, 200, 0, 60, 0, 0, 0, 0, 16, 64, + 0, 0, 24, 0, 192, 255, 0, 232, 0, 60, 0, 0, 0, 0, 16, 64, 0, 2, 0, 96, 255, 63, 0, 0, 0, 0, 192, 195, 0, 0, 255, 127, - 48, 0, 1, 0, 0, 0, 12, 44, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 248, 7, 0, 0, 128, 128, 16, 0, 0, 0, 0, 128, 0, 0, - 0, 0, 0, 2, 0, 0, 16, 0, 0, 0, 0, 128, 0, 128, 0, 12, - 254, 255, 255, 252, 0, 0, 80, 61, 32, 0, 0, 0, 0, 0, 0, 192, - 191, 223, 255, 7, 0, 252, 0, 0, 0, 0, 0, 8, 255, 1, 0, 0, - 0, 0, 255, 3, 1, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 24, - 0, 56, 0, 0, 0, 0, 96, 0, 0, 0, 112, 15, 255, 7, 0, 0, - 49, 0, 0, 0, 255, 255, 255, 255, 127, 63, 0, 0, 255, 7, 240, 31, - 0, 0, 0, 240, 0, 0, 0, 248, 255, 0, 8, 0, 0, 0, 0, 160, - 3, 224, 0, 224, 0, 224, 0, 96, 0, 0, 255, 255, 255, 0, 255, 255, - 255, 255, 255, 127, 0, 0, 0, 124, 0, 124, 0, 0, 123, 3, 208, 193, - 175, 66, 0, 12, 31, 188, 0, 0, 0, 12, 255, 255, 127, 0, 0, 0, - 255, 255, 63, 0, 0, 0, 240, 255, 255, 255, 207, 255, 255, 255, 191, 255, - 224, 7, 0, 222, 255, 127, 255, 255, 255, 255, 7, 0, 255, 255, 255, 251, - 255, 255, 15, 0, 0, 0, 255, 15, 30, 255, 255, 255, 1, 0, 193, 224, - 0, 0, 195, 255, 15, 0, 0, 0, 0, 252, 255, 255, 255, 0, 1, 0, - 255, 255, 1, 0, 0, 224, 0, 0, 0, 0, 8, 64, 0, 0, 252, 0, - 255, 255, 127, 0, 3, 0, 0, 0, 0, 6, 0, 0, 0, 15, 192, 3, - 0, 0, 240, 0, 0, 192, 0, 0, 0, 0, 0, 23, 254, 63, 0, 192, - 0, 0, 128, 3, 0, 12, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, - 0, 0, 252, 255, 0, 0, 0, 48, 255, 255, 247, 255, 127, 15, 0, 0, - 63, 0, 0, 0, 127, 127, 0, 48, 7, 0, 0, 0, 0, 0, 128, 255, - 0, 0, 0, 254, 255, 115, 255, 31, 255, 255, 255, 31, 0, 0, 128, 1, - 0, 0, 255, 1, 0, 1, 0, 0, 0, 0, 127, 0, 0, 0, 0, 30, - 0, 32, 0, 0, 0, 0, 224, 3, 128, 63, 0, 0, 0, 0, 0, 216, - 0, 0, 48, 0, 224, 33, 0, 232, 0, 0, 0, 63, 0, 248, 0, 44, - 64, 0, 0, 0, 254, 255, 255, 0, 14, 0, 0, 0, 255, 31, 0, 0, - 112, 0, 0, 0, 0, 0, 0, 220, 62, 0, 0, 0, 0, 0, 224, 255, - 255, 255, 3, 128, 0, 0, 31, 0, 0, 0, 32, 0, 48, 0, 0, 0, - 0, 0, 128, 7, 0, 0, 0, 144, 127, 254, 255, 255, 31, 28, 0, 0, - 24, 240, 255, 255, 255, 195, 255, 255, 35, 0, 0, 0, 2, 0, 0, 8, - 8, 0, 0, 0, 0, 224, 223, 255, 239, 15, 0, 0, 0, 16, 1, 0, - 0, 64, 0, 0, 255, 15, 255, 255, 255, 127, 254, 255, 254, 255, 254, 255, - 0, 224, 255, 255, 255, 255, 0, 0, 192, 255, 255, 255, 7, 0, 255, 255, - 255, 255, 255, 15, 255, 1, 3, 0, 255, 255, 255, 0, 255, 31, 255, 31, - 255, 255, 255, 1, 255, 15, 0, 0, 255, 0, 255, 3, 255, 63, 3, 0, - 255, 255, 255, 253, 255, 239, 255, 255, 255, 63, 31, 7, 127, 0, 255, 255, - 255, 1, 127, 0, 7, 0, 127, 0 + 0, 1, 0, 0, 48, 0, 1, 0, 0, 0, 12, 44, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, 248, 7, 0, 0, 128, 128, 16, 0, 0, 0, + 0, 128, 0, 0, 0, 0, 0, 2, 0, 0, 16, 0, 0, 0, 0, 128, + 0, 128, 0, 12, 254, 255, 255, 252, 0, 0, 80, 61, 32, 0, 0, 0, + 0, 0, 0, 192, 191, 223, 255, 7, 0, 252, 0, 0, 0, 0, 0, 8, + 255, 1, 0, 0, 0, 0, 255, 3, 1, 0, 0, 0, 0, 96, 0, 0, + 0, 0, 0, 24, 0, 56, 0, 0, 0, 0, 96, 0, 0, 0, 112, 15, + 255, 7, 0, 0, 49, 0, 0, 0, 255, 255, 255, 255, 127, 63, 0, 0, + 255, 7, 240, 127, 0, 0, 0, 240, 0, 0, 0, 248, 255, 0, 8, 0, + 0, 0, 0, 160, 3, 224, 0, 224, 0, 224, 0, 96, 0, 0, 255, 255, + 255, 0, 255, 255, 255, 255, 255, 127, 0, 0, 0, 124, 0, 124, 0, 0, + 123, 3, 208, 193, 175, 66, 0, 12, 31, 188, 0, 0, 0, 12, 255, 255, + 127, 0, 0, 0, 255, 255, 63, 0, 0, 0, 240, 255, 255, 255, 207, 255, + 255, 255, 191, 255, 224, 7, 0, 222, 255, 127, 255, 255, 255, 255, 255, 63, + 255, 255, 255, 251, 255, 255, 15, 0, 0, 0, 255, 15, 30, 255, 255, 255, + 1, 0, 193, 224, 0, 0, 195, 255, 15, 0, 0, 0, 0, 252, 255, 255, + 255, 0, 1, 0, 255, 255, 1, 0, 0, 224, 0, 0, 0, 0, 8, 64, + 0, 0, 252, 0, 255, 255, 127, 0, 3, 0, 0, 0, 0, 6, 0, 0, + 0, 15, 192, 3, 0, 0, 240, 0, 0, 192, 0, 0, 0, 0, 0, 23, + 254, 63, 0, 192, 0, 0, 128, 3, 0, 12, 0, 0, 0, 8, 0, 0, + 0, 2, 0, 0, 0, 0, 252, 255, 7, 0, 0, 0, 255, 255, 0, 0, + 255, 255, 247, 255, 127, 15, 0, 0, 63, 0, 0, 0, 127, 127, 0, 48, + 0, 0, 128, 255, 0, 0, 0, 254, 255, 115, 255, 31, 255, 255, 255, 31, + 0, 0, 128, 1, 0, 0, 255, 1, 0, 0, 127, 0, 0, 0, 0, 30, + 0, 32, 0, 0, 0, 0, 224, 3, 192, 3, 0, 0, 128, 63, 0, 0, + 0, 0, 0, 216, 0, 0, 48, 0, 224, 33, 0, 232, 0, 0, 0, 63, + 0, 248, 0, 44, 64, 0, 0, 0, 254, 255, 255, 0, 14, 0, 0, 0, + 255, 31, 0, 0, 112, 0, 0, 0, 0, 0, 0, 220, 62, 0, 0, 0, + 0, 0, 224, 255, 255, 255, 3, 128, 0, 0, 31, 0, 0, 0, 6, 0, + 0, 0, 32, 0, 48, 0, 0, 0, 0, 0, 128, 7, 0, 0, 0, 144, + 127, 254, 255, 255, 31, 28, 0, 0, 24, 240, 255, 255, 255, 195, 255, 255, + 35, 0, 0, 0, 2, 0, 0, 8, 8, 0, 0, 0, 0, 224, 223, 255, + 239, 15, 0, 0, 0, 16, 1, 0, 0, 64, 0, 0, 255, 15, 255, 255, + 255, 127, 254, 255, 254, 255, 254, 255, 0, 224, 255, 255, 192, 255, 255, 255, + 7, 0, 255, 255, 255, 255, 255, 15, 255, 1, 3, 0, 255, 255, 255, 224, + 255, 31, 255, 31, 255, 255, 255, 1, 255, 15, 1, 0, 255, 0, 255, 3, + 255, 63, 3, 0, 255, 63, 31, 31, 127, 0, 255, 255, 255, 31, 255, 7, + 63, 0, 255, 3, 255, 0, 127, 0 }; RE_UINT32 re_get_posix_punct(RE_UINT32 codepoint) { @@ -19612,6 +19969,8 @@ RE_UINT32 re_get_prepended_concatenation_mark(RE_UINT32 codepoint) { return 1; if (codepoint == 0x070F) return 1; + if (0x0890 <= codepoint && codepoint <= 0x0891) + return 1; if (codepoint == 0x08E2) return 1; if (codepoint == 0x0110BD) @@ -19626,257 +19985,268 @@ RE_UINT32 re_get_prepended_concatenation_mark(RE_UINT32 codepoint) { static RE_UINT8 re_print_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 14, 13, 15, 16, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 17, 18, 18, 13, 13, 13, 13, 13, 13, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 18, 18, 13, 31, 18, 18, - 18, 32, 18, 18, 18, 18, 18, 18, 18, 18, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 18, 18, 18, 18, 18, 18, 18, 18, 37, 18, 18, 38, - 18, 18, 18, 18, 39, 40, 41, 18, 42, 18, 43, 44, 45, 46, 47, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 16, 17, 17, 13, 13, 13, 13, 13, 13, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 17, 30, 13, 31, 17, 17, + 17, 32, 17, 17, 17, 17, 17, 17, 17, 17, 33, 34, 13, 13, 13, 13, + 13, 35, 13, 36, 17, 17, 17, 17, 17, 17, 17, 37, 38, 17, 17, 39, + 17, 17, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 48, 13, 13, 13, 49, 50, 13, - 13, 13, 13, 51, 13, 13, 13, 13, 13, 13, 52, 18, 18, 18, 53, 18, - 13, 13, 13, 13, 54, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 55, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 52, 13, 13, 13, 53, 54, 13, + 13, 13, 13, 55, 13, 13, 13, 13, 13, 13, 56, 17, 17, 17, 57, 17, + 13, 13, 13, 13, 58, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 59, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 56, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 60, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 56 + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 60 }; static RE_UINT16 re_print_table_2[] = { 0, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 7, 1, 8, 1, 9, 10, - 11, 1, 1, 1, 1, 1, 1, 1, 12, 1, 13, 1, 1, 14, 1, 15, - 1, 16, 17, 18, 0, 19, 20, 1, 1, 1, 1, 1, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 30, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 40, 44, 45, 46, 40, 1, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 0, 56, 57, 58, 0, 1, 1, 59, 60, 61, 11, 62, 0, - 1, 1, 1, 1, 1, 1, 63, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 64, 1, 65, 66, 67, 1, 68, 1, 15, 69, 70, 1, 1, 71, + 1, 1, 1, 1, 1, 1, 1, 1, 11, 1, 12, 1, 1, 13, 1, 14, + 1, 15, 16, 17, 18, 1, 1, 1, 1, 1, 1, 1, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 28, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 38, 42, 43, 44, 38, 1, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 0, 54, 55, 56, 0, 1, 1, 57, 58, 59, 60, 61, 0, + 1, 1, 1, 1, 1, 1, 62, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 63, 1, 64, 65, 66, 1, 67, 1, 14, 68, 69, 1, 1, 70, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 69, 1, 1, 72, 73, 74, 75, 76, 1, 1, 77, 78, - 79, 1, 1, 72, 1, 80, 1, 81, 2, 82, 83, 84, 1, 85, 86, 1, - 87, 1, 2, 88, 78, 89, 90, 0, 1, 1, 85, 69, 1, 1, 1, 91, - 1, 92, 93, 1, 94, 15, 9, 95, 1, 1, 1, 1, 1, 1, 1, 96, - 1, 1, 1, 1, 1, 1, 1, 1, 71, 1, 97, 77, 1, 19, 98, 99, - 1, 100, 1, 101, 102, 1, 103, 104, 1, 1, 1, 1, 85, 1, 1, 1, + 1, 1, 1, 1, 68, 1, 1, 71, 72, 73, 74, 75, 1, 1, 76, 77, + 69, 1, 1, 71, 1, 17, 1, 78, 2, 79, 80, 81, 1, 82, 83, 1, + 84, 1, 2, 85, 77, 86, 87, 0, 1, 1, 88, 2, 1, 1, 1, 89, + 1, 90, 91, 1, 92, 14, 9, 93, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 70, 1, 94, 76, 1, 95, 96, 97, + 1, 98, 1, 99, 100, 1, 101, 102, 1, 1, 1, 1, 82, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 105, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 103, 104, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 106, 107, 1, 1, 1, - 1, 108, 2, 1, 1, 1, 1, 109, 1, 63, 1, 110, 74, 111, 111, 1, - 1, 1, 112, 0, 96, 1, 1, 75, 1, 1, 1, 1, 1, 1, 81, 113, - 1, 1, 53, 1, 7, 1, 1, 1, 114, 6, 1, 1, 108, 1, 1, 115, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 105, 106, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 107, 1, 62, 1, 108, 73, 109, 109, 1, + 1, 1, 76, 0, 110, 1, 1, 74, 1, 1, 1, 1, 1, 1, 78, 111, + 1, 1, 51, 1, 7, 1, 1, 1, 112, 6, 1, 1, 113, 1, 1, 114, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 88, 1, 115, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 116, 1, 1, 1, 1, 1, 117, 1, 1, 1, 1, 1, 1, 118, 119, + 1, 120, 1, 117, 1, 1, 121, 1, 1, 1, 122, 68, 1, 1, 123, 2, + 1, 73, 124, 1, 1, 1, 125, 73, 126, 127, 1, 82, 1, 1, 1, 128, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69, - 1, 1, 1, 1, 116, 1, 117, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 118, 1, 1, 1, 1, 1, 119, 1, 1, 1, 1, 1, 1, 120, 121, - 1, 122, 1, 119, 1, 1, 123, 1, 1, 1, 124, 69, 1, 1, 125, 2, - 1, 74, 126, 1, 1, 1, 127, 74, 128, 129, 1, 85, 1, 1, 1, 130, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 115, 131, 55, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 114, 129, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 89, 1, 1, 70, 0, 132, 133, 134, 1, 1, 1, 135, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 103, 1, 136, 1, 137, 138, - 70, 1, 139, 140, 1, 1, 1, 88, 53, 1, 1, 1, 1, 2, 141, 142, - 143, 144, 145, 0, 1, 1, 1, 95, 146, 147, 1, 1, 102, 90, 103, 77, - 0, 0, 0, 0, 69, 1, 104, 55, 1, 148, 80, 95, 149, 1, 150, 0, - 1, 1, 1, 1, 77, 151, 152, 55, 1, 9, 1, 153, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 74, 81, 137, 0, 0, 0, 0, - 154, 155, 107, 1, 2, 156, 0, 157, 158, 159, 0, 0, 1, 160, 136, 1, - 161, 162, 163, 1, 1, 0, 1, 164, 1, 165, 166, 167, 168, 169, 0, 0, - 1, 1, 170, 0, 1, 112, 1, 171, 1, 172, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 1, 173, 0, 0, 1, 9, 70, 0, 0, 103, 118, 74, - 1, 1, 174, 175, 1, 1, 176, 177, 1, 19, 9, 74, 1, 1, 1, 178, - 179, 2, 0, 0, 180, 151, 1, 181, 21, 182, 183, 184, 0, 0, 0, 0, - 1, 1, 185, 186, 1, 1, 172, 0, 0, 0, 0, 0, 1, 166, 77, 0, - 1, 1, 187, 188, 1, 72, 189, 0, 15, 85, 0, 0, 0, 0, 0, 0, - 1, 55, 0, 0, 0, 1, 1, 190, 191, 192, 193, 0, 0, 100, 3, 194, - 1, 1, 9, 1, 1, 195, 1, 72, 0, 0, 0, 0, 0, 0, 0, 0, - 196, 197, 198, 116, 136, 199, 0, 0, 200, 201, 172, 202, 203, 189, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 204, 1, 205, + 1, 1, 1, 86, 1, 1, 69, 0, 130, 131, 132, 1, 1, 1, 133, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 134, 1, 135, 136, + 69, 1, 137, 138, 1, 1, 1, 85, 51, 1, 1, 1, 1, 2, 139, 140, + 141, 142, 143, 0, 1, 1, 1, 93, 144, 145, 1, 1, 100, 146, 136, 76, + 0, 0, 0, 0, 68, 1, 102, 53, 1, 147, 17, 93, 148, 1, 149, 0, + 1, 1, 1, 1, 76, 150, 151, 53, 1, 9, 1, 152, 153, 154, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 73, 78, 155, 156, 157, 0, 0, + 158, 159, 106, 1, 2, 160, 0, 161, 162, 163, 0, 0, 1, 164, 134, 1, + 165, 166, 167, 1, 1, 0, 1, 168, 1, 169, 170, 171, 172, 173, 0, 0, + 1, 1, 174, 0, 1, 175, 1, 176, 1, 177, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 1, 178, 0, 0, 1, 9, 69, 136, 179, 136, 116, 73, + 1, 1, 180, 72, 1, 1, 181, 182, 1, 95, 9, 73, 1, 1, 1, 183, + 184, 2, 0, 0, 185, 150, 1, 186, 19, 187, 188, 189, 0, 0, 0, 0, + 1, 1, 190, 191, 1, 1, 177, 0, 0, 0, 0, 0, 1, 170, 76, 0, + 1, 1, 192, 193, 1, 69, 179, 0, 14, 82, 103, 0, 0, 0, 0, 0, + 1, 53, 0, 0, 0, 1, 1, 194, 195, 196, 197, 0, 0, 98, 3, 198, + 1, 1, 9, 1, 1, 199, 1, 71, 0, 0, 0, 0, 0, 0, 0, 0, + 200, 201, 202, 88, 134, 203, 0, 0, 204, 205, 177, 206, 207, 179, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 208, 1, 209, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 70, 0, 0, 0, - 1, 1, 1, 206, 1, 1, 1, 1, 1, 1, 207, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69, 0, 0, 0, + 1, 1, 1, 210, 1, 1, 1, 1, 1, 1, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 1, 1, 175, + 1, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 72, 2, 209, 0, 0, 103, 210, 1, 1, 211, 212, 213, 0, 0, 0, + 1, 71, 2, 213, 1, 2, 150, 214, 1, 1, 215, 216, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 95, 0, 0, 0, 1, 1, 214, 1, 215, 0, 0, 216, + 0, 0, 1, 1, 93, 0, 0, 0, 1, 1, 218, 1, 219, 0, 0, 220, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 119, - 1, 1, 1, 1, 1, 1, 81, 0, 170, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 117, + 1, 1, 1, 1, 1, 1, 78, 0, 174, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 217, 218, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 55, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 219, 220, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 222, 223, 224, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 225, 226, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 81, 1, 221, 1, 1, 1, 1, 1, 170, - 1, 1, 222, 0, 0, 0, 0, 75, 1, 1, 74, 72, 0, 0, 0, 0, - 1, 1, 19, 1, 11, 223, 224, 1, 225, 226, 227, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 228, 1, 1, 1, 1, 1, 1, 1, 1, 229, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 86, 115, 1, 1, 1, 211, 0, + 1, 1, 1, 1, 1, 1, 1, 78, 1, 227, 1, 1, 1, 1, 1, 104, + 1, 1, 228, 0, 0, 0, 0, 74, 1, 1, 73, 71, 0, 0, 0, 0, + 1, 1, 95, 1, 60, 229, 230, 1, 231, 232, 233, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 234, 1, 1, 1, 1, 1, 1, 1, 1, 235, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 230, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 232, 233, 0, 0, 0, 0, 0, 0, 1, 234, 209, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 159, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 235, 0, 1, 1, 236, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 237, 1, 238, 0, 0, 53, 77, 0, 0, 0, 0, 0, 0, - 224, 239, 240, 241, 242, 243, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 85, 1, 1, 75, 245, 246, 81, 1, 1, 1, 1, 1, 247, 0, 248, - 249, 55, 250, 222, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 236, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 238, 239, 0, 0, 0, 0, 0, 0, 1, 240, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 136, 87, 1, 163, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 1, 1, 1, 1, 1, 1, 243, 0, 1, 1, 244, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 245, 1, 246, 0, 0, 51, 76, 0, 0, 0, 0, 0, 0, + 230, 247, 248, 249, 250, 251, 0, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 82, 1, 1, 74, 253, 254, 78, 1, 1, 1, 1, 1, 255, 0, 256, + 199, 53, 257, 228, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 119, 251, 1, 1, 1, 75, 1, 1, 72, 118, - 85, 1, 172, 1, 9, 252, 0, 0, 1, 1, 1, 253, 1, 1, 143, 1, - 1, 1, 75, 254, 117, 255, 256, 0, 1, 1, 1, 1, 139, 1, 18, 257, + 1, 1, 1, 1, 1, 1, 258, 259, 1, 1, 1, 74, 1, 1, 71, 260, + 82, 1, 177, 1, 9, 261, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 74, 262, 115, 263, 264, 265, 1, 1, 1, 1, 137, 1, 104, 266, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 77, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 238, 1, 1, 1, 1, 1, 1, - 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, 71, 1, 1, 1, 1, 1, 1, + 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 258, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 267, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 90, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 146, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 18, 0, 0, 0, 0, 0, - 259, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 213, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 104, 0, 0, 0, 0, 0, + 268, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 77 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 76 }; static RE_UINT8 re_print_table_3[] = { 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 127, 255, 255, 255, 252, 240, 215, 255, 255, 251, 255, 255, 255, 255, 255, 254, 255, 255, 255, 127, 254, - 255, 231, 254, 255, 255, 0, 255, 255, 255, 135, 31, 0, 255, 255, 255, 223, - 255, 191, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 255, 231, - 255, 63, 255, 127, 255, 255, 255, 79, 255, 7, 0, 0, 255, 255, 223, 255, - 255, 0, 248, 255, 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, - 207, 255, 255, 127, 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, - 192, 255, 127, 0, 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, - 207, 255, 3, 254, 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 255, 0, - 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 255, 7, - 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, 207, 255, 128, 255, - 255, 253, 239, 243, 223, 61, 96, 64, 207, 255, 6, 0, 223, 253, 240, 255, - 207, 255, 255, 255, 238, 255, 127, 252, 255, 255, 251, 47, 127, 132, 95, 255, - 192, 255, 28, 0, 254, 255, 255, 255, 255, 255, 255, 135, 255, 255, 255, 15, - 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, 255, 254, 255, 255, - 255, 31, 254, 255, 255, 255, 255, 254, 255, 223, 255, 7, 191, 32, 255, 255, - 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, - 255, 255, 61, 255, 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, - 255, 255, 255, 1, 255, 223, 31, 0, 255, 255, 127, 0, 255, 255, 15, 0, - 255, 223, 13, 0, 255, 255, 255, 63, 255, 3, 255, 3, 255, 127, 255, 3, - 255, 7, 255, 255, 255, 255, 63, 0, 255, 15, 255, 15, 241, 255, 255, 255, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 199, 255, 255, 255, 207, - 255, 255, 255, 159, 255, 63, 255, 255, 1, 0, 0, 0, 255, 255, 15, 240, - 255, 255, 255, 248, 255, 227, 255, 255, 255, 1, 255, 255, 255, 255, 255, 7, - 255, 255, 255, 251, 63, 63, 255, 170, 223, 255, 207, 239, 255, 255, 220, 127, - 255, 252, 255, 255, 223, 255, 243, 255, 255, 127, 255, 31, 0, 0, 255, 255, - 255, 255, 1, 0, 127, 0, 0, 0, 255, 255, 207, 255, 255, 255, 191, 255, - 255, 127, 255, 255, 255, 255, 15, 254, 255, 128, 1, 128, 127, 127, 127, 127, - 255, 255, 7, 0, 0, 0, 255, 15, 224, 255, 255, 255, 15, 0, 255, 255, - 255, 31, 255, 255, 127, 0, 255, 255, 255, 15, 0, 0, 255, 255, 255, 0, - 252, 7, 0, 0, 0, 0, 224, 255, 255, 31, 255, 3, 63, 192, 255, 3, - 255, 255, 15, 128, 255, 191, 255, 195, 255, 63, 255, 243, 7, 0, 0, 248, - 126, 126, 126, 0, 127, 127, 255, 255, 255, 63, 255, 3, 127, 248, 255, 255, - 127, 0, 248, 224, 255, 255, 127, 95, 219, 255, 255, 255, 3, 0, 248, 255, - 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 63, 255, 255, 247, 255, - 127, 15, 223, 255, 252, 252, 252, 28, 127, 127, 0, 62, 255, 239, 255, 255, - 127, 255, 255, 183, 255, 63, 255, 63, 135, 255, 255, 255, 255, 255, 143, 255, - 15, 224, 255, 255, 255, 255, 255, 191, 15, 255, 63, 0, 255, 3, 255, 255, - 255, 255, 15, 255, 15, 128, 0, 0, 63, 253, 255, 255, 255, 255, 191, 145, + 255, 231, 254, 255, 255, 0, 255, 255, 255, 135, 31, 0, 255, 191, 255, 255, + 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 255, 231, 255, 63, 255, 127, + 255, 255, 255, 79, 255, 7, 255, 255, 255, 127, 3, 255, 239, 159, 249, 255, + 255, 253, 197, 243, 159, 121, 128, 176, 207, 255, 255, 127, 238, 135, 249, 255, + 255, 253, 109, 211, 135, 57, 2, 94, 192, 255, 127, 0, 238, 191, 251, 255, + 255, 253, 237, 243, 191, 59, 1, 0, 207, 255, 3, 254, 238, 159, 249, 255, + 159, 57, 224, 176, 207, 255, 255, 0, 236, 199, 61, 214, 24, 199, 255, 195, + 199, 61, 129, 0, 192, 255, 255, 7, 255, 223, 253, 255, 255, 253, 255, 243, + 223, 61, 96, 39, 207, 255, 128, 255, 255, 253, 239, 243, 223, 61, 96, 96, + 207, 255, 6, 0, 223, 253, 240, 255, 207, 255, 255, 255, 238, 255, 127, 252, + 255, 255, 251, 47, 127, 132, 95, 255, 192, 255, 28, 0, 254, 255, 255, 255, + 255, 255, 255, 135, 255, 255, 255, 15, 214, 247, 255, 255, 175, 255, 255, 63, + 95, 63, 255, 243, 255, 254, 255, 255, 255, 31, 254, 255, 255, 255, 255, 254, + 255, 255, 255, 223, 255, 223, 255, 7, 191, 32, 255, 255, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 31, 255, 255, 255, 3, 255, 255, 63, 63, 255, 255, 255, 1, + 255, 255, 63, 128, 255, 255, 127, 0, 255, 255, 15, 0, 255, 223, 13, 0, + 255, 255, 255, 63, 255, 3, 255, 3, 255, 255, 63, 0, 255, 15, 255, 15, + 241, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 199, + 255, 255, 255, 207, 255, 255, 255, 159, 255, 63, 255, 255, 255, 127, 0, 0, + 255, 31, 255, 255, 255, 255, 15, 240, 255, 255, 255, 248, 255, 227, 255, 255, + 255, 1, 255, 255, 255, 255, 255, 7, 63, 63, 255, 170, 255, 255, 223, 255, + 223, 255, 207, 239, 255, 255, 220, 127, 255, 252, 255, 255, 223, 255, 243, 255, + 255, 127, 255, 31, 1, 0, 255, 255, 255, 255, 1, 0, 127, 0, 0, 0, + 255, 7, 0, 0, 255, 255, 207, 255, 255, 255, 191, 255, 255, 255, 15, 254, + 255, 128, 1, 128, 127, 127, 127, 127, 255, 255, 255, 251, 0, 0, 255, 15, + 224, 255, 255, 255, 255, 127, 255, 255, 15, 0, 255, 255, 127, 0, 255, 255, + 255, 15, 0, 0, 255, 255, 255, 0, 255, 7, 235, 3, 0, 0, 252, 255, + 255, 31, 255, 3, 63, 192, 255, 3, 255, 255, 15, 128, 255, 191, 255, 195, + 255, 63, 255, 243, 7, 0, 0, 248, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 63, 255, 3, 127, 248, 255, 255, 127, 0, 248, 224, 255, 255, 127, 95, + 219, 255, 255, 255, 7, 0, 248, 255, 255, 255, 252, 255, 255, 128, 0, 0, + 0, 0, 255, 255, 255, 255, 247, 255, 127, 15, 223, 255, 252, 252, 252, 28, + 127, 127, 0, 62, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, + 135, 255, 255, 255, 255, 255, 143, 255, 1, 0, 0, 0, 15, 224, 255, 255, + 255, 255, 255, 191, 15, 255, 63, 0, 255, 3, 255, 255, 255, 255, 15, 255, + 15, 128, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, 255, 0, 0, 0, + 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 128, 255, 0, 0, 255, 255, 55, 248, 255, 255, 255, 143, 255, 255, 255, 131, 255, 255, 255, 240, 111, 240, 239, 254, 255, 255, 63, 135, 255, 1, 255, 1, 127, 248, 127, 0, 255, 255, 63, 254, 255, 255, 63, 255, 255, 255, 7, 255, - 255, 255, 3, 30, 0, 254, 0, 0, 255, 1, 0, 0, 255, 255, 7, 252, - 255, 0, 255, 3, 255, 59, 3, 0, 255, 63, 252, 255, 255, 255, 0, 128, - 3, 32, 255, 255, 255, 1, 255, 3, 254, 255, 31, 0, 255, 255, 251, 255, - 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, - 207, 31, 31, 0, 255, 255, 255, 239, 3, 0, 0, 0, 31, 0, 255, 3, - 255, 31, 0, 0, 255, 3, 0, 0, 255, 255, 7, 128, 127, 242, 111, 255, - 255, 255, 191, 249, 127, 0, 255, 3, 31, 0, 0, 0, 7, 0, 0, 0, + 255, 255, 3, 30, 0, 254, 0, 0, 255, 1, 0, 0, 255, 255, 7, 0, + 255, 255, 7, 252, 255, 0, 255, 3, 255, 59, 3, 0, 255, 3, 0, 0, + 255, 63, 252, 255, 7, 32, 255, 255, 255, 1, 255, 3, 254, 255, 31, 0, + 255, 255, 251, 255, 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, + 159, 57, 129, 224, 207, 31, 31, 0, 255, 255, 255, 239, 3, 0, 0, 0, + 31, 0, 255, 3, 255, 31, 0, 0, 255, 255, 7, 128, 127, 242, 111, 255, + 255, 255, 191, 249, 127, 0, 255, 3, 31, 0, 0, 0, 7, 0, 255, 255, 255, 253, 255, 255, 255, 255, 127, 255, 63, 0, 255, 255, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, 255, 255, 3, 128, 255, 127, 31, 0, 15, 0, 0, 0, - 255, 127, 255, 1, 255, 195, 0, 0, 255, 63, 63, 0, 63, 0, 255, 251, + 255, 127, 255, 1, 255, 195, 255, 255, 255, 63, 63, 0, 63, 0, 255, 251, 251, 255, 255, 224, 255, 255, 0, 0, 255, 135, 255, 255, 255, 128, 255, 255, - 31, 0, 3, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, - 255, 1, 255, 243, 127, 254, 255, 255, 63, 0, 0, 0, 100, 222, 255, 235, - 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, - 63, 255, 255, 255, 255, 207, 255, 255, 255, 15, 0, 248, 254, 255, 0, 0, - 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, 159, 255, 127, 0, + 31, 0, 3, 0, 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, + 240, 0, 255, 255, 255, 7, 255, 31, 255, 1, 255, 243, 127, 254, 255, 255, + 63, 0, 0, 0, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, + 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 255, 207, 255, 255, + 255, 15, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, + 255, 31, 255, 63, 255, 195, 0, 0, 127, 111, 255, 127, 159, 255, 127, 0, 255, 15, 255, 195, 0, 0, 254, 255, 255, 255, 31, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 0, 0, 3, 0, 255, 127, 254, 255, 254, 255, 254, 255, 255, 63, 0, 0, - 192, 255, 255, 255, 7, 0, 255, 255, 255, 1, 3, 0, 255, 31, 255, 31, - 255, 63, 3, 0, 255, 255, 255, 253, 255, 63, 31, 7, 255, 1, 127, 0, - 7, 0, 127, 0, 0, 0, 255, 3, 3, 0, 255, 255, 2, 0, 0, 0 + 192, 255, 255, 255, 255, 1, 3, 0, 255, 255, 255, 224, 255, 31, 255, 31, + 255, 15, 1, 0, 255, 63, 3, 0, 255, 63, 31, 31, 255, 31, 255, 7, + 63, 0, 255, 3, 255, 0, 127, 0, 0, 0, 255, 3, 3, 0, 255, 255, + 2, 0, 0, 0 }; RE_UINT32 re_get_print(RE_UINT32 codepoint) { @@ -20034,72 +20404,72 @@ RE_UINT32 re_get_regional_indicator(RE_UINT32 codepoint) { static RE_UINT8 re_script_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 21, 21, 34, 35, 21, 21, - 21, 36, 21, 21, 21, 21, 21, 21, 21, 21, 37, 38, 39, 39, 39, 39, - 39, 40, 41, 42, 21, 21, 21, 21, 21, 21, 21, 21, 43, 21, 21, 44, - 21, 21, 21, 21, 45, 46, 47, 21, 48, 21, 49, 50, 51, 52, 53, 21, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 54, 13, 13, 13, 55, 56, 13, - 13, 13, 13, 57, 13, 13, 13, 13, 13, 13, 58, 21, 21, 21, 59, 21, - 13, 13, 13, 13, 60, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 61, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 + 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 19, 20, 20, 20, 20, 20, 20, 20, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 20, 33, 34, 35, 20, 20, + 20, 36, 20, 20, 20, 20, 20, 20, 20, 20, 37, 38, 39, 39, 39, 39, + 39, 40, 41, 42, 20, 20, 20, 20, 20, 20, 20, 43, 44, 20, 20, 45, + 20, 20, 20, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 20, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 58, 13, 13, 13, 59, 60, 13, + 13, 13, 13, 61, 13, 13, 13, 13, 13, 13, 62, 20, 20, 20, 63, 20, + 13, 13, 13, 13, 64, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 65, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; static RE_UINT16 re_script_table_2[] = { @@ -20107,126 +20477,134 @@ static RE_UINT16 re_script_table_2[] = { 4, 4, 4, 4, 4, 5, 0, 6, 7, 7, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 14, 13, 13, 13, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 23, 23, 26, 23, 27, 28, 29, 23, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 38, 84, 85, 86, 38, 87, 87, 88, 89, 90, 91, 92, 38, - 93, 93, 93, 93, 93, 94, 95, 96, 97, 97, 97, 97, 97, 97, 97, 97, - 98, 98, 99, 98, 100, 101, 102, 98, 103, 98, 104, 105, 106, 107, 107, 108, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 110, 111, 111, 112, 113, 114, 115, 116, 117, 117, 118, 119, - 120, 121, 121, 122, 121, 123, 109, 124, 125, 126, 127, 128, 129, 130, 131, 117, - 132, 133, 134, 135, 136, 137, 138, 38, 139, 139, 140, 141, 142, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 4, 153, 154, 155, 4, 156, 7, 157, - 4, 4, 4, 4, 4, 4, 4, 4, 158, 11, 159, 160, 11, 161, 162, 163, - 164, 0, 0, 165, 166, 0, 167, 168, 0, 169, 170, 4, 171, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 172, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 174, 174, 174, 174, 174, 174, 174, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 176, 0, 0, 0, - 177, 178, 179, 4, 180, 180, 180, 181, 94, 182, 183, 184, 185, 186, 186, 13, - 0, 0, 187, 38, 188, 189, 189, 190, 189, 189, 189, 189, 189, 189, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 97, 97, 203, 204, 0, 205, - 206, 0, 0, 207, 0, 0, 208, 209, 199, 199, 210, 0, 0, 0, 0, 0, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 0, 0, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 211, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 213, 212, 214, 215, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 217, 13, 13, 13, 218, 218, 219, 0, 220, 4, 4, 221, 4, 222, 223, - 224, 225, 226, 227, 228, 228, 229, 42, 230, 231, 232, 233, 234, 234, 235, 236, - 237, 238, 239, 93, 240, 240, 241, 242, 243, 244, 245, 246, 107, 107, 247, 248, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 249, 250, 251, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 252, 189, 189, 253, 38, 254, 255, 256, 23, 23, 23, 257, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 258, 259, 23, 260, 23, 261, 262, - 263, 264, 265, 266, 23, 23, 23, 267, 268, 1, 1, 269, 270, 206, 271, 272, - 273, 274, 275, 38, 276, 276, 276, 277, 278, 279, 11, 11, 280, 281, 282, 283, - 38, 38, 38, 38, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 38, - 295, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 38, 38, 38, 38, - 306, 306, 306, 306, 306, 306, 306, 306, 306, 307, 308, 309, 38, 38, 38, 38, - 310, 311, 312, 313, 314, 315, 38, 316, 317, 318, 38, 38, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 38, 328, 329, 330, 331, 332, 333, 334, 335, 38, 38, - 336, 336, 337, 38, 338, 339, 338, 340, 341, 342, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 343, 344, 345, 38, 38, 346, 347, 348, 38, 38, 349, 350, 351, + 34, 35, 36, 37, 38, 23, 23, 39, 40, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 82, 86, 86, 87, 88, 89, 90, 91, 82, + 92, 92, 92, 92, 92, 93, 94, 95, 96, 96, 96, 96, 96, 96, 96, 96, + 97, 97, 98, 97, 99, 100, 101, 97, 102, 97, 103, 104, 105, 106, 106, 107, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 109, 110, 110, 111, 112, 113, 114, 115, 116, 116, 117, 118, + 119, 120, 120, 121, 120, 122, 108, 123, 124, 125, 126, 127, 128, 129, 130, 116, + 131, 132, 133, 134, 135, 136, 137, 82, 138, 138, 139, 140, 141, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 4, 152, 153, 154, 4, 155, 7, 7, + 4, 4, 4, 4, 4, 4, 4, 4, 156, 11, 157, 158, 11, 159, 160, 161, + 162, 0, 0, 163, 164, 0, 165, 166, 0, 167, 168, 4, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 172, 172, 172, 172, 172, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 174, 0, 0, 0, + 175, 175, 175, 4, 176, 176, 176, 177, 93, 178, 179, 180, 181, 182, 182, 13, + 0, 0, 183, 82, 184, 185, 185, 186, 185, 185, 185, 185, 185, 185, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 96, 96, 199, 200, 0, 201, + 202, 0, 0, 203, 0, 0, 204, 205, 195, 195, 206, 0, 0, 0, 0, 0, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 0, 0, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 208, 207, 209, 210, 211, 211, 211, 211, 211, 211, 211, 211, + 211, 212, 13, 13, 13, 213, 213, 214, 0, 215, 4, 4, 216, 4, 217, 218, + 219, 220, 221, 222, 223, 223, 224, 40, 225, 226, 227, 228, 229, 229, 230, 231, + 232, 233, 234, 92, 235, 235, 236, 237, 238, 239, 240, 241, 106, 106, 242, 243, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 244, 245, 246, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 247, 185, 185, 248, 82, 249, 250, 251, 23, 23, 23, 252, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 253, 23, 23, 254, 23, 255, 256, + 257, 258, 259, 260, 23, 23, 23, 261, 262, 1, 1, 263, 264, 202, 265, 266, + 267, 268, 269, 82, 270, 270, 270, 271, 272, 273, 11, 11, 274, 275, 276, 277, + 82, 82, 82, 82, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 82, + 289, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 82, 82, + 302, 302, 302, 302, 302, 302, 302, 302, 302, 303, 304, 305, 306, 307, 82, 82, + 308, 309, 310, 311, 312, 313, 82, 314, 315, 316, 82, 82, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 82, 326, 327, 328, 329, 330, 331, 332, 333, 82, 82, + 334, 334, 335, 82, 336, 337, 336, 338, 339, 340, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 341, 342, 343, 82, 82, 344, 345, 346, 347, 348, 349, 350, 351, 352, 352, 353, 354, 355, 355, 356, 357, 358, 359, 360, 361, 362, 362, 362, 363, - 364, 365, 38, 38, 366, 367, 368, 369, 370, 371, 372, 373, 38, 38, 38, 38, - 374, 374, 375, 376, 377, 377, 378, 38, 38, 38, 38, 38, 379, 380, 381, 38, - 382, 382, 383, 384, 385, 386, 387, 38, 388, 389, 38, 38, 38, 38, 38, 38, - 390, 391, 38, 38, 38, 392, 392, 393, 394, 395, 396, 38, 38, 397, 398, 399, - 400, 400, 401, 402, 402, 403, 404, 405, 38, 38, 38, 38, 38, 38, 38, 38, - 406, 407, 408, 409, 410, 411, 38, 38, 412, 413, 414, 415, 416, 417, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 418, 38, 38, 38, 38, 38, 419, 420, 421, - 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, - 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 423, 38, 38, 38, - 422, 422, 422, 424, 422, 422, 422, 422, 422, 422, 425, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, - 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, - 426, 427, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 429, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 430, 431, 432, 38, 38, 433, 434, 435, 435, 436, 437, 438, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 439, 439, 440, 38, 38, 38, 441, 441, 442, 441, 443, 38, 38, 444, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 446, - 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 445, 445, 445, 445, 445, 445, 447, 447, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 447, 447, 447, 448, 38, 449, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 450, 196, 196, 196, 196, 196, 196, 196, 451, 38, 452, 453, 454, 454, 454, 454, - 454, 454, 454, 454, 454, 454, 454, 455, 38, 38, 38, 38, 38, 38, 38, 38, - 456, 456, 456, 457, 458, 459, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 0, 0, 0, 0, 0, 0, 0, 460, 0, 461, 0, 462, 463, 464, 0, 465, - 11, 11, 466, 38, 38, 38, 38, 467, 0, 0, 468, 469, 38, 38, 38, 38, - 0, 0, 470, 0, 471, 472, 473, 0, 474, 475, 476, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, 478, 0, - 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, - 479, 479, 479, 479, 480, 481, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 482, 483, 38, 38, 38, 38, 38, 38, 484, 485, 486, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 487, 488, 38, 38, 38, 38, 38, 38, 38, 38, - 489, 489, 489, 489, 489, 489, 490, 38, 491, 491, 492, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 493, 0, 494, 38, 38, 268, 495, 38, 38, 38, 38, 38, 38, - 496, 497, 498, 499, 500, 501, 38, 502, 38, 38, 38, 38, 38, 38, 38, 38, - 0, 503, 0, 0, 467, 504, 505, 460, 0, 0, 0, 0, 0, 506, 38, 507, - 508, 509, 510, 511, 38, 38, 38, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 512, 513, 0, 0, 0, 467, 0, 0, 469, 514, - 503, 0, 515, 0, 516, 517, 38, 38, 0, 0, 0, 518, 0, 0, 519, 0, - 0, 0, 467, 520, 521, 522, 523, 38, 0, 0, 0, 0, 265, 0, 173, 524, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 525, 38, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 526, 189, 189, 189, 189, 189, 189, - 525, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 527, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 528, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 525, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 529, 38, 38, 38, 38, 38, - 530, 0, 0, 0, 38, 38, 38, 38, 7, 7, 7, 7, 7, 7, 7, 531, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38 + 364, 365, 82, 82, 366, 367, 368, 369, 370, 371, 372, 373, 82, 82, 82, 82, + 374, 374, 375, 376, 377, 377, 378, 82, 82, 82, 82, 82, 379, 380, 381, 82, + 382, 382, 383, 384, 385, 386, 387, 82, 388, 389, 390, 82, 82, 82, 82, 82, + 391, 392, 82, 82, 82, 393, 393, 394, 395, 396, 397, 82, 82, 398, 399, 400, + 401, 401, 402, 403, 403, 404, 405, 406, 82, 82, 82, 82, 82, 82, 82, 82, + 407, 408, 409, 410, 411, 412, 82, 82, 413, 414, 415, 416, 417, 418, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 419, 82, 82, 82, 82, 82, 420, 421, 422, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 424, 82, 82, 82, + 423, 423, 423, 425, 423, 423, 423, 423, 423, 423, 426, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 427, 428, 428, 429, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 431, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, + 432, 432, 433, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 434, 435, 436, 437, 438, 439, 440, 441, 441, 442, 443, 444, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 445, 445, 446, 82, 82, 82, 447, 447, 448, 447, 449, 82, 82, 450, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 452, + 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 453, 453, 453, 453, 453, 453, 453, 453, + 453, 453, 453, 453, 453, 453, 454, 82, 455, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 456, + 457, 192, 192, 192, 192, 192, 192, 192, 192, 458, 459, 460, 461, 461, 461, 461, + 461, 461, 461, 461, 461, 461, 461, 462, 82, 82, 82, 82, 82, 82, 82, 82, + 463, 463, 463, 464, 465, 466, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 7, 467, 468, 0, 0, 0, 466, 82, + 0, 0, 0, 0, 0, 0, 0, 469, 0, 470, 0, 471, 472, 473, 0, 171, + 11, 11, 474, 82, 82, 82, 82, 475, 0, 0, 476, 477, 82, 82, 82, 82, + 0, 0, 478, 0, 479, 480, 481, 0, 482, 483, 484, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 485, 0, 0, 0, 0, 0, 0, 0, 0, 486, 0, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, + 487, 487, 487, 487, 488, 489, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 490, 82, 82, 82, 82, 82, 82, 82, + 491, 492, 82, 82, 82, 82, 82, 82, 493, 494, 495, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 496, 497, 498, 499, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 500, + 501, 501, 501, 501, 501, 501, 502, 82, 503, 503, 504, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 505, 0, 506, 82, 82, 262, 183, 82, 82, 82, 82, 82, 82, + 507, 508, 509, 510, 511, 512, 82, 513, 82, 82, 82, 82, 82, 82, 82, 82, + 0, 514, 0, 0, 475, 515, 516, 469, 0, 0, 0, 0, 0, 517, 82, 518, + 519, 520, 521, 522, 82, 82, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 523, 524, 0, 0, 0, 475, 0, 0, 477, 525, + 514, 0, 526, 0, 527, 528, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 475, 529, 530, 531, 532, 533, 0, 0, 0, 0, 259, 0, 171, 534, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 82, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 535, 185, 185, 185, 185, 185, 185, + 536, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 537, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 538, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 536, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 539, 82, 82, 82, 82, 82, + 540, 0, 0, 0, 82, 82, 82, 82, 7, 7, 7, 7, 7, 7, 7, 541, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82 }; static RE_UINT8 re_script_table_3[] = { @@ -20275,7 +20653,7 @@ static RE_UINT8 re_script_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 0, 10, 1, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 4, 4, 4, 4, 4, @@ -20305,13 +20683,9 @@ static RE_UINT8 re_script_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 15, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, + 10, 10, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, @@ -20363,9 +20737,9 @@ static RE_UINT8 re_script_table_3[] = { 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 0, 22, 22, 22, 22, 0, 0, - 0, 0, 0, 0, 0, 22, 22, 0, 22, 22, 22, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 22, 0, 22, 22, 22, 0, 0, 22, 0, 0, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, @@ -20373,7 +20747,7 @@ static RE_UINT8 re_script_table_3[] = { 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 0, 23, 23, 23, 23, 0, 0, - 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 23, 23, 0, 23, 23, 23, 23, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 24, 24, @@ -20398,6 +20772,8 @@ static RE_UINT8 re_script_table_3[] = { 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 1, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 0, 27, 0, 27, 27, 27, 27, 27, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, @@ -20456,8 +20832,8 @@ static RE_UINT8 re_script_table_3[] = { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 1, 1, 1, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, 37, 37, - 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, @@ -20470,7 +20846,7 @@ static RE_UINT8 re_script_table_3[] = { 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, - 42, 42, 1, 1, 42, 1, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, + 42, 42, 1, 1, 42, 1, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -20506,14 +20882,14 @@ static RE_UINT8 re_script_table_3[] = { 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0, 0, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, @@ -20544,8 +20920,6 @@ static RE_UINT8 re_script_table_3[] = { 2, 2, 2, 2, 2, 2, 2, 2, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, @@ -20564,7 +20938,7 @@ static RE_UINT8 re_script_table_3[] = { 1, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -20586,10 +20960,6 @@ static RE_UINT8 re_script_table_3[] = { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, @@ -20605,7 +20975,7 @@ static RE_UINT8 re_script_table_3[] = { 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, @@ -20652,8 +21022,6 @@ static RE_UINT8 re_script_table_3[] = { 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 1, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 1, 1, 1, 1, 1, 1, 1, 1, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 0, 0, 0, @@ -20674,10 +21042,10 @@ static RE_UINT8 re_script_table_3[] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 0, 0, 0, @@ -20744,18 +21112,16 @@ static RE_UINT8 re_script_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 0, 9, 0, 9, 9, 0, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 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, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, @@ -20841,315 +21207,345 @@ static RE_UINT8 re_script_table_3[] = { 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 87, 87, 87, 87, 87, 0, 0, 87, 0, 87, 87, 87, 87, 87, 87, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 86, 86, + 86, 86, 86, 0, 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 0, 87, 87, 0, 0, 0, 87, 0, 0, 87, + 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 88, 88, 88, 88, 88, 88, 0, 0, 88, 0, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 0, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 0, 88, 88, 0, 0, 0, 88, 0, 0, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 0, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 0, - 0, 0, 0, 0, 0, 0, 0, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 0, 91, 91, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, + 0, 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 92, + 92, 92, 92, 0, 92, 92, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 0, 0, 93, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 0, 0, 0, 0, 0, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 0, 0, 0, 0, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 0, 0, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 96, 96, 96, 96, 0, 96, 96, 0, 0, 0, 0, 0, 96, 96, 96, 96, - 96, 96, 96, 96, 0, 96, 96, 96, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, 0, 0, 96, 96, 96, 0, 0, 0, 0, 96, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 0, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 97, 97, 97, 97, 0, 97, 97, 0, 0, 0, 0, 0, 97, 97, 97, 97, + 97, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 0, 0, 0, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 0, 0, 0, 0, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 0, 0, 0, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 0, 0, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 0, 0, 0, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 0, 0, 0, 0, 0, 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 0, 0, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 0, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, 103, 103, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 103, 103, 103, 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 0, 0, + 104, 104, 0, 0, 0, 0, 0, 0, 0, 104, 104, 104, 104, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 106, 106, 106, 106, 106, 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 107, 107, 107, 0, 0, - 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 0, 108, 108, 108, 0, 0, + 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, 0, 0, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, - 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, + 113, 113, 113, 113, 113, 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, 0, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, - 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, + 0, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 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, 115, 0, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 115, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 0, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 0, - 119, 119, 119, 119, 119, 119, 119, 0, 119, 0, 119, 119, 119, 119, 0, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 0, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 0, 0, 0, 0, 0, 0, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 118, 118, 118, 118, 118, 118, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, - 121, 121, 121, 121, 0, 121, 121, 121, 121, 121, 121, 121, 121, 0, 0, 121, - 121, 0, 0, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 121, 121, 121, 121, 121, 121, - 121, 0, 121, 121, 0, 121, 121, 121, 121, 121, 0, 4, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 0, 0, 121, 121, 0, 0, 121, 121, 121, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 121, 121, 121, - 121, 121, 121, 121, 0, 0, 121, 121, 121, 121, 121, 121, 121, 0, 0, 0, - 121, 121, 121, 121, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, + 121, 121, 121, 121, 121, 121, 121, 0, 121, 0, 121, 121, 121, 121, 0, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 122, 122, 122, - 122, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 0, 0, 0, 0, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 0, 0, 0, 0, 0, + 123, 123, 123, 123, 0, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 123, + 123, 0, 0, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 0, 123, 123, 123, 123, 123, 123, + 123, 0, 123, 123, 0, 123, 123, 123, 123, 123, 0, 4, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 0, 0, 123, 123, 0, 0, 123, 123, 123, 0, 0, + 123, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 123, 123, 123, + 123, 123, 123, 123, 0, 0, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, + 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 0, 0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 0, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 124, 124, 124, + 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 125, 125, 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0, 0, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 126, 126, 126, 126, 126, 126, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 130, 130, 130, 130, 130, 130, 130, 0, 0, 130, 0, 0, 130, 130, 130, 130, - 130, 130, 130, 130, 0, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130, 130, + 129, 129, 129, 129, 129, 129, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 0, 130, 130, 0, 0, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, - 131, 131, 131, 131, 131, 131, 131, 131, 0, 0, 131, 131, 131, 131, 131, 131, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 0, 0, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 132, 132, 132, 132, 132, 132, 132, 0, 0, 132, 0, 0, 132, 132, 132, 132, + 132, 132, 132, 132, 0, 132, 132, 0, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, - 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 132, 132, 132, 132, 132, 132, 0, 132, 132, 0, 0, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, + 133, 133, 133, 133, 133, 133, 133, 133, 0, 0, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 133, 133, 133, 133, 133, 133, 133, 0, 0, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 0, 135, 135, 135, 135, 135, 135, + 134, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 0, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 0, 0, 0, + 135, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 0, 0, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 0, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 0, 137, 137, 137, 137, 137, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 0, 0, 0, 0, 0, 0, 0, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 137, 0, 137, 137, 0, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, - 138, 138, 138, 138, 138, 138, 0, 138, 138, 0, 138, 138, 138, 138, 138, 138, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 0, - 138, 138, 0, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, 0, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 0, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 0, 139, 139, 0, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, + 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 139, 0, 139, 139, 0, 139, + 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 0, 140, 140, 0, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, + 140, 140, 0, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, + 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, - 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, 0, 0, 0, 0, 0, 0, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 0, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 0, 0, 0, 0, 143, 143, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 0, + 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, - 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 0, 145, 145, 145, 145, 145, - 145, 145, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, 0, 0, 0, 0, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, 0, 0, 0, 146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 0, 0, 0, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 148, 149, 1, 1, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 0, 0, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, + 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 0, 149, 149, 149, 149, 149, + 149, 149, 0, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, 0, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 0, 0, 0, 0, 0, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, 0, 0, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 152, 153, 56, 56, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, 0, 0, 0, 0, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 58, 58, 58, 58, 0, 58, 58, 58, 58, 58, 58, 58, 0, 58, 58, 0, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 0, + 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 151, 151, 151, 151, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 155, 155, 155, 155, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, @@ -21160,8 +21556,6 @@ static RE_UINT8 re_script_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -21188,40 +21582,46 @@ static RE_UINT8 re_script_table_3[] = { 1, 1, 1, 1, 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, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 152, 152, 152, 152, - 0, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 156, 156, 156, 156, + 0, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 54, 54, 54, 54, 54, 54, 54, 0, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 54, 54, 54, 54, 54, 54, 54, 0, 54, 54, 0, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, 0, 153, 153, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, 0, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, 0, 0, 157, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 0, 0, 0, 0, 0, 154, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 0, 0, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, 156, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 0, 0, 0, 0, 0, 159, + 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 0, 32, 32, 0, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 0, 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 0, 0, 0, 0, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 0, 0, 0, 0, 161, 161, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 0, + 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 0, 10, 0, 0, 10, 0, 10, 10, 10, 10, 10, 10, 10, @@ -21255,35 +21655,33 @@ static RE_UINT8 re_script_table_3[] = { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 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, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 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, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 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, 0, - 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -21317,198 +21715,206 @@ RE_UINT32 re_get_script(RE_UINT32 codepoint) { static RE_UINT8 script_extensions_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 20, 21, 21, 21, 21, 21, 21, 21, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 21, 21, 34, 35, 21, 21, - 21, 36, 21, 21, 21, 21, 21, 21, 21, 21, 37, 38, 39, 39, 39, 39, - 39, 40, 41, 42, 21, 21, 21, 21, 21, 21, 21, 21, 43, 21, 21, 44, - 21, 21, 21, 21, 45, 46, 47, 21, 48, 21, 49, 50, 51, 52, 53, 21, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 54, 13, 13, 13, 55, 56, 13, - 13, 13, 13, 57, 13, 13, 13, 13, 13, 13, 58, 21, 21, 21, 59, 21, - 13, 13, 13, 13, 60, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 61, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21 + 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 17, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 19, 20, 20, 20, 20, 20, 20, 20, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 20, 33, 34, 35, 20, 20, + 20, 36, 20, 20, 20, 20, 20, 20, 20, 20, 37, 38, 39, 39, 39, 39, + 39, 40, 41, 42, 20, 20, 20, 20, 20, 20, 20, 43, 44, 20, 20, 45, + 20, 20, 20, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 20, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 58, 13, 13, 13, 59, 60, 13, + 13, 13, 13, 61, 13, 13, 13, 13, 13, 13, 62, 20, 20, 20, 63, 20, + 13, 13, 13, 13, 64, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 65, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 }; static RE_UINT16 script_extensions_table_2[] = { 0, 0, 1, 1, 0, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 0, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14, 14, 14, 14, 15, 14, 14, 14, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 24, 24, 27, 24, 28, 29, 30, 24, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 39, 85, 86, 87, 39, 88, 88, 89, 90, 91, 92, 93, 39, - 94, 94, 95, 94, 94, 96, 97, 98, 99, 99, 99, 99, 99, 99, 99, 99, - 100, 100, 101, 100, 102, 103, 104, 100, 105, 100, 106, 107, 108, 109, 109, 110, - 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111, 111, 111, 111, 112, 113, 113, 114, 115, 116, 117, 118, 119, 119, 120, 121, - 122, 123, 123, 124, 123, 125, 111, 126, 127, 128, 129, 130, 131, 132, 133, 119, - 134, 135, 136, 137, 138, 139, 140, 39, 141, 141, 142, 143, 144, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 4, 155, 156, 157, 4, 158, 159, 160, - 4, 4, 4, 4, 4, 4, 4, 4, 161, 12, 162, 163, 12, 164, 165, 166, - 167, 168, 0, 169, 170, 0, 171, 172, 0, 173, 174, 4, 175, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 176, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 178, 178, 178, 178, 178, 178, 178, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 180, 0, 0, 0, - 181, 182, 183, 4, 184, 184, 184, 185, 96, 186, 187, 188, 189, 190, 190, 14, - 0, 0, 191, 39, 192, 193, 193, 194, 193, 193, 193, 193, 193, 193, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 99, 99, 207, 208, 209, 210, - 211, 209, 212, 213, 209, 214, 215, 216, 203, 203, 217, 218, 0, 0, 0, 219, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 0, 0, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 220, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 222, 221, 223, 224, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 226, 14, 227, 14, 228, 228, 229, 230, 231, 4, 4, 232, 4, 233, 234, - 235, 236, 237, 238, 239, 239, 240, 241, 242, 243, 244, 245, 246, 246, 247, 248, - 249, 250, 251, 94, 252, 252, 253, 254, 255, 256, 257, 258, 109, 109, 259, 260, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 261, 262, 263, - 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, 39, 39, 39, 39, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 264, 193, 193, 265, 39, 266, 267, 268, 24, 24, 24, 269, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 270, 271, 24, 272, 24, 273, 274, - 275, 276, 277, 278, 24, 24, 24, 279, 280, 1, 1, 281, 282, 211, 283, 284, - 285, 286, 287, 39, 288, 288, 288, 289, 290, 291, 12, 12, 292, 293, 294, 295, - 39, 39, 39, 39, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 39, - 307, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 39, 39, 39, 39, - 318, 318, 318, 318, 318, 318, 318, 318, 318, 319, 320, 321, 39, 39, 39, 39, - 322, 323, 324, 325, 326, 327, 39, 328, 329, 330, 39, 39, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 39, 340, 341, 342, 343, 344, 345, 346, 347, 39, 39, - 348, 348, 349, 39, 350, 351, 350, 352, 353, 354, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 355, 356, 357, 39, 39, 358, 359, 360, 39, 39, 361, 362, 363, - 364, 364, 365, 366, 367, 367, 368, 369, 370, 371, 372, 373, 374, 374, 374, 375, - 376, 377, 39, 39, 378, 379, 380, 381, 382, 383, 384, 385, 39, 39, 39, 39, - 386, 386, 387, 388, 389, 389, 390, 39, 39, 39, 39, 39, 391, 392, 393, 39, - 394, 394, 395, 396, 397, 398, 399, 39, 400, 401, 39, 39, 39, 39, 39, 39, - 402, 403, 39, 39, 39, 404, 404, 405, 406, 407, 408, 39, 39, 409, 410, 411, - 412, 412, 413, 414, 414, 415, 416, 417, 39, 39, 39, 39, 39, 39, 39, 39, - 418, 419, 420, 421, 422, 423, 39, 39, 424, 425, 426, 427, 428, 429, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 430, 39, 39, 39, 39, 39, 431, 432, 433, - 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, 435, 39, 39, 39, - 434, 434, 434, 436, 434, 434, 434, 434, 434, 434, 437, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, - 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, 438, - 438, 439, 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, - 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, 440, - 440, 440, 441, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 442, 443, 444, 39, 39, 445, 446, 447, 447, 448, 449, 450, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 451, 451, 452, 39, 39, 39, 453, 453, 454, 453, 455, 39, 39, 456, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 458, - 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, - 457, 457, 457, 457, 457, 457, 457, 457, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 460, 39, 461, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 462, 200, 200, 200, 200, 200, 200, 200, 463, 39, 464, 465, 466, 466, 466, 466, - 466, 466, 466, 466, 466, 466, 466, 467, 39, 39, 39, 39, 39, 39, 39, 39, - 468, 468, 468, 469, 470, 471, 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, - 0, 0, 0, 0, 0, 0, 0, 472, 0, 473, 0, 474, 475, 476, 0, 477, - 12, 12, 478, 39, 39, 39, 39, 479, 0, 0, 480, 481, 39, 39, 39, 39, - 0, 0, 482, 0, 483, 484, 485, 0, 486, 487, 488, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 489, 0, 0, 0, 0, 0, 0, 0, 0, 490, 0, - 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, - 491, 491, 491, 491, 492, 493, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 494, 495, 39, 39, 39, 39, 39, 39, 496, 497, 498, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 499, 500, 39, 39, 39, 39, 39, 39, 39, 39, - 501, 501, 501, 501, 501, 501, 502, 39, 503, 503, 504, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 505, 0, 506, 39, 39, 280, 507, 39, 39, 39, 39, 39, 39, - 508, 509, 510, 511, 512, 513, 39, 514, 39, 39, 39, 39, 39, 39, 39, 39, - 0, 515, 0, 0, 479, 516, 517, 472, 0, 0, 0, 0, 0, 518, 39, 519, - 520, 521, 522, 523, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 524, 525, 0, 0, 0, 479, 0, 0, 526, 527, - 515, 0, 528, 0, 529, 530, 39, 39, 0, 0, 0, 531, 0, 0, 532, 0, - 0, 0, 479, 533, 534, 535, 536, 39, 0, 0, 0, 0, 537, 0, 177, 538, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 539, 39, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 540, 193, 193, 193, 193, 193, 193, - 539, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 541, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 542, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 539, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 543, 39, 39, 39, 39, 39, - 544, 0, 0, 0, 39, 39, 39, 39, 7, 7, 7, 7, 7, 7, 7, 545, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 + 35, 36, 37, 38, 39, 24, 24, 40, 41, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 83, 87, 87, 88, 89, 90, 91, 92, 83, + 93, 93, 94, 93, 93, 95, 96, 97, 98, 98, 98, 98, 98, 98, 98, 98, + 99, 99, 100, 99, 101, 102, 103, 99, 104, 99, 105, 106, 107, 108, 108, 109, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 111, 112, 112, 113, 114, 115, 116, 117, 118, 118, 119, 120, + 121, 122, 122, 123, 122, 124, 110, 125, 126, 127, 128, 129, 130, 131, 132, 118, + 133, 134, 135, 136, 137, 138, 139, 83, 140, 140, 141, 142, 143, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 4, 154, 155, 156, 4, 157, 158, 159, + 4, 4, 4, 4, 4, 4, 4, 4, 160, 12, 161, 162, 12, 163, 164, 165, + 166, 167, 0, 168, 169, 0, 170, 171, 0, 172, 173, 4, 174, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 177, 177, 177, 177, 177, 177, 177, 177, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 179, 0, 0, 0, + 180, 180, 180, 4, 181, 181, 181, 182, 95, 183, 184, 185, 186, 187, 187, 14, + 0, 0, 188, 83, 189, 190, 190, 191, 190, 190, 190, 190, 190, 190, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 98, 98, 204, 205, 206, 207, + 208, 206, 209, 210, 206, 211, 212, 213, 200, 200, 214, 215, 0, 0, 0, 216, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 0, 0, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 218, 217, 219, 220, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 222, 14, 223, 14, 224, 224, 225, 226, 227, 4, 4, 228, 4, 229, 230, + 231, 232, 233, 234, 235, 235, 236, 237, 238, 239, 240, 241, 242, 242, 243, 244, + 245, 246, 247, 93, 248, 248, 249, 250, 251, 252, 253, 254, 108, 108, 255, 256, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 257, 258, 259, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 260, 190, 190, 261, 83, 262, 263, 264, 24, 24, 24, 265, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 266, 24, 24, 267, 24, 268, 269, + 270, 271, 272, 273, 24, 24, 24, 274, 275, 1, 1, 276, 277, 208, 278, 279, + 280, 281, 282, 83, 283, 283, 283, 284, 285, 286, 12, 12, 287, 288, 289, 290, + 83, 83, 83, 83, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 83, + 302, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 83, 83, + 315, 315, 315, 315, 315, 315, 315, 315, 315, 316, 317, 318, 319, 320, 83, 83, + 321, 322, 323, 324, 325, 326, 83, 327, 328, 329, 83, 83, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 83, 339, 340, 341, 342, 343, 344, 345, 346, 83, 83, + 347, 347, 348, 83, 349, 350, 349, 351, 352, 353, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 354, 355, 356, 83, 83, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 365, 366, 367, 368, 368, 369, 370, 371, 372, 373, 374, 375, 375, 375, 376, + 377, 378, 83, 83, 379, 380, 381, 382, 383, 384, 385, 386, 83, 83, 83, 83, + 387, 387, 388, 389, 390, 390, 391, 83, 83, 83, 83, 83, 392, 393, 394, 83, + 395, 395, 396, 397, 398, 399, 400, 83, 401, 402, 403, 83, 83, 83, 83, 83, + 404, 405, 83, 83, 83, 406, 406, 407, 408, 409, 410, 83, 83, 411, 412, 413, + 414, 414, 415, 416, 416, 417, 418, 419, 83, 83, 83, 83, 83, 83, 83, 83, + 420, 421, 422, 423, 424, 425, 83, 83, 426, 427, 428, 429, 430, 431, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 432, 83, 83, 83, 83, 83, 433, 434, 435, + 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, + 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, 437, 83, 83, 83, + 436, 436, 436, 438, 436, 436, 436, 436, 436, 436, 439, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 440, 441, 441, 442, + 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, + 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, + 443, 444, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 446, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 447, 448, 449, 450, 451, 452, 453, 454, 454, 455, 456, 457, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 458, 458, 459, 83, 83, 83, 460, 460, 461, 460, 462, 83, 83, 463, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 465, + 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, + 464, 464, 464, 464, 464, 464, 464, 464, 466, 466, 466, 466, 466, 466, 466, 466, + 466, 466, 466, 466, 466, 466, 467, 83, 468, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 469, + 470, 197, 197, 197, 197, 197, 197, 197, 197, 471, 472, 473, 474, 474, 474, 474, + 474, 474, 474, 474, 474, 474, 474, 475, 83, 83, 83, 83, 83, 83, 83, 83, + 476, 476, 476, 477, 478, 479, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 7, 480, 481, 0, 0, 0, 482, 83, + 0, 0, 0, 0, 0, 0, 0, 483, 0, 484, 0, 485, 486, 487, 0, 176, + 12, 12, 488, 83, 83, 83, 83, 489, 0, 0, 490, 491, 83, 83, 83, 83, + 0, 0, 492, 0, 493, 494, 495, 0, 496, 497, 498, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 499, 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, + 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, + 501, 501, 501, 501, 502, 503, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 504, 83, 83, 83, 83, 83, 83, 83, + 505, 506, 83, 83, 83, 83, 83, 83, 507, 508, 509, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 510, 511, 512, 513, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 514, + 515, 515, 515, 515, 515, 515, 516, 83, 517, 517, 518, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 519, 0, 520, 83, 83, 275, 521, 83, 83, 83, 83, 83, 83, + 522, 523, 524, 525, 526, 527, 83, 528, 83, 83, 83, 83, 83, 83, 83, 83, + 0, 529, 0, 0, 489, 530, 531, 483, 0, 0, 0, 0, 0, 532, 83, 533, + 534, 535, 536, 537, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 538, 539, 0, 0, 0, 489, 0, 0, 540, 541, + 529, 0, 542, 0, 543, 544, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 489, 545, 546, 547, 548, 549, 0, 0, 0, 0, 550, 0, 176, 551, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 83, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 552, 190, 190, 190, 190, 190, 190, + 553, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 554, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 555, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 553, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 556, 83, 83, 83, 83, 83, + 557, 0, 0, 0, 83, 83, 83, 83, 7, 7, 7, 7, 7, 7, 7, 558, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83 }; static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -21527,9 +21933,9 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 158, 4, 4, 158, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 163, 4, 4, 163, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 4, 4, 4, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 5, 5, 5, 5, 1, 5, 5, 5, 0, 0, 5, 5, 5, 5, 1, 5, 0, 0, 0, 0, 5, 1, 5, 1, 5, 5, 5, 0, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -21541,7 +21947,7 @@ static RE_UINT8 script_extensions_table_3[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 160, 161, 162, 162, 161, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 165, 166, 167, 167, 166, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, @@ -21557,16 +21963,16 @@ static RE_UINT8 script_extensions_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 163, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 163, 164, 0, 10, 163, + 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 168, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 168, 169, 10, 10, 170, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 165, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 10, 10, 10, 10, 10, 10, - 166, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 171, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 10, 10, 10, 10, + 172, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 168, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, + 10, 10, 10, 10, 174, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -21588,20 +21994,16 @@ static RE_UINT8 script_extensions_table_3[] = { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 15, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, + 10, 10, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 169, 170, 4, 4, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 171, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 16, 175, 176, 4, 4, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 177, 178, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 17, 17, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, @@ -21609,7 +22011,7 @@ static RE_UINT8 script_extensions_table_3[] = { 17, 0, 17, 0, 0, 0, 17, 17, 17, 17, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 17, 17, 0, 0, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 17, 17, 0, 17, - 17, 17, 17, 17, 0, 0, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 17, 17, 17, 17, 0, 0, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 18, 18, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, @@ -21617,7 +22019,7 @@ static RE_UINT8 script_extensions_table_3[] = { 18, 0, 18, 18, 0, 18, 18, 0, 18, 18, 0, 0, 18, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 18, 18, 0, 0, 18, 18, 18, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 0, 18, 0, - 0, 0, 0, 0, 0, 0, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 0, 0, 0, 0, 0, 0, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, @@ -21625,7 +22027,7 @@ static RE_UINT8 script_extensions_table_3[] = { 19, 0, 19, 19, 0, 19, 19, 19, 19, 19, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 19, 19, 0, 19, 19, 19, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 19, 19, 19, 19, 0, 0, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 19, 19, 19, 19, 0, 0, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 19, 19, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 0, 20, 20, 20, 0, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 20, 20, 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, @@ -21641,14 +22043,14 @@ static RE_UINT8 script_extensions_table_3[] = { 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 21, 21, 21, 21, 21, 0, 0, 0, 21, 21, 21, 0, 21, 21, 21, 21, 0, 0, 21, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 0, 22, 22, 22, 22, 0, 0, - 0, 0, 0, 0, 0, 22, 22, 0, 22, 22, 22, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 22, 22, 0, 22, 22, 22, 0, 0, 22, 0, 0, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, @@ -21656,8 +22058,8 @@ static RE_UINT8 script_extensions_table_3[] = { 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 0, 23, 23, 23, 23, 0, 0, - 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 23, 0, - 23, 23, 23, 23, 0, 0, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, + 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 23, 23, 0, + 23, 23, 23, 23, 0, 0, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 24, 24, 24, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, @@ -21681,6 +22083,8 @@ static RE_UINT8 script_extensions_table_3[] = { 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 1, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 0, 27, 0, 27, 27, 27, 27, 27, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, @@ -21701,14 +22105,14 @@ static RE_UINT8 script_extensions_table_3[] = { 28, 28, 28, 28, 28, 1, 1, 1, 1, 28, 28, 0, 0, 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 29, 29, 29, 29, 29, 29, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 0, 0, 0, 0, 0, 30, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 180, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 186, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, @@ -21741,10 +22145,10 @@ static RE_UINT8 script_extensions_table_3[] = { 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 1, 1, 1, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, - 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, 37, 37, - 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 181, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 38, 38, 38, 38, 38, 187, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 40, 40, @@ -21755,7 +22159,7 @@ static RE_UINT8 script_extensions_table_3[] = { 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, - 42, 42, 182, 182, 42, 182, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, + 42, 42, 188, 188, 42, 188, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -21791,14 +22195,14 @@ static RE_UINT8 script_extensions_table_3[] = { 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0, 0, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, @@ -21818,9 +22222,9 @@ static RE_UINT8 script_extensions_table_3[] = { 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 30, 30, 30, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 183, 184, 183, 185, 184, 186, 186, 187, 186, 187, 188, 184, 187, 187, 184, 184, - 187, 186, 184, 184, 184, 184, 184, 184, 184, 189, 186, 184, 184, 186, 184, 184, - 184, 184, 190, 185, 191, 186, 186, 192, 185, 185, 193, 0, 0, 0, 0, 0, + 189, 190, 189, 191, 190, 192, 192, 193, 192, 193, 194, 190, 193, 193, 190, 190, + 193, 192, 190, 190, 190, 190, 190, 190, 190, 195, 192, 190, 190, 192, 190, 190, + 190, 190, 196, 191, 197, 192, 192, 198, 191, 191, 199, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -21829,10 +22233,10 @@ static RE_UINT8 script_extensions_table_3[] = { 2, 2, 2, 2, 2, 2, 2, 2, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, - 158, 158, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 163, 163, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 194, 4, 0, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 200, 4, 201, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, @@ -21847,16 +22251,16 @@ static RE_UINT8 script_extensions_table_3[] = { 0, 0, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 195, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 202, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, @@ -21875,10 +22279,6 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, @@ -21893,8 +22293,8 @@ static RE_UINT8 script_extensions_table_3[] = { 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 32, 32, 32, 0, - 1, 1, 1, 161, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 166, 1, 1, 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, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, @@ -21905,54 +22305,52 @@ static RE_UINT8 script_extensions_table_3[] = { 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, - 1, 197, 197, 198, 1, 56, 199, 56, 197, 197, 197, 197, 197, 197, 197, 197, - 197, 197, 1, 198, 197, 197, 197, 197, 197, 197, 197, 197, 198, 198, 198, 198, - 1, 56, 56, 56, 56, 56, 56, 56, 56, 56, 200, 200, 200, 200, 31, 31, - 198, 201, 201, 201, 201, 201, 1, 198, 56, 56, 56, 56, 202, 202, 199, 199, + 1, 204, 204, 205, 1, 56, 206, 56, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 1, 205, 204, 204, 204, 204, 204, 204, 204, 204, 205, 205, 205, 205, + 1, 56, 56, 56, 56, 56, 56, 56, 56, 56, 207, 207, 207, 207, 31, 31, + 205, 208, 208, 208, 208, 208, 1, 205, 56, 56, 56, 56, 209, 209, 206, 206, 0, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 0, 0, 201, 201, 201, 201, 57, 57, 57, - 201, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 57, 57, 57, 57, 57, 57, 57, 0, 0, 208, 208, 208, 208, 57, 57, 57, + 208, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 197, 201, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 204, 208, 58, 58, 58, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, - 199, 199, 199, 199, 199, 199, 199, 199, 1, 1, 1, 1, 1, 1, 1, 1, + 206, 206, 206, 206, 206, 206, 206, 206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 1, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 1, 1, 1, 1, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 1, 1, 1, 1, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 199, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 206, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 1, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, + 58, 58, 58, 58, 58, 58, 58, 58, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 1, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 0, 0, 0, @@ -21965,26 +22363,26 @@ static RE_UINT8 script_extensions_table_3[] = { 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 161, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 166, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 203, 203, 203, 203, 203, 203, 203, 1, 1, 1, 1, 1, 1, 1, 1, + 210, 210, 210, 210, 210, 210, 210, 210, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 0, 0, 0, - 204, 204, 204, 205, 205, 205, 206, 206, 206, 206, 0, 0, 0, 0, 0, 0, + 211, 211, 211, 212, 212, 212, 213, 213, 213, 213, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, @@ -21994,10 +22392,10 @@ static RE_UINT8 script_extensions_table_3[] = { 65, 65, 65, 65, 65, 65, 0, 0, 0, 0, 0, 0, 0, 0, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 186, 16, 207, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 192, 16, 214, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 208, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 215, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, @@ -22005,7 +22403,7 @@ static RE_UINT8 script_extensions_table_3[] = { 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 209, + 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 216, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 68, 68, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, @@ -22049,23 +22447,21 @@ static RE_UINT8 script_extensions_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 0, 9, 0, 9, 9, 0, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 217, 217, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 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, - 10, 10, 210, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 210, 0, 0, + 10, 10, 218, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 218, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 198, 198, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 205, 205, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -22073,10 +22469,10 @@ static RE_UINT8 script_extensions_table_3[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 197, 197, 197, 197, 197, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 201, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 1, 204, 204, 204, 204, 204, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 208, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 201, 201, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 208, 208, 0, 0, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, @@ -22091,10 +22487,10 @@ static RE_UINT8 script_extensions_table_3[] = { 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0, 0, 0, 0, 0, - 211, 211, 211, 0, 0, 0, 0, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 0, 0, 0, 211, 211, 211, 211, 211, 211, 211, 211, 211, + 219, 219, 220, 0, 0, 0, 0, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, + 221, 221, 221, 221, 0, 0, 0, 220, 220, 220, 220, 220, 220, 220, 220, 220, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -22109,8 +22505,8 @@ static RE_UINT8 script_extensions_table_3[] = { 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, - 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 0, 0, 0, 0, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 0, 0, 0, 0, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 75, 75, @@ -22146,314 +22542,346 @@ static RE_UINT8 script_extensions_table_3[] = { 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 87, 87, 87, 87, 87, 87, 0, 0, 87, 0, 87, 87, 87, 87, 87, 87, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 86, 86, + 86, 86, 86, 0, 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 0, 86, 86, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 0, 87, 87, 0, 0, 0, 87, 0, 0, 87, + 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, + 88, 88, 88, 88, 88, 88, 0, 0, 88, 0, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 0, 88, 88, 88, 88, 88, 88, 88, 88, 88, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 0, 88, 88, 0, 0, 0, 88, 0, 0, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 0, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 0, - 0, 0, 0, 0, 0, 0, 0, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 0, 91, 91, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, + 0, 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 92, + 92, 92, 92, 0, 92, 92, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 0, 0, 93, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 0, 0, 0, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 0, 0, 0, 0, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 0, 0, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 0, 0, 0, 0, 0, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 96, 96, 96, 96, 0, 96, 96, 0, 0, 0, 0, 0, 96, 96, 96, 96, - 96, 96, 96, 96, 0, 96, 96, 96, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, 0, 0, 96, 96, 96, 0, 0, 0, 0, 96, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, - 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, - 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 0, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 97, 97, 97, 97, 0, 97, 97, 0, 0, 0, 0, 0, 97, 97, 97, 97, + 97, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 0, 0, 0, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 0, 0, 0, 0, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 0, 0, 0, 0, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 0, 0, 0, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, 100, 100, 100, 100, 100, + 100, 100, 223, 100, 100, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 0, 0, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 0, 0, 0, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 0, 0, 0, 0, 0, 102, 102, 102, 102, 102, 102, 102, 102, + 102, 102, 102, 102, 102, 102, 0, 0, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 0, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, 103, 103, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 103, 103, 103, 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 0, 0, + 104, 104, 0, 0, 0, 0, 0, 0, 0, 104, 104, 104, 104, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 106, 106, 106, 106, 106, 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 0, 0, 0, 0, 0, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 0, 0, 0, 0, 0, 0, 0, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 107, 107, 107, 0, 0, - 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, + 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 0, 108, 108, 108, 0, 0, + 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, 0, 0, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, - 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, + 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, + 113, 113, 113, 113, 113, 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, 0, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, - 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 0, 0, + 0, 0, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 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, 115, 0, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 115, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 115, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 0, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, 0, 0, 0, 0, 0, 0, 0, 0, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 0, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 0, - 119, 119, 119, 119, 119, 119, 119, 0, 119, 0, 119, 119, 119, 119, 0, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 0, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 0, 0, 0, 0, 0, 0, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 118, 118, 118, 118, 118, 118, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, + 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 120, 120, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 0, 0, 0, 0, 0, - 121, 177, 121, 177, 0, 121, 121, 121, 121, 121, 121, 121, 121, 0, 0, 121, - 121, 0, 0, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 121, 121, 121, 121, 121, 121, - 121, 0, 121, 121, 0, 121, 121, 121, 121, 121, 0, 177, 177, 121, 121, 121, - 121, 121, 121, 121, 121, 0, 0, 121, 121, 0, 0, 121, 121, 121, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 121, 121, 121, - 121, 121, 121, 121, 0, 0, 121, 121, 121, 121, 121, 121, 121, 0, 0, 0, - 121, 121, 121, 121, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, + 121, 121, 121, 121, 121, 121, 121, 0, 121, 0, 121, 121, 121, 121, 0, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 122, 122, 122, - 122, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 0, 0, 0, 0, + 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 0, 0, 0, 0, 0, 0, + 123, 183, 123, 183, 0, 123, 123, 123, 123, 123, 123, 123, 123, 0, 0, 123, + 123, 0, 0, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 0, 123, 123, 123, 123, 123, 123, + 123, 0, 123, 123, 0, 123, 123, 123, 123, 123, 0, 183, 183, 123, 123, 123, + 123, 123, 123, 123, 123, 0, 0, 123, 123, 0, 0, 123, 123, 123, 0, 0, + 123, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 123, 123, 123, + 123, 123, 123, 123, 0, 0, 123, 123, 123, 123, 123, 123, 123, 0, 0, 0, + 123, 123, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 0, 0, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 0, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 124, 124, 124, + 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 125, 125, 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 0, 0, 0, 0, 0, 0, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0, 0, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 126, 126, 126, 126, 126, 126, 0, 0, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 0, 0, 0, 0, 0, 0, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - 130, 130, 130, 130, 130, 130, 130, 0, 0, 130, 0, 0, 130, 130, 130, 130, - 130, 130, 130, 130, 0, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130, 130, + 129, 129, 129, 129, 129, 129, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 0, 130, 130, 0, 0, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, - 131, 131, 131, 131, 131, 131, 131, 131, 0, 0, 131, 131, 131, 131, 131, 131, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 0, 0, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 132, 132, 132, 132, 132, 132, 132, 0, 0, 132, 0, 0, 132, 132, 132, 132, + 132, 132, 132, 132, 0, 132, 132, 0, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, - 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 132, 132, 132, 132, 132, 132, 0, 132, 132, 0, 0, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 0, 0, 0, 0, 0, 0, + 133, 133, 133, 133, 133, 133, 133, 133, 0, 0, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 133, 133, 133, 133, 133, 133, 133, 133, 0, 0, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 0, 135, 135, 135, 135, 135, 135, + 134, 134, 134, 134, 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 0, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 0, 0, 0, + 135, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 0, 0, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 0, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 0, 137, 137, 137, 137, 137, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 0, 0, 0, 0, 0, 0, 0, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 0, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 137, 0, 137, 137, 0, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, 0, 0, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 0, 0, 0, - 138, 138, 138, 138, 138, 138, 0, 138, 138, 0, 138, 138, 138, 138, 138, 138, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 0, - 138, 138, 0, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, 0, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 0, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 0, 139, 139, 0, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 177, 177, 21, 177, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, + 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 139, 0, 139, 139, 0, 139, + 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 0, 140, 140, 0, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, - 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 140, 140, 0, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 183, 183, 21, 183, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 0, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 0, 0, 0, 0, 143, 143, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 0, + 142, 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 142, 142, 142, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, + 143, 143, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, - 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, + 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 0, 145, 145, 145, 145, 145, - 145, 145, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 145, 145, 145, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, 0, 0, 0, 0, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 0, 0, 0, 0, 146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 0, 0, 0, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 148, 149, 1, 1, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 0, 0, 0, 0, 0, 0, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, + 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, + 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 0, 149, 149, 149, 149, 149, + 149, 149, 0, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, 0, 149, 149, 149, + 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, + 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 0, 0, 0, 0, 0, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, 0, 0, 151, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 152, 153, 56, 56, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, 0, 0, 0, 0, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 154, 154, 154, 154, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 58, 58, 58, 58, 0, 58, 58, 58, 58, 58, 58, 58, 0, 58, 58, 0, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 0, + 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 0, 0, 0, 0, 0, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 0, 0, 151, 151, 151, 151, - 214, 214, 214, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, 0, 0, + 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 0, 0, 155, 155, 155, 155, + 224, 224, 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -22465,16 +22893,14 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, + 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -22493,34 +22919,42 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 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, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 152, 152, 152, 152, - 0, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 156, 156, 156, 156, + 0, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 54, 54, 54, 54, 54, 54, 54, 0, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 54, 54, 54, 54, 54, 54, 54, 0, 54, 54, 0, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, - 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 0, 0, 0, 0, 153, 153, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, 0, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 0, 0, 0, 0, 157, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 0, 0, 0, 0, 0, 154, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 0, 0, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, 156, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 0, 0, 0, 0, 0, 159, + 32, 32, 32, 32, 32, 32, 32, 0, 32, 32, 32, 32, 0, 32, 32, 0, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 0, 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 0, 0, 0, 0, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 0, 0, 0, 0, 161, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -22556,43 +22990,41 @@ static RE_UINT8 script_extensions_table_3[] = { 1, 1, 1, 1, 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, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, - 199, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 206, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 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, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 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, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 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, 0, - 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -22605,31 +23037,32 @@ static RE_UINT8 script_extensions_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT16 script_extensions_table_4[] = { - 0, 2, 4, 7, 10, 13, 19, 23, 32, 35, 39, 42, 56, 69, 90, 112, - 117, 121, 124, 127, 130, 133, 137, 140, 145, 148, 153, 155, 158, 161, 164, 171, - 174, 183, 187, 189, 191, 194, 197, 201, 208, 214, 216, 219, 222, 226, 229, 244, - 258, 270, 273, 277, 280, 283, 286, 290, 293 + 0, 2, 4, 7, 10, 13, 20, 24, 32, 42, 45, 49, 52, 66, 79, 100, + 122, 127, 131, 134, 137, 140, 143, 147, 150, 155, 158, 163, 165, 168, 171, 174, + 181, 184, 193, 197, 199, 201, 204, 206, 209, 213, 220, 226, 228, 231, 234, 238, + 241, 256, 270, 282, 285, 289, 292, 295, 298, 302, 305, 309, 312, 315 }; static RE_UINT8 script_extensions_table_5[] = { - 5, 0, 2, 0, 7, 77, 0, 7, 54, 0, 7, 2, 0, 10, 106, 11, - 12, 107, 0, 10, 11, 12, 0, 156, 10, 15, 99, 103, 106, 109, 11, 0, - 10, 11, 0, 10, 12, 107, 0, 10, 106, 0, 17, 16, 121, 19, 18, 23, - 2, 24, 20, 117, 21, 22, 123, 0, 17, 16, 121, 19, 18, 23, 2, 24, - 20, 21, 22, 123, 0, 17, 16, 128, 138, 137, 121, 19, 18, 23, 116, 24, - 131, 20, 120, 25, 63, 126, 21, 22, 123, 0, 17, 16, 128, 138, 137, 121, - 19, 18, 23, 43, 116, 24, 131, 20, 120, 25, 63, 126, 21, 22, 123, 0, - 16, 128, 113, 116, 0, 17, 115, 63, 0, 18, 119, 0, 19, 118, 0, 121, - 21, 0, 23, 131, 0, 115, 29, 44, 0, 30, 2, 0, 39, 38, 40, 37, - 0, 42, 64, 0, 17, 16, 121, 23, 0, 16, 0, 16, 121, 0, 17, 16, - 0, 16, 117, 0, 16, 23, 24, 20, 21, 22, 0, 16, 131, 0, 17, 16, - 121, 23, 131, 20, 22, 123, 0, 16, 121, 23, 0, 17, 0, 131, 0, 7, - 11, 0, 2, 42, 0, 16, 121, 2, 0, 3, 31, 56, 57, 58, 59, 0, - 3, 31, 56, 57, 58, 0, 56, 0, 3, 56, 0, 57, 58, 0, 56, 57, - 58, 0, 56, 2, 0, 16, 128, 19, 18, 118, 23, 113, 116, 24, 125, 131, - 120, 126, 123, 0, 16, 128, 19, 18, 118, 23, 113, 116, 125, 131, 120, 126, - 123, 0, 16, 128, 19, 18, 118, 113, 116, 125, 120, 126, 123, 0, 16, 21, - 0, 66, 2, 29, 0, 46, 68, 0, 10, 12, 0, 87, 72, 0, 87, 86, - 72, 0, 10, 6, 0, 151, 0 + 5, 0, 2, 0, 7, 77, 0, 7, 54, 0, 7, 2, 0, 10, 13, 107, + 11, 12, 108, 0, 10, 11, 12, 0, 161, 10, 13, 107, 11, 12, 108, 0, + 161, 10, 15, 100, 111, 104, 107, 110, 11, 0, 10, 11, 0, 10, 12, 108, + 0, 10, 107, 0, 17, 16, 123, 19, 18, 23, 2, 24, 20, 119, 21, 22, + 125, 0, 17, 16, 123, 19, 18, 23, 2, 24, 20, 21, 22, 125, 0, 17, + 16, 130, 140, 139, 123, 19, 18, 23, 118, 24, 133, 20, 122, 25, 63, 128, + 21, 22, 125, 0, 17, 16, 130, 140, 139, 123, 19, 18, 23, 43, 118, 24, + 133, 20, 122, 25, 63, 128, 21, 22, 125, 0, 16, 130, 115, 118, 0, 17, + 117, 63, 0, 18, 121, 0, 19, 120, 0, 123, 21, 0, 23, 133, 0, 117, + 29, 44, 0, 30, 2, 0, 39, 38, 40, 37, 0, 42, 64, 0, 17, 16, + 123, 23, 0, 16, 0, 16, 123, 0, 17, 16, 0, 16, 119, 0, 16, 23, + 24, 20, 21, 22, 0, 16, 133, 0, 17, 16, 123, 23, 133, 20, 22, 125, + 0, 16, 123, 23, 0, 17, 0, 133, 0, 7, 11, 0, 11, 0, 2, 42, + 0, 16, 123, 2, 0, 3, 31, 56, 57, 58, 59, 0, 3, 31, 56, 57, + 58, 0, 56, 0, 3, 56, 0, 57, 58, 0, 56, 57, 58, 0, 56, 2, + 0, 16, 130, 19, 18, 120, 23, 115, 118, 24, 127, 133, 122, 128, 125, 0, + 16, 130, 19, 18, 120, 23, 115, 118, 127, 133, 122, 128, 125, 0, 16, 130, + 19, 18, 120, 115, 118, 127, 122, 128, 125, 0, 16, 21, 0, 66, 2, 29, + 0, 46, 68, 0, 10, 13, 0, 10, 12, 0, 143, 88, 72, 0, 88, 72, + 0, 88, 87, 72, 0, 10, 6, 0, 100, 111, 0, 155, 0 }; int re_get_script_extensions(RE_UINT32 codepoint, RE_UINT8* scripts) { @@ -22648,13 +23081,13 @@ int re_get_script_extensions(RE_UINT32 codepoint, RE_UINT8* scripts) { v = script_extensions_table_2[(v << 5) | field_1]; v = script_extensions_table_3[(v << 5) | field_0]; - if (v < 158) { + if (v < 163) { scripts[0] = v; return 1; } - offset = script_extensions_table_4[v - 158]; + offset = script_extensions_table_4[v - 163]; count = 0; do { @@ -22669,72 +23102,72 @@ int re_get_script_extensions(RE_UINT32 codepoint, RE_UINT8* scripts) { static RE_UINT8 re_sentence_break_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 19, 19, 13, 32, 19, 19, - 19, 33, 19, 19, 19, 19, 19, 19, 19, 19, 34, 35, 13, 13, 13, 13, - 13, 36, 13, 37, 19, 19, 19, 19, 19, 19, 19, 19, 38, 19, 19, 39, - 19, 19, 19, 19, 40, 41, 42, 19, 43, 19, 44, 45, 46, 47, 48, 19, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 49, 13, 13, 13, 50, 51, 13, - 13, 13, 13, 52, 13, 13, 13, 13, 13, 13, 53, 19, 19, 19, 54, 19, - 13, 13, 13, 13, 55, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 56, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19 + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 18, 31, 13, 32, 18, 18, + 18, 33, 18, 18, 18, 18, 18, 18, 18, 18, 34, 35, 13, 13, 13, 13, + 13, 36, 13, 37, 18, 18, 18, 18, 18, 18, 18, 38, 39, 18, 18, 40, + 18, 18, 18, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 18, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 53, 13, 13, 13, 54, 55, 13, + 13, 13, 13, 56, 13, 13, 13, 13, 13, 13, 57, 18, 18, 18, 58, 18, + 13, 13, 13, 13, 59, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 60, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 }; static RE_UINT16 re_sentence_break_table_2[] = { @@ -22742,116 +23175,124 @@ static RE_UINT16 re_sentence_break_table_2[] = { 8, 16, 17, 18, 19, 20, 21, 22, 23, 23, 23, 24, 25, 26, 27, 28, 29, 30, 18, 8, 31, 8, 32, 8, 8, 33, 34, 18, 35, 36, 37, 38, 39, 40, 41, 42, 40, 40, 43, 44, 45, 46, 47, 40, 40, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 72, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 55, 101, 102, 103, 55, 104, 105, 106, 107, 108, 109, 110, 55, + 51, 52, 53, 54, 55, 40, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 71, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 100, 104, 105, 106, 107, 108, 109, 110, 100, 40, 111, 112, 113, 114, 29, 115, 116, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 117, 40, 118, 119, 120, 40, 121, 40, 122, 123, 124, 29, 29, 125, - 98, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 97, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 126, 127, 40, 40, 128, 129, 130, 131, 132, 40, 133, 134, 135, - 136, 40, 40, 137, 138, 139, 40, 140, 141, 142, 143, 144, 40, 145, 146, 55, - 147, 40, 148, 149, 150, 151, 152, 55, 153, 133, 154, 155, 156, 157, 40, 158, - 40, 159, 160, 161, 162, 163, 164, 165, 18, 18, 18, 18, 18, 18, 23, 166, - 8, 8, 8, 8, 167, 8, 8, 8, 168, 169, 170, 171, 169, 172, 173, 174, - 175, 176, 177, 178, 179, 55, 180, 181, 182, 183, 184, 30, 185, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 186, 187, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 188, 30, 189, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 190, 191, 55, 55, 192, 193, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 194, 55, 195, 196, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 29, 197, 198, 199, 8, 8, 8, 200, 18, 201, 40, 202, 203, 204, 204, 23, - 205, 206, 207, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 208, 209, 98, 40, 210, 98, 40, 116, 211, 212, 40, 40, 213, 40, 55, 214, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 55, 55, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 215, - 40, 40, 40, 40, 216, 55, 214, 217, 40, 40, 40, 40, 40, 40, 40, 40, - 218, 219, 8, 220, 221, 40, 40, 222, 223, 224, 8, 225, 226, 227, 228, 229, - 230, 231, 40, 232, 233, 133, 234, 235, 49, 236, 237, 215, 59, 238, 239, 240, - 40, 241, 242, 243, 40, 244, 245, 246, 247, 248, 249, 250, 18, 18, 40, 251, + 136, 40, 40, 137, 138, 139, 40, 140, 141, 142, 143, 144, 40, 145, 146, 100, + 147, 40, 148, 149, 150, 151, 152, 100, 153, 133, 154, 155, 156, 157, 40, 158, + 40, 159, 160, 161, 162, 163, 164, 165, 18, 18, 18, 18, 18, 18, 23, 23, + 8, 8, 8, 8, 166, 8, 8, 8, 167, 168, 169, 170, 168, 171, 172, 173, + 174, 175, 176, 177, 178, 100, 179, 180, 181, 182, 183, 30, 184, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 185, 186, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 187, 30, 188, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 189, 190, 100, 100, 191, 192, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 193, 100, 194, 195, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 29, 30, 18, 196, 8, 8, 8, 197, 18, 198, 40, 199, 200, 201, 201, 23, + 202, 203, 204, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 205, 206, 97, 40, 207, 97, 40, 116, 208, 209, 40, 40, 210, 40, 100, 211, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 252, 253, 254, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 255, 40, 40, 256, 55, 257, 258, 259, 40, 40, 260, 261, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 262, 214, 40, 263, 40, 264, 265, - 266, 267, 268, 269, 40, 40, 40, 270, 271, 2, 272, 273, 274, 141, 275, 276, - 277, 278, 279, 55, 40, 40, 40, 280, 55, 55, 40, 281, 55, 55, 55, 282, - 55, 55, 55, 55, 215, 40, 283, 152, 40, 284, 285, 286, 287, 40, 288, 55, - 29, 289, 290, 40, 287, 291, 292, 293, 40, 294, 40, 295, 55, 55, 55, 55, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 203, 140, 264, 55, 55, 55, 55, - 296, 297, 140, 203, 141, 55, 55, 298, 140, 256, 55, 55, 40, 299, 55, 55, - 300, 301, 302, 215, 215, 55, 106, 303, 40, 140, 140, 304, 260, 55, 55, 55, - 40, 40, 305, 55, 29, 306, 18, 307, 40, 308, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 40, 309, 55, 55, 215, 310, 311, 55, 55, 214, 312, 203, - 156, 313, 314, 315, 156, 316, 317, 318, 156, 319, 320, 321, 156, 238, 322, 55, - 323, 324, 55, 55, 325, 326, 327, 328, 329, 330, 331, 332, 55, 55, 55, 55, - 40, 333, 334, 335, 40, 46, 336, 55, 55, 55, 55, 55, 40, 337, 338, 55, - 40, 46, 339, 55, 40, 340, 135, 55, 122, 341, 55, 55, 55, 55, 55, 55, - 40, 342, 55, 55, 55, 29, 18, 343, 344, 345, 346, 55, 55, 347, 348, 349, - 350, 351, 352, 40, 353, 55, 40, 137, 55, 55, 55, 55, 55, 55, 55, 55, - 354, 355, 356, 357, 358, 359, 55, 55, 360, 361, 362, 363, 364, 135, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 365, 55, 55, 55, 55, 55, 366, 55, 55, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 256, 55, 55, 55, - 40, 40, 40, 213, 40, 40, 40, 40, 40, 40, 295, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 367, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 368, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 40, 40, 40, 40, 212, 100, 211, 213, 40, 40, 40, 40, 40, 40, 40, 40, + 214, 215, 8, 216, 217, 40, 40, 218, 219, 220, 8, 221, 222, 223, 224, 225, + 226, 227, 40, 228, 229, 133, 230, 231, 49, 232, 233, 234, 58, 235, 236, 237, + 40, 238, 239, 240, 40, 241, 242, 243, 244, 245, 246, 247, 18, 18, 40, 248, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 137, 141, 369, 55, 55, 214, 370, 40, 371, 372, 373, 124, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 29, 18, 374, 55, 55, 55, 40, 40, 375, 23, 376, 55, 55, 377, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 249, 250, 251, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 252, 40, 40, 253, 100, 254, 255, 256, 40, 40, 257, 258, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 259, 211, 40, 260, 40, 261, 262, + 263, 264, 265, 266, 40, 40, 40, 267, 268, 2, 269, 270, 271, 141, 272, 273, + 274, 275, 276, 100, 40, 40, 40, 277, 100, 100, 40, 278, 100, 100, 100, 279, + 100, 100, 100, 100, 234, 40, 280, 281, 40, 282, 54, 283, 284, 40, 285, 100, + 29, 286, 287, 40, 284, 288, 289, 290, 40, 291, 40, 292, 293, 294, 100, 100, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 200, 140, 261, 295, 296, 100, 100, + 297, 298, 140, 200, 141, 100, 100, 299, 140, 253, 100, 100, 40, 300, 100, 100, + 301, 302, 303, 234, 234, 100, 106, 304, 40, 140, 140, 305, 257, 100, 100, 100, + 40, 40, 306, 100, 29, 307, 18, 308, 40, 309, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 40, 310, 100, 100, 234, 311, 312, 211, 313, 211, 314, 200, + 156, 315, 316, 317, 156, 318, 319, 320, 156, 321, 322, 323, 156, 235, 324, 100, + 325, 326, 100, 100, 327, 328, 329, 330, 331, 332, 333, 334, 100, 100, 100, 100, + 40, 335, 336, 337, 40, 46, 338, 100, 100, 100, 100, 100, 40, 339, 340, 100, + 40, 46, 341, 100, 40, 342, 135, 100, 122, 343, 344, 100, 100, 100, 100, 100, + 40, 345, 100, 100, 100, 29, 18, 346, 347, 348, 349, 100, 100, 350, 351, 352, + 353, 354, 355, 40, 356, 211, 40, 137, 100, 100, 100, 100, 100, 100, 100, 100, + 357, 358, 359, 360, 361, 362, 100, 100, 363, 364, 365, 366, 367, 135, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 368, 100, 100, 100, 100, 100, 369, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 378, - 40, 40, 40, 40, 40, 40, 140, 55, 305, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 40, 40, 40, 40, 40, 40, 40, 141, 55, 379, 380, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 254, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 40, 40, 381, 382, 383, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 384, 385, 386, 55, 55, - 55, 55, 387, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 388, 389, 401, - 391, 402, 403, 404, 395, 405, 406, 407, 408, 409, 410, 197, 411, 412, 413, 414, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 23, 415, 23, 416, 417, 418, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 419, 420, 55, 55, 55, 55, 55, 55, 40, 421, 422, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 40, 423, 55, 55, 55, 55, 55, 55, 55, 55, - 40, 40, 40, 40, 40, 40, 424, 55, 29, 425, 426, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 427, 428, 429, 430, 431, 432, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 433, 434, 434, 435, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 436, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 437, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 253, 100, 100, 100, + 40, 40, 40, 210, 40, 40, 40, 40, 40, 40, 370, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 211, 40, 40, 280, + 40, 371, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 344, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 137, 141, 372, 40, 141, 373, 374, 40, 375, 376, 377, 124, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 29, 18, 378, 100, 100, 100, 40, 40, 379, 23, 380, 100, 100, 381, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 382, + 40, 40, 40, 40, 40, 40, 140, 100, 306, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 383, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 384, 385, 386, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 251, 100, 100, 100, 100, 100, 100, 100, 100, + 40, 40, 40, 387, 388, 389, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 23, 390, 391, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 392, 393, 394, 100, 100, + 100, 100, 395, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 396, 397, 409, + 399, 410, 411, 412, 403, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 23, 424, 23, 425, 426, 427, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 428, 100, 100, 100, 100, 100, 100, 100, + 429, 430, 100, 100, 100, 100, 100, 100, 40, 431, 432, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 211, 433, 40, 434, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 435, + 40, 40, 40, 40, 40, 40, 436, 100, 29, 437, 438, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 439, 440, 441, 442, 443, 444, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 445, 446, 446, 447, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 448, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 449, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 287, 55, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 281, 40, 40, 40, 40, 40, 40, - 287, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 137, 40, 40, 40, 40, 40, 40, + 284, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 438, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 450, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 439, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 451, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 287, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 284, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 54, 55, 55, 55, 55, 55, - 440, 23, 23, 23, 55, 55, 55, 55, 23, 23, 23, 23, 23, 23, 23, 441, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55 + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 452, 100, 100, 100, 100, 100, + 453, 23, 23, 23, 100, 100, 100, 100, 23, 23, 23, 23, 23, 23, 23, 454, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }; static RE_UINT8 re_sentence_break_table_3[] = { @@ -22934,7 +23375,7 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 12, 0, 4, 4, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 12, 4, 4, 4, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, @@ -22964,13 +23405,11 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 0, + 12, 12, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23022,9 +23461,9 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 13, 14, 14, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 14, 13, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 0, 14, 14, 14, 14, 0, 0, - 0, 0, 0, 0, 0, 14, 14, 0, 13, 13, 13, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 14, 14, 0, 13, 13, 13, 0, 0, 13, 0, 0, 13, 13, 14, 14, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 14, 14, 0, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, @@ -23032,7 +23471,7 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 0, 0, 14, 13, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 0, 14, 14, 14, 14, 0, 0, - 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 13, 13, 0, 13, 13, 14, 14, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, @@ -23057,6 +23496,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 14, 13, 13, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 0, 13, 0, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23113,8 +23554,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 5, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, - 13, 13, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23127,7 +23568,7 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 0, 0, 0, 13, 0, 0, 0, 0, 13, 14, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 4, 0, 0, 0, 0, 6, 4, 0, 14, 14, 14, 12, 0, + 0, 0, 6, 4, 0, 0, 0, 0, 6, 4, 0, 14, 14, 14, 12, 14, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, @@ -23159,14 +23600,14 @@ static RE_UINT8 re_sentence_break_table_3[] = { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 4, 4, 4, 4, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, @@ -23187,8 +23628,6 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 14, 13, 13, 14, 14, 14, 13, 0, 0, 0, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, @@ -23249,10 +23688,6 @@ static RE_UINT8 re_sentence_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 9, 10, 9, 9, 9, 10, 10, 9, 10, 9, 10, 9, 10, 9, 9, 9, 9, 10, 9, 10, 10, 9, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 10, 9, 10, 10, 0, 0, 0, 0, 0, 0, 9, 10, 9, 10, 14, @@ -23270,7 +23705,7 @@ static RE_UINT8 re_sentence_break_table_3[] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 1, 6, 4, 0, 0, 13, 13, 13, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, @@ -23285,8 +23720,6 @@ static RE_UINT8 re_sentence_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23311,10 +23744,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 9, 10, 9, 10, 10, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 9, 9, 9, 9, 10, 9, 9, 9, 9, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, - 0, 0, 9, 10, 9, 9, 9, 9, 10, 9, 10, 0, 0, 0, 0, 0, + 9, 10, 9, 10, 9, 9, 9, 9, 10, 9, 10, 0, 0, 0, 0, 0, + 9, 10, 0, 10, 0, 10, 9, 10, 9, 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, 9, 10, 13, 10, 10, 10, 13, 13, 13, 13, 13, + 0, 0, 13, 13, 13, 9, 10, 13, 10, 10, 10, 13, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 14, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 0, 0, 0, 0, 14, 0, 0, 0, @@ -23332,6 +23765,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 13, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, @@ -23423,10 +23858,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23446,7 +23881,15 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, + 9, 9, 9, 0, 9, 9, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 0, 0, 0, + 10, 13, 13, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 0, 0, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23479,6 +23922,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, + 13, 13, 14, 14, 14, 14, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23486,10 +23931,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, + 14, 13, 13, 14, 14, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 12, 4, 4, - 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, + 4, 4, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, @@ -23539,6 +23984,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 14, 13, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 4, 4, 4, 0, + 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, @@ -23589,12 +24036,14 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 14, 14, 14, 14, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, - 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 14, 14, 14, 14, 14, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23614,6 +24063,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 0, + 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -23623,6 +24076,10 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 14, 14, 4, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 12, 12, 12, 12, 12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, @@ -23677,6 +24134,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 9, 9, 9, 9, 9, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 10, 10, 10, 10, 10, 10, @@ -23693,6 +24152,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 13, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 0, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, @@ -23701,8 +24162,12 @@ static RE_UINT8 re_sentence_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 0, 13, 13, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -23735,6 +24200,8 @@ static RE_UINT8 re_sentence_break_table_3[] = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, @@ -23844,57 +24311,57 @@ static RE_UINT8 re_sentence_terminal_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, - 0, 16, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 15, 16, 0, 0, 0, 0, + 0, 17, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 19, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 24, 0, 0, 22, 0, 0, 25, 0, 0, 0, 0, 26, 0, - 0, 0, 27, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 29, + 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 27, 0, 0, 25, 0, 0, 28, 0, 0, 0, 0, 29, 0, + 0, 0, 3, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 0, 0, 0, 0, 0, 1, 0, 0, 31, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 1, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, - 0, 0, 33, 0, 0, 3, 34, 0, 0, 0, 35, 0, 0, 0, 36, 0, - 0, 37, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, - 0, 0, 40, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, - 0, 0, 43, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 35, 0, 0, 0, + 0, 0, 36, 0, 0, 18, 37, 0, 0, 0, 38, 0, 0, 0, 39, 0, + 0, 40, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, + 0, 0, 43, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, + 0, 0, 46, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 22, 0, 0, 0, 45, 0, 44, 46, 0, 0, 0, 0, 0, + 0, 0, 0, 25, 0, 0, 0, 48, 0, 47, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_sentence_terminal_table_3[] = { - 0, 0, 0, 0, 2, 64, 0, 128, 0, 2, 0, 0, 0, 0, 0, 192, + 0, 0, 0, 0, 2, 64, 0, 128, 0, 2, 0, 0, 0, 0, 0, 224, 0, 0, 16, 0, 7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 128, 98, 48, 0, 0, 0, 0, 12, 0, 0, 132, 1, 0, 0, 0, 64, 0, 0, 0, 0, 96, 0, 8, 2, 0, 0, 0, 15, 0, 0, 0, 0, 0, 204, - 0, 0, 0, 24, 0, 0, 0, 48, 128, 3, 0, 0, 0, 64, 0, 16, - 4, 0, 0, 0, 0, 0, 0, 128, 0, 192, 0, 0, 0, 0, 136, 0, - 0, 0, 192, 0, 0, 128, 0, 0, 0, 3, 0, 0, 0, 0, 0, 224, - 0, 0, 3, 0, 0, 8, 0, 0, 0, 0, 196, 0, 2, 0, 0, 0, - 0, 0, 224, 3, 128, 1, 0, 0, 3, 0, 0, 0, 14, 0, 0, 0, - 96, 32, 0, 192, 0, 0, 0, 27, 0, 24, 0, 0, 12, 254, 255, 0, - 6, 0, 0, 0, 0, 0, 0, 112, 80, 0, 0, 0, 12, 0, 0, 0, - 0, 0, 128, 1, 0, 0, 32, 0, 16, 0, 0, 0, 0, 0, 0, 1, - 0, 1, 0, 0 + 0, 0, 0, 96, 0, 0, 0, 24, 0, 0, 0, 192, 0, 0, 0, 48, + 128, 3, 0, 0, 0, 64, 0, 16, 0, 0, 24, 0, 4, 0, 0, 0, + 0, 0, 0, 128, 0, 192, 0, 0, 0, 0, 136, 0, 0, 0, 192, 0, + 0, 128, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 8, 0, 0, + 0, 0, 196, 0, 2, 0, 0, 0, 0, 0, 224, 3, 192, 3, 0, 0, + 128, 1, 0, 0, 3, 0, 0, 0, 14, 0, 0, 0, 96, 32, 0, 192, + 0, 0, 0, 27, 0, 24, 0, 0, 12, 254, 255, 0, 6, 0, 0, 0, + 0, 0, 0, 112, 80, 0, 0, 0, 12, 0, 0, 0, 0, 0, 128, 1, + 0, 0, 32, 0, 16, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 }; RE_UINT32 re_get_sentence_terminal(RE_UINT32 codepoint) { @@ -23925,7 +24392,7 @@ static RE_UINT8 re_soft_dotted_table_1[] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 6, 2, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -24002,7 +24469,9 @@ static RE_UINT8 re_soft_dotted_table_2[] = { 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 0, 19, 20, 0, 21, 0, 22, 23, 0, 24, 0, 17, 18, - 0, 19, 20, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 19, 20, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_soft_dotted_table_3[] = { @@ -24012,7 +24481,7 @@ static RE_UINT8 re_soft_dotted_table_3[] = { 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 16, 12, 0, 0, 0, 0, 0, 192, 0, 0, 12, 0, 0, 0, 0, 0, 192, 0, 0, 12, 0, 192, 0, 0, 0, 0, 0, 0, 12, - 0, 192, 0, 0 + 0, 192, 0, 0, 0, 0, 0, 4 }; RE_UINT32 re_get_soft_dotted(RE_UINT32 codepoint) { @@ -24120,67 +24589,67 @@ static RE_UINT8 re_terminal_punctuation_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 18, 0, 0, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, - 0, 23, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, + 0, 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 25, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 26, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 32, 0, 0, 33, 0, 0, 34, 0, 0, 0, 0, 26, 0, - 0, 0, 35, 0, 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 38, + 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 33, 0, 0, 34, 0, 0, 35, 0, 0, 0, 0, 27, 0, + 0, 0, 36, 0, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 39, 0, 0, 0, 0, 0, 1, 0, 0, 40, 0, 0, 0, 0, + 0, 0, 40, 0, 0, 0, 0, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 41, 0, - 0, 0, 42, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 32, 0, 0, 0, 0, 43, 0, 44, 0, 0, 45, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 42, 0, + 0, 0, 43, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 0, 0, 44, 0, 45, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, - 0, 0, 47, 0, 0, 24, 48, 0, 0, 0, 49, 0, 0, 0, 50, 0, - 0, 51, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, - 0, 0, 29, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, - 0, 0, 56, 0, 57, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 49, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 48, 0, 0, 0, + 0, 0, 49, 0, 0, 25, 50, 0, 0, 0, 51, 0, 0, 0, 52, 0, + 0, 53, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, + 0, 0, 30, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, + 0, 0, 58, 0, 59, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 33, 0, 0, 0, 61, 0, 62, 63, 0, 0, 0, 0, 0, + 0, 0, 0, 34, 0, 0, 0, 63, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_terminal_punctuation_table_3[] = { 0, 0, 0, 0, 2, 80, 0, 140, 0, 0, 0, 64, 128, 0, 0, 0, - 0, 2, 0, 0, 8, 0, 0, 0, 0, 16, 0, 200, 0, 0, 16, 0, + 0, 2, 0, 0, 8, 0, 0, 0, 0, 16, 0, 232, 0, 0, 16, 0, 255, 23, 0, 0, 0, 0, 0, 3, 0, 0, 255, 127, 48, 0, 0, 0, 0, 0, 0, 12, 0, 225, 7, 0, 0, 12, 0, 0, 254, 1, 0, 0, 0, 64, 0, 0, 0, 56, 0, 0, 0, 0, 96, 0, 0, 0, 112, 4, - 60, 3, 0, 0, 0, 15, 0, 0, 0, 0, 0, 236, 0, 0, 0, 248, - 0, 0, 0, 192, 0, 0, 0, 48, 128, 3, 0, 0, 0, 64, 0, 16, - 2, 208, 0, 0, 6, 0, 0, 0, 0, 224, 0, 0, 0, 0, 248, 0, - 0, 0, 192, 0, 0, 192, 0, 0, 0, 128, 0, 0, 0, 0, 0, 224, - 0, 0, 0, 128, 0, 0, 3, 0, 0, 8, 0, 0, 0, 0, 247, 0, - 18, 0, 0, 0, 0, 0, 1, 0, 0, 0, 128, 0, 0, 0, 63, 0, - 0, 0, 0, 252, 0, 0, 0, 30, 0, 0, 224, 3, 128, 63, 0, 0, - 3, 0, 0, 0, 14, 0, 0, 0, 96, 32, 0, 192, 0, 0, 0, 31, - 0, 56, 0, 12, 60, 254, 255, 0, 0, 0, 0, 112, 80, 0, 0, 0, - 12, 0, 0, 0, 0, 0, 0, 24, 0, 0, 2, 0, 0, 0, 128, 1, - 0, 0, 31, 0, 0, 0, 32, 0, 0, 0, 128, 3, 16, 0, 0, 0, - 128, 7, 0, 0 + 60, 3, 0, 0, 0, 15, 0, 0, 0, 0, 0, 236, 0, 0, 0, 96, + 0, 0, 0, 248, 0, 0, 0, 192, 0, 0, 0, 48, 128, 3, 0, 0, + 0, 64, 0, 16, 2, 208, 24, 0, 6, 0, 0, 0, 0, 224, 0, 0, + 0, 0, 248, 0, 0, 0, 192, 0, 0, 192, 0, 0, 0, 128, 0, 0, + 0, 0, 0, 224, 0, 0, 0, 128, 0, 0, 3, 0, 0, 8, 0, 0, + 0, 0, 247, 0, 18, 0, 0, 0, 0, 0, 1, 0, 0, 0, 128, 0, + 0, 0, 63, 0, 0, 0, 0, 252, 0, 0, 0, 30, 0, 0, 224, 3, + 192, 3, 0, 0, 128, 63, 0, 0, 3, 0, 0, 0, 14, 0, 0, 0, + 96, 32, 0, 192, 0, 0, 0, 31, 0, 56, 0, 12, 60, 254, 255, 0, + 0, 0, 0, 112, 80, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 24, + 0, 0, 2, 0, 0, 0, 128, 1, 0, 0, 31, 0, 0, 0, 32, 0, + 0, 0, 128, 3, 16, 0, 0, 0, 128, 7, 0, 0 }; RE_UINT32 re_get_terminal_punctuation(RE_UINT32 codepoint) { @@ -24204,74 +24673,74 @@ RE_UINT32 re_get_terminal_punctuation(RE_UINT32 codepoint) { /* Unified_Ideograph. */ static RE_UINT8 re_unified_ideograph_table_1[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, - 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 6, 7, 1, - 1, 1, 1, 8, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 5, 6, 1, + 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 8, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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 RE_UINT8 re_unified_ideograph_table_2[] = { @@ -24281,28 +24750,26 @@ static RE_UINT8 re_unified_ideograph_table_2[] = { 1, 1, 1, 1, 1, 1, 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, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 0, 0, 0, 0, 0 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 0, 0, 0, 0, 0 }; static RE_UINT8 re_unified_ideograph_table_3[] = { - 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 31, 0, 192, 26, 128, - 154, 3, 0, 0, 255, 255, 255, 63, 255, 255, 31, 0, 3, 0, 255, 255, - 1, 0, 0, 0, 255, 7, 0, 0 + 0, 0, 0, 0, 255, 255, 255, 255, 0, 192, 26, 128, 154, 3, 0, 0, + 255, 255, 255, 1, 255, 255, 255, 63, 3, 0, 255, 255, 1, 0, 0, 0, + 255, 7, 0, 0 }; RE_UINT32 re_get_unified_ideograph(RE_UINT32 codepoint) { @@ -24411,25 +24878,25 @@ static RE_UINT8 re_uppercase_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 18, 41, 0, 42, 3, 3, 3, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 19, 0, 41, 3, 3, 3, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 44, 45, 0, 0, 0, 0, 46, 3, 47, 48, 49, 50, 51, + 0, 0, 3, 43, 44, 0, 0, 0, 0, 45, 3, 46, 47, 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 18, 52, 0, 0, 0, 26, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 51, 0, 0, 0, 26, 52, 0, 0, 0, 0, 53, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 18, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 56, 57, 58, 59, 60, 26, 61, 62, 63, 64, 65, 66, 55, 56, 57, - 58, 67, 25, 26, 61, 58, 68, 69, 70, 71, 40, 41, 26, 72, 73, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 18, 74, 0, 0, 0, 0, 0, 0, + 56, 57, 58, 59, 60, 61, 26, 62, 63, 64, 65, 66, 67, 56, 57, 58, + 59, 68, 25, 26, 62, 59, 69, 70, 71, 72, 40, 73, 26, 74, 75, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 75, 75, 61, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 77, 77, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -24444,15 +24911,16 @@ static RE_UINT8 re_uppercase_table_3[] = { 85, 85, 21, 64, 0, 255, 0, 63, 0, 255, 0, 255, 0, 63, 0, 170, 0, 255, 0, 0, 0, 0, 0, 15, 0, 15, 0, 15, 0, 31, 0, 15, 132, 56, 39, 62, 80, 61, 15, 192, 32, 0, 0, 0, 8, 0, 0, 0, - 0, 0, 192, 255, 255, 127, 0, 0, 157, 234, 37, 192, 5, 40, 4, 0, - 85, 21, 0, 0, 85, 85, 85, 5, 84, 85, 84, 85, 85, 85, 0, 106, - 85, 40, 69, 85, 85, 125, 95, 85, 244, 2, 0, 0, 0, 0, 32, 0, - 255, 0, 0, 0, 255, 255, 15, 0, 255, 255, 7, 0, 255, 255, 255, 3, - 0, 0, 240, 255, 255, 63, 0, 0, 0, 255, 255, 255, 3, 0, 0, 208, - 100, 222, 63, 0, 255, 3, 0, 0, 176, 231, 223, 31, 0, 0, 0, 123, - 95, 252, 1, 0, 0, 240, 255, 255, 63, 0, 0, 0, 3, 0, 0, 240, - 1, 0, 0, 0, 252, 255, 255, 7, 0, 0, 0, 240, 255, 255, 31, 0, - 255, 1, 0, 0, 0, 4, 0, 0, 3, 0, 0, 0, 255, 3, 255, 255 + 0, 0, 192, 255, 157, 234, 37, 192, 5, 40, 4, 0, 85, 21, 0, 0, + 85, 85, 85, 5, 84, 85, 84, 85, 85, 85, 0, 106, 85, 40, 69, 85, + 85, 125, 95, 85, 245, 2, 65, 1, 0, 0, 32, 0, 255, 0, 0, 0, + 255, 255, 15, 0, 0, 0, 255, 247, 255, 247, 55, 0, 255, 255, 7, 0, + 255, 255, 255, 3, 0, 0, 240, 255, 255, 63, 0, 0, 0, 255, 255, 255, + 3, 0, 0, 208, 100, 222, 63, 0, 255, 3, 0, 0, 176, 231, 223, 31, + 0, 0, 0, 123, 95, 252, 1, 0, 0, 240, 255, 255, 63, 0, 0, 0, + 3, 0, 0, 240, 1, 0, 0, 0, 252, 255, 255, 7, 0, 0, 0, 240, + 255, 255, 31, 0, 255, 127, 0, 0, 255, 1, 0, 0, 0, 4, 0, 0, + 3, 0, 0, 0, 255, 3, 255, 255 }; RE_UINT32 re_get_uppercase(RE_UINT32 codepoint) { @@ -24478,6 +24946,8 @@ RE_UINT32 re_get_uppercase(RE_UINT32 codepoint) { RE_UINT32 re_get_variation_selector(RE_UINT32 codepoint) { if (0x180B <= codepoint && codepoint <= 0x180D) return 1; + if (codepoint == 0x180F) + return 1; if (0xFE00 <= codepoint && codepoint <= 0xFE0F) return 1; if (0x0E0100 <= codepoint && codepoint <= 0x0E01EF) @@ -24599,17 +25069,17 @@ RE_UINT32 re_get_white_space(RE_UINT32 codepoint) { static RE_UINT8 re_word_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 15, 13, 16, 17, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 18, 10, 10, 10, 10, 10, 10, 10, 10, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 10, 10, 13, 31, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 15, 16, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 17, 10, 10, 10, 10, 10, 10, 10, 10, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 30, 13, 31, 10, 10, 10, 32, 10, 10, 10, 10, 10, 10, 10, 10, 33, 34, 13, 13, 13, 13, - 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 10, 37, 10, 10, 38, - 10, 10, 10, 10, 39, 40, 41, 10, 42, 10, 43, 44, 45, 10, 46, 10, + 13, 35, 13, 36, 10, 10, 10, 10, 10, 10, 10, 37, 38, 10, 10, 39, + 10, 10, 10, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 10, 50, 10, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 47, 13, 13, 13, 48, 49, 13, - 13, 13, 13, 50, 13, 13, 13, 13, 13, 13, 51, 10, 10, 10, 52, 10, - 13, 13, 13, 13, 53, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 51, 13, 13, 13, 52, 53, 13, + 13, 13, 13, 54, 13, 13, 13, 13, 13, 13, 55, 10, 10, 10, 56, 10, + 13, 13, 13, 13, 57, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -24653,7 +25123,7 @@ static RE_UINT8 re_word_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 54, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 58, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -24672,183 +25142,193 @@ static RE_UINT16 re_word_table_2[] = { 6, 6, 6, 6, 6, 6, 7, 8, 6, 6, 6, 9, 10, 11, 6, 12, 6, 6, 6, 6, 11, 6, 6, 6, 6, 13, 14, 6, 15, 16, 17, 18, 19, 6, 6, 20, 6, 6, 21, 22, 23, 6, 24, 6, 6, 25, 6, 26, - 6, 27, 28, 29, 0, 30, 31, 11, 6, 6, 6, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 42, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 52, 6, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 0, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 0, - 6, 6, 79, 6, 80, 6, 81, 82, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 83, 6, 84, 85, 86, 6, 87, 6, 88, 0, 89, 6, 6, 90, - 66, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 91, 3, 6, 6, 92, 93, 94, 95, 96, 6, 6, 97, 98, - 99, 6, 6, 100, 6, 101, 6, 102, 103, 104, 105, 106, 6, 107, 108, 0, - 28, 6, 103, 109, 108, 110, 111, 0, 6, 6, 112, 113, 6, 6, 6, 95, - 6, 114, 115, 80, 116, 88, 117, 67, 6, 6, 6, 6, 6, 6, 6, 118, - 6, 6, 6, 6, 6, 6, 6, 6, 90, 6, 119, 80, 6, 120, 121, 122, - 123, 124, 125, 126, 127, 0, 23, 128, 129, 130, 131, 6, 132, 0, 0, 0, + 6, 27, 28, 29, 30, 6, 6, 11, 6, 6, 6, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 41, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 51, 6, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 0, 68, 69, 70, 0, 71, 72, 73, 74, 75, 76, 77, 0, + 6, 6, 78, 6, 79, 6, 80, 81, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 82, 6, 83, 84, 85, 6, 86, 6, 87, 0, 88, 6, 6, 89, + 65, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 90, 3, 6, 6, 91, 92, 93, 94, 95, 6, 6, 96, 97, + 98, 6, 6, 99, 6, 29, 6, 100, 101, 102, 103, 104, 6, 105, 106, 0, + 28, 6, 101, 107, 106, 108, 109, 0, 6, 6, 110, 111, 6, 6, 6, 94, + 6, 112, 113, 79, 114, 87, 115, 66, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 89, 6, 116, 79, 6, 117, 118, 119, + 120, 121, 122, 123, 124, 0, 23, 125, 126, 127, 128, 6, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 133, 6, 98, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 130, 6, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 134, 103, 6, 6, 6, 6, 135, 6, 81, 6, 136, 137, 138, 138, 6, - 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 141, 66, 6, 142, 66, 6, 82, 143, 13, 6, 6, 144, 6, 0, 23, + 6, 6, 6, 6, 6, 6, 6, 131, 6, 80, 6, 132, 133, 134, 134, 6, + 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 136, 137, 65, 6, 138, 65, 6, 81, 139, 13, 6, 6, 109, 6, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 140, 0, 23, 79, 6, 6, 6, 6, 6, 6, 6, 6, + 141, 142, 6, 143, 6, 6, 6, 25, 144, 145, 6, 6, 146, 6, 147, 148, + 6, 149, 6, 94, 6, 6, 150, 151, 6, 152, 94, 76, 6, 6, 153, 101, + 6, 133, 154, 155, 6, 6, 156, 157, 158, 159, 81, 78, 6, 6, 6, 160, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 77, - 6, 6, 6, 6, 145, 0, 23, 80, 6, 6, 6, 6, 6, 6, 6, 6, - 146, 147, 6, 148, 6, 6, 6, 25, 149, 150, 6, 6, 151, 6, 152, 153, - 6, 154, 6, 95, 6, 6, 155, 156, 6, 157, 95, 77, 6, 6, 158, 103, - 6, 137, 159, 160, 6, 6, 161, 162, 163, 164, 82, 79, 6, 6, 6, 165, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 166, 167, 28, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 161, 162, 28, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 157, 6, 6, 168, 0, 169, 170, 171, 6, 6, 25, 172, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 80, 23, 6, 173, 6, 174, 175, - 89, 176, 177, 178, 6, 6, 6, 77, 1, 2, 3, 105, 6, 103, 179, 0, - 180, 181, 182, 0, 6, 6, 6, 67, 0, 0, 6, 94, 0, 0, 0, 183, - 0, 0, 0, 0, 77, 6, 128, 111, 6, 184, 101, 67, 80, 6, 185, 0, - 6, 6, 6, 6, 80, 79, 186, 28, 6, 187, 6, 188, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 137, 102, 174, 0, 0, 0, 0, - 189, 190, 102, 137, 103, 0, 0, 191, 102, 168, 0, 0, 6, 192, 0, 0, - 193, 194, 0, 77, 77, 0, 74, 195, 6, 102, 102, 196, 25, 0, 0, 0, - 6, 6, 132, 0, 6, 196, 6, 196, 6, 197, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 198, 0, 0, 77, 110, 128, 0, 0, 23, 199, 137, - 6, 6, 195, 200, 6, 67, 23, 201, 6, 30, 202, 203, 6, 6, 204, 0, - 205, 206, 0, 0, 207, 116, 6, 208, 33, 209, 210, 211, 0, 0, 0, 0, - 6, 6, 212, 213, 6, 6, 214, 0, 0, 0, 0, 0, 6, 215, 216, 0, - 6, 6, 217, 0, 6, 100, 98, 0, 88, 112, 0, 0, 0, 0, 0, 0, - 6, 67, 0, 0, 0, 6, 6, 218, 219, 220, 221, 0, 0, 222, 223, 224, - 6, 103, 110, 6, 225, 0, 6, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 226, 5, 227, 228, 173, 229, 0, 0, 230, 231, 197, 232, 233, 98, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 234, 0, 0, + 6, 6, 6, 152, 6, 6, 163, 0, 164, 165, 166, 6, 6, 25, 167, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 79, 23, 6, 168, 6, 169, 170, + 88, 171, 172, 173, 6, 6, 6, 76, 1, 2, 3, 103, 6, 101, 174, 0, + 175, 176, 177, 0, 6, 6, 6, 66, 0, 0, 6, 93, 0, 0, 0, 178, + 0, 0, 0, 0, 76, 6, 125, 179, 6, 180, 29, 66, 79, 6, 181, 0, + 6, 6, 6, 6, 79, 78, 182, 28, 6, 183, 6, 184, 185, 186, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 133, 100, 169, 187, 188, 0, 0, + 189, 190, 100, 133, 101, 0, 0, 191, 100, 163, 0, 0, 6, 192, 0, 0, + 193, 194, 0, 76, 76, 0, 73, 195, 6, 100, 100, 196, 25, 0, 0, 0, + 6, 6, 129, 0, 6, 196, 6, 196, 6, 197, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 198, 0, 0, 76, 108, 125, 23, 199, 23, 200, 133, + 6, 6, 195, 201, 6, 66, 202, 203, 6, 204, 205, 206, 6, 6, 207, 0, + 208, 209, 0, 0, 210, 114, 6, 211, 32, 212, 213, 214, 0, 0, 0, 0, + 6, 6, 215, 216, 6, 6, 217, 0, 0, 0, 0, 0, 6, 218, 219, 0, + 6, 6, 220, 0, 6, 99, 97, 0, 87, 221, 195, 0, 0, 0, 0, 0, + 6, 66, 0, 0, 0, 6, 6, 222, 223, 224, 225, 0, 0, 226, 227, 228, + 6, 101, 108, 6, 229, 23, 6, 99, 0, 0, 0, 0, 0, 0, 0, 0, + 230, 5, 231, 148, 168, 232, 0, 0, 233, 234, 197, 235, 236, 97, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 237, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 168, 0, 0, 0, - 6, 6, 6, 144, 6, 6, 6, 6, 6, 6, 188, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 163, 0, 0, 0, + 6, 6, 6, 109, 6, 6, 6, 6, 6, 6, 238, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 6, 125, + 6, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 100, 103, 98, 0, 0, 23, 106, 6, 137, 221, 235, 89, 0, 0, 0, + 6, 99, 101, 78, 6, 101, 78, 104, 6, 133, 225, 239, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 236, 6, 237, 0, 0, 238, + 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 240, 6, 241, 0, 0, 242, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 114, - 6, 6, 6, 6, 6, 6, 102, 0, 132, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 112, + 6, 6, 6, 6, 6, 6, 100, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 103, 0, 239, 202, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 244, 245, 205, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 28, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 240, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 246, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 152, 195, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 249, 250, 0, 0, + 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 204, 6, 252, 253, 254, 6, 255, 256, 257, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 258, 259, 81, 204, 204, 260, 260, 230, 230, 261, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 262, 6, 263, 264, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 243, 244, 0, 0, - 0, 0, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 30, 6, 246, 247, 248, 6, 249, 250, 251, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 252, 253, 82, 30, 30, 134, 134, 226, 226, 254, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, + 266, 267, 0, 0, 0, 0, 0, 0, 6, 268, 269, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 109, 6, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 255, 6, 256, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 259, 260, 0, 0, 0, 0, 0, 0, 6, 261, 262, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 263, 0, 6, 6, 112, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, + 6, 6, 6, 6, 6, 6, 271, 0, 6, 6, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 248, 264, 265, 266, 267, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 79, 79, 98, 0, 0, 0, + 254, 272, 273, 274, 275, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 78, 78, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 80, 0, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 94, 6, 6, 6, 6, 6, 6, - 80, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 99, 6, 6, 6, 6, 6, 6, + 79, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 269, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 277, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 111, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 179, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 89, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 278, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - -static RE_UINT8 re_word_table_3[] = { - 0, 0, 0, 0, 0, 0, 255, 3, 254, 255, 255, 135, 254, 255, 255, 7, - 0, 4, 32, 4, 255, 255, 127, 255, 255, 255, 255, 255, 195, 255, 3, 0, - 31, 80, 0, 0, 255, 255, 223, 188, 64, 215, 255, 255, 251, 255, 255, 255, - 255, 255, 191, 255, 255, 255, 254, 255, 255, 255, 127, 2, 255, 1, 254, 255, - 255, 255, 255, 191, 182, 0, 255, 255, 255, 135, 7, 0, 0, 0, 255, 7, - 255, 195, 255, 255, 255, 255, 239, 159, 255, 253, 255, 159, 0, 0, 255, 255, - 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 63, 36, 255, 63, 0, 0, - 255, 255, 255, 15, 255, 7, 0, 0, 255, 255, 223, 255, 255, 0, 248, 255, - 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, - 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, - 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, - 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 2, 0, - 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 0, 0, - 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, 207, 255, 0, 0, - 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 64, 207, 255, 6, 0, - 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, - 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, - 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, - 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, 255, 31, 254, 255, - 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 255, 3, 255, 255, - 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, - 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, - 255, 255, 255, 231, 255, 255, 0, 0, 255, 255, 63, 63, 255, 159, 255, 255, - 255, 199, 255, 1, 255, 223, 31, 0, 255, 255, 31, 0, 255, 255, 15, 0, - 255, 223, 13, 0, 255, 255, 143, 48, 255, 3, 0, 0, 0, 56, 255, 3, - 255, 255, 255, 1, 255, 7, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, - 255, 15, 255, 15, 192, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, - 255, 3, 255, 3, 255, 255, 255, 159, 128, 0, 255, 255, 1, 0, 0, 0, - 255, 15, 255, 3, 0, 248, 15, 0, 255, 255, 255, 0, 255, 227, 255, 255, - 255, 1, 255, 255, 0, 0, 247, 255, 255, 255, 255, 251, 63, 63, 255, 170, - 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 48, 0, 0, - 0, 0, 0, 128, 1, 0, 16, 0, 0, 0, 2, 128, 0, 0, 255, 31, - 255, 255, 1, 0, 132, 252, 47, 62, 80, 189, 255, 243, 224, 67, 0, 0, - 255, 1, 0, 0, 0, 0, 192, 255, 255, 127, 255, 255, 31, 248, 15, 0, + +static RE_UINT8 re_word_table_3[] = { + 0, 0, 0, 0, 0, 0, 255, 3, 254, 255, 255, 135, 254, 255, 255, 7, + 0, 4, 32, 4, 255, 255, 127, 255, 255, 255, 255, 255, 195, 255, 3, 0, + 31, 80, 0, 0, 255, 255, 223, 188, 64, 215, 255, 255, 251, 255, 255, 255, + 255, 255, 191, 255, 255, 255, 254, 255, 255, 255, 127, 2, 255, 1, 254, 255, + 255, 255, 255, 191, 182, 0, 255, 255, 255, 135, 7, 0, 0, 0, 255, 7, + 255, 195, 255, 255, 255, 255, 239, 159, 255, 253, 255, 159, 0, 0, 255, 255, + 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 63, 36, 255, 63, 0, 0, + 255, 255, 255, 15, 255, 7, 255, 255, 255, 126, 0, 255, 207, 255, 254, 255, + 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, 207, 255, 3, 80, + 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, 192, 255, 63, 0, + 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, 207, 255, 0, 254, + 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 2, 0, 236, 199, 61, 214, + 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 0, 0, 255, 223, 253, 255, + 255, 253, 255, 243, 223, 61, 96, 39, 207, 255, 0, 0, 239, 223, 253, 255, + 255, 253, 239, 243, 223, 61, 96, 96, 207, 255, 6, 0, 223, 125, 240, 128, + 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, 127, 132, 95, 255, + 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, 255, 127, 255, 3, + 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, 1, 0, 0, 3, + 255, 3, 160, 194, 255, 254, 255, 255, 255, 31, 254, 255, 223, 255, 255, 254, + 255, 255, 255, 31, 64, 0, 0, 0, 255, 3, 255, 255, 255, 255, 255, 63, + 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, 255, 61, 255, 255, + 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, 255, 255, 255, 231, + 255, 255, 0, 0, 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, + 255, 255, 63, 128, 255, 255, 31, 0, 255, 255, 15, 0, 255, 223, 13, 0, + 255, 255, 143, 48, 255, 3, 0, 0, 0, 184, 255, 3, 255, 255, 255, 1, + 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 15, 192, 255, 255, 255, + 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 3, 255, 255, 255, 159, + 128, 0, 255, 255, 255, 127, 0, 0, 255, 31, 255, 3, 0, 248, 15, 0, + 255, 255, 255, 0, 255, 227, 255, 255, 255, 1, 255, 255, 0, 0, 247, 255, + 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, + 0, 48, 0, 0, 0, 0, 0, 128, 1, 0, 16, 0, 0, 0, 2, 128, + 0, 0, 255, 31, 255, 255, 1, 0, 132, 252, 47, 62, 80, 189, 255, 243, + 224, 67, 0, 0, 255, 1, 0, 0, 0, 0, 192, 255, 31, 248, 15, 0, 255, 128, 0, 128, 255, 255, 127, 0, 127, 127, 127, 127, 0, 128, 0, 0, 224, 0, 0, 0, 254, 255, 62, 31, 255, 255, 127, 230, 224, 255, 255, 255, - 255, 127, 0, 0, 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, - 255, 255, 247, 191, 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, - 252, 7, 0, 0, 0, 0, 224, 255, 255, 16, 0, 0, 63, 0, 255, 3, - 255, 255, 255, 232, 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, - 255, 255, 127, 252, 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, - 0, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, - 255, 255, 24, 0, 0, 224, 0, 0, 0, 0, 223, 255, 252, 252, 252, 28, - 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, + 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, 255, 255, 247, 191, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 255, 16, 0, 0, 63, 0, 255, 3, 255, 255, 255, 232, + 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, 255, 255, 127, 252, + 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 3, + 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, + 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 15, 255, 255, 24, 0, + 0, 224, 0, 0, 0, 0, 223, 255, 252, 252, 252, 28, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, 1, 0, 0, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, - 15, 0, 0, 0, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, + 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, 191, 255, 255, 255, + 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 255, 255, 63, 135, 127, 0, 0, 0, - 255, 255, 7, 0, 255, 0, 255, 3, 255, 27, 3, 0, 31, 0, 0, 0, - 192, 255, 0, 128, 255, 1, 255, 3, 240, 0, 255, 255, 255, 255, 79, 0, - 31, 222, 255, 23, 255, 255, 251, 255, 255, 255, 255, 64, 127, 189, 255, 191, - 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, 207, 31, 31, 0, - 255, 7, 255, 195, 3, 0, 0, 0, 191, 0, 255, 3, 255, 255, 63, 255, - 1, 0, 0, 63, 17, 0, 255, 3, 255, 3, 0, 128, 127, 242, 111, 255, + 255, 255, 7, 0, 255, 0, 255, 3, 255, 27, 3, 0, 63, 0, 0, 0, + 31, 0, 0, 0, 192, 255, 63, 128, 4, 0, 255, 255, 255, 1, 255, 3, + 255, 255, 223, 255, 240, 0, 255, 255, 255, 255, 79, 0, 31, 222, 255, 23, + 255, 255, 251, 255, 255, 255, 255, 64, 127, 189, 255, 191, 255, 7, 255, 3, + 255, 253, 237, 251, 159, 57, 129, 224, 207, 31, 31, 0, 255, 7, 255, 195, + 3, 0, 0, 0, 191, 0, 255, 3, 255, 255, 63, 255, 1, 0, 0, 63, + 17, 0, 255, 3, 255, 15, 255, 3, 255, 3, 0, 128, 127, 242, 111, 255, 255, 255, 191, 249, 15, 0, 255, 3, 255, 252, 255, 255, 255, 255, 255, 252, 27, 0, 0, 0, 255, 255, 255, 35, 255, 253, 255, 255, 1, 0, 255, 3, - 0, 0, 252, 255, 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, - 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, 248, 255, 255, 224, - 255, 135, 255, 255, 255, 128, 255, 255, 27, 0, 3, 0, 0, 0, 7, 0, - 255, 7, 255, 31, 255, 1, 255, 99, 224, 227, 7, 248, 231, 15, 0, 0, - 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, - 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, - 63, 255, 255, 255, 253, 255, 255, 247, 247, 207, 255, 255, 255, 255, 127, 248, - 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, - 219, 7, 0, 0, 255, 31, 255, 63, 255, 67, 0, 0, 31, 0, 127, 0, + 255, 254, 127, 0, 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, + 255, 127, 251, 1, 0, 0, 1, 0, 15, 0, 0, 0, 248, 255, 255, 224, + 255, 135, 255, 255, 255, 128, 255, 255, 27, 0, 3, 0, 0, 0, 239, 111, + 7, 0, 0, 0, 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 99, + 224, 227, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, + 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, + 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, + 255, 127, 255, 255, 247, 207, 255, 255, 255, 255, 127, 248, 255, 31, 32, 0, + 16, 0, 0, 248, 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, + 255, 31, 255, 63, 255, 67, 0, 0, 127, 111, 255, 127, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, - 238, 251, 255, 15, 3, 0, 255, 255 + 238, 251, 255, 15, 3, 0, 255, 255, 255, 7, 0, 0 }; RE_UINT32 re_get_word(RE_UINT32 codepoint) { @@ -24876,10 +25356,10 @@ static RE_UINT8 re_word_break_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 13, 14, 15, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 16, 10, 10, 10, 10, 10, 10, 10, 10, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 10, 10, 13, 29, 10, 10, - 10, 30, 10, 10, 10, 10, 10, 10, 10, 10, 31, 32, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 33, 10, 10, 34, - 10, 10, 10, 10, 35, 36, 37, 10, 38, 10, 39, 40, 41, 10, 42, 10, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 10, 29, 13, 30, 10, 10, + 10, 31, 10, 10, 10, 10, 10, 10, 10, 10, 32, 33, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 34, 35, 10, 10, 36, + 10, 10, 10, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 10, 47, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -24928,7 +25408,7 @@ static RE_UINT8 re_word_break_table_1[] = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 43, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 48, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, @@ -24947,90 +25427,100 @@ static RE_UINT16 re_word_break_table_2[] = { 7, 7, 7, 7, 7, 7, 8, 7, 9, 9, 9, 10, 11, 12, 7, 13, 7, 7, 7, 7, 14, 7, 7, 7, 7, 15, 16, 7, 17, 18, 19, 20, 21, 7, 22, 23, 7, 7, 24, 25, 26, 27, 28, 7, 7, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 53, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 36, 79, 80, 36, 36, 81, 82, 36, 83, 84, 85, 86, 87, 88, 89, 36, - 36, 90, 91, 92, 93, 7, 94, 95, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 96, 7, 97, 98, 99, 7, 100, 7, 101, 36, 102, 7, 7, 103, + 32, 33, 34, 35, 36, 7, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 52, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 78, 78, 81, 82, 78, 83, 84, 85, 86, 87, 88, 89, 78, + 78, 90, 91, 92, 93, 7, 94, 95, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 96, 7, 97, 98, 99, 7, 100, 7, 101, 78, 102, 7, 7, 103, 104, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 105, 106, 7, 7, 107, 108, 109, 110, 111, 36, 112, 113, 114, - 115, 7, 7, 116, 117, 118, 7, 119, 120, 121, 62, 36, 36, 36, 122, 36, - 123, 36, 124, 125, 126, 127, 128, 36, 129, 130, 131, 132, 133, 134, 7, 135, - 7, 136, 137, 138, 139, 140, 141, 142, 7, 7, 7, 7, 7, 7, 9, 143, - 7, 7, 7, 7, 7, 7, 7, 7, 103, 7, 144, 138, 7, 145, 146, 147, - 148, 149, 150, 151, 152, 36, 127, 153, 154, 155, 156, 7, 157, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 158, 7, 159, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 160, 120, 7, 7, 7, 7, 161, 7, 94, 7, 162, 163, 164, 164, 9, - 36, 165, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 166, 167, 36, 36, 168, 169, 169, 170, 171, 15, 7, 7, 172, 7, 36, 173, - 36, 36, 36, 36, 36, 36, 173, 174, 169, 169, 175, 36, 36, 36, 36, 36, + 7, 7, 7, 105, 106, 7, 7, 107, 108, 109, 110, 111, 78, 112, 113, 114, + 115, 7, 7, 116, 117, 118, 7, 119, 120, 121, 61, 78, 78, 78, 122, 78, + 123, 78, 124, 125, 126, 127, 128, 78, 129, 130, 131, 132, 133, 134, 7, 135, + 7, 136, 137, 138, 139, 140, 141, 142, 7, 7, 7, 7, 7, 7, 9, 9, + 7, 7, 7, 7, 7, 7, 7, 7, 103, 7, 143, 138, 7, 144, 145, 146, + 147, 148, 149, 150, 151, 78, 127, 152, 153, 154, 155, 7, 156, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 157, 7, 158, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 7, 7, 7, 7, 7, 7, 7, 159, 7, 94, 7, 160, 161, 162, 162, 9, + 78, 163, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 164, 165, 78, 78, 166, 167, 167, 168, 169, 15, 7, 7, 170, 7, 78, 171, + 78, 78, 78, 78, 78, 78, 171, 172, 167, 167, 173, 78, 78, 78, 78, 78, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 176, 36, 177, 138, 7, 7, 7, 7, 7, 7, 7, 7, - 178, 179, 7, 180, 181, 7, 7, 182, 183, 7, 7, 7, 7, 7, 184, 185, - 186, 187, 7, 188, 189, 130, 190, 191, 30, 192, 193, 194, 40, 195, 196, 197, - 7, 198, 199, 200, 36, 201, 202, 203, 204, 205, 7, 206, 7, 7, 7, 207, + 7, 7, 7, 7, 174, 78, 175, 138, 7, 7, 7, 7, 7, 7, 7, 7, + 176, 177, 7, 178, 179, 7, 7, 180, 181, 7, 7, 7, 7, 7, 182, 183, + 184, 185, 7, 186, 187, 130, 188, 189, 30, 190, 191, 192, 39, 193, 194, 195, + 7, 196, 197, 198, 78, 199, 200, 201, 202, 203, 7, 204, 7, 7, 7, 205, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 208, 209, 210, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 211, 212, 213, 7, 7, 214, 215, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 138, 177, 7, 216, 7, 217, 218, - 219, 220, 221, 222, 7, 7, 7, 223, 224, 2, 3, 225, 226, 120, 227, 228, - 229, 230, 231, 36, 7, 7, 7, 232, 36, 36, 7, 233, 36, 36, 36, 234, - 36, 36, 36, 36, 194, 7, 235, 128, 7, 236, 237, 238, 138, 7, 239, 36, - 7, 7, 7, 7, 138, 240, 241, 210, 7, 242, 7, 243, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 163, 119, 217, 36, 36, 36, 36, - 244, 245, 119, 163, 120, 36, 36, 246, 119, 247, 36, 36, 7, 8, 36, 36, - 248, 249, 36, 194, 194, 36, 85, 250, 7, 119, 119, 251, 214, 36, 36, 36, - 7, 7, 157, 36, 7, 251, 7, 251, 7, 252, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 7, 253, 36, 36, 194, 254, 255, 36, 36, 177, 256, 163, - 133, 257, 258, 259, 133, 260, 261, 262, 133, 263, 264, 265, 133, 195, 266, 36, - 267, 268, 36, 36, 269, 139, 270, 271, 272, 273, 274, 275, 36, 36, 36, 36, - 7, 276, 277, 278, 7, 27, 279, 36, 36, 36, 36, 36, 7, 280, 281, 36, - 7, 27, 282, 36, 7, 283, 114, 36, 284, 285, 36, 36, 36, 36, 36, 36, - 7, 286, 36, 36, 36, 7, 7, 287, 288, 289, 290, 36, 36, 291, 292, 293, - 294, 295, 296, 7, 297, 36, 7, 116, 36, 36, 36, 36, 36, 36, 36, 36, - 298, 299, 300, 301, 302, 303, 36, 36, 304, 305, 306, 307, 308, 114, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 309, 36, 36, 36, 36, 36, 310, 36, 36, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 206, 207, 208, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 209, 210, 211, 7, 7, 212, 213, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 138, 175, 7, 214, 7, 215, 216, + 217, 218, 219, 220, 7, 7, 7, 221, 222, 2, 3, 223, 224, 120, 225, 226, + 227, 228, 229, 78, 7, 7, 7, 230, 78, 78, 7, 231, 78, 78, 78, 232, + 78, 78, 78, 78, 192, 7, 233, 234, 7, 235, 35, 236, 138, 7, 237, 78, + 7, 7, 7, 7, 138, 238, 239, 208, 7, 240, 7, 241, 242, 243, 78, 78, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 161, 119, 215, 244, 245, 78, 78, + 246, 247, 119, 161, 120, 78, 78, 248, 119, 249, 78, 78, 7, 8, 78, 78, + 250, 251, 78, 192, 192, 78, 85, 252, 7, 119, 119, 253, 212, 78, 78, 78, + 7, 7, 156, 78, 7, 253, 7, 253, 7, 254, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 7, 255, 78, 78, 192, 256, 257, 175, 258, 175, 259, 161, + 133, 260, 261, 262, 133, 263, 264, 265, 133, 266, 267, 268, 133, 193, 269, 78, + 270, 271, 78, 78, 272, 139, 273, 274, 275, 276, 277, 278, 78, 78, 78, 78, + 7, 279, 280, 281, 7, 27, 282, 78, 78, 78, 78, 78, 7, 283, 284, 78, + 7, 27, 285, 78, 7, 286, 114, 78, 287, 288, 78, 78, 78, 78, 78, 78, + 7, 289, 78, 78, 78, 7, 7, 290, 291, 292, 293, 78, 78, 294, 295, 296, + 297, 298, 299, 7, 300, 175, 7, 116, 78, 78, 78, 78, 78, 78, 78, 78, + 301, 302, 303, 183, 304, 305, 78, 78, 306, 307, 308, 309, 310, 114, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 311, 78, 78, 78, 78, 78, 312, 78, 78, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 247, 36, 36, 36, - 7, 7, 7, 172, 7, 7, 7, 7, 7, 7, 243, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 311, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 249, 78, 78, 78, + 7, 7, 7, 170, 7, 7, 7, 7, 7, 7, 313, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 175, 7, 7, 233, + 7, 314, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 312, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 7, 7, 315, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 116, 120, 114, 36, 36, 177, 313, 7, 314, 315, 316, 102, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 7, 7, 36, 36, 36, 36, 7, 7, 317, 9, 318, 36, 36, 319, - 320, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 321, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 322, 323, 324, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 325, 326, 327, 36, 36, - 36, 36, 328, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 37, 7, 329, 330, 331, 7, 332, 333, 334, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 335, 336, 95, 37, 37, 160, 160, 298, 298, 337, 338, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 9, 339, 9, 340, 341, 342, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 343, 344, 36, 36, 36, 36, 36, 36, 7, 345, 346, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 7, 347, 36, 36, 36, 36, 36, 36, 36, 36, - 7, 7, 7, 7, 7, 7, 348, 36, 7, 7, 349, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 331, 350, 351, 352, 353, 354, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 177, 206, 206, 159, 36, 36, 355, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 356, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 122, - 357, 9, 9, 9, 36, 36, 36, 36, 9, 9, 9, 9, 9, 9, 9, 358, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 + 7, 116, 120, 238, 7, 120, 238, 316, 7, 317, 318, 319, 102, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 7, 7, 78, 78, 78, 78, 7, 7, 320, 9, 321, 78, 78, 322, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 323, + 324, 78, 78, 78, 78, 78, 78, 78, 78, 325, 78, 326, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 7, 7, 7, 327, 328, 329, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 9, 330, 261, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 331, 332, 333, 78, 78, + 78, 78, 334, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 7, 7, 335, 7, 336, 337, 338, 7, 339, 340, 341, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 342, 343, 95, 335, 335, 344, 344, 301, 301, 345, 346, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 9, 347, 9, 348, 349, 350, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 120, 78, 78, 78, 78, 78, 78, 78, + 351, 352, 78, 78, 78, 78, 78, 78, 7, 353, 354, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 175, 355, 7, 356, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 357, + 7, 7, 7, 7, 7, 7, 358, 78, 7, 7, 359, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 338, 360, 361, 362, 363, 364, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 175, 204, 204, 158, 78, 78, 365, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 366, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 122, + 367, 9, 9, 9, 78, 78, 78, 78, 9, 9, 9, 9, 9, 9, 9, 368, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78 }; static RE_UINT8 re_word_break_table_3[] = { @@ -25105,13 +25595,11 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 0, + 13, 13, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25163,9 +25651,9 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 11, 14, 14, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 14, 11, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 0, 14, 14, 14, 14, 0, 0, - 0, 0, 0, 0, 0, 14, 14, 0, 11, 11, 11, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 14, 14, 0, 11, 11, 11, 0, 0, 11, 0, 0, 11, 11, 14, 14, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 14, 14, 14, 0, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, @@ -25173,7 +25661,7 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 0, 0, 14, 11, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 0, 14, 14, 14, 14, 0, 0, - 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 11, 11, 0, 11, 11, 14, 14, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, @@ -25193,6 +25681,8 @@ static RE_UINT8 re_word_break_table_3[] = { 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, @@ -25250,8 +25740,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, - 11, 11, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25264,7 +25754,7 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, 14, 14, 14, 13, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 13, 14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, @@ -25290,13 +25780,13 @@ static RE_UINT8 re_word_break_table_3[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -25320,8 +25810,6 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 11, 11, 11, 14, 11, 11, 11, 11, 11, 11, 14, 11, 11, 14, 14, 14, 11, 0, 0, 0, 0, 0, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 0, 0, 11, 11, 11, 11, 11, 11, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 0, 11, 0, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25354,8 +25842,6 @@ static RE_UINT8 re_word_break_table_3[] = { 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 14, 14, 14, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 11, @@ -25402,10 +25888,10 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, + 11, 11, 0, 11, 0, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 11, 11, 11, 14, 11, 11, 11, 11, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 0, 0, 0, 0, 14, 0, 0, 0, @@ -25506,10 +25992,10 @@ static RE_UINT8 re_word_break_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 11, 11, 11, 11, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25521,7 +26007,15 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, + 11, 11, 11, 0, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 0, 0, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25546,6 +26040,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -25553,10 +26049,10 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 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, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, + 14, 11, 11, 14, 14, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 13, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, @@ -25636,8 +26132,6 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 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, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, @@ -25656,6 +26150,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -25674,8 +26170,12 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, @@ -25684,6 +26184,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 14, 14, 0, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, @@ -25693,6 +26195,8 @@ static RE_UINT8 re_word_break_table_3[] = { 0, 0, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 0, 0, 11, 0, 0, 11, 11, 0, 0, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 0, 11, 11, 11, @@ -25708,6 +26212,8 @@ static RE_UINT8 re_word_break_table_3[] = { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -25728,8 +26234,12 @@ static RE_UINT8 re_word_break_table_3[] = { 14, 14, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 14, 14, 14, 14, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 0, 11, 11, 0, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 11, 0, 0, 0, 0, @@ -25881,7 +26391,7 @@ static RE_UINT8 re_xdigit_table_2[] = { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, @@ -25921,17 +26431,17 @@ RE_UINT32 re_get_xdigit(RE_UINT32 codepoint) { static RE_UINT8 re_xid_continue_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 14, 12, 15, 16, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 17, 9, 9, 9, 9, 9, 9, 9, 9, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 9, 9, 12, 30, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 15, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 16, 9, 9, 9, 9, 9, 9, 9, 9, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 9, 29, 12, 30, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 12, 12, 12, 12, - 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 9, 36, 9, 9, 37, - 9, 9, 9, 9, 38, 39, 40, 9, 41, 9, 42, 43, 9, 9, 44, 9, + 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 36, 37, 9, 9, 38, + 9, 9, 9, 39, 40, 41, 42, 43, 44, 45, 46, 47, 9, 9, 48, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 45, 12, 12, 12, 46, 47, 12, - 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 49, 9, 9, 9, 50, 9, - 12, 12, 12, 12, 51, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 49, 12, 12, 12, 50, 51, 12, + 12, 12, 12, 52, 12, 12, 12, 12, 12, 12, 53, 9, 9, 9, 54, 9, + 12, 12, 12, 12, 55, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -25975,7 +26485,7 @@ static RE_UINT8 re_xid_continue_table_1[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 52, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 56, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -25994,107 +26504,115 @@ static RE_UINT16 re_xid_continue_table_2[] = { 6, 6, 6, 6, 6, 6, 7, 8, 6, 6, 6, 9, 10, 11, 6, 12, 6, 6, 6, 6, 13, 6, 6, 6, 6, 14, 15, 6, 16, 17, 18, 19, 20, 6, 6, 21, 6, 6, 22, 23, 24, 6, 25, 6, 6, 26, 6, 27, - 6, 28, 29, 30, 0, 31, 32, 11, 6, 6, 6, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 43, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 53, 6, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 0, 70, 71, 72, 0, 73, 74, 75, 76, 77, 78, 79, 0, - 6, 6, 80, 6, 81, 6, 82, 83, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 84, 6, 85, 86, 87, 6, 88, 6, 89, 90, 91, 6, 6, 92, - 67, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 93, 3, 6, 6, 94, 95, 96, 97, 98, 6, 6, 99, 100, - 101, 6, 6, 102, 6, 103, 6, 104, 105, 106, 107, 108, 6, 109, 110, 0, - 29, 6, 105, 111, 112, 113, 114, 0, 6, 6, 115, 116, 6, 6, 6, 97, - 6, 117, 118, 81, 119, 89, 120, 68, 6, 6, 6, 6, 6, 6, 6, 121, - 6, 6, 6, 6, 6, 6, 6, 6, 92, 6, 122, 81, 6, 123, 124, 125, - 0, 126, 127, 128, 129, 0, 129, 130, 131, 132, 133, 6, 134, 0, 0, 0, + 6, 28, 29, 30, 31, 6, 6, 11, 6, 6, 6, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 42, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 52, 6, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 0, 69, 70, 71, 0, 72, 73, 74, 75, 76, 77, 78, 0, + 6, 6, 79, 6, 80, 6, 81, 82, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 83, 6, 84, 85, 86, 6, 87, 6, 88, 89, 90, 6, 6, 91, + 66, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 92, 3, 6, 6, 93, 94, 95, 96, 97, 6, 6, 98, 99, + 100, 6, 6, 101, 6, 30, 6, 102, 103, 104, 105, 106, 6, 107, 108, 0, + 29, 6, 103, 109, 110, 111, 112, 0, 6, 6, 113, 114, 6, 6, 6, 96, + 6, 115, 116, 80, 117, 88, 118, 67, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 91, 6, 119, 80, 6, 120, 121, 122, + 0, 123, 124, 125, 126, 0, 126, 127, 128, 129, 130, 6, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 135, 105, 6, 6, 6, 6, 136, 6, 82, 6, 137, 138, 139, 139, 6, + 6, 6, 6, 6, 6, 6, 6, 132, 6, 81, 6, 133, 134, 135, 135, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 141, 67, 6, 142, 67, 6, 83, 143, 14, 6, 6, 144, 6, 0, 24, + 136, 137, 66, 6, 138, 66, 6, 82, 139, 14, 6, 6, 112, 6, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 140, 0, 24, 80, 6, 6, 6, 6, 6, 6, 6, 6, + 141, 142, 6, 143, 6, 6, 6, 26, 144, 145, 6, 6, 146, 6, 147, 148, + 6, 149, 6, 96, 6, 6, 150, 151, 6, 152, 96, 77, 6, 6, 153, 103, + 6, 134, 154, 155, 6, 6, 156, 157, 158, 159, 82, 79, 6, 6, 6, 160, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 78, - 6, 6, 6, 6, 145, 0, 24, 81, 6, 6, 6, 6, 6, 6, 6, 6, - 146, 147, 6, 148, 6, 6, 6, 26, 149, 150, 6, 6, 151, 6, 152, 153, - 6, 154, 6, 97, 6, 6, 155, 156, 6, 157, 97, 78, 6, 6, 158, 105, - 6, 138, 159, 160, 6, 6, 161, 162, 163, 164, 83, 80, 6, 6, 6, 165, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 166, 167, 29, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 161, 162, 29, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 157, 6, 6, 168, 0, 169, 170, 171, 6, 6, 26, 172, 6, - 6, 6, 81, 173, 6, 6, 6, 6, 6, 81, 24, 6, 174, 6, 175, 1, - 91, 176, 177, 178, 6, 6, 6, 78, 1, 2, 3, 107, 6, 105, 179, 0, - 180, 181, 182, 0, 6, 6, 6, 68, 0, 0, 6, 96, 0, 0, 0, 183, - 0, 0, 0, 0, 78, 6, 184, 114, 6, 185, 103, 68, 81, 6, 186, 0, - 6, 6, 6, 6, 81, 80, 187, 29, 6, 188, 6, 189, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 138, 104, 175, 0, 0, 0, 0, - 190, 191, 104, 138, 105, 0, 0, 192, 104, 168, 0, 0, 6, 193, 0, 0, - 194, 195, 0, 78, 78, 0, 75, 196, 6, 104, 104, 197, 26, 0, 0, 0, - 6, 6, 134, 0, 6, 197, 6, 197, 6, 198, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 199, 0, 0, 78, 200, 184, 0, 0, 24, 201, 138, - 6, 6, 196, 202, 6, 68, 24, 203, 6, 31, 204, 205, 6, 6, 206, 0, - 207, 208, 0, 0, 209, 119, 6, 210, 34, 211, 212, 213, 0, 0, 0, 0, - 6, 6, 214, 215, 6, 6, 216, 0, 0, 0, 0, 0, 6, 217, 218, 0, - 6, 6, 219, 0, 6, 102, 100, 0, 89, 115, 0, 0, 0, 0, 0, 0, - 6, 68, 0, 0, 0, 6, 6, 220, 221, 222, 223, 0, 0, 224, 225, 226, - 6, 105, 200, 6, 227, 0, 6, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 5, 229, 230, 174, 231, 0, 0, 232, 233, 198, 234, 235, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 236, 0, 0, + 6, 6, 6, 152, 6, 6, 163, 0, 164, 165, 166, 6, 6, 26, 167, 6, + 6, 6, 80, 168, 6, 6, 6, 6, 6, 80, 24, 6, 169, 6, 170, 1, + 90, 171, 172, 173, 6, 6, 6, 77, 1, 2, 3, 105, 6, 103, 174, 0, + 175, 176, 177, 0, 6, 6, 6, 67, 0, 0, 6, 95, 0, 0, 0, 178, + 0, 0, 0, 0, 77, 6, 179, 180, 6, 181, 30, 67, 80, 6, 182, 0, + 6, 6, 6, 6, 80, 79, 183, 29, 6, 184, 6, 185, 186, 187, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 134, 102, 170, 188, 189, 0, 0, + 190, 191, 102, 134, 103, 0, 0, 192, 102, 163, 0, 0, 6, 193, 0, 0, + 194, 195, 0, 77, 77, 0, 74, 196, 6, 102, 102, 197, 26, 0, 0, 0, + 6, 6, 131, 0, 6, 197, 6, 197, 6, 198, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 199, 0, 0, 77, 200, 179, 24, 201, 24, 202, 134, + 6, 6, 196, 203, 6, 67, 204, 205, 6, 206, 207, 208, 6, 6, 209, 0, + 210, 211, 0, 0, 212, 117, 6, 213, 33, 214, 215, 216, 0, 0, 0, 0, + 6, 6, 217, 218, 6, 6, 219, 0, 0, 0, 0, 0, 6, 220, 221, 0, + 6, 6, 222, 0, 6, 101, 99, 0, 88, 223, 196, 0, 0, 0, 0, 0, + 6, 67, 0, 0, 0, 6, 6, 224, 225, 226, 227, 0, 0, 228, 229, 230, + 6, 103, 200, 6, 231, 24, 6, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 232, 5, 233, 148, 169, 234, 0, 0, 235, 236, 198, 237, 238, 99, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 239, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 168, 0, 0, 0, - 6, 6, 6, 144, 6, 6, 6, 6, 6, 6, 189, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 163, 0, 0, 0, + 6, 6, 6, 112, 6, 6, 6, 6, 6, 6, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 6, 179, + 6, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 102, 105, 100, 0, 0, 24, 108, 6, 138, 223, 237, 91, 0, 0, 0, + 6, 101, 103, 79, 6, 103, 79, 106, 6, 134, 227, 241, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 238, 6, 239, 0, 0, 240, + 0, 0, 6, 6, 0, 0, 0, 0, 6, 6, 242, 6, 243, 0, 0, 244, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 117, - 6, 6, 6, 6, 6, 6, 104, 0, 134, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 115, + 6, 6, 6, 6, 6, 6, 102, 0, 131, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 105, 0, 241, 204, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 246, 247, 207, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 242, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 248, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 152, 196, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 251, 252, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 206, 6, 254, 255, 256, 6, 257, 258, 259, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 260, 261, 82, 206, 206, 262, 262, 232, 232, 263, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 245, 246, 0, 0, - 0, 0, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 31, 6, 248, 249, 250, 6, 251, 252, 253, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 254, 255, 83, 31, 31, 135, 135, 228, 228, 256, 6, + 6, 264, 6, 265, 266, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 257, 6, 258, 259, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 261, 262, 0, 0, 0, 0, 0, 0, 6, 263, 264, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 168, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 265, 0, 6, 6, 115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, + 268, 269, 0, 0, 0, 0, 0, 0, 6, 270, 271, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 112, 6, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, + 6, 6, 6, 6, 6, 6, 273, 0, 6, 6, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 250, 266, 267, 268, 269, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 256, 274, 275, 276, 277, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 81, 0, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 96, 6, 6, 6, 6, 6, 6, - 81, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 101, 6, 6, 6, 6, 6, 6, + 80, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 271, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 279, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 114, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 180, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 30, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 91, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 280, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -26106,67 +26624,70 @@ static RE_UINT8 re_xid_continue_table_3[] = { 255, 1, 254, 255, 255, 255, 255, 191, 182, 0, 255, 255, 255, 135, 7, 0, 0, 0, 255, 7, 255, 195, 255, 255, 255, 255, 239, 159, 255, 253, 255, 159, 0, 0, 255, 255, 255, 231, 255, 255, 255, 255, 3, 0, 255, 255, 63, 36, - 255, 63, 0, 0, 255, 255, 255, 15, 255, 7, 0, 0, 255, 255, 223, 255, - 255, 0, 248, 255, 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, - 159, 121, 128, 176, 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, - 135, 57, 2, 94, 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, - 191, 59, 1, 0, 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, - 207, 255, 2, 0, 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, - 192, 255, 0, 0, 255, 223, 253, 255, 255, 253, 255, 227, 223, 61, 96, 7, - 207, 255, 0, 0, 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 64, - 207, 255, 6, 0, 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, - 255, 255, 251, 47, 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, - 255, 255, 255, 7, 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, - 95, 63, 255, 243, 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, - 255, 31, 254, 255, 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, - 255, 3, 255, 255, 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, - 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, - 255, 255, 61, 255, 255, 255, 255, 231, 0, 254, 3, 0, 255, 255, 0, 0, - 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, 255, 223, 31, 0, - 255, 255, 31, 0, 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 143, 48, - 255, 3, 0, 0, 0, 56, 255, 3, 255, 255, 255, 1, 255, 7, 255, 255, - 255, 255, 63, 0, 255, 255, 255, 127, 255, 15, 255, 15, 192, 255, 255, 255, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 255, 7, 255, 255, 255, 159, - 255, 3, 255, 3, 128, 0, 255, 191, 1, 0, 0, 0, 255, 15, 255, 3, - 0, 248, 15, 0, 255, 255, 255, 0, 255, 227, 255, 255, 255, 1, 255, 255, - 0, 0, 247, 255, 255, 255, 255, 251, 63, 63, 255, 170, 255, 255, 223, 95, - 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 0, 128, 1, 0, 16, 0, - 0, 0, 2, 128, 0, 0, 255, 31, 226, 255, 1, 0, 132, 252, 47, 63, - 80, 253, 255, 243, 224, 67, 0, 0, 255, 1, 0, 0, 255, 127, 255, 255, + 255, 63, 0, 0, 255, 255, 255, 15, 255, 7, 255, 255, 255, 126, 0, 255, + 207, 255, 254, 255, 239, 159, 249, 255, 255, 253, 197, 243, 159, 121, 128, 176, + 207, 255, 3, 80, 238, 135, 249, 255, 255, 253, 109, 211, 135, 57, 2, 94, + 192, 255, 63, 0, 238, 191, 251, 255, 255, 253, 237, 243, 191, 59, 1, 0, + 207, 255, 0, 254, 238, 159, 249, 255, 159, 57, 224, 176, 207, 255, 2, 0, + 236, 199, 61, 214, 24, 199, 255, 195, 199, 61, 129, 0, 192, 255, 0, 0, + 255, 223, 253, 255, 255, 253, 255, 243, 223, 61, 96, 39, 207, 255, 0, 0, + 239, 223, 253, 255, 255, 253, 239, 243, 223, 61, 96, 96, 207, 255, 6, 0, + 223, 125, 240, 128, 207, 255, 0, 252, 238, 255, 127, 252, 255, 255, 251, 47, + 127, 132, 95, 255, 192, 255, 12, 0, 254, 255, 255, 255, 255, 255, 255, 7, + 255, 127, 255, 3, 214, 247, 255, 255, 175, 255, 255, 63, 95, 63, 255, 243, + 1, 0, 0, 3, 255, 3, 160, 194, 255, 254, 255, 255, 255, 31, 254, 255, + 223, 255, 255, 254, 255, 255, 255, 31, 64, 0, 0, 0, 255, 3, 255, 255, + 255, 255, 255, 63, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, + 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, + 255, 255, 255, 231, 0, 254, 3, 0, 255, 255, 0, 0, 255, 255, 63, 63, + 255, 159, 255, 255, 255, 199, 255, 1, 255, 255, 63, 128, 255, 255, 31, 0, + 255, 255, 15, 0, 255, 223, 13, 0, 255, 255, 143, 48, 255, 3, 0, 0, + 0, 184, 255, 3, 255, 255, 255, 1, 255, 255, 63, 0, 255, 255, 255, 127, + 255, 15, 255, 15, 192, 255, 255, 255, 255, 63, 31, 0, 255, 15, 255, 255, + 255, 3, 255, 7, 255, 255, 255, 159, 255, 3, 255, 3, 128, 0, 255, 191, + 255, 127, 0, 0, 255, 31, 255, 3, 0, 248, 15, 0, 255, 255, 255, 0, + 255, 227, 255, 255, 255, 1, 255, 255, 0, 0, 247, 255, 63, 63, 255, 170, + 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 0, 128, + 1, 0, 16, 0, 0, 0, 2, 128, 0, 0, 255, 31, 226, 255, 1, 0, + 132, 252, 47, 63, 80, 253, 255, 243, 224, 67, 0, 0, 255, 1, 0, 0, 31, 248, 15, 0, 255, 128, 0, 128, 255, 255, 127, 0, 127, 127, 127, 127, 224, 0, 0, 0, 254, 255, 62, 31, 255, 255, 127, 230, 224, 255, 255, 255, - 255, 127, 0, 0, 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, - 255, 255, 240, 191, 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, - 252, 7, 0, 0, 0, 0, 224, 255, 255, 16, 0, 0, 63, 0, 255, 3, - 255, 255, 255, 232, 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, - 255, 255, 127, 252, 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 3, 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, - 0, 0, 248, 255, 240, 255, 255, 255, 255, 255, 252, 255, 255, 0, 0, 0, - 255, 255, 24, 0, 0, 224, 0, 0, 0, 0, 138, 170, 252, 252, 252, 28, - 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, - 255, 255, 1, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, - 255, 0, 255, 255, 15, 0, 0, 0, 63, 253, 255, 255, 255, 255, 191, 145, + 255, 31, 0, 0, 255, 31, 255, 255, 255, 15, 0, 0, 255, 255, 240, 191, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 255, 16, 0, 0, 63, 0, 255, 3, 255, 255, 255, 232, + 255, 63, 255, 255, 1, 128, 255, 3, 255, 63, 255, 3, 255, 255, 127, 252, + 7, 0, 0, 56, 255, 255, 124, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 55, 255, 3, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 3, + 127, 0, 248, 224, 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, + 240, 255, 255, 255, 255, 255, 252, 255, 255, 0, 0, 0, 255, 255, 24, 0, + 0, 224, 0, 0, 0, 0, 138, 170, 252, 252, 252, 28, 255, 239, 255, 255, + 127, 255, 255, 183, 255, 63, 255, 63, 0, 0, 0, 32, 255, 255, 1, 0, + 1, 0, 0, 0, 0, 224, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, + 255, 0, 255, 255, 15, 0, 255, 247, 255, 247, 183, 255, 251, 255, 251, 27, + 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 111, 240, 239, 254, 255, 255, 63, 135, 127, 0, 0, 0, 255, 255, 7, 0, 255, 0, 255, 3, 255, 27, 3, 0, - 128, 0, 255, 255, 31, 0, 0, 0, 192, 255, 0, 128, 255, 1, 255, 3, - 240, 0, 255, 255, 255, 255, 79, 0, 31, 222, 255, 23, 255, 255, 251, 255, - 255, 255, 255, 64, 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, - 159, 57, 129, 224, 207, 31, 31, 0, 255, 7, 255, 195, 3, 0, 0, 0, - 191, 0, 255, 3, 255, 255, 63, 255, 1, 0, 0, 63, 17, 0, 255, 3, + 128, 0, 255, 255, 63, 0, 0, 0, 31, 0, 0, 0, 192, 255, 63, 128, + 4, 0, 255, 255, 255, 1, 255, 3, 255, 255, 223, 255, 240, 0, 255, 255, + 255, 255, 79, 0, 31, 222, 255, 23, 255, 255, 251, 255, 255, 255, 255, 64, + 127, 189, 255, 191, 255, 7, 255, 3, 255, 253, 237, 251, 159, 57, 129, 224, + 207, 31, 31, 0, 255, 7, 255, 195, 3, 0, 0, 0, 191, 0, 255, 3, + 255, 255, 63, 255, 1, 0, 0, 63, 17, 0, 255, 3, 255, 15, 255, 3, 255, 3, 0, 128, 127, 242, 111, 255, 255, 255, 191, 249, 15, 0, 255, 3, 255, 252, 255, 255, 255, 255, 255, 252, 27, 0, 0, 0, 255, 255, 255, 35, - 255, 253, 255, 255, 1, 0, 255, 3, 0, 0, 252, 255, 255, 254, 127, 0, - 127, 251, 255, 255, 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, - 0, 0, 1, 0, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, - 27, 0, 3, 0, 0, 0, 7, 0, 255, 7, 255, 31, 255, 1, 255, 99, - 224, 227, 7, 248, 231, 15, 0, 0, 0, 60, 0, 0, 28, 0, 0, 0, - 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, - 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, - 247, 207, 255, 255, 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, - 254, 255, 0, 0, 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, - 255, 67, 0, 0, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, - 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 + 255, 253, 255, 255, 1, 0, 255, 3, 255, 254, 127, 0, 127, 251, 255, 255, + 255, 255, 127, 180, 191, 253, 255, 255, 255, 127, 251, 1, 0, 0, 1, 0, + 15, 0, 0, 0, 248, 255, 255, 224, 255, 135, 255, 255, 255, 128, 255, 255, + 27, 0, 3, 0, 0, 0, 239, 111, 7, 0, 0, 0, 0, 0, 7, 0, + 255, 7, 255, 31, 255, 1, 255, 99, 224, 227, 7, 248, 231, 15, 0, 0, + 0, 60, 0, 0, 28, 0, 0, 0, 255, 255, 255, 223, 100, 222, 255, 235, + 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, + 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, 247, 207, 255, 255, + 255, 255, 127, 248, 255, 31, 32, 0, 16, 0, 0, 248, 254, 255, 0, 0, + 127, 255, 255, 249, 219, 7, 0, 0, 255, 31, 255, 63, 255, 67, 0, 0, + 127, 111, 255, 127, 31, 0, 127, 0, 150, 254, 247, 10, 132, 234, 150, 170, + 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255, + 255, 7, 0, 0 }; RE_UINT32 re_get_xid_continue(RE_UINT32 codepoint) { @@ -26192,17 +26713,17 @@ RE_UINT32 re_get_xid_continue(RE_UINT32 codepoint) { static RE_UINT8 re_xid_start_table_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 12, 12, 12, 12, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 14, 12, 15, 16, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 17, 9, 9, 9, 9, 9, 9, 9, 9, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 9, 9, 12, 30, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 15, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 16, 9, 9, 9, 9, 9, 9, 9, 9, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 9, 29, 12, 30, 9, 9, 9, 31, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 12, 12, 12, 12, - 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 9, 36, 9, 9, 37, - 9, 9, 9, 9, 9, 38, 9, 9, 39, 9, 40, 41, 9, 9, 9, 9, + 12, 34, 12, 35, 9, 9, 9, 9, 9, 9, 9, 36, 37, 9, 9, 38, + 9, 9, 9, 9, 9, 39, 9, 40, 41, 42, 43, 44, 9, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 42, 12, 12, 12, 43, 44, 12, - 12, 12, 12, 45, 12, 12, 12, 12, 12, 12, 46, 9, 9, 9, 47, 9, - 12, 12, 12, 12, 48, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 45, 12, 12, 12, 46, 47, 12, + 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, 49, 9, 9, 9, 50, 9, + 12, 12, 12, 12, 51, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -26265,96 +26786,102 @@ static RE_UINT8 re_xid_start_table_2[] = { 4, 4, 4, 4, 4, 4, 5, 6, 0, 0, 0, 7, 8, 9, 4, 10, 4, 4, 4, 4, 11, 4, 4, 4, 4, 12, 13, 4, 14, 0, 15, 16, 0, 4, 17, 18, 4, 4, 19, 20, 21, 22, 23, 4, 4, 24, 25, 26, - 27, 28, 29, 17, 0, 30, 31, 0, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 45, 49, 50, 51, 52, 46, 0, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 0, - 68, 69, 67, 0, 70, 71, 72, 0, 73, 0, 74, 75, 76, 0, 0, 0, - 4, 77, 78, 79, 80, 4, 81, 82, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 83, 4, 84, 85, 86, 4, 87, 4, 88, 0, 22, 4, 4, 89, - 68, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 90, 1, 4, 4, 91, 92, 93, 93, 94, 4, 95, 96, 0, - 0, 4, 4, 29, 4, 97, 4, 98, 99, 0, 15, 100, 4, 101, 102, 0, - 103, 4, 104, 0, 0, 105, 0, 0, 106, 95, 107, 0, 108, 109, 4, 110, + 27, 28, 29, 30, 31, 4, 32, 0, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 46, 50, 51, 52, 53, 47, 0, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, + 69, 70, 68, 0, 71, 72, 73, 0, 74, 0, 75, 76, 77, 0, 0, 0, + 4, 78, 79, 80, 81, 4, 82, 83, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 84, 4, 85, 86, 87, 4, 88, 4, 89, 0, 22, 4, 4, 90, + 69, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 91, 1, 4, 4, 92, 93, 94, 94, 95, 4, 96, 97, 0, + 0, 4, 4, 29, 4, 98, 4, 99, 100, 0, 15, 101, 4, 102, 32, 0, + 103, 4, 104, 0, 0, 105, 0, 0, 106, 96, 107, 0, 108, 109, 4, 110, 4, 111, 112, 113, 114, 115, 0, 116, 4, 4, 4, 4, 4, 4, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 89, 4, 117, 113, 4, 118, 119, 120, + 4, 4, 4, 4, 4, 4, 4, 4, 90, 4, 117, 113, 4, 118, 119, 120, 0, 0, 0, 121, 122, 0, 0, 0, 123, 124, 125, 4, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 126, 99, 4, 4, 4, 4, 127, 4, 81, 4, 128, 103, 129, 129, 0, + 4, 4, 4, 4, 4, 4, 4, 126, 4, 82, 4, 127, 103, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 130, 131, 68, 4, 132, 68, 4, 82, 106, 12, 4, 4, 133, 4, 0, 15, + 129, 130, 69, 4, 131, 69, 4, 83, 106, 12, 4, 4, 132, 4, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 76, 0, 15, 113, 4, 4, 4, 4, 4, 4, 4, 4, + 133, 134, 4, 135, 113, 4, 4, 22, 136, 137, 4, 4, 138, 4, 139, 140, + 141, 142, 4, 96, 137, 96, 0, 143, 25, 144, 68, 145, 33, 146, 147, 148, + 4, 14, 149, 150, 4, 151, 152, 153, 154, 155, 83, 156, 4, 4, 4, 142, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 134, - 4, 4, 4, 4, 75, 0, 15, 113, 4, 4, 4, 4, 4, 4, 4, 4, - 135, 136, 4, 137, 113, 4, 4, 22, 138, 139, 4, 4, 140, 4, 141, 142, - 143, 144, 4, 95, 139, 95, 0, 145, 25, 146, 67, 134, 32, 147, 148, 149, - 4, 14, 150, 151, 4, 152, 153, 154, 155, 156, 82, 157, 4, 4, 4, 144, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 158, 159, 160, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 157, 158, 159, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 161, 4, 4, 162, 0, 163, 164, 165, 4, 4, 93, 166, 4, - 4, 4, 113, 32, 4, 4, 4, 4, 4, 113, 15, 4, 167, 4, 31, 168, - 0, 0, 0, 169, 4, 4, 4, 134, 0, 1, 1, 170, 113, 99, 171, 0, - 172, 173, 174, 0, 4, 4, 4, 88, 0, 0, 4, 104, 0, 0, 0, 0, - 0, 0, 0, 0, 134, 4, 175, 0, 4, 23, 176, 98, 113, 4, 177, 0, - 4, 4, 4, 4, 113, 15, 178, 160, 4, 179, 4, 111, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 103, 98, 31, 0, 0, 0, 0, - 180, 181, 98, 103, 99, 0, 0, 182, 98, 162, 0, 0, 4, 183, 0, 0, - 184, 98, 0, 134, 134, 0, 74, 185, 4, 98, 98, 147, 93, 0, 0, 0, - 4, 4, 14, 0, 4, 147, 4, 147, 4, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 186, 0, 0, 134, 187, 110, 0, 0, 15, 185, 103, - 108, 188, 0, 0, 108, 22, 15, 14, 108, 67, 189, 190, 108, 147, 191, 0, - 192, 193, 0, 0, 194, 114, 99, 0, 48, 45, 195, 56, 0, 0, 0, 0, - 4, 104, 196, 56, 4, 22, 197, 0, 0, 0, 0, 0, 4, 133, 198, 0, - 4, 22, 199, 0, 4, 200, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, - 4, 193, 0, 0, 0, 4, 4, 201, 202, 203, 204, 0, 0, 205, 175, 206, - 207, 208, 209, 4, 210, 0, 4, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 133, 73, 212, 22, 0, 0, 0, 213, 175, 214, 215, 216, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 46, 0, 0, + 4, 4, 4, 160, 4, 4, 161, 0, 162, 163, 164, 4, 4, 94, 165, 4, + 4, 4, 113, 33, 4, 4, 4, 4, 4, 113, 15, 4, 166, 4, 167, 168, + 0, 0, 0, 169, 4, 4, 4, 145, 0, 1, 1, 170, 113, 100, 171, 0, + 172, 173, 174, 0, 4, 4, 4, 89, 0, 0, 4, 104, 0, 0, 0, 0, + 0, 0, 0, 0, 145, 4, 175, 0, 4, 23, 30, 99, 113, 4, 176, 0, + 4, 4, 4, 4, 113, 15, 177, 159, 4, 178, 4, 179, 180, 181, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 103, 99, 167, 182, 183, 0, 0, + 184, 185, 99, 103, 100, 0, 0, 186, 99, 161, 0, 0, 4, 187, 0, 0, + 188, 99, 0, 145, 145, 0, 75, 189, 4, 99, 99, 146, 94, 0, 0, 0, + 4, 4, 14, 0, 4, 146, 4, 146, 4, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4, 190, 0, 0, 145, 191, 110, 15, 57, 15, 189, 103, + 108, 192, 0, 193, 108, 22, 15, 14, 108, 68, 194, 195, 108, 146, 196, 0, + 197, 198, 0, 0, 199, 114, 100, 0, 49, 46, 200, 57, 0, 0, 0, 0, + 4, 104, 201, 57, 4, 22, 202, 0, 0, 0, 0, 0, 4, 132, 203, 0, + 4, 22, 204, 0, 4, 205, 0, 0, 89, 0, 68, 0, 0, 0, 0, 0, + 4, 198, 0, 0, 0, 4, 4, 206, 207, 208, 209, 0, 0, 210, 175, 211, + 212, 213, 214, 4, 215, 15, 4, 29, 0, 0, 0, 0, 0, 0, 0, 0, + 216, 132, 74, 140, 22, 0, 0, 0, 217, 175, 218, 219, 220, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 47, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 162, 0, 0, 0, - 4, 4, 4, 133, 4, 4, 4, 4, 4, 4, 111, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 161, 0, 0, 0, + 4, 4, 4, 132, 4, 4, 4, 4, 4, 4, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 4, 4, 175, + 4, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 29, 99, 0, 0, 0, 15, 217, 4, 22, 111, 218, 22, 0, 0, 0, + 4, 29, 100, 15, 4, 100, 15, 221, 4, 22, 111, 222, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 219, 0, 166, 0, 0, 220, + 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 223, 0, 165, 0, 0, 224, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 188, - 4, 4, 4, 4, 4, 4, 98, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 192, + 4, 4, 4, 4, 4, 4, 99, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 142, 226, 227, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 159, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 228, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 230, 4, 231, 232, 233, 4, 234, 235, 236, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 237, 238, 83, 230, 230, 239, 239, 216, 216, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, 99, 0, 221, 222, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 160, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 223, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 240, 241, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 221, 4, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 30, 4, 225, 226, 227, 4, 228, 229, 230, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 231, 232, 82, 30, 30, 126, 126, 211, 211, 150, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 233, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4, 193, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 185, 0, 4, 4, 235, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, + 4, 4, 4, 4, 4, 4, 189, 0, 4, 4, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 227, 236, 237, 238, 239, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 233, 244, 245, 246, 247, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 113, 0, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 104, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 29, 4, 4, 4, 4, 4, 4, 113, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 241, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 249, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 73, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 74, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -26369,58 +26896,60 @@ static RE_UINT8 re_xid_start_table_3[] = { 255, 135, 7, 0, 255, 7, 0, 0, 0, 192, 254, 255, 255, 255, 47, 0, 96, 192, 0, 156, 0, 0, 253, 255, 255, 255, 0, 0, 0, 224, 255, 255, 63, 0, 2, 0, 0, 252, 255, 255, 255, 7, 48, 4, 255, 255, 63, 4, - 16, 1, 0, 0, 255, 255, 255, 1, 255, 255, 223, 255, 255, 0, 0, 0, - 240, 255, 255, 255, 255, 255, 255, 35, 0, 0, 1, 255, 3, 0, 254, 255, - 225, 159, 249, 255, 255, 253, 197, 35, 0, 64, 0, 176, 3, 0, 3, 16, - 224, 135, 249, 255, 255, 253, 109, 3, 0, 0, 0, 94, 0, 0, 28, 0, - 224, 191, 251, 255, 255, 253, 237, 35, 0, 0, 1, 0, 3, 0, 0, 2, - 224, 159, 249, 255, 0, 0, 0, 176, 3, 0, 2, 0, 232, 199, 61, 214, - 24, 199, 255, 3, 224, 223, 253, 255, 255, 253, 255, 35, 0, 0, 0, 7, - 3, 0, 0, 0, 225, 223, 253, 255, 255, 253, 239, 35, 0, 0, 0, 64, - 3, 0, 6, 0, 240, 223, 253, 255, 255, 255, 255, 39, 0, 64, 112, 128, - 3, 0, 0, 252, 224, 255, 127, 252, 255, 255, 251, 47, 127, 0, 0, 0, - 254, 255, 255, 255, 255, 255, 5, 0, 214, 247, 255, 255, 175, 255, 5, 32, - 95, 0, 0, 240, 1, 0, 0, 0, 255, 254, 255, 255, 255, 31, 0, 0, - 0, 31, 0, 0, 255, 7, 0, 128, 0, 0, 63, 60, 98, 192, 225, 255, - 3, 64, 0, 0, 191, 32, 255, 255, 255, 255, 255, 247, 255, 61, 127, 61, - 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, 255, 255, 61, 255, - 255, 255, 255, 7, 255, 255, 63, 63, 255, 159, 255, 255, 255, 199, 255, 1, - 255, 223, 3, 0, 255, 255, 3, 0, 255, 223, 1, 0, 255, 255, 15, 0, - 0, 0, 128, 16, 255, 5, 255, 255, 255, 255, 63, 0, 255, 255, 255, 127, - 255, 63, 31, 0, 255, 15, 255, 255, 255, 3, 0, 0, 255, 255, 127, 0, - 255, 255, 31, 0, 128, 0, 0, 0, 224, 255, 255, 255, 224, 15, 0, 0, + 16, 1, 0, 0, 255, 255, 255, 1, 255, 7, 255, 255, 255, 126, 0, 0, + 255, 3, 0, 0, 240, 255, 255, 255, 255, 255, 255, 35, 0, 0, 1, 255, + 3, 0, 254, 255, 225, 159, 249, 255, 255, 253, 197, 35, 0, 64, 0, 176, + 3, 0, 3, 16, 224, 135, 249, 255, 255, 253, 109, 3, 0, 0, 0, 94, + 0, 0, 28, 0, 224, 191, 251, 255, 255, 253, 237, 35, 0, 0, 1, 0, + 3, 0, 0, 2, 224, 159, 249, 255, 0, 0, 0, 176, 3, 0, 2, 0, + 232, 199, 61, 214, 24, 199, 255, 3, 224, 223, 253, 255, 255, 253, 255, 35, + 0, 0, 0, 39, 3, 0, 0, 0, 225, 223, 253, 255, 255, 253, 239, 35, + 0, 0, 0, 96, 3, 0, 6, 0, 240, 223, 253, 255, 255, 255, 255, 39, + 0, 64, 112, 128, 3, 0, 0, 252, 224, 255, 127, 252, 255, 255, 251, 47, + 127, 0, 0, 0, 254, 255, 255, 255, 255, 255, 5, 0, 214, 247, 255, 255, + 175, 255, 5, 32, 95, 0, 0, 240, 1, 0, 0, 0, 255, 254, 255, 255, + 255, 31, 0, 0, 0, 31, 0, 0, 255, 7, 0, 128, 0, 0, 63, 60, + 98, 192, 225, 255, 3, 64, 0, 0, 191, 32, 255, 255, 255, 255, 255, 247, + 255, 61, 127, 61, 255, 61, 255, 255, 255, 255, 61, 127, 61, 255, 127, 255, + 255, 255, 61, 255, 255, 255, 255, 7, 255, 255, 63, 63, 255, 159, 255, 255, + 255, 199, 255, 1, 255, 255, 3, 128, 255, 255, 3, 0, 255, 223, 1, 0, + 255, 255, 15, 0, 0, 0, 128, 16, 255, 5, 255, 255, 255, 255, 63, 0, + 255, 255, 255, 127, 255, 63, 31, 0, 255, 15, 255, 255, 255, 255, 127, 0, + 255, 255, 31, 0, 128, 0, 0, 0, 224, 255, 255, 255, 224, 31, 0, 0, 248, 255, 255, 255, 1, 192, 0, 252, 63, 0, 0, 0, 15, 0, 0, 0, 0, 224, 0, 252, 255, 255, 255, 63, 255, 1, 255, 255, 255, 255, 255, 231, 0, 222, 111, 4, 63, 63, 255, 170, 255, 255, 223, 95, 220, 31, 207, 15, 255, 31, 220, 31, 0, 0, 2, 128, 0, 0, 255, 31, 132, 252, 47, 63, - 80, 253, 255, 243, 224, 67, 0, 0, 255, 127, 255, 255, 31, 120, 12, 0, - 255, 128, 0, 0, 127, 127, 127, 127, 224, 0, 0, 0, 254, 3, 62, 31, - 255, 255, 127, 224, 255, 127, 0, 0, 255, 255, 255, 31, 255, 31, 255, 255, - 0, 12, 0, 0, 255, 127, 0, 128, 0, 0, 128, 255, 252, 255, 255, 255, - 255, 249, 255, 255, 252, 7, 0, 0, 0, 0, 224, 255, 187, 247, 255, 255, - 7, 0, 0, 0, 0, 0, 252, 104, 63, 0, 255, 255, 255, 255, 7, 0, - 0, 128, 0, 0, 223, 255, 0, 124, 247, 15, 0, 0, 255, 255, 127, 196, - 255, 255, 98, 62, 5, 0, 0, 56, 255, 7, 28, 0, 126, 126, 126, 0, - 127, 127, 255, 255, 255, 3, 255, 255, 15, 0, 255, 255, 127, 248, 255, 255, - 255, 255, 255, 15, 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 160, - 255, 253, 127, 95, 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, + 80, 253, 255, 243, 224, 67, 0, 0, 31, 120, 12, 0, 255, 128, 0, 0, + 127, 127, 127, 127, 224, 0, 0, 0, 254, 3, 62, 31, 255, 255, 127, 224, + 255, 127, 0, 0, 255, 31, 255, 255, 0, 12, 0, 0, 255, 127, 0, 128, + 0, 0, 128, 255, 252, 255, 255, 255, 255, 249, 255, 255, 255, 7, 235, 3, + 0, 0, 252, 255, 187, 247, 255, 255, 7, 0, 0, 0, 0, 0, 252, 104, + 63, 0, 255, 255, 255, 255, 255, 31, 255, 255, 7, 0, 0, 128, 0, 0, + 223, 255, 0, 124, 247, 15, 0, 0, 255, 255, 127, 196, 255, 255, 98, 62, + 5, 0, 0, 56, 255, 7, 28, 0, 126, 126, 126, 0, 127, 127, 255, 255, + 255, 3, 255, 255, 15, 0, 255, 255, 127, 248, 255, 255, 255, 255, 255, 15, + 255, 63, 255, 255, 255, 255, 255, 3, 127, 0, 248, 160, 255, 253, 127, 95, + 219, 255, 255, 255, 0, 0, 248, 255, 255, 255, 252, 255, 255, 0, 0, 0, 0, 0, 255, 3, 0, 0, 138, 170, 192, 255, 255, 255, 252, 252, 252, 28, 255, 239, 255, 255, 127, 255, 255, 183, 255, 63, 255, 63, 255, 255, 1, 0, - 255, 7, 255, 255, 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, + 15, 255, 62, 0, 255, 255, 15, 255, 255, 0, 255, 255, 15, 0, 255, 247, + 255, 247, 183, 255, 251, 255, 251, 27, 191, 255, 255, 255, 255, 255, 253, 7, 63, 253, 255, 255, 255, 255, 191, 145, 255, 255, 55, 0, 255, 255, 255, 192, 1, 0, 239, 254, 31, 0, 0, 0, 255, 3, 3, 0, 128, 0, 255, 255, - 255, 255, 255, 0, 144, 0, 255, 255, 255, 255, 71, 0, 30, 0, 0, 20, - 255, 255, 251, 255, 255, 15, 0, 0, 127, 189, 255, 191, 0, 0, 1, 224, - 128, 7, 0, 128, 176, 0, 0, 0, 0, 0, 0, 15, 16, 0, 0, 0, - 255, 7, 0, 1, 0, 0, 0, 128, 127, 242, 111, 255, 255, 255, 0, 128, - 2, 0, 0, 0, 255, 252, 255, 255, 10, 0, 0, 0, 1, 248, 255, 255, - 255, 255, 7, 4, 0, 0, 1, 240, 255, 3, 0, 32, 255, 253, 255, 255, - 0, 0, 252, 255, 127, 251, 255, 255, 64, 0, 0, 0, 191, 253, 255, 255, + 255, 255, 255, 0, 0, 0, 38, 0, 144, 0, 255, 255, 255, 255, 71, 0, + 30, 0, 0, 20, 255, 255, 251, 255, 255, 15, 0, 0, 127, 189, 255, 191, + 0, 0, 1, 224, 128, 7, 0, 128, 176, 0, 0, 0, 0, 0, 0, 15, + 16, 0, 0, 0, 255, 7, 0, 1, 0, 0, 0, 128, 127, 242, 111, 255, + 255, 255, 0, 128, 2, 0, 0, 0, 255, 252, 255, 255, 10, 0, 0, 0, + 1, 248, 255, 255, 255, 255, 7, 4, 0, 0, 1, 240, 255, 3, 0, 32, + 255, 253, 255, 255, 127, 251, 255, 255, 64, 0, 0, 0, 191, 253, 255, 255, 255, 3, 0, 1, 255, 63, 0, 0, 248, 255, 255, 224, 255, 7, 1, 0, - 11, 0, 0, 0, 0, 0, 7, 0, 240, 0, 255, 255, 255, 7, 255, 31, - 255, 1, 255, 3, 255, 255, 255, 223, 100, 222, 255, 235, 239, 255, 255, 255, - 191, 231, 223, 223, 255, 255, 255, 123, 95, 252, 253, 255, 63, 255, 255, 255, - 253, 255, 255, 247, 255, 31, 128, 63, 0, 64, 0, 0, 15, 8, 0, 0, + 11, 0, 0, 0, 0, 0, 239, 111, 0, 0, 7, 0, 240, 0, 255, 255, + 255, 7, 255, 31, 255, 1, 255, 3, 255, 255, 223, 255, 255, 255, 255, 223, + 100, 222, 255, 235, 239, 255, 255, 255, 191, 231, 223, 223, 255, 255, 255, 123, + 95, 252, 253, 255, 63, 255, 255, 255, 253, 255, 255, 247, 255, 127, 255, 255, + 255, 31, 128, 63, 0, 64, 0, 0, 127, 111, 255, 127, 15, 8, 0, 0, 150, 254, 247, 10, 132, 234, 150, 170, 150, 247, 247, 94, 255, 251, 255, 15, 238, 251, 255, 15, 3, 0, 255, 255 }; @@ -26539,27 +27068,27 @@ static RE_UINT8 re_all_cases_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 0, 0, 0, 0, 0, - 79, 80, 81, 0, 0, 82, 83, 84, 0, 0, 0, 0, 0, 0, 0, 0, + 79, 80, 81, 0, 0, 82, 83, 84, 0, 0, 0, 85, 86, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 86, 85, 86, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 88, 89, 88, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 88, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 89, 90, 91, 0, 0, 0, 0, 0, + 0, 0, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 92, 93, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_all_cases_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 134, 1, 3, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 147, 1, 3, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 83, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -26567,19 +27096,19 @@ static RE_UINT8 re_all_cases_table_3[] = { 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 133, 15, 16, 16, 16, 16, 16, 16, 0, 23, 23, 25, 25, 23, 23, 27, + 146, 15, 16, 16, 16, 16, 16, 16, 0, 23, 23, 25, 25, 23, 23, 27, 27, 23, 23, 25, 25, 23, 23, 28, 28, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 29, 23, 23, 25, 25, 23, 23, 136, + 16, 16, 16, 16, 16, 16, 16, 16, 29, 23, 23, 25, 25, 23, 23, 149, 53, 30, 16, 16, 16, 16, 30, 28, 28, 31, 32, 25, 25, 0, 33, 34, 35, 23, 23, 36, 37, 47, 38, 38, 16, 16, 51, 0, 36, 39, 49, 40, 16, 16, 16, 16, 16, 16, 41, 28, 28, 42, 0, 0, 16, 16, 41, 43, 43, 44, 45, 25, 25, 23, 23, 46, 16, 16, 0, 0, 16, 16, 0, 48, - 0, 0, 0, 0, 155, 155, 24, 149, 149, 17, 156, 156, 26, 23, 23, 43, + 0, 0, 0, 0, 168, 168, 24, 162, 162, 17, 169, 169, 26, 23, 23, 43, 43, 23, 23, 25, 25, 23, 23, 28, 28, 23, 23, 25, 25, 33, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 0, 150, 150, 18, 16, 16, 47, 48, 16, 16, 16, 16, 16, 16, 16, 16, + 0, 163, 163, 18, 16, 16, 47, 48, 16, 16, 16, 16, 16, 16, 16, 16, 49, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 50, 25, 25, 51, 52, 108, 106, 23, 23, 53, 54, 55, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, @@ -26588,18 +27117,18 @@ static RE_UINT8 re_all_cases_table_3[] = { 0, 105, 39, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 41, 0, 120, 42, 0, 0, 0, 117, 41, 54, 44, 45, 55, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 116, 0, - 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 0, 0, 16, 16, 0, 0, 0, 75, 76, 76, 0, 56, 0, 0, 0, 0, 0, 0, 57, 0, 58, 59, 58, 0, 60, 0, 61, 62, - 0, 1, 6, 1, 1, 7, 1, 1, 8, 142, 10, 1, 145, 1, 1, 1, - 63, 64, 0, 151, 65, 65, 66, 65, 65, 67, 65, 65, 57, 58, 59, 58, + 0, 1, 6, 1, 1, 7, 1, 1, 8, 155, 10, 1, 158, 1, 1, 1, + 63, 64, 0, 164, 65, 65, 66, 65, 65, 67, 65, 65, 57, 58, 59, 58, 0, 1, 6, 1, 1, 7, 1, 1, 8, 9, 10, 1, 11, 1, 1, 1, - 63, 64, 151, 19, 65, 65, 66, 65, 65, 67, 65, 65, 60, 61, 62, 71, - 138, 140, 0, 0, 0, 159, 157, 71, 16, 16, 16, 16, 16, 16, 16, 16, + 63, 64, 164, 19, 65, 65, 66, 65, 65, 67, 65, 65, 60, 61, 62, 71, + 151, 153, 0, 0, 0, 172, 170, 71, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 144, 158, 74, 56, 141, 139, 0, 28, 28, 74, 16, 16, 0, 75, 76, 76, + 157, 171, 74, 56, 154, 152, 0, 28, 28, 74, 16, 16, 0, 75, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 1, 1, 12, 1, 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 1, 65, 68, 69, 65, 65, 65, 65, 65, 65, 65, 70, 65, 65, 65, 65, 65, @@ -26632,7 +27161,7 @@ static RE_UINT8 re_all_cases_table_3[] = { 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 81, 81, 81, 81, 81, 81, 0, 0, 81, 81, 81, 81, 81, 81, 0, 0, - 146, 147, 148, 161, 162, 163, 164, 152, 154, 0, 0, 0, 0, 0, 0, 0, + 159, 160, 161, 174, 175, 176, 177, 165, 167, 0, 0, 0, 0, 0, 0, 0, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 102, 0, 0, @@ -26641,7 +27170,7 @@ static RE_UINT8 re_all_cases_table_3[] = { 21, 21, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 153, 0, 0, 83, 0, + 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 166, 0, 0, 83, 0, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 0, 0, 81, 81, 81, 81, 81, 81, 0, 0, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, @@ -26651,12 +27180,12 @@ static RE_UINT8 re_all_cases_table_3[] = { 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 84, 84, 85, 85, 86, 86, 87, 87, 90, 90, 88, 88, 75, 75, 0, 0, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 0, 28, 0, 0, 0, 0, 81, 81, 84, 84, 28, 0, 143, 0, + 81, 81, 0, 28, 0, 0, 0, 0, 81, 81, 84, 84, 28, 0, 156, 0, 0, 0, 0, 28, 0, 0, 0, 0, 85, 85, 86, 86, 28, 0, 0, 0, 81, 81, 0, 0, 0, 0, 0, 0, 81, 81, 87, 87, 0, 0, 0, 0, 81, 81, 0, 0, 0, 89, 0, 0, 81, 81, 88, 88, 89, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 90, 90, 75, 75, 28, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 135, 137, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 148, 150, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -26672,17 +27201,17 @@ static RE_UINT8 re_all_cases_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 16, 16, 101, 102, 103, 50, 52, 28, 28, 23, 23, 25, 25, 104, 105, 106, 107, 0, 16, 16, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 108, 106, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 25, 25, 23, 23, 0, 0, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80, 0, 80, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 154, 22, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 167, 22, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -26696,8 +27225,8 @@ static RE_UINT8 re_all_cases_table_3[] = { 16, 16, 16, 16, 77, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 111, 112, 113, 114, 115, 0, 116, 117, 118, 119, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 0, 0, 16, 16, 77, 120, 121, 28, 28, 23, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 16, 16, 16, 16, 77, 120, 121, 28, 28, 23, 23, 0, 0, 0, 0, 0, + 16, 16, 0, 0, 0, 0, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -26722,6 +27251,12 @@ static RE_UINT8 re_all_cases_table_3[] = { 126, 126, 126, 126, 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 130, 131, 132, 131, 133, 131, 132, 131, 130, 134, 135, 0, 136, 134, 135, 134, + 59, 137, 138, 137, 139, 137, 138, 137, 59, 140, 141, 0, 142, 140, 141, 140, + 59, 137, 138, 0, 139, 137, 0, 130, 131, 132, 131, 133, 131, 132, 131, 130, + 134, 135, 0, 136, 134, 135, 134, 59, 137, 138, 137, 139, 137, 138, 137, 59, + 140, 141, 0, 142, 140, 141, 140, 59, 137, 138, 0, 139, 137, 0, 0, 0, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, @@ -26730,11 +27265,11 @@ static RE_UINT8 re_all_cases_table_3[] = { 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 130, 130, 98, 98, 130, 130, 99, 99, 130, 130, 98, 98, 130, 130, 131, 131, - 130, 130, 98, 98, 130, 130, 99, 99, 130, 130, 98, 98, 130, 130, 132, 132, - 72, 72, 130, 130, 98, 98, 130, 130, 99, 99, 130, 130, 98, 98, 130, 130, - 131, 131, 130, 130, 98, 98, 130, 130, 99, 99, 130, 130, 98, 98, 130, 130, - 132, 132, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 143, 98, 98, 143, 143, 99, 99, 143, 143, 98, 98, 143, 143, 144, 144, + 143, 143, 98, 98, 143, 143, 99, 99, 143, 143, 98, 98, 143, 143, 145, 145, + 72, 72, 143, 143, 98, 98, 143, 143, 99, 99, 143, 143, 98, 98, 143, 143, + 144, 144, 143, 143, 98, 98, 143, 143, 99, 99, 143, 143, 98, 98, 143, 143, + 145, 145, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -26869,6 +27404,19 @@ static RE_AllCases re_all_cases_table_4[] = { { 56, { 0, 0}}, { 88, { 0, 0}}, { 104, { 0, 0}}, + { 231, { 0, 0}}, + { 233, { 0, 0}}, + { 235, { 0, 0}}, + { 239, { 0, 0}}, + { 217, { 0, 0}}, + { 219, { 0, 0}}, + { 223, { 0, 0}}, + { 41, { 0, 0}}, + { 43, { 0, 0}}, + { 47, { 0, 0}}, + { 57, { 0, 0}}, + { 59, { 0, 0}}, + { 63, { 0, 0}}, { 34, { 0, 0}}, { 62, { 0, 0}}, { 94, { 0, 0}}, @@ -27035,83 +27583,83 @@ static RE_UINT8 re_simple_folding_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, - 60, 61, 0, 0, 0, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 61, 0, 0, 0, 62, 63, 0, 0, 0, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 69, 0, 0, 0, 0, 0, 0, + 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 70, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_simple_folding_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 18, 18, 18, 18, 18, 18, 18, 18, 66, 18, 18, 18, 18, 18, 18, + 0, 18, 18, 18, 18, 18, 18, 18, 18, 79, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 65, 0, 1, 0, 1, 0, 1, 0, 0, 3, 0, 5, 0, 3, 0, 49, + 78, 0, 1, 0, 1, 0, 1, 0, 0, 3, 0, 5, 0, 3, 0, 55, 0, 3, 0, 5, 0, 3, 0, 10, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 67, 3, 0, 5, 0, 3, 0, 64, - 0, 78, 1, 0, 1, 0, 78, 10, 0, 81, 80, 5, 0, 0, 36, 79, - 77, 3, 0, 84, 85, 0, 86, 86, 1, 0, 0, 0, 84, 83, 0, 82, - 1, 0, 1, 0, 1, 0, 70, 10, 0, 71, 0, 0, 1, 0, 70, 17, - 0, 73, 72, 5, 0, 3, 0, 69, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 80, 3, 0, 5, 0, 3, 0, 77, + 0, 91, 1, 0, 1, 0, 91, 10, 0, 94, 93, 5, 0, 0, 42, 92, + 90, 3, 0, 97, 98, 0, 99, 99, 1, 0, 0, 0, 97, 96, 0, 95, + 1, 0, 1, 0, 1, 0, 83, 10, 0, 84, 0, 0, 1, 0, 83, 17, + 0, 86, 85, 5, 0, 3, 0, 82, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 9, 1, 0, 4, 5, 0, 3, 0, 17, 0, 3, 0, 5, 0, 3, 0, 10, 0, 3, 0, 5, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 2, 1, 0, 1, 0, 41, 32, 1, 0, 1, 0, 1, 0, 1, 0, - 75, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 110, 5, 0, 74, 109, 0, - 0, 3, 0, 76, 60, 58, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 0, 2, 1, 0, 1, 0, 47, 38, 1, 0, 1, 0, 1, 0, 1, 0, + 88, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 123, 5, 0, 87, 122, 0, + 0, 3, 0, 89, 66, 64, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 53, - 0, 0, 0, 0, 0, 0, 24, 0, 20, 22, 20, 0, 29, 0, 31, 30, + 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 59, + 0, 0, 0, 0, 0, 0, 25, 0, 20, 22, 20, 0, 35, 0, 37, 36, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 39, 39, 0, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, + 45, 45, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, - 40, 44, 0, 0, 0, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 46, 50, 0, 0, 0, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 33, 26, 0, 0, 34, 29, 0, 10, 0, 8, 1, 0, 0, 52, 51, 51, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 39, 29, 0, 0, 40, 35, 0, 10, 0, 8, 1, 0, 0, 58, 57, 57, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 10, 3, 0, 5, 0, 3, 0, 10, 0, 3, 0, 5, 0, 3, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 61, 61, 61, 61, 61, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 113, 113, 113, 113, 113, 113, 0, 113, 0, 0, 0, 0, 0, 113, 0, 0, + 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 126, 126, 126, 126, 126, 126, 0, 126, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, - 89, 90, 91, 92, 93, 94, 95, 96, 130, 0, 0, 0, 0, 0, 0, 0, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 87, 87, 87, + 102, 103, 104, 105, 106, 107, 108, 109, 143, 0, 0, 0, 0, 0, 0, 0, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 0, 100, 100, 100, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 62, 0, 0, 98, 0, + 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 75, 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, @@ -27121,27 +27669,27 @@ static RE_UINT8 re_simple_folding_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 59, 59, 10, 0, 97, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 57, 57, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 55, 55, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 54, 54, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 52, 52, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 99, 100, 0, 0, 0, 0, - 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 65, 65, 10, 0, 110, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 63, 63, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 61, 61, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 60, 60, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 58, 58, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 112, 113, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 42, 42, 45, 45, 46, 46, 45, 45, 42, 42, - 15, 15, 16, 16, 15, 15, 21, 21, 24, 24, 25, 25, 24, 24, 21, 21, + 0, 0, 0, 0, 0, 0, 48, 48, 51, 51, 52, 52, 51, 51, 48, 48, + 15, 15, 16, 16, 15, 15, 21, 21, 25, 25, 27, 27, 25, 25, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 102, 111, 103, 0, 0, 10, 0, 3, 0, 5, 0, 106, 104, 107, - 105, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 108, 107, + 1, 0, 115, 124, 116, 0, 0, 10, 0, 3, 0, 5, 0, 119, 117, 120, + 118, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 121, 120, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, @@ -27151,42 +27699,46 @@ static RE_UINT8 re_simple_folding_table_3[] = { 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 5, 0, 128, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 5, 0, 122, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 5, 0, 141, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 5, 0, 135, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 120, 123, 121, 118, 119, 0, - 114, 116, 115, 88, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 0, 1, 0, 35, 117, 129, 10, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 133, 136, 134, 131, 132, 0, + 127, 129, 128, 101, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 41, 130, 142, 10, 0, 3, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 0, 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, 0, 0, 0, 0, 0, - 23, 23, 23, 23, 23, 23, 23, 23, 27, 27, 27, 27, 27, 27, 27, 27, - 23, 23, 23, 23, 23, 23, 23, 23, 37, 37, 37, 37, 37, 37, 37, 37, - 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, 0, + 23, 23, 23, 23, 23, 23, 23, 23, 30, 30, 30, 30, 30, 30, 30, 30, + 23, 23, 23, 23, 23, 23, 23, 23, 43, 43, 43, 43, 43, 43, 43, 43, + 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 43, 43, 43, 43, 43, 43, 43, 37, 37, 37, 37, 37, 37, 37, 37, - 23, 23, 23, 23, 23, 23, 23, 23, 27, 27, 27, 27, 27, 27, 27, 27, + 49, 49, 49, 49, 49, 49, 49, 49, 43, 43, 43, 43, 43, 43, 43, 43, + 23, 23, 23, 23, 23, 23, 23, 23, 30, 30, 30, 30, 30, 30, 30, 30, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 71, 72, 73, 72, 74, 72, 73, 72, 71, 68, 69, 0, 70, 68, 69, 68, + 22, 24, 26, 24, 28, 24, 26, 24, 22, 31, 32, 0, 34, 31, 32, 31, + 22, 24, 26, 0, 28, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 19, 19, 21, 21, 19, 19, 25, 25, 19, 19, 21, 21, 19, 19, 28, 28, - 19, 19, 21, 21, 19, 19, 25, 25, 19, 19, 21, 21, 19, 19, 38, 38, - 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 19, 19, 21, 21, 19, 19, 27, 27, 19, 19, 21, 21, 19, 19, 33, 33, + 19, 19, 21, 21, 19, 19, 27, 27, 19, 19, 21, 21, 19, 19, 44, 44, + 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -27194,20 +27746,21 @@ static RE_UINT16 re_simple_folding_table_4[] = { 0, 1, 2, 3, 6, 7, 8, 9, 11, 14, 15, 16, 19, 22, 24, 26, 30, 31, 32, 34, 37, 38, 39, 40, - 42, 46, 48, 56, 62, 64, 65, 67, - 72, 74, 76, 80, 83, 88, 94, 96, - 98, 99, 102, 104, 105, 106, 110, 112, - 124, 127, 128, 130, 134, 140, 144, 172, - 186, 190, 201, 202, 205, 208, 250, 252, - 268, 345, 376, 391, 777, 805, 806, 810, - 825, 827, 935, 958, 963, 971, 978, 982, - 989, 991, 1002, 1007, 1011, 1015, 1023, 3136, - 3296, 6322, 6325, 6332, 6338, 6342, 6343, 6348, - 6372, 7175, 7745, 8513, 8654, 8943, 11785, 11801, - 11807, 11810, 11836, 11839, 11841, 11864, 11871, 12574, - 15776, 15840, 42286, 42287, 42294, 42311, 42433, 42436, - 42444, 42445, 42472, 42487, 47152, 47184, 47216, 47312, - 47620, 47688, 47811 + 41, 42, 43, 46, 47, 48, 56, 57, + 59, 62, 63, 64, 65, 67, 72, 74, + 76, 80, 83, 88, 94, 96, 98, 99, + 102, 104, 105, 106, 110, 112, 124, 127, + 128, 130, 134, 140, 144, 172, 186, 190, + 201, 202, 205, 208, 217, 219, 223, 231, + 233, 235, 239, 250, 252, 268, 345, 376, + 391, 777, 805, 806, 810, 825, 827, 935, + 958, 963, 971, 978, 982, 989, 991, 1002, + 1007, 1011, 1015, 1023, 3136, 3296, 6322, 6325, + 6332, 6338, 6342, 6343, 6348, 6372, 7175, 7745, + 8513, 8654, 8943, 11785, 11801, 11807, 11810, 11836, + 11839, 11841, 11864, 11871, 12574, 15776, 15840, 42286, + 42287, 42294, 42311, 42433, 42436, 42444, 42445, 42472, + 42487, 47152, 47184, 47216, 47312, 47620, 47688, 47811 }; RE_UINT32 re_get_simple_case_folding(RE_UINT32 codepoint) { @@ -27324,117 +27877,117 @@ static RE_UINT8 re_full_folding_table_2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, - 63, 64, 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 63, 64, 0, 0, 0, 65, 66, 0, 0, 0, 0, 67, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 71, 72, 0, 0, 0, 0, 0, 0, + 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static RE_UINT8 re_full_folding_table_3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 18, 18, 18, 18, 18, 18, 18, 18, 80, 18, 18, 18, 18, 18, 18, + 0, 18, 18, 18, 18, 18, 18, 18, 18, 93, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 61, + 18, 18, 18, 18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 67, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 79, 0, 1, 0, 1, 0, 1, 0, 0, 3, 0, 5, 0, 3, 0, 51, - 0, 3, 0, 5, 0, 3, 0, 10, 0, 100, 1, 0, 1, 0, 1, 0, + 92, 0, 1, 0, 1, 0, 1, 0, 0, 3, 0, 5, 0, 3, 0, 57, + 0, 3, 0, 5, 0, 3, 0, 10, 0, 113, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 81, 3, 0, 5, 0, 3, 0, 77, - 0, 93, 1, 0, 1, 0, 93, 10, 0, 96, 95, 5, 0, 0, 37, 94, - 92, 3, 0, 99, 101, 0, 102, 102, 1, 0, 0, 0, 99, 98, 0, 97, - 1, 0, 1, 0, 1, 0, 85, 10, 0, 86, 0, 0, 1, 0, 85, 17, - 0, 88, 87, 5, 0, 3, 0, 84, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 94, 3, 0, 5, 0, 3, 0, 90, + 0, 106, 1, 0, 1, 0, 106, 10, 0, 109, 108, 5, 0, 0, 43, 107, + 105, 3, 0, 112, 114, 0, 115, 115, 1, 0, 0, 0, 112, 111, 0, 110, + 1, 0, 1, 0, 1, 0, 98, 10, 0, 99, 0, 0, 1, 0, 98, 17, + 0, 101, 100, 5, 0, 3, 0, 97, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 9, 1, 0, 4, 5, 0, 3, 0, 17, 0, 3, 0, 5, 0, 3, 0, 10, 0, 3, 0, 5, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 82, 2, 1, 0, 1, 0, 42, 33, 1, 0, 1, 0, 1, 0, 1, 0, - 90, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 158, 5, 0, 89, 157, 0, - 0, 3, 0, 91, 72, 70, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 95, 2, 1, 0, 1, 0, 48, 39, 1, 0, 1, 0, 1, 0, 1, 0, + 103, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 171, 5, 0, 102, 170, 0, + 0, 3, 0, 104, 78, 76, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 57, - 0, 0, 0, 0, 0, 0, 25, 0, 20, 22, 20, 0, 30, 0, 32, 31, - 24, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 40, 40, 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 0, 0, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 26, 0, 20, 22, 20, 0, 36, 0, 38, 37, + 25, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 46, 46, 0, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, - 41, 45, 0, 0, 0, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 47, 51, 0, 0, 0, 12, 13, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 34, 27, 0, 0, 35, 30, 0, 10, 0, 8, 1, 0, 0, 55, 54, 54, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 40, 30, 0, 0, 41, 36, 0, 10, 0, 8, 1, 0, 0, 61, 60, 60, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 10, 3, 0, 5, 0, 3, 0, 10, 0, 3, 0, 5, 0, 3, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 73, 73, 73, 73, 73, 73, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 79, 79, 79, 79, 79, 79, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 161, 161, 161, 161, 161, 161, 0, 161, 0, 0, 0, 0, 0, 161, 0, 0, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 174, 174, 174, 174, 174, 174, 0, 174, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, - 105, 106, 107, 108, 109, 110, 111, 112, 178, 0, 0, 0, 0, 0, 0, 0, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 0, 0, 103, 103, 103, + 118, 119, 120, 121, 122, 123, 124, 125, 191, 0, 0, 0, 0, 0, 0, 0, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 0, 0, 116, 116, 116, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 146, 142, 144, 141, 145, 75, 0, 0, 143, 0, + 1, 0, 1, 0, 1, 0, 159, 155, 157, 154, 158, 88, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, - 139, 0, 140, 0, 137, 0, 138, 0, 0, 6, 0, 6, 0, 6, 0, 6, + 152, 0, 153, 0, 150, 0, 151, 0, 0, 6, 0, 6, 0, 6, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 53, 53, 53, 53, 53, 53, 53, 56, 56, 56, 56, 56, 56, 56, 56, - 62, 62, 62, 62, 62, 62, 62, 62, 64, 64, 64, 64, 64, 64, 64, 64, - 67, 67, 67, 67, 67, 67, 67, 67, 69, 69, 69, 69, 69, 69, 69, 69, - 0, 0, 68, 113, 118, 0, 116, 114, 6, 6, 71, 71, 117, 0, 115, 0, - 0, 0, 63, 135, 129, 0, 134, 133, 65, 65, 66, 66, 136, 0, 0, 0, - 0, 0, 130, 128, 0, 0, 132, 131, 6, 6, 60, 60, 0, 0, 0, 0, - 0, 0, 123, 122, 121, 0, 120, 119, 6, 6, 59, 59, 7, 0, 0, 0, - 0, 0, 58, 125, 125, 0, 127, 126, 52, 52, 55, 55, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 147, 148, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 59, 59, 59, 59, 59, 59, 59, 59, 62, 62, 62, 62, 62, 62, 62, 62, + 68, 68, 68, 68, 68, 68, 68, 68, 70, 70, 70, 70, 70, 70, 70, 70, + 73, 73, 73, 73, 73, 73, 73, 73, 75, 75, 75, 75, 75, 75, 75, 75, + 0, 0, 74, 126, 131, 0, 129, 127, 6, 6, 77, 77, 130, 0, 128, 0, + 0, 0, 69, 148, 142, 0, 147, 146, 71, 71, 72, 72, 149, 0, 0, 0, + 0, 0, 143, 141, 0, 0, 145, 144, 6, 6, 66, 66, 0, 0, 0, 0, + 0, 0, 136, 135, 134, 0, 133, 132, 6, 6, 65, 65, 7, 0, 0, 0, + 0, 0, 64, 138, 138, 0, 140, 139, 58, 58, 61, 61, 137, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 160, 161, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 43, 43, 46, 46, 47, 47, 46, 46, 43, 43, - 15, 15, 16, 16, 15, 15, 21, 21, 25, 25, 26, 26, 25, 25, 21, 21, + 0, 0, 0, 0, 0, 0, 49, 49, 52, 52, 53, 53, 52, 52, 49, 49, + 15, 15, 16, 16, 15, 15, 21, 21, 26, 26, 28, 28, 26, 26, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 150, 159, 151, 0, 0, 10, 0, 3, 0, 5, 0, 154, 152, 155, - 153, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 156, 155, + 1, 0, 163, 172, 164, 0, 0, 10, 0, 3, 0, 5, 0, 167, 165, 168, + 166, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 169, 168, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, @@ -27444,44 +27997,48 @@ static RE_UINT8 re_full_folding_table_3[] = { 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 5, 0, 176, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 5, 0, 170, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 5, 0, 189, 1, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 5, 0, 183, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 168, 171, 169, 166, 167, 0, - 162, 164, 163, 104, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, - 0, 0, 1, 0, 36, 165, 177, 10, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 181, 184, 182, 179, 180, 0, + 175, 177, 176, 117, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 1, 0, 42, 178, 190, 10, 0, 3, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 182, 183, 180, 181, 179, 185, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 186, 187, 190, 188, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 0, 0, 0, - 23, 23, 23, 23, 23, 23, 23, 23, 28, 28, 28, 28, 28, 28, 28, 28, - 23, 23, 23, 23, 23, 23, 23, 23, 38, 38, 38, 38, 38, 38, 38, 38, - 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 195, 196, 193, 194, 192, 198, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 202, 199, 200, 203, 201, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, 0, + 23, 23, 23, 23, 23, 23, 23, 23, 31, 31, 31, 31, 31, 31, 31, 31, + 23, 23, 23, 23, 23, 23, 23, 23, 44, 44, 44, 44, 44, 44, 44, 44, + 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 44, 44, 44, 44, 44, 44, 44, 38, 38, 38, 38, 38, 38, 38, 38, - 23, 23, 23, 23, 23, 23, 23, 23, 28, 28, 28, 28, 28, 28, 28, 28, + 50, 50, 50, 50, 50, 50, 50, 50, 44, 44, 44, 44, 44, 44, 44, 44, + 23, 23, 23, 23, 23, 23, 23, 23, 31, 31, 31, 31, 31, 31, 31, 31, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 84, 85, 86, 85, 87, 85, 86, 85, 84, 80, 81, 0, 82, 80, 81, 80, + 22, 24, 27, 24, 29, 24, 27, 24, 22, 32, 33, 0, 35, 32, 33, 32, + 22, 24, 27, 0, 29, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 19, 19, 21, 21, 19, 19, 26, 26, 19, 19, 21, 21, 19, 19, 29, 29, - 19, 19, 21, 21, 19, 19, 26, 26, 19, 19, 21, 21, 19, 19, 39, 39, - 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 19, 19, 21, 21, 19, 19, 28, 28, 19, 19, 21, 21, 19, 19, 34, 34, + 19, 19, 21, 21, 19, 19, 28, 28, 19, 19, 21, 21, 19, 19, 45, 45, + 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -27510,12 +28067,18 @@ static RE_FullCaseFolding re_full_folding_table_4[] = { {{ 38, 0, 0}}, {{ 39, 0, 0}}, {{ 40, 0, 0}}, + {{ 41, 0, 0}}, {{ 41, 776, 769}}, {{ 42, 0, 0}}, + {{ 43, 0, 0}}, {{ 46, 0, 0}}, + {{ 47, 0, 0}}, {{ 48, 0, 0}}, {{ 56, 0, 0}}, + {{ 57, 0, 0}}, + {{ 59, 0, 0}}, {{ 62, 0, 0}}, + {{ 63, 0, 0}}, {{ 64, 0, 0}}, {{ 65, 0, 0}}, {{ 67, 0, 0}}, @@ -27560,7 +28123,14 @@ static RE_FullCaseFolding re_full_folding_table_4[] = { {{ 202, 0, 0}}, {{ 205, 0, 0}}, {{ 208, 0, 0}}, + {{ 217, 0, 0}}, + {{ 219, 0, 0}}, + {{ 223, 0, 0}}, {{ 226, 1410, 0}}, + {{ 231, 0, 0}}, + {{ 233, 0, 0}}, + {{ 235, 0, 0}}, + {{ 239, 0, 0}}, {{ 250, 0, 0}}, {{ 252, 0, 0}}, {{ 268, 0, 0}}, diff --git a/regex_3/_regex_unicode.h b/regex_3/_regex_unicode.h index ea8e48ccc049a96f4ca28609fc9ec386fcf22e9d..87847c84b94a27d636668c26ab0c864430a33e48 100644 --- a/regex_3/_regex_unicode.h +++ b/regex_3/_regex_unicode.h @@ -193,9 +193,9 @@ typedef RE_UINT32 (*RE_GetPropertyFunc)(RE_UINT32 codepoint); #define RE_LBREAK_REGIONALINDICATOR 41 #define RE_LBREAK_EMODIFIER 42 -extern char* re_strings[1447]; +extern char* re_strings[1472]; extern RE_Property re_properties[173]; -extern RE_PropertyValue re_property_values[1589]; +extern RE_PropertyValue re_property_values[1619]; extern RE_UINT16 re_expand_on_folding[104]; extern RE_GetPropertyFunc re_get_property[94]; diff --git a/regex_3/regex.py b/regex_3/regex.py index 7ea6a3d22499967939d6c895a9bf7db917c30ac1..0795a9422a6d1d3e85e2b6897da4358619ddaef2 100644 --- a/regex_3/regex.py +++ b/regex_3/regex.py @@ -241,7 +241,7 @@ __all__ = ["cache_all", "compile", "DEFAULT_VERSION", "escape", "findall", "VERSION1", "X", "VERBOSE", "W", "WORD", "error", "Regex", "__version__", "__doc__"] -__version__ = "2.5.91" +__version__ = "2.5.103" # -------------------------------------------------------------------- # Public interface. @@ -723,6 +723,10 @@ Pattern = type(_pat) Match = type(_pat.match('')) del _pat +# Make Pattern public for typing annotations. +__all__.append("Pattern") +__all__.append("Match") + # We'll define an alias for the 'compile' function so that the repr of a # pattern object is eval-able. Regex = compile diff --git a/regex_3/test_regex.py b/regex_3/test_regex.py index 3d7efeda34294cbc50c31e6f7b0f67bbf5699010..6d3f7740281cffd20ee763121efe4ef12a08df50 100644 --- a/regex_3/test_regex.py +++ b/regex_3/test_regex.py @@ -4247,6 +4247,54 @@ thing self.assertEqual(regex.findall(r'(?i)(\d+){i<=2:[ab]}', '123X4Y5'), ['123', '4', '5']) + # Git issue 403: Fuzzy matching with wrong distance (unnecessary substitutions) + self.assertEqual(regex.match(r'^(test){e<=5}$', 'terstin', + flags=regex.B).fuzzy_counts, (0, 3, 0)) + + # Git issue 408: regex fails with a quantified backreference but succeeds with repeated backref + self.assertEqual(bool(regex.match(r"(?:(x*)\1\1\1)*x$", "x" * 5)), True) + self.assertEqual(bool(regex.match(r"(?:(x*)\1{3})*x$", "x" * 5)), True) + + # Git issue 415: Fuzzy character restrictions don't apply to insertions at "right edge" + self.assertEqual(regex.match(r't(?:es){s<=1:\d}t', 'te5t').group(), + 'te5t') + self.assertEqual(regex.match(r't(?:es){s<=1:\d}t', 'tezt'), None) + self.assertEqual(regex.match(r't(?:es){i<=1:\d}t', 'tes5t').group(), + 'tes5t') + self.assertEqual(regex.match(r't(?:es){i<=1:\d}t', 'teszt'), None) + self.assertEqual(regex.match(r't(?:es){i<=1:\d}t', + 'tes5t').fuzzy_changes, ([], [3], [])) + self.assertEqual(regex.match(r't(es){i<=1,0<e<=1}t', 'tes5t').group(), + 'tes5t') + self.assertEqual(regex.match(r't(?:es){i<=1,0<e<=1:\d}t', + 'tes5t').fuzzy_changes, ([], [3], [])) + + # Git issue 421: Fatal Python error: Segmentation fault + self.assertEqual(regex.compile("(\d+ week|\d+ days)").split("7 days"), ['', '7 days', '']) + self.assertEqual(regex.compile("(\d+ week|\d+ days)").split("10 days"), ['', '10 days', '']) + + self.assertEqual(regex.compile("[ ]* Name[ ]*\* ").search(" Name *"), None) + + self.assertEqual(regex.compile('a|\\.*pb\\.py').search('.geojs'), None) + + p = regex.compile('(?<=(?:\\A|\\W|_))(\\d+ decades? ago|\\d+ minutes ago|\\d+ seconds ago|in \\d+ decades?|\\d+ months ago|in \\d+ minutes|\\d+ minute ago|in \\d+ seconds|\\d+ second ago|\\d+ years ago|in \\d+ months|\\d+ month ago|\\d+ weeks ago|\\d+ hours ago|in \\d+ minute|in \\d+ second|in \\d+ years|\\d+ year ago|in \\d+ month|in \\d+ weeks|\\d+ week ago|\\d+ days ago|in \\d+ hours|\\d+ hour ago|in \\d+ year|in \\d+ week|in \\d+ days|\\d+ day ago|in \\d+ hour|\\d+ min ago|\\d+ sec ago|\\d+ yr ago|\\d+ mo ago|\\d+ wk ago|in \\d+ day|\\d+ hr ago|in \\d+ min|in \\d+ sec|in \\d+ yr|in \\d+ mo|in \\d+ wk|in \\d+ hr)(?=(?:\\Z|\\W|_))', flags=regex.I | regex.V0) + self.assertEqual(p.search('1 month ago').group(), '1 month ago') + self.assertEqual(p.search('9 hours 1 minute ago').group(), '1 minute ago') + self.assertEqual(p.search('10 months 1 hour ago').group(), '1 hour ago') + self.assertEqual(p.search('1 month 10 hours ago').group(), '10 hours ago') + + # Git issue 427: Possible bug with BESTMATCH + sequence ='TTCAGACGTGTGCTCTTCCGATCTCAATACCGACTCCTCACTGTGTGTCT' + pattern = '(?P<insert>.*)(?P<anchor>CTTCC){e<=1}(?P<umi>([ACGT]){4,6})(?P<sid>CAATACCGACTCCTCACTGTGT){e<=2}(?P<end>([ACGT]){0,6}$)' + + m = regex.match(pattern, sequence, flags=regex.BESTMATCH) + self.assertEqual(m.span(), (0, 50)) + self.assertEqual(m.groupdict(), {'insert': 'TTCAGACGTGTGCT', 'anchor': 'CTTCC', 'umi': 'GATCT', 'sid': 'CAATACCGACTCCTCACTGTGT', 'end': 'GTCT'}) + + m = regex.match(pattern, sequence, flags=regex.ENHANCEMATCH) + self.assertEqual(m.span(), (0, 50)) + self.assertEqual(m.groupdict(), {'insert': 'TTCAGACGTGTGCT', 'anchor': 'CTTCC', 'umi': 'GATCT', 'sid': 'CAATACCGACTCCTCACTGTGT', 'end': 'GTCT'}) + def test_fuzzy_ext(self): self.assertEqual(bool(regex.fullmatch(r'(?r)(?:a){e<=1:[a-z]}', 'e')), True) diff --git a/setup.py b/setup.py index b50274d4de5003f8002038ad45ee06927c0421b7..9a287d86e74977d808619b6703a80262983dff3f 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ with open('README.rst') as file: setup( name='regex', - version='2020.11.13', + version='2021.10.8', description='Alternative regular expression module, to replace re.', long_description=long_description, author='Matthew Barnett', @@ -25,11 +25,11 @@ setup( 'Intended Audience :: Developers', 'License :: OSI Approved :: Apache Software License', 'Operating System :: OS Independent', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', 'Topic :: Scientific/Engineering :: Information Analysis', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Text Processing', diff --git a/tools/build_regex_unicode.py b/tools/build_regex_unicode.py index 34fd68fe7cd85b72ca9be3490e2cc533fea855ff..7f376e5310faad31953b7dce67c6fa6c75007199 100644 --- a/tools/build_regex_unicode.py +++ b/tools/build_regex_unicode.py @@ -1,4 +1,4 @@ -#! python3.8 +#! python3.9 # -*- coding: utf-8 -*- # # This Python script parses the Unicode data files and generates the C files @@ -1700,7 +1700,7 @@ typedef RE_UINT32 (*RE_GetPropertyFunc)(RE_UINT32 codepoint); h_file.write('int re_get_full_case_folding(RE_UINT32 codepoint, RE_UINT32* folded);\n') # Whether to update the Unicode data files from the Unicode website. -UNICODE_VERSION = '13.0.0' +UNICODE_VERSION = '14.0.0' # The URL from which the Unicode data files can be obtained. unicode_data_base = 'http://www.unicode.org/Public/UNIDATA/'