');
- }
-
- return $message;
- }
-}
diff --git a/plugins/vendor/symfony/mime/Test/Constraint/EmailTextBodyContains.php b/plugins/vendor/symfony/mime/Test/Constraint/EmailTextBodyContains.php
deleted file mode 100644
index c2a23838..00000000
--- a/plugins/vendor/symfony/mime/Test/Constraint/EmailTextBodyContains.php
+++ /dev/null
@@ -1,49 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Mime\Test\Constraint;
-
-use PHPUnit\Framework\Constraint\Constraint;
-use Symfony\Component\Mime\Message;
-use Symfony\Component\Mime\RawMessage;
-
-final class EmailTextBodyContains extends Constraint
-{
- public function __construct(
- private string $expectedText,
- ) {
- }
-
- public function toString(): string
- {
- return \sprintf('contains "%s"', $this->expectedText);
- }
-
- /**
- * @param RawMessage $message
- */
- protected function matches($message): bool
- {
- if (RawMessage::class === $message::class || Message::class === $message::class) {
- throw new \LogicException('Unable to test a message text body on a RawMessage or Message instance.');
- }
-
- return str_contains($message->getTextBody(), $this->expectedText);
- }
-
- /**
- * @param RawMessage $message
- */
- protected function failureDescription($message): string
- {
- return 'the Email text body '.$this->toString();
- }
-}
diff --git a/plugins/vendor/symfony/mime/composer.json b/plugins/vendor/symfony/mime/composer.json
deleted file mode 100644
index 069d6070..00000000
--- a/plugins/vendor/symfony/mime/composer.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "symfony/mime",
- "type": "library",
- "description": "Allows manipulating MIME messages",
- "keywords": ["mime", "mime-type"],
- "homepage": "https://symfony.com",
- "license": "MIT",
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "require": {
- "php": ">=8.4",
- "symfony/polyfill-intl-idn": "^1.10",
- "symfony/polyfill-mbstring": "^1.0"
- },
- "require-dev": {
- "egulias/email-validator": "^2.1.10|^3.1|^4",
- "league/html-to-markdown": "^5.0",
- "phpdocumentor/reflection-docblock": "^5.2|^6.0",
- "symfony/dependency-injection": "^7.4|^8.0",
- "symfony/process": "^7.4|^8.0",
- "symfony/property-access": "^7.4|^8.0",
- "symfony/property-info": "^7.4|^8.0",
- "symfony/serializer": "^7.4|^8.0"
- },
- "conflict": {
- "egulias/email-validator": "~3.0.0",
- "phpdocumentor/reflection-docblock": "<5.2|>=7",
- "phpdocumentor/type-resolver": "<1.5.1"
- },
- "autoload": {
- "psr-4": { "Symfony\\Component\\Mime\\": "" },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "minimum-stability": "dev"
-}
diff --git a/plugins/vendor/symfony/polyfill-iconv/Iconv.php b/plugins/vendor/symfony/polyfill-iconv/Iconv.php
deleted file mode 100644
index b4421449..00000000
--- a/plugins/vendor/symfony/polyfill-iconv/Iconv.php
+++ /dev/null
@@ -1,718 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Polyfill\Iconv;
-
-/**
- * iconv implementation in pure PHP, UTF-8 centric.
- *
- * Implemented:
- * - iconv - Convert string to requested character encoding
- * - iconv_mime_decode - Decodes a MIME header field
- * - iconv_mime_decode_headers - Decodes multiple MIME header fields at once
- * - iconv_get_encoding - Retrieve internal configuration variables of iconv extension
- * - iconv_set_encoding - Set current setting for character encoding conversion
- * - iconv_mime_encode - Composes a MIME header field
- * - iconv_strlen - Returns the character count of string
- * - iconv_strpos - Finds position of first occurrence of a needle within a haystack
- * - iconv_strrpos - Finds the last occurrence of a needle within a haystack
- * - iconv_substr - Cut out part of a string
- *
- * Charsets available for conversion are defined by files
- * in the charset/ directory and by Iconv::$alias below.
- * You're welcome to send back any addition you make.
- *
- * @author Nicolas Grekas
- *
- * @internal
- */
-final class Iconv
-{
- public const ERROR_ILLEGAL_CHARACTER = 'iconv(): Detected an illegal character in input string';
- public const ERROR_WRONG_CHARSET = 'iconv(): Wrong charset, conversion from `%s\' to `%s\' is not allowed';
-
- public static $inputEncoding = 'utf-8';
- public static $outputEncoding = 'utf-8';
- public static $internalEncoding = 'utf-8';
-
- private static $alias = [
- 'utf8' => 'utf-8',
- 'ascii' => 'us-ascii',
- 'tis-620' => 'iso-8859-11',
- 'cp1250' => 'windows-1250',
- 'cp1251' => 'windows-1251',
- 'cp1252' => 'windows-1252',
- 'cp1253' => 'windows-1253',
- 'cp1254' => 'windows-1254',
- 'cp1255' => 'windows-1255',
- 'cp1256' => 'windows-1256',
- 'cp1257' => 'windows-1257',
- 'cp1258' => 'windows-1258',
- 'shift-jis' => 'cp932',
- 'shift_jis' => 'cp932',
- 'latin1' => 'iso-8859-1',
- 'latin2' => 'iso-8859-2',
- 'latin3' => 'iso-8859-3',
- 'latin4' => 'iso-8859-4',
- 'latin5' => 'iso-8859-9',
- 'latin6' => 'iso-8859-10',
- 'latin7' => 'iso-8859-13',
- 'latin8' => 'iso-8859-14',
- 'latin9' => 'iso-8859-15',
- 'latin10' => 'iso-8859-16',
- 'iso8859-1' => 'iso-8859-1',
- 'iso8859-2' => 'iso-8859-2',
- 'iso8859-3' => 'iso-8859-3',
- 'iso8859-4' => 'iso-8859-4',
- 'iso8859-5' => 'iso-8859-5',
- 'iso8859-6' => 'iso-8859-6',
- 'iso8859-7' => 'iso-8859-7',
- 'iso8859-8' => 'iso-8859-8',
- 'iso8859-9' => 'iso-8859-9',
- 'iso8859-10' => 'iso-8859-10',
- 'iso8859-11' => 'iso-8859-11',
- 'iso8859-12' => 'iso-8859-12',
- 'iso8859-13' => 'iso-8859-13',
- 'iso8859-14' => 'iso-8859-14',
- 'iso8859-15' => 'iso-8859-15',
- 'iso8859-16' => 'iso-8859-16',
- 'iso_8859-1' => 'iso-8859-1',
- 'iso_8859-2' => 'iso-8859-2',
- 'iso_8859-3' => 'iso-8859-3',
- 'iso_8859-4' => 'iso-8859-4',
- 'iso_8859-5' => 'iso-8859-5',
- 'iso_8859-6' => 'iso-8859-6',
- 'iso_8859-7' => 'iso-8859-7',
- 'iso_8859-8' => 'iso-8859-8',
- 'iso_8859-9' => 'iso-8859-9',
- 'iso_8859-10' => 'iso-8859-10',
- 'iso_8859-11' => 'iso-8859-11',
- 'iso_8859-12' => 'iso-8859-12',
- 'iso_8859-13' => 'iso-8859-13',
- 'iso_8859-14' => 'iso-8859-14',
- 'iso_8859-15' => 'iso-8859-15',
- 'iso_8859-16' => 'iso-8859-16',
- 'iso88591' => 'iso-8859-1',
- 'iso88592' => 'iso-8859-2',
- 'iso88593' => 'iso-8859-3',
- 'iso88594' => 'iso-8859-4',
- 'iso88595' => 'iso-8859-5',
- 'iso88596' => 'iso-8859-6',
- 'iso88597' => 'iso-8859-7',
- 'iso88598' => 'iso-8859-8',
- 'iso88599' => 'iso-8859-9',
- 'iso885910' => 'iso-8859-10',
- 'iso885911' => 'iso-8859-11',
- 'iso885912' => 'iso-8859-12',
- 'iso885913' => 'iso-8859-13',
- 'iso885914' => 'iso-8859-14',
- 'iso885915' => 'iso-8859-15',
- 'iso885916' => 'iso-8859-16',
- ];
- private static $translitMap = [];
- private static $convertMap = [];
- private static $errorHandler;
- private static $lastError;
-
- private static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4];
- private static $isValidUtf8;
-
- public static function iconv($inCharset, $outCharset, $str)
- {
- $str = (string) $str;
- if ('' === $str) {
- return '';
- }
-
- // Prepare for //IGNORE and //TRANSLIT
-
- $translit = $ignore = '';
-
- $outCharset = strtolower($outCharset);
- $inCharset = strtolower($inCharset);
-
- if ('' === $outCharset) {
- $outCharset = 'iso-8859-1';
- }
- if ('' === $inCharset) {
- $inCharset = 'iso-8859-1';
- }
-
- do {
- $loop = false;
-
- if ('//translit' === substr($outCharset, -10)) {
- $loop = $translit = true;
- $outCharset = substr($outCharset, 0, -10);
- }
-
- if ('//ignore' === substr($outCharset, -8)) {
- $loop = $ignore = true;
- $outCharset = substr($outCharset, 0, -8);
- }
- } while ($loop);
-
- do {
- $loop = false;
-
- if ('//translit' === substr($inCharset, -10)) {
- $loop = true;
- $inCharset = substr($inCharset, 0, -10);
- }
-
- if ('//ignore' === substr($inCharset, -8)) {
- $loop = true;
- $inCharset = substr($inCharset, 0, -8);
- }
- } while ($loop);
-
- if (isset(self::$alias[$inCharset])) {
- $inCharset = self::$alias[$inCharset];
- }
- if (isset(self::$alias[$outCharset])) {
- $outCharset = self::$alias[$outCharset];
- }
-
- // Load charset maps
-
- if (('utf-8' !== $inCharset && !self::loadMap('from.', $inCharset, $inMap))
- || ('utf-8' !== $outCharset && !self::loadMap('to.', $outCharset, $outMap))) {
- trigger_error(sprintf(self::ERROR_WRONG_CHARSET, $inCharset, $outCharset));
-
- return false;
- }
-
- if ('utf-8' !== $inCharset) {
- // Convert input to UTF-8
- $result = '';
- if (self::mapToUtf8($result, $inMap, $str, $ignore)) {
- $str = $result;
- } else {
- $str = false;
- }
- self::$isValidUtf8 = true;
- } else {
- self::$isValidUtf8 = preg_match('//u', $str);
-
- if (!self::$isValidUtf8 && !$ignore) {
- trigger_error(self::ERROR_ILLEGAL_CHARACTER);
-
- return false;
- }
-
- if ('utf-8' === $outCharset) {
- // UTF-8 validation
- $str = self::utf8ToUtf8($str, $ignore);
- }
- }
-
- if ('utf-8' !== $outCharset && false !== $str) {
- // Convert output to UTF-8
- $result = '';
- if (self::mapFromUtf8($result, $outMap, $str, $ignore, $translit)) {
- return $result;
- }
-
- return false;
- }
-
- return $str;
- }
-
- public static function iconv_mime_decode_headers($str, $mode = 0, $charset = null)
- {
- if (null === $charset) {
- $charset = self::$internalEncoding;
- }
-
- if (false !== strpos($str, "\r")) {
- $str = strtr(str_replace("\r\n", "\n", $str), "\r", "\n");
- }
- $str = explode("\n\n", $str, 2);
-
- $headers = [];
-
- $str = preg_split('/\n(?![ \t])/', $str[0]);
- foreach ($str as $str) {
- $str = self::iconv_mime_decode($str, $mode, $charset);
- if (false === $str) {
- return false;
- }
- $str = explode(':', $str, 2);
-
- if (2 === \count($str)) {
- if (isset($headers[$str[0]])) {
- if (!\is_array($headers[$str[0]])) {
- $headers[$str[0]] = [$headers[$str[0]]];
- }
- $headers[$str[0]][] = ltrim($str[1]);
- } else {
- $headers[$str[0]] = ltrim($str[1]);
- }
- }
- }
-
- return $headers;
- }
-
- public static function iconv_mime_decode($str, $mode = 0, $charset = null)
- {
- if (null === $charset) {
- $charset = self::$internalEncoding;
- }
- if (\ICONV_MIME_DECODE_CONTINUE_ON_ERROR & $mode) {
- $charset .= '//IGNORE';
- }
-
- if (false !== strpos($str, "\r")) {
- $str = strtr(str_replace("\r\n", "\n", $str), "\r", "\n");
- }
- $str = preg_split('/\n(?![ \t])/', rtrim($str), 2);
- $str = preg_replace('/[ \t]*\n[ \t]+/', ' ', rtrim($str[0]));
- $str = preg_split('/=\?([^?]+)\?([bqBQ])\?(.*?)\?=/', $str, -1, \PREG_SPLIT_DELIM_CAPTURE);
-
- $result = self::iconv('utf-8', $charset, $str[0]);
- if (false === $result) {
- return false;
- }
-
- $i = 1;
- $len = \count($str);
-
- while ($i < $len) {
- $c = strtolower($str[$i]);
- if ((\ICONV_MIME_DECODE_CONTINUE_ON_ERROR & $mode)
- && 'utf-8' !== $c
- && !isset(self::$alias[$c])
- && !self::loadMap('from.', $c, $d)) {
- $d = false;
- } elseif ('B' === strtoupper($str[$i + 1])) {
- $d = base64_decode($str[$i + 2]);
- } else {
- $d = rawurldecode(strtr(str_replace('%', '%25', $str[$i + 2]), '=_', '% '));
- }
-
- if (false !== $d) {
- if ('' !== $d) {
- if ('' === $d = self::iconv($c, $charset, $d)) {
- $str[$i + 3] = substr($str[$i + 3], 1);
- } else {
- $result .= $d;
- }
- }
- $d = self::iconv('utf-8', $charset, $str[$i + 3]);
- if ('' !== trim($d)) {
- $result .= $d;
- }
- } elseif (\ICONV_MIME_DECODE_CONTINUE_ON_ERROR & $mode) {
- $result .= "=?{$str[$i]}?{$str[$i + 1]}?{$str[$i + 2]}?={$str[$i + 3]}";
- } else {
- $result = false;
- break;
- }
-
- $i += 4;
- }
-
- return $result;
- }
-
- public static function iconv_get_encoding($type = 'all')
- {
- switch ($type) {
- case 'input_encoding': return self::$inputEncoding;
- case 'output_encoding': return self::$outputEncoding;
- case 'internal_encoding': return self::$internalEncoding;
- }
-
- return [
- 'input_encoding' => self::$inputEncoding,
- 'output_encoding' => self::$outputEncoding,
- 'internal_encoding' => self::$internalEncoding,
- ];
- }
-
- public static function iconv_set_encoding($type, $charset)
- {
- switch ($type) {
- case 'input_encoding': self::$inputEncoding = $charset; break;
- case 'output_encoding': self::$outputEncoding = $charset; break;
- case 'internal_encoding': self::$internalEncoding = $charset; break;
- default: return false;
- }
-
- return true;
- }
-
- public static function iconv_mime_encode($fieldName, $fieldValue, $pref = null)
- {
- if (!\is_array($pref)) {
- $pref = [];
- }
-
- $pref += [
- 'scheme' => 'B',
- 'input-charset' => self::$internalEncoding,
- 'output-charset' => self::$internalEncoding,
- 'line-length' => 76,
- 'line-break-chars' => "\r\n",
- ];
-
- if (preg_match('/[\x80-\xFF]/', $fieldName)) {
- $fieldName = '';
- }
-
- $scheme = strtoupper(substr($pref['scheme'], 0, 1));
- $in = strtolower($pref['input-charset']);
- $out = strtolower($pref['output-charset']);
-
- if ('utf-8' !== $in && false === $fieldValue = self::iconv($in, 'utf-8', $fieldValue)) {
- return false;
- }
-
- preg_match_all('/./us', $fieldValue, $chars);
-
- $chars = $chars[0] ?? [];
-
- $lineBreak = (int) $pref['line-length'];
- $lineStart = "=?{$pref['output-charset']}?{$scheme}?";
- $lineLength = \strlen($fieldName) + 2 + \strlen($lineStart) + 2;
- $lineOffset = \strlen($lineStart) + 3;
- $lineData = '';
-
- $fieldValue = [];
-
- $Q = 'Q' === $scheme;
-
- foreach ($chars as $c) {
- if ('utf-8' !== $out && false === $c = self::iconv('utf-8', $out, $c)) {
- return false;
- }
-
- $o = $Q
- ? $c = preg_replace_callback(
- '/[=_\?\x00-\x1F\x80-\xFF]/',
- [__CLASS__, 'qpByteCallback'],
- $c
- )
- : base64_encode($lineData.$c);
-
- if (isset($o[$lineBreak - $lineLength])) {
- if (!$Q) {
- $lineData = base64_encode($lineData);
- }
- $fieldValue[] = $lineStart.$lineData.'?=';
- $lineLength = $lineOffset;
- $lineData = '';
- }
-
- $lineData .= $c;
- $Q && $lineLength += \strlen($c);
- }
-
- if ('' !== $lineData) {
- if (!$Q) {
- $lineData = base64_encode($lineData);
- }
- $fieldValue[] = $lineStart.$lineData.'?=';
- }
-
- return $fieldName.': '.implode($pref['line-break-chars'].' ', $fieldValue);
- }
-
- public static function iconv_strlen($s, $encoding = null)
- {
- if (null === $encoding) {
- $encoding = self::$internalEncoding;
- }
- if (0 !== stripos($encoding, 'utf-8') && false === $s = self::iconv($encoding, 'utf-8', $s)) {
- return false;
- }
-
- $ulenMask = self::$ulenMask;
-
- $i = 0;
- $j = 0;
- $len = \strlen($s);
-
- while ($i < $len) {
- $u = $s[$i] & "\xF0";
- $i += $ulenMask[$u] ?? 1;
- ++$j;
- }
-
- return $j;
- }
-
- public static function iconv_strpos($haystack, $needle, $offset = 0, $encoding = null)
- {
- if (null === $encoding) {
- $encoding = self::$internalEncoding;
- }
-
- if (0 !== stripos($encoding, 'utf-8')) {
- if (false === $haystack = self::iconv($encoding, 'utf-8', $haystack)) {
- return false;
- }
- if (false === $needle = self::iconv($encoding, 'utf-8', $needle)) {
- return false;
- }
- }
-
- if ($offset = (int) $offset) {
- $haystack = self::iconv_substr($haystack, $offset, 2147483647, 'utf-8');
- }
- $pos = strpos($haystack, $needle);
-
- return false === $pos ? false : ($offset + ($pos ? self::iconv_strlen(substr($haystack, 0, $pos), 'utf-8') : 0));
- }
-
- public static function iconv_strrpos($haystack, $needle, $encoding = null)
- {
- if (null === $encoding) {
- $encoding = self::$internalEncoding;
- }
-
- if (0 !== stripos($encoding, 'utf-8')) {
- if (false === $haystack = self::iconv($encoding, 'utf-8', $haystack)) {
- return false;
- }
- if (false === $needle = self::iconv($encoding, 'utf-8', $needle)) {
- return false;
- }
- }
-
- $pos = isset($needle[0]) ? strrpos($haystack, $needle) : false;
-
- return false === $pos ? false : self::iconv_strlen($pos ? substr($haystack, 0, $pos) : $haystack, 'utf-8');
- }
-
- public static function iconv_substr($s, $start, $length = 2147483647, $encoding = null)
- {
- if (null === $encoding) {
- $encoding = self::$internalEncoding;
- }
- if (0 !== stripos($encoding, 'utf-8')) {
- $encoding = null;
- } elseif (false === $s = self::iconv($encoding, 'utf-8', $s)) {
- return false;
- }
-
- $s = (string) $s;
- $slen = self::iconv_strlen($s, 'utf-8');
- $start = (int) $start;
-
- if (0 > $start) {
- $start += $slen;
- }
- if (0 > $start) {
- if (\PHP_VERSION_ID < 80000) {
- return false;
- }
-
- $start = 0;
- }
- if ($start >= $slen) {
- return \PHP_VERSION_ID >= 80000 ? '' : false;
- }
-
- $rx = $slen - $start;
-
- if (0 > $length) {
- $length += $rx;
- }
- if (0 === $length) {
- return '';
- }
- if (0 > $length) {
- return \PHP_VERSION_ID >= 80000 ? '' : false;
- }
-
- if ($length > $rx) {
- $length = $rx;
- }
-
- $rx = '/^'.($start ? self::pregOffset($start) : '').'('.self::pregOffset($length).')/u';
-
- $s = preg_match($rx, $s, $s) ? $s[1] : '';
-
- if (null === $encoding) {
- return $s;
- }
-
- return self::iconv('utf-8', $encoding, $s);
- }
-
- private static function loadMap($type, $charset, &$map)
- {
- if (!isset(self::$convertMap[$type.$charset])) {
- if (false === $map = self::getData($type.$charset)) {
- if ('to.' === $type && self::loadMap('from.', $charset, $map)) {
- $map = array_flip($map);
- } else {
- return false;
- }
- }
-
- self::$convertMap[$type.$charset] = $map;
- } else {
- $map = self::$convertMap[$type.$charset];
- }
-
- return true;
- }
-
- private static function utf8ToUtf8($str, $ignore)
- {
- $ulenMask = self::$ulenMask;
- $valid = self::$isValidUtf8;
-
- $u = $str;
- $i = $j = 0;
- $len = \strlen($str);
-
- while ($i < $len) {
- if ($str[$i] < "\x80") {
- $u[$j++] = $str[$i++];
- } else {
- $ulen = $str[$i] & "\xF0";
- $ulen = $ulenMask[$ulen] ?? 1;
- $uchr = substr($str, $i, $ulen);
-
- if (1 === $ulen || !($valid || preg_match('/^.$/us', $uchr))) {
- if ($ignore) {
- ++$i;
- continue;
- }
-
- trigger_error(self::ERROR_ILLEGAL_CHARACTER);
-
- return false;
- }
-
- $i += $ulen;
-
- $u[$j++] = $uchr[0];
-
- isset($uchr[1]) && 0 !== ($u[$j++] = $uchr[1])
- && isset($uchr[2]) && 0 !== ($u[$j++] = $uchr[2])
- && isset($uchr[3]) && 0 !== ($u[$j++] = $uchr[3]);
- }
- }
-
- return substr($u, 0, $j);
- }
-
- private static function mapToUtf8(&$result, array $map, $str, $ignore)
- {
- $len = \strlen($str);
- for ($i = 0; $i < $len; ++$i) {
- if (isset($str[$i + 1], $map[$str[$i].$str[$i + 1]])) {
- $result .= $map[$str[$i].$str[++$i]];
- } elseif (isset($map[$str[$i]])) {
- $result .= $map[$str[$i]];
- } elseif (!$ignore) {
- trigger_error(self::ERROR_ILLEGAL_CHARACTER);
-
- return false;
- }
- }
-
- return true;
- }
-
- private static function mapFromUtf8(&$result, array $map, $str, $ignore, $translit)
- {
- $ulenMask = self::$ulenMask;
- $valid = self::$isValidUtf8;
-
- if ($translit && !self::$translitMap) {
- self::$translitMap = self::getData('translit');
- }
-
- $i = 0;
- $len = \strlen($str);
-
- while ($i < $len) {
- if ($str[$i] < "\x80") {
- $uchr = $str[$i++];
- } else {
- $ulen = $str[$i] & "\xF0";
- $ulen = $ulenMask[$ulen] ?? 1;
- $uchr = substr($str, $i, $ulen);
-
- if ($ignore && (1 === $ulen || !($valid || preg_match('/^.$/us', $uchr)))) {
- ++$i;
- continue;
- }
-
- $i += $ulen;
- }
-
- if (isset($map[$uchr])) {
- $result .= $map[$uchr];
- } elseif ($translit) {
- if (isset(self::$translitMap[$uchr])) {
- $uchr = self::$translitMap[$uchr];
- } elseif ($uchr >= "\xC3\x80") {
- $uchr = \Normalizer::normalize($uchr, \Normalizer::NFD);
-
- if ($uchr[0] < "\x80") {
- $uchr = $uchr[0];
- } elseif ($ignore) {
- continue;
- } else {
- return false;
- }
- } elseif ($ignore) {
- continue;
- } else {
- return false;
- }
-
- $str = $uchr.substr($str, $i);
- $len = \strlen($str);
- $i = 0;
- } elseif (!$ignore) {
- return false;
- }
- }
-
- return true;
- }
-
- private static function qpByteCallback(array $m)
- {
- return '='.strtoupper(dechex(\ord($m[0])));
- }
-
- private static function pregOffset($offset)
- {
- $rx = [];
- $offset = (int) $offset;
-
- while ($offset > 65535) {
- $rx[] = '.{65535}';
- $offset -= 65535;
- }
-
- return implode('', $rx).'.{'.$offset.'}';
- }
-
- private static function getData($file)
- {
- if (file_exists($file = __DIR__.'/Resources/charset/'.$file.'.php')) {
- return require $file;
- }
-
- return false;
- }
-}
diff --git a/plugins/vendor/symfony/polyfill-iconv/LICENSE b/plugins/vendor/symfony/polyfill-iconv/LICENSE
deleted file mode 100644
index 6e3afce6..00000000
--- a/plugins/vendor/symfony/polyfill-iconv/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2015-present Fabien Potencier
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/plugins/vendor/symfony/polyfill-iconv/README.md b/plugins/vendor/symfony/polyfill-iconv/README.md
deleted file mode 100644
index b089088b..00000000
--- a/plugins/vendor/symfony/polyfill-iconv/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-Symfony Polyfill / Iconv
-========================
-
-This component provides a native PHP implementation of the
-[php.net/iconv](https://php.net/iconv) functions
-(short of [`ob_iconv_handler`](https://php.net/ob-iconv-handler)).
-
-More information can be found in the
-[main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
-
-License
-=======
-
-This library is released under the [MIT license](LICENSE).
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php
deleted file mode 100644
index b1198549..00000000
--- a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php
+++ /dev/null
@@ -1,13719 +0,0 @@
- ' ',
- 'A' => ',',
- 'B' => '、',
- 'C' => '。',
- 'D' => '.',
- 'E' => '•',
- 'F' => ';',
- 'G' => ':',
- 'H' => '?',
- 'I' => '!',
- 'J' => '︰',
- 'K' => '…',
- 'L' => '‥',
- 'M' => '﹐',
- 'N' => '、',
- 'O' => '﹒',
- 'P' => '·',
- 'Q' => '﹔',
- 'R' => '﹕',
- 'S' => '﹖',
- 'T' => '﹗',
- 'U' => '|',
- 'V' => '–',
- 'W' => '︱',
- 'X' => '—',
- 'Y' => '︳',
- 'Z' => '�',
- '[' => '︴',
- '\\' => '﹏',
- ']' => '(',
- '^' => ')',
- '_' => '︵',
- '`' => '︶',
- 'a' => '{',
- 'b' => '}',
- 'c' => '︷',
- 'd' => '︸',
- 'e' => '〔',
- 'f' => '〕',
- 'g' => '︹',
- 'h' => '︺',
- 'i' => '【',
- 'j' => '】',
- 'k' => '︻',
- 'l' => '︼',
- 'm' => '《',
- 'n' => '》',
- 'o' => '︽',
- 'p' => '︾',
- 'q' => '〈',
- 'r' => '〉',
- 's' => '︿',
- 't' => '﹀',
- 'u' => '「',
- 'v' => '」',
- 'w' => '﹁',
- 'x' => '﹂',
- 'y' => '『',
- 'z' => '』',
- '{' => '﹃',
- '|' => '﹄',
- '}' => '﹙',
- '~' => '﹚',
- '' => '﹛',
- '' => '﹜',
- '' => '﹝',
- '' => '﹞',
- '' => '‘',
- '' => '’',
- '' => '“',
- '' => '”',
- '' => '〝',
- '' => '〞',
- '' => '‵',
- '' => '′',
- '' => '#',
- '' => '&',
- '' => '*',
- '' => '※',
- '' => '§',
- '' => '〃',
- '' => '○',
- '' => '●',
- '' => '△',
- '' => '▲',
- '' => '◎',
- '' => '☆',
- '' => '★',
- '' => '◇',
- '' => '◆',
- '' => '□',
- '' => '■',
- '' => '▽',
- '' => '▼',
- '' => '㊣',
- '' => '℅',
- '' => '‾',
- '' => '�',
- '' => '_',
- '' => '�',
- '' => '﹉',
- '' => '﹊',
- '' => '﹍',
- '' => '﹎',
- '' => '﹋',
- '' => '﹌',
- '' => '﹟',
- '' => '﹠',
- '' => '﹡',
- '' => '+',
- '' => '-',
- '' => '×',
- '' => '÷',
- '' => '±',
- '' => '√',
- '' => '<',
- '' => '>',
- '' => '=',
- '' => '≦',
- '' => '≧',
- '' => '≠',
- '' => '∞',
- '' => '≒',
- '' => '≡',
- '' => '﹢',
- '' => '﹣',
- '' => '﹤',
- '' => '﹥',
- '' => '﹦',
- '' => '∼',
- '' => '∩',
- '' => '∪',
- '' => '⊥',
- '' => '∠',
- '' => '∟',
- '' => '⊿',
- '' => '㏒',
- '' => '㏑',
- '' => '∫',
- '' => '∮',
- '' => '∵',
- '' => '∴',
- '' => '♀',
- '' => '♂',
- '' => '♁',
- '' => '☉',
- '' => '↑',
- '' => '↓',
- '' => '←',
- '' => '→',
- '' => '↖',
- '' => '↗',
- '' => '↙',
- '' => '↘',
- '' => '∥',
- '' => '∣',
- '' => '�',
- '@' => '�',
- 'A' => '/',
- 'B' => '\',
- 'C' => '$',
- 'D' => '¥',
- 'E' => '〒',
- 'F' => '¢',
- 'G' => '£',
- 'H' => '%',
- 'I' => '@',
- 'J' => '℃',
- 'K' => '℉',
- 'L' => '﹩',
- 'M' => '﹪',
- 'N' => '﹫',
- 'O' => '㏕',
- 'P' => '㎜',
- 'Q' => '㎝',
- 'R' => '㎞',
- 'S' => '㏎',
- 'T' => '㎡',
- 'U' => '㎎',
- 'V' => '㎏',
- 'W' => '㏄',
- 'X' => '°',
- 'Y' => '兙',
- 'Z' => '兛',
- '[' => '兞',
- '\\' => '兝',
- ']' => '兡',
- '^' => '兣',
- '_' => '嗧',
- '`' => '瓩',
- 'a' => '糎',
- 'b' => '▁',
- 'c' => '▂',
- 'd' => '▃',
- 'e' => '▄',
- 'f' => '▅',
- 'g' => '▆',
- 'h' => '▇',
- 'i' => '█',
- 'j' => '▏',
- 'k' => '▎',
- 'l' => '▍',
- 'm' => '▌',
- 'n' => '▋',
- 'o' => '▊',
- 'p' => '▉',
- 'q' => '┼',
- 'r' => '┴',
- 's' => '┬',
- 't' => '┤',
- 'u' => '├',
- 'v' => '▔',
- 'w' => '─',
- 'x' => '│',
- 'y' => '▕',
- 'z' => '┌',
- '{' => '┐',
- '|' => '└',
- '}' => '┘',
- '~' => '╭',
- '' => '╮',
- '' => '╰',
- '' => '╯',
- '' => '═',
- '' => '╞',
- '' => '╪',
- '' => '╡',
- '' => '◢',
- '' => '◣',
- '' => '◥',
- '' => '◤',
- '' => '╱',
- '' => '╲',
- '' => '╳',
- '' => '0',
- '' => '1',
- '' => '2',
- '' => '3',
- '' => '4',
- '' => '5',
- '' => '6',
- '' => '7',
- '' => '8',
- '' => '9',
- '' => 'Ⅰ',
- '' => 'Ⅱ',
- '' => 'Ⅲ',
- '' => 'Ⅳ',
- '' => 'Ⅴ',
- '' => 'Ⅵ',
- '' => 'Ⅶ',
- '' => 'Ⅷ',
- '' => 'Ⅸ',
- '' => 'Ⅹ',
- '' => '〡',
- '' => '〢',
- '' => '〣',
- '' => '〤',
- '' => '〥',
- '' => '〦',
- '' => '〧',
- '' => '〨',
- '' => '〩',
- '' => '�',
- '' => '卄',
- '' => '�',
- '' => 'A',
- '' => 'B',
- '' => 'C',
- '' => 'D',
- '' => 'E',
- '' => 'F',
- '' => 'G',
- '' => 'H',
- '' => 'I',
- '' => 'J',
- '' => 'K',
- '' => 'L',
- '' => 'M',
- '' => 'N',
- '' => 'O',
- '' => 'P',
- '' => 'Q',
- '' => 'R',
- '' => 'S',
- '' => 'T',
- '' => 'U',
- '' => 'V',
- '' => 'W',
- '' => 'X',
- '' => 'Y',
- '' => 'Z',
- '' => 'a',
- '' => 'b',
- '' => 'c',
- '' => 'd',
- '' => 'e',
- '' => 'f',
- '' => 'g',
- '' => 'h',
- '' => 'i',
- '' => 'j',
- '' => 'k',
- '' => 'l',
- '' => 'm',
- '' => 'n',
- '' => 'o',
- '' => 'p',
- '' => 'q',
- '' => 'r',
- '' => 's',
- '' => 't',
- '' => 'u',
- '' => 'v',
- '@' => 'w',
- 'A' => 'x',
- 'B' => 'y',
- 'C' => 'z',
- 'D' => 'Α',
- 'E' => 'Β',
- 'F' => 'Γ',
- 'G' => 'Δ',
- 'H' => 'Ε',
- 'I' => 'Ζ',
- 'J' => 'Η',
- 'K' => 'Θ',
- 'L' => 'Ι',
- 'M' => 'Κ',
- 'N' => 'Λ',
- 'O' => 'Μ',
- 'P' => 'Ν',
- 'Q' => 'Ξ',
- 'R' => 'Ο',
- 'S' => 'Π',
- 'T' => 'Ρ',
- 'U' => 'Σ',
- 'V' => 'Τ',
- 'W' => 'Υ',
- 'X' => 'Φ',
- 'Y' => 'Χ',
- 'Z' => 'Ψ',
- '[' => 'Ω',
- '\\' => 'α',
- ']' => 'β',
- '^' => 'γ',
- '_' => 'δ',
- '`' => 'ε',
- 'a' => 'ζ',
- 'b' => 'η',
- 'c' => 'θ',
- 'd' => 'ι',
- 'e' => 'κ',
- 'f' => 'λ',
- 'g' => 'μ',
- 'h' => 'ν',
- 'i' => 'ξ',
- 'j' => 'ο',
- 'k' => 'π',
- 'l' => 'ρ',
- 'm' => 'σ',
- 'n' => 'τ',
- 'o' => 'υ',
- 'p' => 'φ',
- 'q' => 'χ',
- 'r' => 'ψ',
- 's' => 'ω',
- 't' => 'ㄅ',
- 'u' => 'ㄆ',
- 'v' => 'ㄇ',
- 'w' => 'ㄈ',
- 'x' => 'ㄉ',
- 'y' => 'ㄊ',
- 'z' => 'ㄋ',
- '{' => 'ㄌ',
- '|' => 'ㄍ',
- '}' => 'ㄎ',
- '~' => 'ㄏ',
- '' => 'ㄐ',
- '' => 'ㄑ',
- '' => 'ㄒ',
- '' => 'ㄓ',
- '' => 'ㄔ',
- '' => 'ㄕ',
- '' => 'ㄖ',
- '' => 'ㄗ',
- '' => 'ㄘ',
- '' => 'ㄙ',
- '' => 'ㄚ',
- '' => 'ㄛ',
- '' => 'ㄜ',
- '' => 'ㄝ',
- '' => 'ㄞ',
- '' => 'ㄟ',
- '' => 'ㄠ',
- '' => 'ㄡ',
- '' => 'ㄢ',
- '' => 'ㄣ',
- '' => 'ㄤ',
- '' => 'ㄥ',
- '' => 'ㄦ',
- '' => 'ㄧ',
- '' => 'ㄨ',
- '' => 'ㄩ',
- '' => '˙',
- '' => 'ˉ',
- '' => 'ˊ',
- '' => 'ˇ',
- '' => 'ˋ',
- '@' => '一',
- 'A' => '乙',
- 'B' => '丁',
- 'C' => '七',
- 'D' => '乃',
- 'E' => '九',
- 'F' => '了',
- 'G' => '二',
- 'H' => '人',
- 'I' => '儿',
- 'J' => '入',
- 'K' => '八',
- 'L' => '几',
- 'M' => '刀',
- 'N' => '刁',
- 'O' => '力',
- 'P' => '匕',
- 'Q' => '十',
- 'R' => '卜',
- 'S' => '又',
- 'T' => '三',
- 'U' => '下',
- 'V' => '丈',
- 'W' => '上',
- 'X' => '丫',
- 'Y' => '丸',
- 'Z' => '凡',
- '[' => '久',
- '\\' => '么',
- ']' => '也',
- '^' => '乞',
- '_' => '于',
- '`' => '亡',
- 'a' => '兀',
- 'b' => '刃',
- 'c' => '勺',
- 'd' => '千',
- 'e' => '叉',
- 'f' => '口',
- 'g' => '土',
- 'h' => '士',
- 'i' => '夕',
- 'j' => '大',
- 'k' => '女',
- 'l' => '子',
- 'm' => '孑',
- 'n' => '孓',
- 'o' => '寸',
- 'p' => '小',
- 'q' => '尢',
- 'r' => '尸',
- 's' => '山',
- 't' => '川',
- 'u' => '工',
- 'v' => '己',
- 'w' => '已',
- 'x' => '巳',
- 'y' => '巾',
- 'z' => '干',
- '{' => '廾',
- '|' => '弋',
- '}' => '弓',
- '~' => '才',
- '' => '丑',
- '' => '丐',
- '' => '不',
- '' => '中',
- '' => '丰',
- '' => '丹',
- '' => '之',
- '' => '尹',
- '' => '予',
- '' => '云',
- '' => '井',
- '' => '互',
- '' => '五',
- '' => '亢',
- '' => '仁',
- '' => '什',
- '' => '仃',
- '' => '仆',
- '' => '仇',
- '' => '仍',
- '' => '今',
- '' => '介',
- '' => '仄',
- '' => '元',
- '' => '允',
- '' => '內',
- '' => '六',
- '' => '兮',
- '' => '公',
- '' => '冗',
- '' => '凶',
- '' => '分',
- '' => '切',
- '' => '刈',
- '' => '勻',
- '' => '勾',
- '' => '勿',
- '' => '化',
- '' => '匹',
- '' => '午',
- '' => '升',
- '' => '卅',
- '' => '卞',
- '' => '厄',
- '' => '友',
- '' => '及',
- '' => '反',
- '' => '壬',
- '' => '天',
- '' => '夫',
- '' => '太',
- '' => '夭',
- '' => '孔',
- '' => '少',
- '' => '尤',
- '' => '尺',
- '' => '屯',
- '' => '巴',
- '' => '幻',
- '' => '廿',
- '' => '弔',
- '' => '引',
- '' => '心',
- '' => '戈',
- '' => '戶',
- '' => '手',
- '' => '扎',
- '' => '支',
- '' => '文',
- '' => '斗',
- '' => '斤',
- '' => '方',
- '' => '日',
- '' => '曰',
- '' => '月',
- '' => '木',
- '' => '欠',
- '' => '止',
- '' => '歹',
- '' => '毋',
- '' => '比',
- '' => '毛',
- '' => '氏',
- '' => '水',
- '' => '火',
- '' => '爪',
- '' => '父',
- '' => '爻',
- '' => '片',
- '' => '牙',
- '' => '牛',
- '' => '犬',
- '' => '王',
- '' => '丙',
- '@' => '世',
- 'A' => '丕',
- 'B' => '且',
- 'C' => '丘',
- 'D' => '主',
- 'E' => '乍',
- 'F' => '乏',
- 'G' => '乎',
- 'H' => '以',
- 'I' => '付',
- 'J' => '仔',
- 'K' => '仕',
- 'L' => '他',
- 'M' => '仗',
- 'N' => '代',
- 'O' => '令',
- 'P' => '仙',
- 'Q' => '仞',
- 'R' => '充',
- 'S' => '兄',
- 'T' => '冉',
- 'U' => '冊',
- 'V' => '冬',
- 'W' => '凹',
- 'X' => '出',
- 'Y' => '凸',
- 'Z' => '刊',
- '[' => '加',
- '\\' => '功',
- ']' => '包',
- '^' => '匆',
- '_' => '北',
- '`' => '匝',
- 'a' => '仟',
- 'b' => '半',
- 'c' => '卉',
- 'd' => '卡',
- 'e' => '占',
- 'f' => '卯',
- 'g' => '卮',
- 'h' => '去',
- 'i' => '可',
- 'j' => '古',
- 'k' => '右',
- 'l' => '召',
- 'm' => '叮',
- 'n' => '叩',
- 'o' => '叨',
- 'p' => '叼',
- 'q' => '司',
- 'r' => '叵',
- 's' => '叫',
- 't' => '另',
- 'u' => '只',
- 'v' => '史',
- 'w' => '叱',
- 'x' => '台',
- 'y' => '句',
- 'z' => '叭',
- '{' => '叻',
- '|' => '四',
- '}' => '囚',
- '~' => '外',
- '' => '央',
- '' => '失',
- '' => '奴',
- '' => '奶',
- '' => '孕',
- '' => '它',
- '' => '尼',
- '' => '巨',
- '' => '巧',
- '' => '左',
- '' => '市',
- '' => '布',
- '' => '平',
- '' => '幼',
- '' => '弁',
- '' => '弘',
- '' => '弗',
- '' => '必',
- '' => '戊',
- '' => '打',
- '' => '扔',
- '' => '扒',
- '' => '扑',
- '' => '斥',
- '' => '旦',
- '' => '朮',
- '' => '本',
- '' => '未',
- '' => '末',
- '' => '札',
- '' => '正',
- '' => '母',
- '' => '民',
- '' => '氐',
- '' => '永',
- '' => '汁',
- '' => '汀',
- '' => '氾',
- '' => '犯',
- '' => '玄',
- '' => '玉',
- '' => '瓜',
- '' => '瓦',
- '' => '甘',
- '' => '生',
- '' => '用',
- '' => '甩',
- '' => '田',
- '' => '由',
- '' => '甲',
- '' => '申',
- '' => '疋',
- '' => '白',
- '' => '皮',
- '' => '皿',
- '' => '目',
- '' => '矛',
- '' => '矢',
- '' => '石',
- '' => '示',
- '' => '禾',
- '' => '穴',
- '' => '立',
- '' => '丞',
- '' => '丟',
- '' => '乒',
- '' => '乓',
- '' => '乩',
- '' => '亙',
- '' => '交',
- '' => '亦',
- '' => '亥',
- '' => '仿',
- '' => '伉',
- '' => '伙',
- '' => '伊',
- '' => '伕',
- '' => '伍',
- '' => '伐',
- '' => '休',
- '' => '伏',
- '' => '仲',
- '' => '件',
- '' => '任',
- '' => '仰',
- '' => '仳',
- '' => '份',
- '' => '企',
- '' => '伋',
- '' => '光',
- '' => '兇',
- '' => '兆',
- '' => '先',
- '' => '全',
- '@' => '共',
- 'A' => '再',
- 'B' => '冰',
- 'C' => '列',
- 'D' => '刑',
- 'E' => '划',
- 'F' => '刎',
- 'G' => '刖',
- 'H' => '劣',
- 'I' => '匈',
- 'J' => '匡',
- 'K' => '匠',
- 'L' => '印',
- 'M' => '危',
- 'N' => '吉',
- 'O' => '吏',
- 'P' => '同',
- 'Q' => '吊',
- 'R' => '吐',
- 'S' => '吁',
- 'T' => '吋',
- 'U' => '各',
- 'V' => '向',
- 'W' => '名',
- 'X' => '合',
- 'Y' => '吃',
- 'Z' => '后',
- '[' => '吆',
- '\\' => '吒',
- ']' => '因',
- '^' => '回',
- '_' => '囝',
- '`' => '圳',
- 'a' => '地',
- 'b' => '在',
- 'c' => '圭',
- 'd' => '圬',
- 'e' => '圯',
- 'f' => '圩',
- 'g' => '夙',
- 'h' => '多',
- 'i' => '夷',
- 'j' => '夸',
- 'k' => '妄',
- 'l' => '奸',
- 'm' => '妃',
- 'n' => '好',
- 'o' => '她',
- 'p' => '如',
- 'q' => '妁',
- 'r' => '字',
- 's' => '存',
- 't' => '宇',
- 'u' => '守',
- 'v' => '宅',
- 'w' => '安',
- 'x' => '寺',
- 'y' => '尖',
- 'z' => '屹',
- '{' => '州',
- '|' => '帆',
- '}' => '并',
- '~' => '年',
- '' => '式',
- '' => '弛',
- '' => '忙',
- '' => '忖',
- '' => '戎',
- '' => '戌',
- '' => '戍',
- '' => '成',
- '' => '扣',
- '' => '扛',
- '' => '托',
- '' => '收',
- '' => '早',
- '' => '旨',
- '' => '旬',
- '' => '旭',
- '' => '曲',
- '' => '曳',
- '' => '有',
- '' => '朽',
- '' => '朴',
- '' => '朱',
- '' => '朵',
- '' => '次',
- '' => '此',
- '' => '死',
- '' => '氖',
- '' => '汝',
- '' => '汗',
- '' => '汙',
- '' => '江',
- '' => '池',
- '' => '汐',
- '' => '汕',
- '' => '污',
- '' => '汛',
- '' => '汍',
- '' => '汎',
- '' => '灰',
- '' => '牟',
- '' => '牝',
- '' => '百',
- '' => '竹',
- '' => '米',
- '' => '糸',
- '' => '缶',
- '' => '羊',
- '' => '羽',
- '' => '老',
- '' => '考',
- '' => '而',
- '' => '耒',
- '' => '耳',
- '' => '聿',
- '' => '肉',
- '' => '肋',
- '' => '肌',
- '' => '臣',
- '' => '自',
- '' => '至',
- '' => '臼',
- '' => '舌',
- '' => '舛',
- '' => '舟',
- '' => '艮',
- '' => '色',
- '' => '艾',
- '' => '虫',
- '' => '血',
- '' => '行',
- '' => '衣',
- '' => '西',
- '' => '阡',
- '' => '串',
- '' => '亨',
- '' => '位',
- '' => '住',
- '' => '佇',
- '' => '佗',
- '' => '佞',
- '' => '伴',
- '' => '佛',
- '' => '何',
- '' => '估',
- '' => '佐',
- '' => '佑',
- '' => '伽',
- '' => '伺',
- '' => '伸',
- '' => '佃',
- '' => '佔',
- '' => '似',
- '' => '但',
- '' => '佣',
- '@' => '作',
- 'A' => '你',
- 'B' => '伯',
- 'C' => '低',
- 'D' => '伶',
- 'E' => '余',
- 'F' => '佝',
- 'G' => '佈',
- 'H' => '佚',
- 'I' => '兌',
- 'J' => '克',
- 'K' => '免',
- 'L' => '兵',
- 'M' => '冶',
- 'N' => '冷',
- 'O' => '別',
- 'P' => '判',
- 'Q' => '利',
- 'R' => '刪',
- 'S' => '刨',
- 'T' => '劫',
- 'U' => '助',
- 'V' => '努',
- 'W' => '劬',
- 'X' => '匣',
- 'Y' => '即',
- 'Z' => '卵',
- '[' => '吝',
- '\\' => '吭',
- ']' => '吞',
- '^' => '吾',
- '_' => '否',
- '`' => '呎',
- 'a' => '吧',
- 'b' => '呆',
- 'c' => '呃',
- 'd' => '吳',
- 'e' => '呈',
- 'f' => '呂',
- 'g' => '君',
- 'h' => '吩',
- 'i' => '告',
- 'j' => '吹',
- 'k' => '吻',
- 'l' => '吸',
- 'm' => '吮',
- 'n' => '吵',
- 'o' => '吶',
- 'p' => '吠',
- 'q' => '吼',
- 'r' => '呀',
- 's' => '吱',
- 't' => '含',
- 'u' => '吟',
- 'v' => '听',
- 'w' => '囪',
- 'x' => '困',
- 'y' => '囤',
- 'z' => '囫',
- '{' => '坊',
- '|' => '坑',
- '}' => '址',
- '~' => '坍',
- '' => '均',
- '' => '坎',
- '' => '圾',
- '' => '坐',
- '' => '坏',
- '' => '圻',
- '' => '壯',
- '' => '夾',
- '' => '妝',
- '' => '妒',
- '' => '妨',
- '' => '妞',
- '' => '妣',
- '' => '妙',
- '' => '妖',
- '' => '妍',
- '' => '妤',
- '' => '妓',
- '' => '妊',
- '' => '妥',
- '' => '孝',
- '' => '孜',
- '' => '孚',
- '' => '孛',
- '' => '完',
- '' => '宋',
- '' => '宏',
- '' => '尬',
- '' => '局',
- '' => '屁',
- '' => '尿',
- '' => '尾',
- '' => '岐',
- '' => '岑',
- '' => '岔',
- '' => '岌',
- '' => '巫',
- '' => '希',
- '' => '序',
- '' => '庇',
- '' => '床',
- '' => '廷',
- '' => '弄',
- '' => '弟',
- '' => '彤',
- '' => '形',
- '' => '彷',
- '' => '役',
- '' => '忘',
- '' => '忌',
- '' => '志',
- '' => '忍',
- '' => '忱',
- '' => '快',
- '' => '忸',
- '' => '忪',
- '' => '戒',
- '' => '我',
- '' => '抄',
- '' => '抗',
- '' => '抖',
- '' => '技',
- '' => '扶',
- '' => '抉',
- '' => '扭',
- '' => '把',
- '' => '扼',
- '' => '找',
- '' => '批',
- '' => '扳',
- '' => '抒',
- '' => '扯',
- '' => '折',
- '' => '扮',
- '' => '投',
- '' => '抓',
- '' => '抑',
- '' => '抆',
- '' => '改',
- '' => '攻',
- '' => '攸',
- '' => '旱',
- '' => '更',
- '' => '束',
- '' => '李',
- '' => '杏',
- '' => '材',
- '' => '村',
- '' => '杜',
- '' => '杖',
- '' => '杞',
- '' => '杉',
- '' => '杆',
- '' => '杠',
- '@' => '杓',
- 'A' => '杗',
- 'B' => '步',
- 'C' => '每',
- 'D' => '求',
- 'E' => '汞',
- 'F' => '沙',
- 'G' => '沁',
- 'H' => '沈',
- 'I' => '沉',
- 'J' => '沅',
- 'K' => '沛',
- 'L' => '汪',
- 'M' => '決',
- 'N' => '沐',
- 'O' => '汰',
- 'P' => '沌',
- 'Q' => '汨',
- 'R' => '沖',
- 'S' => '沒',
- 'T' => '汽',
- 'U' => '沃',
- 'V' => '汲',
- 'W' => '汾',
- 'X' => '汴',
- 'Y' => '沆',
- 'Z' => '汶',
- '[' => '沍',
- '\\' => '沔',
- ']' => '沘',
- '^' => '沂',
- '_' => '灶',
- '`' => '灼',
- 'a' => '災',
- 'b' => '灸',
- 'c' => '牢',
- 'd' => '牡',
- 'e' => '牠',
- 'f' => '狄',
- 'g' => '狂',
- 'h' => '玖',
- 'i' => '甬',
- 'j' => '甫',
- 'k' => '男',
- 'l' => '甸',
- 'm' => '皂',
- 'n' => '盯',
- 'o' => '矣',
- 'p' => '私',
- 'q' => '秀',
- 'r' => '禿',
- 's' => '究',
- 't' => '系',
- 'u' => '罕',
- 'v' => '肖',
- 'w' => '肓',
- 'x' => '肝',
- 'y' => '肘',
- 'z' => '肛',
- '{' => '肚',
- '|' => '育',
- '}' => '良',
- '~' => '芒',
- '' => '芋',
- '' => '芍',
- '' => '見',
- '' => '角',
- '' => '言',
- '' => '谷',
- '' => '豆',
- '' => '豕',
- '' => '貝',
- '' => '赤',
- '' => '走',
- '' => '足',
- '' => '身',
- '' => '車',
- '' => '辛',
- '' => '辰',
- '' => '迂',
- '' => '迆',
- '' => '迅',
- '' => '迄',
- '' => '巡',
- '' => '邑',
- '' => '邢',
- '' => '邪',
- '' => '邦',
- '' => '那',
- '' => '酉',
- '' => '釆',
- '' => '里',
- '' => '防',
- '' => '阮',
- '' => '阱',
- '' => '阪',
- '' => '阬',
- '' => '並',
- '' => '乖',
- '' => '乳',
- '' => '事',
- '' => '些',
- '' => '亞',
- '' => '享',
- '' => '京',
- '' => '佯',
- '' => '依',
- '' => '侍',
- '' => '佳',
- '' => '使',
- '' => '佬',
- '' => '供',
- '' => '例',
- '' => '來',
- '' => '侃',
- '' => '佰',
- '' => '併',
- '' => '侈',
- '' => '佩',
- '' => '佻',
- '' => '侖',
- '' => '佾',
- '' => '侏',
- '' => '侑',
- '' => '佺',
- '' => '兔',
- '' => '兒',
- '' => '兕',
- '' => '兩',
- '' => '具',
- '' => '其',
- '' => '典',
- '' => '冽',
- '' => '函',
- '' => '刻',
- '' => '券',
- '' => '刷',
- '' => '刺',
- '' => '到',
- '' => '刮',
- '' => '制',
- '' => '剁',
- '' => '劾',
- '' => '劻',
- '' => '卒',
- '' => '協',
- '' => '卓',
- '' => '卑',
- '' => '卦',
- '' => '卷',
- '' => '卸',
- '' => '卹',
- '' => '取',
- '' => '叔',
- '' => '受',
- '' => '味',
- '' => '呵',
- '@' => '咖',
- 'A' => '呸',
- 'B' => '咕',
- 'C' => '咀',
- 'D' => '呻',
- 'E' => '呷',
- 'F' => '咄',
- 'G' => '咒',
- 'H' => '咆',
- 'I' => '呼',
- 'J' => '咐',
- 'K' => '呱',
- 'L' => '呶',
- 'M' => '和',
- 'N' => '咚',
- 'O' => '呢',
- 'P' => '周',
- 'Q' => '咋',
- 'R' => '命',
- 'S' => '咎',
- 'T' => '固',
- 'U' => '垃',
- 'V' => '坷',
- 'W' => '坪',
- 'X' => '坩',
- 'Y' => '坡',
- 'Z' => '坦',
- '[' => '坤',
- '\\' => '坼',
- ']' => '夜',
- '^' => '奉',
- '_' => '奇',
- '`' => '奈',
- 'a' => '奄',
- 'b' => '奔',
- 'c' => '妾',
- 'd' => '妻',
- 'e' => '委',
- 'f' => '妹',
- 'g' => '妮',
- 'h' => '姑',
- 'i' => '姆',
- 'j' => '姐',
- 'k' => '姍',
- 'l' => '始',
- 'm' => '姓',
- 'n' => '姊',
- 'o' => '妯',
- 'p' => '妳',
- 'q' => '姒',
- 'r' => '姅',
- 's' => '孟',
- 't' => '孤',
- 'u' => '季',
- 'v' => '宗',
- 'w' => '定',
- 'x' => '官',
- 'y' => '宜',
- 'z' => '宙',
- '{' => '宛',
- '|' => '尚',
- '}' => '屈',
- '~' => '居',
- '' => '屆',
- '' => '岷',
- '' => '岡',
- '' => '岸',
- '' => '岩',
- '' => '岫',
- '' => '岱',
- '' => '岳',
- '' => '帘',
- '' => '帚',
- '' => '帖',
- '' => '帕',
- '' => '帛',
- '' => '帑',
- '' => '幸',
- '' => '庚',
- '' => '店',
- '' => '府',
- '' => '底',
- '' => '庖',
- '' => '延',
- '' => '弦',
- '' => '弧',
- '' => '弩',
- '' => '往',
- '' => '征',
- '' => '彿',
- '' => '彼',
- '' => '忝',
- '' => '忠',
- '' => '忽',
- '' => '念',
- '' => '忿',
- '' => '怏',
- '' => '怔',
- '' => '怯',
- '' => '怵',
- '' => '怖',
- '' => '怪',
- '' => '怕',
- '' => '怡',
- '' => '性',
- '' => '怩',
- '' => '怫',
- '' => '怛',
- '' => '或',
- '' => '戕',
- '' => '房',
- '' => '戾',
- '' => '所',
- '' => '承',
- '' => '拉',
- '' => '拌',
- '' => '拄',
- '' => '抿',
- '' => '拂',
- '' => '抹',
- '' => '拒',
- '' => '招',
- '' => '披',
- '' => '拓',
- '' => '拔',
- '' => '拋',
- '' => '拈',
- '' => '抨',
- '' => '抽',
- '' => '押',
- '' => '拐',
- '' => '拙',
- '' => '拇',
- '' => '拍',
- '' => '抵',
- '' => '拚',
- '' => '抱',
- '' => '拘',
- '' => '拖',
- '' => '拗',
- '' => '拆',
- '' => '抬',
- '' => '拎',
- '' => '放',
- '' => '斧',
- '' => '於',
- '' => '旺',
- '' => '昔',
- '' => '易',
- '' => '昌',
- '' => '昆',
- '' => '昂',
- '' => '明',
- '' => '昀',
- '' => '昏',
- '' => '昕',
- '' => '昊',
- '@' => '昇',
- 'A' => '服',
- 'B' => '朋',
- 'C' => '杭',
- 'D' => '枋',
- 'E' => '枕',
- 'F' => '東',
- 'G' => '果',
- 'H' => '杳',
- 'I' => '杷',
- 'J' => '枇',
- 'K' => '枝',
- 'L' => '林',
- 'M' => '杯',
- 'N' => '杰',
- 'O' => '板',
- 'P' => '枉',
- 'Q' => '松',
- 'R' => '析',
- 'S' => '杵',
- 'T' => '枚',
- 'U' => '枓',
- 'V' => '杼',
- 'W' => '杪',
- 'X' => '杲',
- 'Y' => '欣',
- 'Z' => '武',
- '[' => '歧',
- '\\' => '歿',
- ']' => '氓',
- '^' => '氛',
- '_' => '泣',
- '`' => '注',
- 'a' => '泳',
- 'b' => '沱',
- 'c' => '泌',
- 'd' => '泥',
- 'e' => '河',
- 'f' => '沽',
- 'g' => '沾',
- 'h' => '沼',
- 'i' => '波',
- 'j' => '沫',
- 'k' => '法',
- 'l' => '泓',
- 'm' => '沸',
- 'n' => '泄',
- 'o' => '油',
- 'p' => '況',
- 'q' => '沮',
- 'r' => '泗',
- 's' => '泅',
- 't' => '泱',
- 'u' => '沿',
- 'v' => '治',
- 'w' => '泡',
- 'x' => '泛',
- 'y' => '泊',
- 'z' => '沬',
- '{' => '泯',
- '|' => '泜',
- '}' => '泖',
- '~' => '泠',
- '' => '炕',
- '' => '炎',
- '' => '炒',
- '' => '炊',
- '' => '炙',
- '' => '爬',
- '' => '爭',
- '' => '爸',
- '' => '版',
- '' => '牧',
- '' => '物',
- '' => '狀',
- '' => '狎',
- '' => '狙',
- '' => '狗',
- '' => '狐',
- '' => '玩',
- '' => '玨',
- '' => '玟',
- '' => '玫',
- '' => '玥',
- '' => '甽',
- '' => '疝',
- '' => '疙',
- '' => '疚',
- '' => '的',
- '' => '盂',
- '' => '盲',
- '' => '直',
- '' => '知',
- '' => '矽',
- '' => '社',
- '' => '祀',
- '' => '祁',
- '' => '秉',
- '' => '秈',
- '' => '空',
- '' => '穹',
- '' => '竺',
- '' => '糾',
- '' => '罔',
- '' => '羌',
- '' => '羋',
- '' => '者',
- '' => '肺',
- '' => '肥',
- '' => '肢',
- '' => '肱',
- '' => '股',
- '' => '肫',
- '' => '肩',
- '' => '肴',
- '' => '肪',
- '' => '肯',
- '' => '臥',
- '' => '臾',
- '' => '舍',
- '' => '芳',
- '' => '芝',
- '' => '芙',
- '' => '芭',
- '' => '芽',
- '' => '芟',
- '' => '芹',
- '' => '花',
- '' => '芬',
- '' => '芥',
- '' => '芯',
- '' => '芸',
- '' => '芣',
- '' => '芰',
- '' => '芾',
- '' => '芷',
- '' => '虎',
- '' => '虱',
- '' => '初',
- '' => '表',
- '' => '軋',
- '' => '迎',
- '' => '返',
- '' => '近',
- '' => '邵',
- '' => '邸',
- '' => '邱',
- '' => '邶',
- '' => '采',
- '' => '金',
- '' => '長',
- '' => '門',
- '' => '阜',
- '' => '陀',
- '' => '阿',
- '' => '阻',
- '' => '附',
- '@' => '陂',
- 'A' => '隹',
- 'B' => '雨',
- 'C' => '青',
- 'D' => '非',
- 'E' => '亟',
- 'F' => '亭',
- 'G' => '亮',
- 'H' => '信',
- 'I' => '侵',
- 'J' => '侯',
- 'K' => '便',
- 'L' => '俠',
- 'M' => '俑',
- 'N' => '俏',
- 'O' => '保',
- 'P' => '促',
- 'Q' => '侶',
- 'R' => '俘',
- 'S' => '俟',
- 'T' => '俊',
- 'U' => '俗',
- 'V' => '侮',
- 'W' => '俐',
- 'X' => '俄',
- 'Y' => '係',
- 'Z' => '俚',
- '[' => '俎',
- '\\' => '俞',
- ']' => '侷',
- '^' => '兗',
- '_' => '冒',
- '`' => '冑',
- 'a' => '冠',
- 'b' => '剎',
- 'c' => '剃',
- 'd' => '削',
- 'e' => '前',
- 'f' => '剌',
- 'g' => '剋',
- 'h' => '則',
- 'i' => '勇',
- 'j' => '勉',
- 'k' => '勃',
- 'l' => '勁',
- 'm' => '匍',
- 'n' => '南',
- 'o' => '卻',
- 'p' => '厚',
- 'q' => '叛',
- 'r' => '咬',
- 's' => '哀',
- 't' => '咨',
- 'u' => '哎',
- 'v' => '哉',
- 'w' => '咸',
- 'x' => '咦',
- 'y' => '咳',
- 'z' => '哇',
- '{' => '哂',
- '|' => '咽',
- '}' => '咪',
- '~' => '品',
- '' => '哄',
- '' => '哈',
- '' => '咯',
- '' => '咫',
- '' => '咱',
- '' => '咻',
- '' => '咩',
- '' => '咧',
- '' => '咿',
- '' => '囿',
- '' => '垂',
- '' => '型',
- '' => '垠',
- '' => '垣',
- '' => '垢',
- '' => '城',
- '' => '垮',
- '' => '垓',
- '' => '奕',
- '' => '契',
- '' => '奏',
- '' => '奎',
- '' => '奐',
- '' => '姜',
- '' => '姘',
- '' => '姿',
- '' => '姣',
- '' => '姨',
- '' => '娃',
- '' => '姥',
- '' => '姪',
- '' => '姚',
- '' => '姦',
- '' => '威',
- '' => '姻',
- '' => '孩',
- '' => '宣',
- '' => '宦',
- '' => '室',
- '' => '客',
- '' => '宥',
- '' => '封',
- '' => '屎',
- '' => '屏',
- '' => '屍',
- '' => '屋',
- '' => '峙',
- '' => '峒',
- '' => '巷',
- '' => '帝',
- '' => '帥',
- '' => '帟',
- '' => '幽',
- '' => '庠',
- '' => '度',
- '' => '建',
- '' => '弈',
- '' => '弭',
- '' => '彥',
- '' => '很',
- '' => '待',
- '' => '徊',
- '' => '律',
- '' => '徇',
- '' => '後',
- '' => '徉',
- '' => '怒',
- '' => '思',
- '' => '怠',
- '' => '急',
- '' => '怎',
- '' => '怨',
- '' => '恍',
- '' => '恰',
- '' => '恨',
- '' => '恢',
- '' => '恆',
- '' => '恃',
- '' => '恬',
- '' => '恫',
- '' => '恪',
- '' => '恤',
- '' => '扁',
- '' => '拜',
- '' => '挖',
- '' => '按',
- '' => '拼',
- '' => '拭',
- '' => '持',
- '' => '拮',
- '' => '拽',
- '' => '指',
- '' => '拱',
- '' => '拷',
- '@' => '拯',
- 'A' => '括',
- 'B' => '拾',
- 'C' => '拴',
- 'D' => '挑',
- 'E' => '挂',
- 'F' => '政',
- 'G' => '故',
- 'H' => '斫',
- 'I' => '施',
- 'J' => '既',
- 'K' => '春',
- 'L' => '昭',
- 'M' => '映',
- 'N' => '昧',
- 'O' => '是',
- 'P' => '星',
- 'Q' => '昨',
- 'R' => '昱',
- 'S' => '昤',
- 'T' => '曷',
- 'U' => '柿',
- 'V' => '染',
- 'W' => '柱',
- 'X' => '柔',
- 'Y' => '某',
- 'Z' => '柬',
- '[' => '架',
- '\\' => '枯',
- ']' => '柵',
- '^' => '柩',
- '_' => '柯',
- '`' => '柄',
- 'a' => '柑',
- 'b' => '枴',
- 'c' => '柚',
- 'd' => '查',
- 'e' => '枸',
- 'f' => '柏',
- 'g' => '柞',
- 'h' => '柳',
- 'i' => '枰',
- 'j' => '柙',
- 'k' => '柢',
- 'l' => '柝',
- 'm' => '柒',
- 'n' => '歪',
- 'o' => '殃',
- 'p' => '殆',
- 'q' => '段',
- 'r' => '毒',
- 's' => '毗',
- 't' => '氟',
- 'u' => '泉',
- 'v' => '洋',
- 'w' => '洲',
- 'x' => '洪',
- 'y' => '流',
- 'z' => '津',
- '{' => '洌',
- '|' => '洱',
- '}' => '洞',
- '~' => '洗',
- '' => '活',
- '' => '洽',
- '' => '派',
- '' => '洶',
- '' => '洛',
- '' => '泵',
- '' => '洹',
- '' => '洧',
- '' => '洸',
- '' => '洩',
- '' => '洮',
- '' => '洵',
- '' => '洎',
- '' => '洫',
- '' => '炫',
- '' => '為',
- '' => '炳',
- '' => '炬',
- '' => '炯',
- '' => '炭',
- '' => '炸',
- '' => '炮',
- '' => '炤',
- '' => '爰',
- '' => '牲',
- '' => '牯',
- '' => '牴',
- '' => '狩',
- '' => '狠',
- '' => '狡',
- '' => '玷',
- '' => '珊',
- '' => '玻',
- '' => '玲',
- '' => '珍',
- '' => '珀',
- '' => '玳',
- '' => '甚',
- '' => '甭',
- '' => '畏',
- '' => '界',
- '' => '畎',
- '' => '畋',
- '' => '疫',
- '' => '疤',
- '' => '疥',
- '' => '疢',
- '' => '疣',
- '' => '癸',
- '' => '皆',
- '' => '皇',
- '' => '皈',
- '' => '盈',
- '' => '盆',
- '' => '盃',
- '' => '盅',
- '' => '省',
- '' => '盹',
- '' => '相',
- '' => '眉',
- '' => '看',
- '' => '盾',
- '' => '盼',
- '' => '眇',
- '' => '矜',
- '' => '砂',
- '' => '研',
- '' => '砌',
- '' => '砍',
- '' => '祆',
- '' => '祉',
- '' => '祈',
- '' => '祇',
- '' => '禹',
- '' => '禺',
- '' => '科',
- '' => '秒',
- '' => '秋',
- '' => '穿',
- '' => '突',
- '' => '竿',
- '' => '竽',
- '' => '籽',
- '' => '紂',
- '' => '紅',
- '' => '紀',
- '' => '紉',
- '' => '紇',
- '' => '約',
- '' => '紆',
- '' => '缸',
- '' => '美',
- '' => '羿',
- '' => '耄',
- '@' => '耐',
- 'A' => '耍',
- 'B' => '耑',
- 'C' => '耶',
- 'D' => '胖',
- 'E' => '胥',
- 'F' => '胚',
- 'G' => '胃',
- 'H' => '胄',
- 'I' => '背',
- 'J' => '胡',
- 'K' => '胛',
- 'L' => '胎',
- 'M' => '胞',
- 'N' => '胤',
- 'O' => '胝',
- 'P' => '致',
- 'Q' => '舢',
- 'R' => '苧',
- 'S' => '范',
- 'T' => '茅',
- 'U' => '苣',
- 'V' => '苛',
- 'W' => '苦',
- 'X' => '茄',
- 'Y' => '若',
- 'Z' => '茂',
- '[' => '茉',
- '\\' => '苒',
- ']' => '苗',
- '^' => '英',
- '_' => '茁',
- '`' => '苜',
- 'a' => '苔',
- 'b' => '苑',
- 'c' => '苞',
- 'd' => '苓',
- 'e' => '苟',
- 'f' => '苯',
- 'g' => '茆',
- 'h' => '虐',
- 'i' => '虹',
- 'j' => '虻',
- 'k' => '虺',
- 'l' => '衍',
- 'm' => '衫',
- 'n' => '要',
- 'o' => '觔',
- 'p' => '計',
- 'q' => '訂',
- 'r' => '訃',
- 's' => '貞',
- 't' => '負',
- 'u' => '赴',
- 'v' => '赳',
- 'w' => '趴',
- 'x' => '軍',
- 'y' => '軌',
- 'z' => '述',
- '{' => '迦',
- '|' => '迢',
- '}' => '迪',
- '~' => '迥',
- '' => '迭',
- '' => '迫',
- '' => '迤',
- '' => '迨',
- '' => '郊',
- '' => '郎',
- '' => '郁',
- '' => '郃',
- '' => '酋',
- '' => '酊',
- '' => '重',
- '' => '閂',
- '' => '限',
- '' => '陋',
- '' => '陌',
- '' => '降',
- '' => '面',
- '' => '革',
- '' => '韋',
- '' => '韭',
- '' => '音',
- '' => '頁',
- '' => '風',
- '' => '飛',
- '' => '食',
- '' => '首',
- '' => '香',
- '' => '乘',
- '' => '亳',
- '' => '倌',
- '' => '倍',
- '' => '倣',
- '' => '俯',
- '' => '倦',
- '' => '倥',
- '' => '俸',
- '' => '倩',
- '' => '倖',
- '' => '倆',
- '' => '值',
- '' => '借',
- '' => '倚',
- '' => '倒',
- '' => '們',
- '' => '俺',
- '' => '倀',
- '' => '倔',
- '' => '倨',
- '' => '俱',
- '' => '倡',
- '' => '個',
- '' => '候',
- '' => '倘',
- '' => '俳',
- '' => '修',
- '' => '倭',
- '' => '倪',
- '' => '俾',
- '' => '倫',
- '' => '倉',
- '' => '兼',
- '' => '冤',
- '' => '冥',
- '' => '冢',
- '' => '凍',
- '' => '凌',
- '' => '准',
- '' => '凋',
- '' => '剖',
- '' => '剜',
- '' => '剔',
- '' => '剛',
- '' => '剝',
- '' => '匪',
- '' => '卿',
- '' => '原',
- '' => '厝',
- '' => '叟',
- '' => '哨',
- '' => '唐',
- '' => '唁',
- '' => '唷',
- '' => '哼',
- '' => '哥',
- '' => '哲',
- '' => '唆',
- '' => '哺',
- '' => '唔',
- '' => '哩',
- '' => '哭',
- '' => '員',
- '' => '唉',
- '' => '哮',
- '' => '哪',
- '@' => '哦',
- 'A' => '唧',
- 'B' => '唇',
- 'C' => '哽',
- 'D' => '唏',
- 'E' => '圃',
- 'F' => '圄',
- 'G' => '埂',
- 'H' => '埔',
- 'I' => '埋',
- 'J' => '埃',
- 'K' => '堉',
- 'L' => '夏',
- 'M' => '套',
- 'N' => '奘',
- 'O' => '奚',
- 'P' => '娑',
- 'Q' => '娘',
- 'R' => '娜',
- 'S' => '娟',
- 'T' => '娛',
- 'U' => '娓',
- 'V' => '姬',
- 'W' => '娠',
- 'X' => '娣',
- 'Y' => '娩',
- 'Z' => '娥',
- '[' => '娌',
- '\\' => '娉',
- ']' => '孫',
- '^' => '屘',
- '_' => '宰',
- '`' => '害',
- 'a' => '家',
- 'b' => '宴',
- 'c' => '宮',
- 'd' => '宵',
- 'e' => '容',
- 'f' => '宸',
- 'g' => '射',
- 'h' => '屑',
- 'i' => '展',
- 'j' => '屐',
- 'k' => '峭',
- 'l' => '峽',
- 'm' => '峻',
- 'n' => '峪',
- 'o' => '峨',
- 'p' => '峰',
- 'q' => '島',
- 'r' => '崁',
- 's' => '峴',
- 't' => '差',
- 'u' => '席',
- 'v' => '師',
- 'w' => '庫',
- 'x' => '庭',
- 'y' => '座',
- 'z' => '弱',
- '{' => '徒',
- '|' => '徑',
- '}' => '徐',
- '~' => '恙',
- '' => '恣',
- '' => '恥',
- '' => '恐',
- '' => '恕',
- '' => '恭',
- '' => '恩',
- '' => '息',
- '' => '悄',
- '' => '悟',
- '' => '悚',
- '' => '悍',
- '' => '悔',
- '' => '悌',
- '' => '悅',
- '' => '悖',
- '' => '扇',
- '' => '拳',
- '' => '挈',
- '' => '拿',
- '' => '捎',
- '' => '挾',
- '' => '振',
- '' => '捕',
- '' => '捂',
- '' => '捆',
- '' => '捏',
- '' => '捉',
- '' => '挺',
- '' => '捐',
- '' => '挽',
- '' => '挪',
- '' => '挫',
- '' => '挨',
- '' => '捍',
- '' => '捌',
- '' => '效',
- '' => '敉',
- '' => '料',
- '' => '旁',
- '' => '旅',
- '' => '時',
- '' => '晉',
- '' => '晏',
- '' => '晃',
- '' => '晒',
- '' => '晌',
- '' => '晅',
- '' => '晁',
- '' => '書',
- '' => '朔',
- '' => '朕',
- '' => '朗',
- '' => '校',
- '' => '核',
- '' => '案',
- '' => '框',
- '' => '桓',
- '' => '根',
- '' => '桂',
- '' => '桔',
- '' => '栩',
- '' => '梳',
- '' => '栗',
- '' => '桌',
- '' => '桑',
- '' => '栽',
- '' => '柴',
- '' => '桐',
- '' => '桀',
- '' => '格',
- '' => '桃',
- '' => '株',
- '' => '桅',
- '' => '栓',
- '' => '栘',
- '' => '桁',
- '' => '殊',
- '' => '殉',
- '' => '殷',
- '' => '氣',
- '' => '氧',
- '' => '氨',
- '' => '氦',
- '' => '氤',
- '' => '泰',
- '' => '浪',
- '' => '涕',
- '' => '消',
- '' => '涇',
- '' => '浦',
- '' => '浸',
- '' => '海',
- '' => '浙',
- '' => '涓',
- '@' => '浬',
- 'A' => '涉',
- 'B' => '浮',
- 'C' => '浚',
- 'D' => '浴',
- 'E' => '浩',
- 'F' => '涌',
- 'G' => '涊',
- 'H' => '浹',
- 'I' => '涅',
- 'J' => '浥',
- 'K' => '涔',
- 'L' => '烊',
- 'M' => '烘',
- 'N' => '烤',
- 'O' => '烙',
- 'P' => '烈',
- 'Q' => '烏',
- 'R' => '爹',
- 'S' => '特',
- 'T' => '狼',
- 'U' => '狹',
- 'V' => '狽',
- 'W' => '狸',
- 'X' => '狷',
- 'Y' => '玆',
- 'Z' => '班',
- '[' => '琉',
- '\\' => '珮',
- ']' => '珠',
- '^' => '珪',
- '_' => '珞',
- '`' => '畔',
- 'a' => '畝',
- 'b' => '畜',
- 'c' => '畚',
- 'd' => '留',
- 'e' => '疾',
- 'f' => '病',
- 'g' => '症',
- 'h' => '疲',
- 'i' => '疳',
- 'j' => '疽',
- 'k' => '疼',
- 'l' => '疹',
- 'm' => '痂',
- 'n' => '疸',
- 'o' => '皋',
- 'p' => '皰',
- 'q' => '益',
- 'r' => '盍',
- 's' => '盎',
- 't' => '眩',
- 'u' => '真',
- 'v' => '眠',
- 'w' => '眨',
- 'x' => '矩',
- 'y' => '砰',
- 'z' => '砧',
- '{' => '砸',
- '|' => '砝',
- '}' => '破',
- '~' => '砷',
- '' => '砥',
- '' => '砭',
- '' => '砠',
- '' => '砟',
- '' => '砲',
- '' => '祕',
- '' => '祐',
- '' => '祠',
- '' => '祟',
- '' => '祖',
- '' => '神',
- '' => '祝',
- '' => '祗',
- '' => '祚',
- '' => '秤',
- '' => '秣',
- '' => '秧',
- '' => '租',
- '' => '秦',
- '' => '秩',
- '' => '秘',
- '' => '窄',
- '' => '窈',
- '' => '站',
- '' => '笆',
- '' => '笑',
- '' => '粉',
- '' => '紡',
- '' => '紗',
- '' => '紋',
- '' => '紊',
- '' => '素',
- '' => '索',
- '' => '純',
- '' => '紐',
- '' => '紕',
- '' => '級',
- '' => '紜',
- '' => '納',
- '' => '紙',
- '' => '紛',
- '' => '缺',
- '' => '罟',
- '' => '羔',
- '' => '翅',
- '' => '翁',
- '' => '耆',
- '' => '耘',
- '' => '耕',
- '' => '耙',
- '' => '耗',
- '' => '耽',
- '' => '耿',
- '' => '胱',
- '' => '脂',
- '' => '胰',
- '' => '脅',
- '' => '胭',
- '' => '胴',
- '' => '脆',
- '' => '胸',
- '' => '胳',
- '' => '脈',
- '' => '能',
- '' => '脊',
- '' => '胼',
- '' => '胯',
- '' => '臭',
- '' => '臬',
- '' => '舀',
- '' => '舐',
- '' => '航',
- '' => '舫',
- '' => '舨',
- '' => '般',
- '' => '芻',
- '' => '茫',
- '' => '荒',
- '' => '荔',
- '' => '荊',
- '' => '茸',
- '' => '荐',
- '' => '草',
- '' => '茵',
- '' => '茴',
- '' => '荏',
- '' => '茲',
- '' => '茹',
- '' => '茶',
- '' => '茗',
- '' => '荀',
- '' => '茱',
- '' => '茨',
- '' => '荃',
- '@' => '虔',
- 'A' => '蚊',
- 'B' => '蚪',
- 'C' => '蚓',
- 'D' => '蚤',
- 'E' => '蚩',
- 'F' => '蚌',
- 'G' => '蚣',
- 'H' => '蚜',
- 'I' => '衰',
- 'J' => '衷',
- 'K' => '袁',
- 'L' => '袂',
- 'M' => '衽',
- 'N' => '衹',
- 'O' => '記',
- 'P' => '訐',
- 'Q' => '討',
- 'R' => '訌',
- 'S' => '訕',
- 'T' => '訊',
- 'U' => '託',
- 'V' => '訓',
- 'W' => '訖',
- 'X' => '訏',
- 'Y' => '訑',
- 'Z' => '豈',
- '[' => '豺',
- '\\' => '豹',
- ']' => '財',
- '^' => '貢',
- '_' => '起',
- '`' => '躬',
- 'a' => '軒',
- 'b' => '軔',
- 'c' => '軏',
- 'd' => '辱',
- 'e' => '送',
- 'f' => '逆',
- 'g' => '迷',
- 'h' => '退',
- 'i' => '迺',
- 'j' => '迴',
- 'k' => '逃',
- 'l' => '追',
- 'm' => '逅',
- 'n' => '迸',
- 'o' => '邕',
- 'p' => '郡',
- 'q' => '郝',
- 'r' => '郢',
- 's' => '酒',
- 't' => '配',
- 'u' => '酌',
- 'v' => '釘',
- 'w' => '針',
- 'x' => '釗',
- 'y' => '釜',
- 'z' => '釙',
- '{' => '閃',
- '|' => '院',
- '}' => '陣',
- '~' => '陡',
- '' => '陛',
- '' => '陝',
- '' => '除',
- '' => '陘',
- '' => '陞',
- '' => '隻',
- '' => '飢',
- '' => '馬',
- '' => '骨',
- '' => '高',
- '' => '鬥',
- '' => '鬲',
- '' => '鬼',
- '' => '乾',
- '' => '偺',
- '' => '偽',
- '' => '停',
- '' => '假',
- '' => '偃',
- '' => '偌',
- '' => '做',
- '' => '偉',
- '' => '健',
- '' => '偶',
- '' => '偎',
- '' => '偕',
- '' => '偵',
- '' => '側',
- '' => '偷',
- '' => '偏',
- '' => '倏',
- '' => '偯',
- '' => '偭',
- '' => '兜',
- '' => '冕',
- '' => '凰',
- '' => '剪',
- '' => '副',
- '' => '勒',
- '' => '務',
- '' => '勘',
- '' => '動',
- '' => '匐',
- '' => '匏',
- '' => '匙',
- '' => '匿',
- '' => '區',
- '' => '匾',
- '' => '參',
- '' => '曼',
- '' => '商',
- '' => '啪',
- '' => '啦',
- '' => '啄',
- '' => '啞',
- '' => '啡',
- '' => '啃',
- '' => '啊',
- '' => '唱',
- '' => '啖',
- '' => '問',
- '' => '啕',
- '' => '唯',
- '' => '啤',
- '' => '唸',
- '' => '售',
- '' => '啜',
- '' => '唬',
- '' => '啣',
- '' => '唳',
- '' => '啁',
- '' => '啗',
- '' => '圈',
- '' => '國',
- '' => '圉',
- '' => '域',
- '' => '堅',
- '' => '堊',
- '' => '堆',
- '' => '埠',
- '' => '埤',
- '' => '基',
- '' => '堂',
- '' => '堵',
- '' => '執',
- '' => '培',
- '' => '夠',
- '' => '奢',
- '' => '娶',
- '' => '婁',
- '' => '婉',
- '' => '婦',
- '' => '婪',
- '' => '婀',
- '@' => '娼',
- 'A' => '婢',
- 'B' => '婚',
- 'C' => '婆',
- 'D' => '婊',
- 'E' => '孰',
- 'F' => '寇',
- 'G' => '寅',
- 'H' => '寄',
- 'I' => '寂',
- 'J' => '宿',
- 'K' => '密',
- 'L' => '尉',
- 'M' => '專',
- 'N' => '將',
- 'O' => '屠',
- 'P' => '屜',
- 'Q' => '屝',
- 'R' => '崇',
- 'S' => '崆',
- 'T' => '崎',
- 'U' => '崛',
- 'V' => '崖',
- 'W' => '崢',
- 'X' => '崑',
- 'Y' => '崩',
- 'Z' => '崔',
- '[' => '崙',
- '\\' => '崤',
- ']' => '崧',
- '^' => '崗',
- '_' => '巢',
- '`' => '常',
- 'a' => '帶',
- 'b' => '帳',
- 'c' => '帷',
- 'd' => '康',
- 'e' => '庸',
- 'f' => '庶',
- 'g' => '庵',
- 'h' => '庾',
- 'i' => '張',
- 'j' => '強',
- 'k' => '彗',
- 'l' => '彬',
- 'm' => '彩',
- 'n' => '彫',
- 'o' => '得',
- 'p' => '徙',
- 'q' => '從',
- 'r' => '徘',
- 's' => '御',
- 't' => '徠',
- 'u' => '徜',
- 'v' => '恿',
- 'w' => '患',
- 'x' => '悉',
- 'y' => '悠',
- 'z' => '您',
- '{' => '惋',
- '|' => '悴',
- '}' => '惦',
- '~' => '悽',
- '' => '情',
- '' => '悻',
- '' => '悵',
- '' => '惜',
- '' => '悼',
- '' => '惘',
- '' => '惕',
- '' => '惆',
- '' => '惟',
- '' => '悸',
- '' => '惚',
- '' => '惇',
- '' => '戚',
- '' => '戛',
- '' => '扈',
- '' => '掠',
- '' => '控',
- '' => '捲',
- '' => '掖',
- '' => '探',
- '' => '接',
- '' => '捷',
- '' => '捧',
- '' => '掘',
- '' => '措',
- '' => '捱',
- '' => '掩',
- '' => '掉',
- '' => '掃',
- '' => '掛',
- '' => '捫',
- '' => '推',
- '' => '掄',
- '' => '授',
- '' => '掙',
- '' => '採',
- '' => '掬',
- '' => '排',
- '' => '掏',
- '' => '掀',
- '' => '捻',
- '' => '捩',
- '' => '捨',
- '' => '捺',
- '' => '敝',
- '' => '敖',
- '' => '救',
- '' => '教',
- '' => '敗',
- '' => '啟',
- '' => '敏',
- '' => '敘',
- '' => '敕',
- '' => '敔',
- '' => '斜',
- '' => '斛',
- '' => '斬',
- '' => '族',
- '' => '旋',
- '' => '旌',
- '' => '旎',
- '' => '晝',
- '' => '晚',
- '' => '晤',
- '' => '晨',
- '' => '晦',
- '' => '晞',
- '' => '曹',
- '' => '勗',
- '' => '望',
- '' => '梁',
- '' => '梯',
- '' => '梢',
- '' => '梓',
- '' => '梵',
- '' => '桿',
- '' => '桶',
- '' => '梱',
- '' => '梧',
- '' => '梗',
- '' => '械',
- '' => '梃',
- '' => '棄',
- '' => '梭',
- '' => '梆',
- '' => '梅',
- '' => '梔',
- '' => '條',
- '' => '梨',
- '' => '梟',
- '' => '梡',
- '' => '梂',
- '' => '欲',
- '' => '殺',
- '@' => '毫',
- 'A' => '毬',
- 'B' => '氫',
- 'C' => '涎',
- 'D' => '涼',
- 'E' => '淳',
- 'F' => '淙',
- 'G' => '液',
- 'H' => '淡',
- 'I' => '淌',
- 'J' => '淤',
- 'K' => '添',
- 'L' => '淺',
- 'M' => '清',
- 'N' => '淇',
- 'O' => '淋',
- 'P' => '涯',
- 'Q' => '淑',
- 'R' => '涮',
- 'S' => '淞',
- 'T' => '淹',
- 'U' => '涸',
- 'V' => '混',
- 'W' => '淵',
- 'X' => '淅',
- 'Y' => '淒',
- 'Z' => '渚',
- '[' => '涵',
- '\\' => '淚',
- ']' => '淫',
- '^' => '淘',
- '_' => '淪',
- '`' => '深',
- 'a' => '淮',
- 'b' => '淨',
- 'c' => '淆',
- 'd' => '淄',
- 'e' => '涪',
- 'f' => '淬',
- 'g' => '涿',
- 'h' => '淦',
- 'i' => '烹',
- 'j' => '焉',
- 'k' => '焊',
- 'l' => '烽',
- 'm' => '烯',
- 'n' => '爽',
- 'o' => '牽',
- 'p' => '犁',
- 'q' => '猜',
- 'r' => '猛',
- 's' => '猖',
- 't' => '猓',
- 'u' => '猙',
- 'v' => '率',
- 'w' => '琅',
- 'x' => '琊',
- 'y' => '球',
- 'z' => '理',
- '{' => '現',
- '|' => '琍',
- '}' => '瓠',
- '~' => '瓶',
- '' => '瓷',
- '' => '甜',
- '' => '產',
- '' => '略',
- '' => '畦',
- '' => '畢',
- '' => '異',
- '' => '疏',
- '' => '痔',
- '' => '痕',
- '' => '疵',
- '' => '痊',
- '' => '痍',
- '' => '皎',
- '' => '盔',
- '' => '盒',
- '' => '盛',
- '' => '眷',
- '' => '眾',
- '' => '眼',
- '' => '眶',
- '' => '眸',
- '' => '眺',
- '' => '硫',
- '' => '硃',
- '' => '硎',
- '' => '祥',
- '' => '票',
- '' => '祭',
- '' => '移',
- '' => '窒',
- '' => '窕',
- '' => '笠',
- '' => '笨',
- '' => '笛',
- '' => '第',
- '' => '符',
- '' => '笙',
- '' => '笞',
- '' => '笮',
- '' => '粒',
- '' => '粗',
- '' => '粕',
- '' => '絆',
- '' => '絃',
- '' => '統',
- '' => '紮',
- '' => '紹',
- '' => '紼',
- '' => '絀',
- '' => '細',
- '' => '紳',
- '' => '組',
- '' => '累',
- '' => '終',
- '' => '紲',
- '' => '紱',
- '' => '缽',
- '' => '羞',
- '' => '羚',
- '' => '翌',
- '' => '翎',
- '' => '習',
- '' => '耜',
- '' => '聊',
- '' => '聆',
- '' => '脯',
- '' => '脖',
- '' => '脣',
- '' => '脫',
- '' => '脩',
- '' => '脰',
- '' => '脤',
- '' => '舂',
- '' => '舵',
- '' => '舷',
- '' => '舶',
- '' => '船',
- '' => '莎',
- '' => '莞',
- '' => '莘',
- '' => '荸',
- '' => '莢',
- '' => '莖',
- '' => '莽',
- '' => '莫',
- '' => '莒',
- '' => '莊',
- '' => '莓',
- '' => '莉',
- '' => '莠',
- '' => '荷',
- '' => '荻',
- '' => '荼',
- '@' => '莆',
- 'A' => '莧',
- 'B' => '處',
- 'C' => '彪',
- 'D' => '蛇',
- 'E' => '蛀',
- 'F' => '蚶',
- 'G' => '蛄',
- 'H' => '蚵',
- 'I' => '蛆',
- 'J' => '蛋',
- 'K' => '蚱',
- 'L' => '蚯',
- 'M' => '蛉',
- 'N' => '術',
- 'O' => '袞',
- 'P' => '袈',
- 'Q' => '被',
- 'R' => '袒',
- 'S' => '袖',
- 'T' => '袍',
- 'U' => '袋',
- 'V' => '覓',
- 'W' => '規',
- 'X' => '訪',
- 'Y' => '訝',
- 'Z' => '訣',
- '[' => '訥',
- '\\' => '許',
- ']' => '設',
- '^' => '訟',
- '_' => '訛',
- '`' => '訢',
- 'a' => '豉',
- 'b' => '豚',
- 'c' => '販',
- 'd' => '責',
- 'e' => '貫',
- 'f' => '貨',
- 'g' => '貪',
- 'h' => '貧',
- 'i' => '赧',
- 'j' => '赦',
- 'k' => '趾',
- 'l' => '趺',
- 'm' => '軛',
- 'n' => '軟',
- 'o' => '這',
- 'p' => '逍',
- 'q' => '通',
- 'r' => '逗',
- 's' => '連',
- 't' => '速',
- 'u' => '逝',
- 'v' => '逐',
- 'w' => '逕',
- 'x' => '逞',
- 'y' => '造',
- 'z' => '透',
- '{' => '逢',
- '|' => '逖',
- '}' => '逛',
- '~' => '途',
- '' => '部',
- '' => '郭',
- '' => '都',
- '' => '酗',
- '' => '野',
- '' => '釵',
- '' => '釦',
- '' => '釣',
- '' => '釧',
- '' => '釭',
- '' => '釩',
- '' => '閉',
- '' => '陪',
- '' => '陵',
- '' => '陳',
- '' => '陸',
- '' => '陰',
- '' => '陴',
- '' => '陶',
- '' => '陷',
- '' => '陬',
- '' => '雀',
- '' => '雪',
- '' => '雩',
- '' => '章',
- '' => '竟',
- '' => '頂',
- '' => '頃',
- '' => '魚',
- '' => '鳥',
- '' => '鹵',
- '' => '鹿',
- '' => '麥',
- '' => '麻',
- '' => '傢',
- '' => '傍',
- '' => '傅',
- '' => '備',
- '' => '傑',
- '' => '傀',
- '' => '傖',
- '' => '傘',
- '' => '傚',
- '' => '最',
- '' => '凱',
- '' => '割',
- '' => '剴',
- '' => '創',
- '' => '剩',
- '' => '勞',
- '' => '勝',
- '' => '勛',
- '' => '博',
- '' => '厥',
- '' => '啻',
- '' => '喀',
- '' => '喧',
- '' => '啼',
- '' => '喊',
- '' => '喝',
- '' => '喘',
- '' => '喂',
- '' => '喜',
- '' => '喪',
- '' => '喔',
- '' => '喇',
- '' => '喋',
- '' => '喃',
- '' => '喳',
- '' => '單',
- '' => '喟',
- '' => '唾',
- '' => '喲',
- '' => '喚',
- '' => '喻',
- '' => '喬',
- '' => '喱',
- '' => '啾',
- '' => '喉',
- '' => '喫',
- '' => '喙',
- '' => '圍',
- '' => '堯',
- '' => '堪',
- '' => '場',
- '' => '堤',
- '' => '堰',
- '' => '報',
- '' => '堡',
- '' => '堝',
- '' => '堠',
- '' => '壹',
- '' => '壺',
- '' => '奠',
- '@' => '婷',
- 'A' => '媚',
- 'B' => '婿',
- 'C' => '媒',
- 'D' => '媛',
- 'E' => '媧',
- 'F' => '孳',
- 'G' => '孱',
- 'H' => '寒',
- 'I' => '富',
- 'J' => '寓',
- 'K' => '寐',
- 'L' => '尊',
- 'M' => '尋',
- 'N' => '就',
- 'O' => '嵌',
- 'P' => '嵐',
- 'Q' => '崴',
- 'R' => '嵇',
- 'S' => '巽',
- 'T' => '幅',
- 'U' => '帽',
- 'V' => '幀',
- 'W' => '幃',
- 'X' => '幾',
- 'Y' => '廊',
- 'Z' => '廁',
- '[' => '廂',
- '\\' => '廄',
- ']' => '弼',
- '^' => '彭',
- '_' => '復',
- '`' => '循',
- 'a' => '徨',
- 'b' => '惑',
- 'c' => '惡',
- 'd' => '悲',
- 'e' => '悶',
- 'f' => '惠',
- 'g' => '愜',
- 'h' => '愣',
- 'i' => '惺',
- 'j' => '愕',
- 'k' => '惰',
- 'l' => '惻',
- 'm' => '惴',
- 'n' => '慨',
- 'o' => '惱',
- 'p' => '愎',
- 'q' => '惶',
- 'r' => '愉',
- 's' => '愀',
- 't' => '愒',
- 'u' => '戟',
- 'v' => '扉',
- 'w' => '掣',
- 'x' => '掌',
- 'y' => '描',
- 'z' => '揀',
- '{' => '揩',
- '|' => '揉',
- '}' => '揆',
- '~' => '揍',
- '' => '插',
- '' => '揣',
- '' => '提',
- '' => '握',
- '' => '揖',
- '' => '揭',
- '' => '揮',
- '' => '捶',
- '' => '援',
- '' => '揪',
- '' => '換',
- '' => '摒',
- '' => '揚',
- '' => '揹',
- '' => '敞',
- '' => '敦',
- '' => '敢',
- '' => '散',
- '' => '斑',
- '' => '斐',
- '' => '斯',
- '' => '普',
- '' => '晰',
- '' => '晴',
- '' => '晶',
- '' => '景',
- '' => '暑',
- '' => '智',
- '' => '晾',
- '' => '晷',
- '' => '曾',
- '' => '替',
- '' => '期',
- '' => '朝',
- '' => '棺',
- '' => '棕',
- '' => '棠',
- '' => '棘',
- '' => '棗',
- '' => '椅',
- '' => '棟',
- '' => '棵',
- '' => '森',
- '' => '棧',
- '' => '棹',
- '' => '棒',
- '' => '棲',
- '' => '棣',
- '' => '棋',
- '' => '棍',
- '' => '植',
- '' => '椒',
- '' => '椎',
- '' => '棉',
- '' => '棚',
- '' => '楮',
- '' => '棻',
- '' => '款',
- '' => '欺',
- '' => '欽',
- '' => '殘',
- '' => '殖',
- '' => '殼',
- '' => '毯',
- '' => '氮',
- '' => '氯',
- '' => '氬',
- '' => '港',
- '' => '游',
- '' => '湔',
- '' => '渡',
- '' => '渲',
- '' => '湧',
- '' => '湊',
- '' => '渠',
- '' => '渥',
- '' => '渣',
- '' => '減',
- '' => '湛',
- '' => '湘',
- '' => '渤',
- '' => '湖',
- '' => '湮',
- '' => '渭',
- '' => '渦',
- '' => '湯',
- '' => '渴',
- '' => '湍',
- '' => '渺',
- '' => '測',
- '' => '湃',
- '' => '渝',
- '' => '渾',
- '' => '滋',
- '@' => '溉',
- 'A' => '渙',
- 'B' => '湎',
- 'C' => '湣',
- 'D' => '湄',
- 'E' => '湲',
- 'F' => '湩',
- 'G' => '湟',
- 'H' => '焙',
- 'I' => '焚',
- 'J' => '焦',
- 'K' => '焰',
- 'L' => '無',
- 'M' => '然',
- 'N' => '煮',
- 'O' => '焜',
- 'P' => '牌',
- 'Q' => '犄',
- 'R' => '犀',
- 'S' => '猶',
- 'T' => '猥',
- 'U' => '猴',
- 'V' => '猩',
- 'W' => '琺',
- 'X' => '琪',
- 'Y' => '琳',
- 'Z' => '琢',
- '[' => '琥',
- '\\' => '琵',
- ']' => '琶',
- '^' => '琴',
- '_' => '琯',
- '`' => '琛',
- 'a' => '琦',
- 'b' => '琨',
- 'c' => '甥',
- 'd' => '甦',
- 'e' => '畫',
- 'f' => '番',
- 'g' => '痢',
- 'h' => '痛',
- 'i' => '痣',
- 'j' => '痙',
- 'k' => '痘',
- 'l' => '痞',
- 'm' => '痠',
- 'n' => '登',
- 'o' => '發',
- 'p' => '皖',
- 'q' => '皓',
- 'r' => '皴',
- 's' => '盜',
- 't' => '睏',
- 'u' => '短',
- 'v' => '硝',
- 'w' => '硬',
- 'x' => '硯',
- 'y' => '稍',
- 'z' => '稈',
- '{' => '程',
- '|' => '稅',
- '}' => '稀',
- '~' => '窘',
- '' => '窗',
- '' => '窖',
- '' => '童',
- '' => '竣',
- '' => '等',
- '' => '策',
- '' => '筆',
- '' => '筐',
- '' => '筒',
- '' => '答',
- '' => '筍',
- '' => '筋',
- '' => '筏',
- '' => '筑',
- '' => '粟',
- '' => '粥',
- '' => '絞',
- '' => '結',
- '' => '絨',
- '' => '絕',
- '' => '紫',
- '' => '絮',
- '' => '絲',
- '' => '絡',
- '' => '給',
- '' => '絢',
- '' => '絰',
- '' => '絳',
- '' => '善',
- '' => '翔',
- '' => '翕',
- '' => '耋',
- '' => '聒',
- '' => '肅',
- '' => '腕',
- '' => '腔',
- '' => '腋',
- '' => '腑',
- '' => '腎',
- '' => '脹',
- '' => '腆',
- '' => '脾',
- '' => '腌',
- '' => '腓',
- '' => '腴',
- '' => '舒',
- '' => '舜',
- '' => '菩',
- '' => '萃',
- '' => '菸',
- '' => '萍',
- '' => '菠',
- '' => '菅',
- '' => '萋',
- '' => '菁',
- '' => '華',
- '' => '菱',
- '' => '菴',
- '' => '著',
- '' => '萊',
- '' => '菰',
- '' => '萌',
- '' => '菌',
- '' => '菽',
- '' => '菲',
- '' => '菊',
- '' => '萸',
- '' => '萎',
- '' => '萄',
- '' => '菜',
- '' => '萇',
- '' => '菔',
- '' => '菟',
- '' => '虛',
- '' => '蛟',
- '' => '蛙',
- '' => '蛭',
- '' => '蛔',
- '' => '蛛',
- '' => '蛤',
- '' => '蛐',
- '' => '蛞',
- '' => '街',
- '' => '裁',
- '' => '裂',
- '' => '袱',
- '' => '覃',
- '' => '視',
- '' => '註',
- '' => '詠',
- '' => '評',
- '' => '詞',
- '' => '証',
- '' => '詁',
- '@' => '詔',
- 'A' => '詛',
- 'B' => '詐',
- 'C' => '詆',
- 'D' => '訴',
- 'E' => '診',
- 'F' => '訶',
- 'G' => '詖',
- 'H' => '象',
- 'I' => '貂',
- 'J' => '貯',
- 'K' => '貼',
- 'L' => '貳',
- 'M' => '貽',
- 'N' => '賁',
- 'O' => '費',
- 'P' => '賀',
- 'Q' => '貴',
- 'R' => '買',
- 'S' => '貶',
- 'T' => '貿',
- 'U' => '貸',
- 'V' => '越',
- 'W' => '超',
- 'X' => '趁',
- 'Y' => '跎',
- 'Z' => '距',
- '[' => '跋',
- '\\' => '跚',
- ']' => '跑',
- '^' => '跌',
- '_' => '跛',
- '`' => '跆',
- 'a' => '軻',
- 'b' => '軸',
- 'c' => '軼',
- 'd' => '辜',
- 'e' => '逮',
- 'f' => '逵',
- 'g' => '週',
- 'h' => '逸',
- 'i' => '進',
- 'j' => '逶',
- 'k' => '鄂',
- 'l' => '郵',
- 'm' => '鄉',
- 'n' => '郾',
- 'o' => '酣',
- 'p' => '酥',
- 'q' => '量',
- 'r' => '鈔',
- 's' => '鈕',
- 't' => '鈣',
- 'u' => '鈉',
- 'v' => '鈞',
- 'w' => '鈍',
- 'x' => '鈐',
- 'y' => '鈇',
- 'z' => '鈑',
- '{' => '閔',
- '|' => '閏',
- '}' => '開',
- '~' => '閑',
- '' => '間',
- '' => '閒',
- '' => '閎',
- '' => '隊',
- '' => '階',
- '' => '隋',
- '' => '陽',
- '' => '隅',
- '' => '隆',
- '' => '隍',
- '' => '陲',
- '' => '隄',
- '' => '雁',
- '' => '雅',
- '' => '雄',
- '' => '集',
- '' => '雇',
- '' => '雯',
- '' => '雲',
- '' => '韌',
- '' => '項',
- '' => '順',
- '' => '須',
- '' => '飧',
- '' => '飪',
- '' => '飯',
- '' => '飩',
- '' => '飲',
- '' => '飭',
- '' => '馮',
- '' => '馭',
- '' => '黃',
- '' => '黍',
- '' => '黑',
- '' => '亂',
- '' => '傭',
- '' => '債',
- '' => '傲',
- '' => '傳',
- '' => '僅',
- '' => '傾',
- '' => '催',
- '' => '傷',
- '' => '傻',
- '' => '傯',
- '' => '僇',
- '' => '剿',
- '' => '剷',
- '' => '剽',
- '' => '募',
- '' => '勦',
- '' => '勤',
- '' => '勢',
- '' => '勣',
- '' => '匯',
- '' => '嗟',
- '' => '嗨',
- '' => '嗓',
- '' => '嗦',
- '' => '嗎',
- '' => '嗜',
- '' => '嗇',
- '' => '嗑',
- '' => '嗣',
- '' => '嗤',
- '' => '嗯',
- '' => '嗚',
- '' => '嗡',
- '' => '嗅',
- '' => '嗆',
- '' => '嗥',
- '' => '嗉',
- '' => '園',
- '' => '圓',
- '' => '塞',
- '' => '塑',
- '' => '塘',
- '' => '塗',
- '' => '塚',
- '' => '塔',
- '' => '填',
- '' => '塌',
- '' => '塭',
- '' => '塊',
- '' => '塢',
- '' => '塒',
- '' => '塋',
- '' => '奧',
- '' => '嫁',
- '' => '嫉',
- '' => '嫌',
- '' => '媾',
- '' => '媽',
- '' => '媼',
- '@' => '媳',
- 'A' => '嫂',
- 'B' => '媲',
- 'C' => '嵩',
- 'D' => '嵯',
- 'E' => '幌',
- 'F' => '幹',
- 'G' => '廉',
- 'H' => '廈',
- 'I' => '弒',
- 'J' => '彙',
- 'K' => '徬',
- 'L' => '微',
- 'M' => '愚',
- 'N' => '意',
- 'O' => '慈',
- 'P' => '感',
- 'Q' => '想',
- 'R' => '愛',
- 'S' => '惹',
- 'T' => '愁',
- 'U' => '愈',
- 'V' => '慎',
- 'W' => '慌',
- 'X' => '慄',
- 'Y' => '慍',
- 'Z' => '愾',
- '[' => '愴',
- '\\' => '愧',
- ']' => '愍',
- '^' => '愆',
- '_' => '愷',
- '`' => '戡',
- 'a' => '戢',
- 'b' => '搓',
- 'c' => '搾',
- 'd' => '搞',
- 'e' => '搪',
- 'f' => '搭',
- 'g' => '搽',
- 'h' => '搬',
- 'i' => '搏',
- 'j' => '搜',
- 'k' => '搔',
- 'l' => '損',
- 'm' => '搶',
- 'n' => '搖',
- 'o' => '搗',
- 'p' => '搆',
- 'q' => '敬',
- 'r' => '斟',
- 's' => '新',
- 't' => '暗',
- 'u' => '暉',
- 'v' => '暇',
- 'w' => '暈',
- 'x' => '暖',
- 'y' => '暄',
- 'z' => '暘',
- '{' => '暍',
- '|' => '會',
- '}' => '榔',
- '~' => '業',
- '' => '楚',
- '' => '楷',
- '' => '楠',
- '' => '楔',
- '' => '極',
- '' => '椰',
- '' => '概',
- '' => '楊',
- '' => '楨',
- '' => '楫',
- '' => '楞',
- '' => '楓',
- '' => '楹',
- '' => '榆',
- '' => '楝',
- '' => '楣',
- '' => '楛',
- '' => '歇',
- '' => '歲',
- '' => '毀',
- '' => '殿',
- '' => '毓',
- '' => '毽',
- '' => '溢',
- '' => '溯',
- '' => '滓',
- '' => '溶',
- '' => '滂',
- '' => '源',
- '' => '溝',
- '' => '滇',
- '' => '滅',
- '' => '溥',
- '' => '溘',
- '' => '溼',
- '' => '溺',
- '' => '溫',
- '' => '滑',
- '' => '準',
- '' => '溜',
- '' => '滄',
- '' => '滔',
- '' => '溪',
- '' => '溧',
- '' => '溴',
- '' => '煎',
- '' => '煙',
- '' => '煩',
- '' => '煤',
- '' => '煉',
- '' => '照',
- '' => '煜',
- '' => '煬',
- '' => '煦',
- '' => '煌',
- '' => '煥',
- '' => '煞',
- '' => '煆',
- '' => '煨',
- '' => '煖',
- '' => '爺',
- '' => '牒',
- '' => '猷',
- '' => '獅',
- '' => '猿',
- '' => '猾',
- '' => '瑯',
- '' => '瑚',
- '' => '瑕',
- '' => '瑟',
- '' => '瑞',
- '' => '瑁',
- '' => '琿',
- '' => '瑙',
- '' => '瑛',
- '' => '瑜',
- '' => '當',
- '' => '畸',
- '' => '瘀',
- '' => '痰',
- '' => '瘁',
- '' => '痲',
- '' => '痱',
- '' => '痺',
- '' => '痿',
- '' => '痴',
- '' => '痳',
- '' => '盞',
- '' => '盟',
- '' => '睛',
- '' => '睫',
- '' => '睦',
- '' => '睞',
- '' => '督',
- '@' => '睹',
- 'A' => '睪',
- 'B' => '睬',
- 'C' => '睜',
- 'D' => '睥',
- 'E' => '睨',
- 'F' => '睢',
- 'G' => '矮',
- 'H' => '碎',
- 'I' => '碰',
- 'J' => '碗',
- 'K' => '碘',
- 'L' => '碌',
- 'M' => '碉',
- 'N' => '硼',
- 'O' => '碑',
- 'P' => '碓',
- 'Q' => '硿',
- 'R' => '祺',
- 'S' => '祿',
- 'T' => '禁',
- 'U' => '萬',
- 'V' => '禽',
- 'W' => '稜',
- 'X' => '稚',
- 'Y' => '稠',
- 'Z' => '稔',
- '[' => '稟',
- '\\' => '稞',
- ']' => '窟',
- '^' => '窠',
- '_' => '筷',
- '`' => '節',
- 'a' => '筠',
- 'b' => '筮',
- 'c' => '筧',
- 'd' => '粱',
- 'e' => '粳',
- 'f' => '粵',
- 'g' => '經',
- 'h' => '絹',
- 'i' => '綑',
- 'j' => '綁',
- 'k' => '綏',
- 'l' => '絛',
- 'm' => '置',
- 'n' => '罩',
- 'o' => '罪',
- 'p' => '署',
- 'q' => '義',
- 'r' => '羨',
- 's' => '群',
- 't' => '聖',
- 'u' => '聘',
- 'v' => '肆',
- 'w' => '肄',
- 'x' => '腱',
- 'y' => '腰',
- 'z' => '腸',
- '{' => '腥',
- '|' => '腮',
- '}' => '腳',
- '~' => '腫',
- '' => '腹',
- '' => '腺',
- '' => '腦',
- '' => '舅',
- '' => '艇',
- '' => '蒂',
- '' => '葷',
- '' => '落',
- '' => '萱',
- '' => '葵',
- '' => '葦',
- '' => '葫',
- '' => '葉',
- '' => '葬',
- '' => '葛',
- '' => '萼',
- '' => '萵',
- '' => '葡',
- '' => '董',
- '' => '葩',
- '' => '葭',
- '' => '葆',
- '' => '虞',
- '' => '虜',
- '' => '號',
- '' => '蛹',
- '' => '蜓',
- '' => '蜈',
- '' => '蜇',
- '' => '蜀',
- '' => '蛾',
- '' => '蛻',
- '' => '蜂',
- '' => '蜃',
- '' => '蜆',
- '' => '蜊',
- '' => '衙',
- '' => '裟',
- '' => '裔',
- '' => '裙',
- '' => '補',
- '' => '裘',
- '' => '裝',
- '' => '裡',
- '' => '裊',
- '' => '裕',
- '' => '裒',
- '' => '覜',
- '' => '解',
- '' => '詫',
- '' => '該',
- '' => '詳',
- '' => '試',
- '' => '詩',
- '' => '詰',
- '' => '誇',
- '' => '詼',
- '' => '詣',
- '' => '誠',
- '' => '話',
- '' => '誅',
- '' => '詭',
- '' => '詢',
- '' => '詮',
- '' => '詬',
- '' => '詹',
- '' => '詻',
- '' => '訾',
- '' => '詨',
- '' => '豢',
- '' => '貊',
- '' => '貉',
- '' => '賊',
- '' => '資',
- '' => '賈',
- '' => '賄',
- '' => '貲',
- '' => '賃',
- '' => '賂',
- '' => '賅',
- '' => '跡',
- '' => '跟',
- '' => '跨',
- '' => '路',
- '' => '跳',
- '' => '跺',
- '' => '跪',
- '' => '跤',
- '' => '跦',
- '' => '躲',
- '' => '較',
- '' => '載',
- '' => '軾',
- '' => '輊',
- '@' => '辟',
- 'A' => '農',
- 'B' => '運',
- 'C' => '遊',
- 'D' => '道',
- 'E' => '遂',
- 'F' => '達',
- 'G' => '逼',
- 'H' => '違',
- 'I' => '遐',
- 'J' => '遇',
- 'K' => '遏',
- 'L' => '過',
- 'M' => '遍',
- 'N' => '遑',
- 'O' => '逾',
- 'P' => '遁',
- 'Q' => '鄒',
- 'R' => '鄗',
- 'S' => '酬',
- 'T' => '酪',
- 'U' => '酩',
- 'V' => '釉',
- 'W' => '鈷',
- 'X' => '鉗',
- 'Y' => '鈸',
- 'Z' => '鈽',
- '[' => '鉀',
- '\\' => '鈾',
- ']' => '鉛',
- '^' => '鉋',
- '_' => '鉤',
- '`' => '鉑',
- 'a' => '鈴',
- 'b' => '鉉',
- 'c' => '鉍',
- 'd' => '鉅',
- 'e' => '鈹',
- 'f' => '鈿',
- 'g' => '鉚',
- 'h' => '閘',
- 'i' => '隘',
- 'j' => '隔',
- 'k' => '隕',
- 'l' => '雍',
- 'm' => '雋',
- 'n' => '雉',
- 'o' => '雊',
- 'p' => '雷',
- 'q' => '電',
- 'r' => '雹',
- 's' => '零',
- 't' => '靖',
- 'u' => '靴',
- 'v' => '靶',
- 'w' => '預',
- 'x' => '頑',
- 'y' => '頓',
- 'z' => '頊',
- '{' => '頒',
- '|' => '頌',
- '}' => '飼',
- '~' => '飴',
- '' => '飽',
- '' => '飾',
- '' => '馳',
- '' => '馱',
- '' => '馴',
- '' => '髡',
- '' => '鳩',
- '' => '麂',
- '' => '鼎',
- '' => '鼓',
- '' => '鼠',
- '' => '僧',
- '' => '僮',
- '' => '僥',
- '' => '僖',
- '' => '僭',
- '' => '僚',
- '' => '僕',
- '' => '像',
- '' => '僑',
- '' => '僱',
- '' => '僎',
- '' => '僩',
- '' => '兢',
- '' => '凳',
- '' => '劃',
- '' => '劂',
- '' => '匱',
- '' => '厭',
- '' => '嗾',
- '' => '嘀',
- '' => '嘛',
- '' => '嘗',
- '' => '嗽',
- '' => '嘔',
- '' => '嘆',
- '' => '嘉',
- '' => '嘍',
- '' => '嘎',
- '' => '嗷',
- '' => '嘖',
- '' => '嘟',
- '' => '嘈',
- '' => '嘐',
- '' => '嗶',
- '' => '團',
- '' => '圖',
- '' => '塵',
- '' => '塾',
- '' => '境',
- '' => '墓',
- '' => '墊',
- '' => '塹',
- '' => '墅',
- '' => '塽',
- '' => '壽',
- '' => '夥',
- '' => '夢',
- '' => '夤',
- '' => '奪',
- '' => '奩',
- '' => '嫡',
- '' => '嫦',
- '' => '嫩',
- '' => '嫗',
- '' => '嫖',
- '' => '嫘',
- '' => '嫣',
- '' => '孵',
- '' => '寞',
- '' => '寧',
- '' => '寡',
- '' => '寥',
- '' => '實',
- '' => '寨',
- '' => '寢',
- '' => '寤',
- '' => '察',
- '' => '對',
- '' => '屢',
- '' => '嶄',
- '' => '嶇',
- '' => '幛',
- '' => '幣',
- '' => '幕',
- '' => '幗',
- '' => '幔',
- '' => '廓',
- '' => '廖',
- '' => '弊',
- '' => '彆',
- '' => '彰',
- '' => '徹',
- '' => '慇',
- '@' => '愿',
- 'A' => '態',
- 'B' => '慷',
- 'C' => '慢',
- 'D' => '慣',
- 'E' => '慟',
- 'F' => '慚',
- 'G' => '慘',
- 'H' => '慵',
- 'I' => '截',
- 'J' => '撇',
- 'K' => '摘',
- 'L' => '摔',
- 'M' => '撤',
- 'N' => '摸',
- 'O' => '摟',
- 'P' => '摺',
- 'Q' => '摑',
- 'R' => '摧',
- 'S' => '搴',
- 'T' => '摭',
- 'U' => '摻',
- 'V' => '敲',
- 'W' => '斡',
- 'X' => '旗',
- 'Y' => '旖',
- 'Z' => '暢',
- '[' => '暨',
- '\\' => '暝',
- ']' => '榜',
- '^' => '榨',
- '_' => '榕',
- '`' => '槁',
- 'a' => '榮',
- 'b' => '槓',
- 'c' => '構',
- 'd' => '榛',
- 'e' => '榷',
- 'f' => '榻',
- 'g' => '榫',
- 'h' => '榴',
- 'i' => '槐',
- 'j' => '槍',
- 'k' => '榭',
- 'l' => '槌',
- 'm' => '榦',
- 'n' => '槃',
- 'o' => '榣',
- 'p' => '歉',
- 'q' => '歌',
- 'r' => '氳',
- 's' => '漳',
- 't' => '演',
- 'u' => '滾',
- 'v' => '漓',
- 'w' => '滴',
- 'x' => '漩',
- 'y' => '漾',
- 'z' => '漠',
- '{' => '漬',
- '|' => '漏',
- '}' => '漂',
- '~' => '漢',
- '' => '滿',
- '' => '滯',
- '' => '漆',
- '' => '漱',
- '' => '漸',
- '' => '漲',
- '' => '漣',
- '' => '漕',
- '' => '漫',
- '' => '漯',
- '' => '澈',
- '' => '漪',
- '' => '滬',
- '' => '漁',
- '' => '滲',
- '' => '滌',
- '' => '滷',
- '' => '熔',
- '' => '熙',
- '' => '煽',
- '' => '熊',
- '' => '熄',
- '' => '熒',
- '' => '爾',
- '' => '犒',
- '' => '犖',
- '' => '獄',
- '' => '獐',
- '' => '瑤',
- '' => '瑣',
- '' => '瑪',
- '' => '瑰',
- '' => '瑭',
- '' => '甄',
- '' => '疑',
- '' => '瘧',
- '' => '瘍',
- '' => '瘋',
- '' => '瘉',
- '' => '瘓',
- '' => '盡',
- '' => '監',
- '' => '瞄',
- '' => '睽',
- '' => '睿',
- '' => '睡',
- '' => '磁',
- '' => '碟',
- '' => '碧',
- '' => '碳',
- '' => '碩',
- '' => '碣',
- '' => '禎',
- '' => '福',
- '' => '禍',
- '' => '種',
- '' => '稱',
- '' => '窪',
- '' => '窩',
- '' => '竭',
- '' => '端',
- '' => '管',
- '' => '箕',
- '' => '箋',
- '' => '筵',
- '' => '算',
- '' => '箝',
- '' => '箔',
- '' => '箏',
- '' => '箸',
- '' => '箇',
- '' => '箄',
- '' => '粹',
- '' => '粽',
- '' => '精',
- '' => '綻',
- '' => '綰',
- '' => '綜',
- '' => '綽',
- '' => '綾',
- '' => '綠',
- '' => '緊',
- '' => '綴',
- '' => '網',
- '' => '綱',
- '' => '綺',
- '' => '綢',
- '' => '綿',
- '' => '綵',
- '' => '綸',
- '' => '維',
- '' => '緒',
- '' => '緇',
- '' => '綬',
- '@' => '罰',
- 'A' => '翠',
- 'B' => '翡',
- 'C' => '翟',
- 'D' => '聞',
- 'E' => '聚',
- 'F' => '肇',
- 'G' => '腐',
- 'H' => '膀',
- 'I' => '膏',
- 'J' => '膈',
- 'K' => '膊',
- 'L' => '腿',
- 'M' => '膂',
- 'N' => '臧',
- 'O' => '臺',
- 'P' => '與',
- 'Q' => '舔',
- 'R' => '舞',
- 'S' => '艋',
- 'T' => '蓉',
- 'U' => '蒿',
- 'V' => '蓆',
- 'W' => '蓄',
- 'X' => '蒙',
- 'Y' => '蒞',
- 'Z' => '蒲',
- '[' => '蒜',
- '\\' => '蓋',
- ']' => '蒸',
- '^' => '蓀',
- '_' => '蓓',
- '`' => '蒐',
- 'a' => '蒼',
- 'b' => '蓑',
- 'c' => '蓊',
- 'd' => '蜿',
- 'e' => '蜜',
- 'f' => '蜻',
- 'g' => '蜢',
- 'h' => '蜥',
- 'i' => '蜴',
- 'j' => '蜘',
- 'k' => '蝕',
- 'l' => '蜷',
- 'm' => '蜩',
- 'n' => '裳',
- 'o' => '褂',
- 'p' => '裴',
- 'q' => '裹',
- 'r' => '裸',
- 's' => '製',
- 't' => '裨',
- 'u' => '褚',
- 'v' => '裯',
- 'w' => '誦',
- 'x' => '誌',
- 'y' => '語',
- 'z' => '誣',
- '{' => '認',
- '|' => '誡',
- '}' => '誓',
- '~' => '誤',
- '' => '說',
- '' => '誥',
- '' => '誨',
- '' => '誘',
- '' => '誑',
- '' => '誚',
- '' => '誧',
- '' => '豪',
- '' => '貍',
- '' => '貌',
- '' => '賓',
- '' => '賑',
- '' => '賒',
- '' => '赫',
- '' => '趙',
- '' => '趕',
- '' => '跼',
- '' => '輔',
- '' => '輒',
- '' => '輕',
- '' => '輓',
- '' => '辣',
- '' => '遠',
- '' => '遘',
- '' => '遜',
- '' => '遣',
- '' => '遙',
- '' => '遞',
- '' => '遢',
- '' => '遝',
- '' => '遛',
- '' => '鄙',
- '' => '鄘',
- '' => '鄞',
- '' => '酵',
- '' => '酸',
- '' => '酷',
- '' => '酴',
- '' => '鉸',
- '' => '銀',
- '' => '銅',
- '' => '銘',
- '' => '銖',
- '' => '鉻',
- '' => '銓',
- '' => '銜',
- '' => '銨',
- '' => '鉼',
- '' => '銑',
- '' => '閡',
- '' => '閨',
- '' => '閩',
- '' => '閣',
- '' => '閥',
- '' => '閤',
- '' => '隙',
- '' => '障',
- '' => '際',
- '' => '雌',
- '' => '雒',
- '' => '需',
- '' => '靼',
- '' => '鞅',
- '' => '韶',
- '' => '頗',
- '' => '領',
- '' => '颯',
- '' => '颱',
- '' => '餃',
- '' => '餅',
- '' => '餌',
- '' => '餉',
- '' => '駁',
- '' => '骯',
- '' => '骰',
- '' => '髦',
- '' => '魁',
- '' => '魂',
- '' => '鳴',
- '' => '鳶',
- '' => '鳳',
- '' => '麼',
- '' => '鼻',
- '' => '齊',
- '' => '億',
- '' => '儀',
- '' => '僻',
- '' => '僵',
- '' => '價',
- '' => '儂',
- '' => '儈',
- '' => '儉',
- '' => '儅',
- '' => '凜',
- '@' => '劇',
- 'A' => '劈',
- 'B' => '劉',
- 'C' => '劍',
- 'D' => '劊',
- 'E' => '勰',
- 'F' => '厲',
- 'G' => '嘮',
- 'H' => '嘻',
- 'I' => '嘹',
- 'J' => '嘲',
- 'K' => '嘿',
- 'L' => '嘴',
- 'M' => '嘩',
- 'N' => '噓',
- 'O' => '噎',
- 'P' => '噗',
- 'Q' => '噴',
- 'R' => '嘶',
- 'S' => '嘯',
- 'T' => '嘰',
- 'U' => '墀',
- 'V' => '墟',
- 'W' => '增',
- 'X' => '墳',
- 'Y' => '墜',
- 'Z' => '墮',
- '[' => '墩',
- '\\' => '墦',
- ']' => '奭',
- '^' => '嬉',
- '_' => '嫻',
- '`' => '嬋',
- 'a' => '嫵',
- 'b' => '嬌',
- 'c' => '嬈',
- 'd' => '寮',
- 'e' => '寬',
- 'f' => '審',
- 'g' => '寫',
- 'h' => '層',
- 'i' => '履',
- 'j' => '嶝',
- 'k' => '嶔',
- 'l' => '幢',
- 'm' => '幟',
- 'n' => '幡',
- 'o' => '廢',
- 'p' => '廚',
- 'q' => '廟',
- 'r' => '廝',
- 's' => '廣',
- 't' => '廠',
- 'u' => '彈',
- 'v' => '影',
- 'w' => '德',
- 'x' => '徵',
- 'y' => '慶',
- 'z' => '慧',
- '{' => '慮',
- '|' => '慝',
- '}' => '慕',
- '~' => '憂',
- '' => '慼',
- '' => '慰',
- '' => '慫',
- '' => '慾',
- '' => '憧',
- '' => '憐',
- '' => '憫',
- '' => '憎',
- '' => '憬',
- '' => '憚',
- '' => '憤',
- '' => '憔',
- '' => '憮',
- '' => '戮',
- '' => '摩',
- '' => '摯',
- '' => '摹',
- '' => '撞',
- '' => '撲',
- '' => '撈',
- '' => '撐',
- '' => '撰',
- '' => '撥',
- '' => '撓',
- '' => '撕',
- '' => '撩',
- '' => '撒',
- '' => '撮',
- '' => '播',
- '' => '撫',
- '' => '撚',
- '' => '撬',
- '' => '撙',
- '' => '撢',
- '' => '撳',
- '' => '敵',
- '' => '敷',
- '' => '數',
- '' => '暮',
- '' => '暫',
- '' => '暴',
- '' => '暱',
- '' => '樣',
- '' => '樟',
- '' => '槨',
- '' => '樁',
- '' => '樞',
- '' => '標',
- '' => '槽',
- '' => '模',
- '' => '樓',
- '' => '樊',
- '' => '槳',
- '' => '樂',
- '' => '樅',
- '' => '槭',
- '' => '樑',
- '' => '歐',
- '' => '歎',
- '' => '殤',
- '' => '毅',
- '' => '毆',
- '' => '漿',
- '' => '潼',
- '' => '澄',
- '' => '潑',
- '' => '潦',
- '' => '潔',
- '' => '澆',
- '' => '潭',
- '' => '潛',
- '' => '潸',
- '' => '潮',
- '' => '澎',
- '' => '潺',
- '' => '潰',
- '' => '潤',
- '' => '澗',
- '' => '潘',
- '' => '滕',
- '' => '潯',
- '' => '潠',
- '' => '潟',
- '' => '熟',
- '' => '熬',
- '' => '熱',
- '' => '熨',
- '' => '牖',
- '' => '犛',
- '' => '獎',
- '' => '獗',
- '' => '瑩',
- '' => '璋',
- '' => '璃',
- '@' => '瑾',
- 'A' => '璀',
- 'B' => '畿',
- 'C' => '瘠',
- 'D' => '瘩',
- 'E' => '瘟',
- 'F' => '瘤',
- 'G' => '瘦',
- 'H' => '瘡',
- 'I' => '瘢',
- 'J' => '皚',
- 'K' => '皺',
- 'L' => '盤',
- 'M' => '瞎',
- 'N' => '瞇',
- 'O' => '瞌',
- 'P' => '瞑',
- 'Q' => '瞋',
- 'R' => '磋',
- 'S' => '磅',
- 'T' => '確',
- 'U' => '磊',
- 'V' => '碾',
- 'W' => '磕',
- 'X' => '碼',
- 'Y' => '磐',
- 'Z' => '稿',
- '[' => '稼',
- '\\' => '穀',
- ']' => '稽',
- '^' => '稷',
- '_' => '稻',
- '`' => '窯',
- 'a' => '窮',
- 'b' => '箭',
- 'c' => '箱',
- 'd' => '範',
- 'e' => '箴',
- 'f' => '篆',
- 'g' => '篇',
- 'h' => '篁',
- 'i' => '箠',
- 'j' => '篌',
- 'k' => '糊',
- 'l' => '締',
- 'm' => '練',
- 'n' => '緯',
- 'o' => '緻',
- 'p' => '緘',
- 'q' => '緬',
- 'r' => '緝',
- 's' => '編',
- 't' => '緣',
- 'u' => '線',
- 'v' => '緞',
- 'w' => '緩',
- 'x' => '綞',
- 'y' => '緙',
- 'z' => '緲',
- '{' => '緹',
- '|' => '罵',
- '}' => '罷',
- '~' => '羯',
- '' => '翩',
- '' => '耦',
- '' => '膛',
- '' => '膜',
- '' => '膝',
- '' => '膠',
- '' => '膚',
- '' => '膘',
- '' => '蔗',
- '' => '蔽',
- '' => '蔚',
- '' => '蓮',
- '' => '蔬',
- '' => '蔭',
- '' => '蔓',
- '' => '蔑',
- '' => '蔣',
- '' => '蔡',
- '' => '蔔',
- '' => '蓬',
- '' => '蔥',
- '' => '蓿',
- '' => '蔆',
- '' => '螂',
- '' => '蝴',
- '' => '蝶',
- '' => '蝠',
- '' => '蝦',
- '' => '蝸',
- '' => '蝨',
- '' => '蝙',
- '' => '蝗',
- '' => '蝌',
- '' => '蝓',
- '' => '衛',
- '' => '衝',
- '' => '褐',
- '' => '複',
- '' => '褒',
- '' => '褓',
- '' => '褕',
- '' => '褊',
- '' => '誼',
- '' => '諒',
- '' => '談',
- '' => '諄',
- '' => '誕',
- '' => '請',
- '' => '諸',
- '' => '課',
- '' => '諉',
- '' => '諂',
- '' => '調',
- '' => '誰',
- '' => '論',
- '' => '諍',
- '' => '誶',
- '' => '誹',
- '' => '諛',
- '' => '豌',
- '' => '豎',
- '' => '豬',
- '' => '賠',
- '' => '賞',
- '' => '賦',
- '' => '賤',
- '' => '賬',
- '' => '賭',
- '' => '賢',
- '' => '賣',
- '' => '賜',
- '' => '質',
- '' => '賡',
- '' => '赭',
- '' => '趟',
- '' => '趣',
- '' => '踫',
- '' => '踐',
- '' => '踝',
- '' => '踢',
- '' => '踏',
- '' => '踩',
- '' => '踟',
- '' => '踡',
- '' => '踞',
- '' => '躺',
- '' => '輝',
- '' => '輛',
- '' => '輟',
- '' => '輩',
- '' => '輦',
- '' => '輪',
- '' => '輜',
- '' => '輞',
- '@' => '輥',
- 'A' => '適',
- 'B' => '遮',
- 'C' => '遨',
- 'D' => '遭',
- 'E' => '遷',
- 'F' => '鄰',
- 'G' => '鄭',
- 'H' => '鄧',
- 'I' => '鄱',
- 'J' => '醇',
- 'K' => '醉',
- 'L' => '醋',
- 'M' => '醃',
- 'N' => '鋅',
- 'O' => '銻',
- 'P' => '銷',
- 'Q' => '鋪',
- 'R' => '銬',
- 'S' => '鋤',
- 'T' => '鋁',
- 'U' => '銳',
- 'V' => '銼',
- 'W' => '鋒',
- 'X' => '鋇',
- 'Y' => '鋰',
- 'Z' => '銲',
- '[' => '閭',
- '\\' => '閱',
- ']' => '霄',
- '^' => '霆',
- '_' => '震',
- '`' => '霉',
- 'a' => '靠',
- 'b' => '鞍',
- 'c' => '鞋',
- 'd' => '鞏',
- 'e' => '頡',
- 'f' => '頫',
- 'g' => '頜',
- 'h' => '颳',
- 'i' => '養',
- 'j' => '餓',
- 'k' => '餒',
- 'l' => '餘',
- 'm' => '駝',
- 'n' => '駐',
- 'o' => '駟',
- 'p' => '駛',
- 'q' => '駑',
- 'r' => '駕',
- 's' => '駒',
- 't' => '駙',
- 'u' => '骷',
- 'v' => '髮',
- 'w' => '髯',
- 'x' => '鬧',
- 'y' => '魅',
- 'z' => '魄',
- '{' => '魷',
- '|' => '魯',
- '}' => '鴆',
- '~' => '鴉',
- '' => '鴃',
- '' => '麩',
- '' => '麾',
- '' => '黎',
- '' => '墨',
- '' => '齒',
- '' => '儒',
- '' => '儘',
- '' => '儔',
- '' => '儐',
- '' => '儕',
- '' => '冀',
- '' => '冪',
- '' => '凝',
- '' => '劑',
- '' => '劓',
- '' => '勳',
- '' => '噙',
- '' => '噫',
- '' => '噹',
- '' => '噩',
- '' => '噤',
- '' => '噸',
- '' => '噪',
- '' => '器',
- '' => '噥',
- '' => '噱',
- '' => '噯',
- '' => '噬',
- '' => '噢',
- '' => '噶',
- '' => '壁',
- '' => '墾',
- '' => '壇',
- '' => '壅',
- '' => '奮',
- '' => '嬝',
- '' => '嬴',
- '' => '學',
- '' => '寰',
- '' => '導',
- '' => '彊',
- '' => '憲',
- '' => '憑',
- '' => '憩',
- '' => '憊',
- '' => '懍',
- '' => '憶',
- '' => '憾',
- '' => '懊',
- '' => '懈',
- '' => '戰',
- '' => '擅',
- '' => '擁',
- '' => '擋',
- '' => '撻',
- '' => '撼',
- '' => '據',
- '' => '擄',
- '' => '擇',
- '' => '擂',
- '' => '操',
- '' => '撿',
- '' => '擒',
- '' => '擔',
- '' => '撾',
- '' => '整',
- '' => '曆',
- '' => '曉',
- '' => '暹',
- '' => '曄',
- '' => '曇',
- '' => '暸',
- '' => '樽',
- '' => '樸',
- '' => '樺',
- '' => '橙',
- '' => '橫',
- '' => '橘',
- '' => '樹',
- '' => '橄',
- '' => '橢',
- '' => '橡',
- '' => '橋',
- '' => '橇',
- '' => '樵',
- '' => '機',
- '' => '橈',
- '' => '歙',
- '' => '歷',
- '' => '氅',
- '' => '濂',
- '' => '澱',
- '' => '澡',
- '@' => '濃',
- 'A' => '澤',
- 'B' => '濁',
- 'C' => '澧',
- 'D' => '澳',
- 'E' => '激',
- 'F' => '澹',
- 'G' => '澶',
- 'H' => '澦',
- 'I' => '澠',
- 'J' => '澴',
- 'K' => '熾',
- 'L' => '燉',
- 'M' => '燐',
- 'N' => '燒',
- 'O' => '燈',
- 'P' => '燕',
- 'Q' => '熹',
- 'R' => '燎',
- 'S' => '燙',
- 'T' => '燜',
- 'U' => '燃',
- 'V' => '燄',
- 'W' => '獨',
- 'X' => '璜',
- 'Y' => '璣',
- 'Z' => '璘',
- '[' => '璟',
- '\\' => '璞',
- ']' => '瓢',
- '^' => '甌',
- '_' => '甍',
- '`' => '瘴',
- 'a' => '瘸',
- 'b' => '瘺',
- 'c' => '盧',
- 'd' => '盥',
- 'e' => '瞠',
- 'f' => '瞞',
- 'g' => '瞟',
- 'h' => '瞥',
- 'i' => '磨',
- 'j' => '磚',
- 'k' => '磬',
- 'l' => '磧',
- 'm' => '禦',
- 'n' => '積',
- 'o' => '穎',
- 'p' => '穆',
- 'q' => '穌',
- 'r' => '穋',
- 's' => '窺',
- 't' => '篙',
- 'u' => '簑',
- 'v' => '築',
- 'w' => '篤',
- 'x' => '篛',
- 'y' => '篡',
- 'z' => '篩',
- '{' => '篦',
- '|' => '糕',
- '}' => '糖',
- '~' => '縊',
- '' => '縑',
- '' => '縈',
- '' => '縛',
- '' => '縣',
- '' => '縞',
- '' => '縝',
- '' => '縉',
- '' => '縐',
- '' => '罹',
- '' => '羲',
- '' => '翰',
- '' => '翱',
- '' => '翮',
- '' => '耨',
- '' => '膳',
- '' => '膩',
- '' => '膨',
- '' => '臻',
- '' => '興',
- '' => '艘',
- '' => '艙',
- '' => '蕊',
- '' => '蕙',
- '' => '蕈',
- '' => '蕨',
- '' => '蕩',
- '' => '蕃',
- '' => '蕉',
- '' => '蕭',
- '' => '蕪',
- '' => '蕞',
- '' => '螃',
- '' => '螟',
- '' => '螞',
- '' => '螢',
- '' => '融',
- '' => '衡',
- '' => '褪',
- '' => '褲',
- '' => '褥',
- '' => '褫',
- '' => '褡',
- '' => '親',
- '' => '覦',
- '' => '諦',
- '' => '諺',
- '' => '諫',
- '' => '諱',
- '' => '謀',
- '' => '諜',
- '' => '諧',
- '' => '諮',
- '' => '諾',
- '' => '謁',
- '' => '謂',
- '' => '諷',
- '' => '諭',
- '' => '諳',
- '' => '諶',
- '' => '諼',
- '' => '豫',
- '' => '豭',
- '' => '貓',
- '' => '賴',
- '' => '蹄',
- '' => '踱',
- '' => '踴',
- '' => '蹂',
- '' => '踹',
- '' => '踵',
- '' => '輻',
- '' => '輯',
- '' => '輸',
- '' => '輳',
- '' => '辨',
- '' => '辦',
- '' => '遵',
- '' => '遴',
- '' => '選',
- '' => '遲',
- '' => '遼',
- '' => '遺',
- '' => '鄴',
- '' => '醒',
- '' => '錠',
- '' => '錶',
- '' => '鋸',
- '' => '錳',
- '' => '錯',
- '' => '錢',
- '' => '鋼',
- '' => '錫',
- '' => '錄',
- '' => '錚',
- '@' => '錐',
- 'A' => '錦',
- 'B' => '錡',
- 'C' => '錕',
- 'D' => '錮',
- 'E' => '錙',
- 'F' => '閻',
- 'G' => '隧',
- 'H' => '隨',
- 'I' => '險',
- 'J' => '雕',
- 'K' => '霎',
- 'L' => '霑',
- 'M' => '霖',
- 'N' => '霍',
- 'O' => '霓',
- 'P' => '霏',
- 'Q' => '靛',
- 'R' => '靜',
- 'S' => '靦',
- 'T' => '鞘',
- 'U' => '頰',
- 'V' => '頸',
- 'W' => '頻',
- 'X' => '頷',
- 'Y' => '頭',
- 'Z' => '頹',
- '[' => '頤',
- '\\' => '餐',
- ']' => '館',
- '^' => '餞',
- '_' => '餛',
- '`' => '餡',
- 'a' => '餚',
- 'b' => '駭',
- 'c' => '駢',
- 'd' => '駱',
- 'e' => '骸',
- 'f' => '骼',
- 'g' => '髻',
- 'h' => '髭',
- 'i' => '鬨',
- 'j' => '鮑',
- 'k' => '鴕',
- 'l' => '鴣',
- 'm' => '鴦',
- 'n' => '鴨',
- 'o' => '鴒',
- 'p' => '鴛',
- 'q' => '默',
- 'r' => '黔',
- 's' => '龍',
- 't' => '龜',
- 'u' => '優',
- 'v' => '償',
- 'w' => '儡',
- 'x' => '儲',
- 'y' => '勵',
- 'z' => '嚎',
- '{' => '嚀',
- '|' => '嚐',
- '}' => '嚅',
- '~' => '嚇',
- '' => '嚏',
- '' => '壕',
- '' => '壓',
- '' => '壑',
- '' => '壎',
- '' => '嬰',
- '' => '嬪',
- '' => '嬤',
- '' => '孺',
- '' => '尷',
- '' => '屨',
- '' => '嶼',
- '' => '嶺',
- '' => '嶽',
- '' => '嶸',
- '' => '幫',
- '' => '彌',
- '' => '徽',
- '' => '應',
- '' => '懂',
- '' => '懇',
- '' => '懦',
- '' => '懋',
- '' => '戲',
- '' => '戴',
- '' => '擎',
- '' => '擊',
- '' => '擘',
- '' => '擠',
- '' => '擰',
- '' => '擦',
- '' => '擬',
- '' => '擱',
- '' => '擢',
- '' => '擭',
- '' => '斂',
- '' => '斃',
- '' => '曙',
- '' => '曖',
- '' => '檀',
- '' => '檔',
- '' => '檄',
- '' => '檢',
- '' => '檜',
- '' => '櫛',
- '' => '檣',
- '' => '橾',
- '' => '檗',
- '' => '檐',
- '' => '檠',
- '' => '歜',
- '' => '殮',
- '' => '毚',
- '' => '氈',
- '' => '濘',
- '' => '濱',
- '' => '濟',
- '' => '濠',
- '' => '濛',
- '' => '濤',
- '' => '濫',
- '' => '濯',
- '' => '澀',
- '' => '濬',
- '' => '濡',
- '' => '濩',
- '' => '濕',
- '' => '濮',
- '' => '濰',
- '' => '燧',
- '' => '營',
- '' => '燮',
- '' => '燦',
- '' => '燥',
- '' => '燭',
- '' => '燬',
- '' => '燴',
- '' => '燠',
- '' => '爵',
- '' => '牆',
- '' => '獰',
- '' => '獲',
- '' => '璩',
- '' => '環',
- '' => '璦',
- '' => '璨',
- '' => '癆',
- '' => '療',
- '' => '癌',
- '' => '盪',
- '' => '瞳',
- '' => '瞪',
- '' => '瞰',
- '' => '瞬',
- '@' => '瞧',
- 'A' => '瞭',
- 'B' => '矯',
- 'C' => '磷',
- 'D' => '磺',
- 'E' => '磴',
- 'F' => '磯',
- 'G' => '礁',
- 'H' => '禧',
- 'I' => '禪',
- 'J' => '穗',
- 'K' => '窿',
- 'L' => '簇',
- 'M' => '簍',
- 'N' => '篾',
- 'O' => '篷',
- 'P' => '簌',
- 'Q' => '篠',
- 'R' => '糠',
- 'S' => '糜',
- 'T' => '糞',
- 'U' => '糢',
- 'V' => '糟',
- 'W' => '糙',
- 'X' => '糝',
- 'Y' => '縮',
- 'Z' => '績',
- '[' => '繆',
- '\\' => '縷',
- ']' => '縲',
- '^' => '繃',
- '_' => '縫',
- '`' => '總',
- 'a' => '縱',
- 'b' => '繅',
- 'c' => '繁',
- 'd' => '縴',
- 'e' => '縹',
- 'f' => '繈',
- 'g' => '縵',
- 'h' => '縿',
- 'i' => '縯',
- 'j' => '罄',
- 'k' => '翳',
- 'l' => '翼',
- 'm' => '聱',
- 'n' => '聲',
- 'o' => '聰',
- 'p' => '聯',
- 'q' => '聳',
- 'r' => '臆',
- 's' => '臃',
- 't' => '膺',
- 'u' => '臂',
- 'v' => '臀',
- 'w' => '膿',
- 'x' => '膽',
- 'y' => '臉',
- 'z' => '膾',
- '{' => '臨',
- '|' => '舉',
- '}' => '艱',
- '~' => '薪',
- '' => '薄',
- '' => '蕾',
- '' => '薜',
- '' => '薑',
- '' => '薔',
- '' => '薯',
- '' => '薛',
- '' => '薇',
- '' => '薨',
- '' => '薊',
- '' => '虧',
- '' => '蟀',
- '' => '蟑',
- '' => '螳',
- '' => '蟒',
- '' => '蟆',
- '' => '螫',
- '' => '螻',
- '' => '螺',
- '' => '蟈',
- '' => '蟋',
- '' => '褻',
- '' => '褶',
- '' => '襄',
- '' => '褸',
- '' => '褽',
- '' => '覬',
- '' => '謎',
- '' => '謗',
- '' => '謙',
- '' => '講',
- '' => '謊',
- '' => '謠',
- '' => '謝',
- '' => '謄',
- '' => '謐',
- '' => '豁',
- '' => '谿',
- '' => '豳',
- '' => '賺',
- '' => '賽',
- '' => '購',
- '' => '賸',
- '' => '賻',
- '' => '趨',
- '' => '蹉',
- '' => '蹋',
- '' => '蹈',
- '' => '蹊',
- '' => '轄',
- '' => '輾',
- '' => '轂',
- '' => '轅',
- '' => '輿',
- '' => '避',
- '' => '遽',
- '' => '還',
- '' => '邁',
- '' => '邂',
- '' => '邀',
- '' => '鄹',
- '' => '醣',
- '' => '醞',
- '' => '醜',
- '' => '鍍',
- '' => '鎂',
- '' => '錨',
- '' => '鍵',
- '' => '鍊',
- '' => '鍥',
- '' => '鍋',
- '' => '錘',
- '' => '鍾',
- '' => '鍬',
- '' => '鍛',
- '' => '鍰',
- '' => '鍚',
- '' => '鍔',
- '' => '闊',
- '' => '闋',
- '' => '闌',
- '' => '闈',
- '' => '闆',
- '' => '隱',
- '' => '隸',
- '' => '雖',
- '' => '霜',
- '' => '霞',
- '' => '鞠',
- '' => '韓',
- '' => '顆',
- '' => '颶',
- '' => '餵',
- '' => '騁',
- '@' => '駿',
- 'A' => '鮮',
- 'B' => '鮫',
- 'C' => '鮪',
- 'D' => '鮭',
- 'E' => '鴻',
- 'F' => '鴿',
- 'G' => '麋',
- 'H' => '黏',
- 'I' => '點',
- 'J' => '黜',
- 'K' => '黝',
- 'L' => '黛',
- 'M' => '鼾',
- 'N' => '齋',
- 'O' => '叢',
- 'P' => '嚕',
- 'Q' => '嚮',
- 'R' => '壙',
- 'S' => '壘',
- 'T' => '嬸',
- 'U' => '彝',
- 'V' => '懣',
- 'W' => '戳',
- 'X' => '擴',
- 'Y' => '擲',
- 'Z' => '擾',
- '[' => '攆',
- '\\' => '擺',
- ']' => '擻',
- '^' => '擷',
- '_' => '斷',
- '`' => '曜',
- 'a' => '朦',
- 'b' => '檳',
- 'c' => '檬',
- 'd' => '櫃',
- 'e' => '檻',
- 'f' => '檸',
- 'g' => '櫂',
- 'h' => '檮',
- 'i' => '檯',
- 'j' => '歟',
- 'k' => '歸',
- 'l' => '殯',
- 'm' => '瀉',
- 'n' => '瀋',
- 'o' => '濾',
- 'p' => '瀆',
- 'q' => '濺',
- 'r' => '瀑',
- 's' => '瀏',
- 't' => '燻',
- 'u' => '燼',
- 'v' => '燾',
- 'w' => '燸',
- 'x' => '獷',
- 'y' => '獵',
- 'z' => '璧',
- '{' => '璿',
- '|' => '甕',
- '}' => '癖',
- '~' => '癘',
- '¡' => '癒',
- '¢' => '瞽',
- '£' => '瞿',
- '¤' => '瞻',
- '¥' => '瞼',
- '¦' => '礎',
- '§' => '禮',
- '¨' => '穡',
- '©' => '穢',
- 'ª' => '穠',
- '«' => '竄',
- '¬' => '竅',
- '' => '簫',
- '®' => '簧',
- '¯' => '簪',
- '°' => '簞',
- '±' => '簣',
- '²' => '簡',
- '³' => '糧',
- '´' => '織',
- 'µ' => '繕',
- '¶' => '繞',
- '·' => '繚',
- '¸' => '繡',
- '¹' => '繒',
- 'º' => '繙',
- '»' => '罈',
- '¼' => '翹',
- '½' => '翻',
- '¾' => '職',
- '¿' => '聶',
- '' => '臍',
- '' => '臏',
- '' => '舊',
- '' => '藏',
- '' => '薩',
- '' => '藍',
- '' => '藐',
- '' => '藉',
- '' => '薰',
- '' => '薺',
- '' => '薹',
- '' => '薦',
- '' => '蟯',
- '' => '蟬',
- '' => '蟲',
- '' => '蟠',
- '' => '覆',
- '' => '覲',
- '' => '觴',
- '' => '謨',
- '' => '謹',
- '' => '謬',
- '' => '謫',
- '' => '豐',
- '' => '贅',
- '' => '蹙',
- '' => '蹣',
- '' => '蹦',
- '' => '蹤',
- '' => '蹟',
- '' => '蹕',
- '' => '軀',
- '' => '轉',
- '' => '轍',
- '' => '邇',
- '' => '邃',
- '' => '邈',
- '' => '醫',
- '' => '醬',
- '' => '釐',
- '' => '鎔',
- '' => '鎊',
- '' => '鎖',
- '' => '鎢',
- '' => '鎳',
- '' => '鎮',
- '' => '鎬',
- '' => '鎰',
- '' => '鎘',
- '' => '鎚',
- '' => '鎗',
- '' => '闔',
- '' => '闖',
- '' => '闐',
- '' => '闕',
- '' => '離',
- '' => '雜',
- '' => '雙',
- '' => '雛',
- '' => '雞',
- '' => '霤',
- '' => '鞣',
- '' => '鞦',
- '@' => '鞭',
- 'A' => '韹',
- 'B' => '額',
- 'C' => '顏',
- 'D' => '題',
- 'E' => '顎',
- 'F' => '顓',
- 'G' => '颺',
- 'H' => '餾',
- 'I' => '餿',
- 'J' => '餽',
- 'K' => '餮',
- 'L' => '馥',
- 'M' => '騎',
- 'N' => '髁',
- 'O' => '鬃',
- 'P' => '鬆',
- 'Q' => '魏',
- 'R' => '魎',
- 'S' => '魍',
- 'T' => '鯊',
- 'U' => '鯉',
- 'V' => '鯽',
- 'W' => '鯈',
- 'X' => '鯀',
- 'Y' => '鵑',
- 'Z' => '鵝',
- '[' => '鵠',
- '\\' => '黠',
- ']' => '鼕',
- '^' => '鼬',
- '_' => '儳',
- '`' => '嚥',
- 'a' => '壞',
- 'b' => '壟',
- 'c' => '壢',
- 'd' => '寵',
- 'e' => '龐',
- 'f' => '廬',
- 'g' => '懲',
- 'h' => '懷',
- 'i' => '懶',
- 'j' => '懵',
- 'k' => '攀',
- 'l' => '攏',
- 'm' => '曠',
- 'n' => '曝',
- 'o' => '櫥',
- 'p' => '櫝',
- 'q' => '櫚',
- 'r' => '櫓',
- 's' => '瀛',
- 't' => '瀟',
- 'u' => '瀨',
- 'v' => '瀚',
- 'w' => '瀝',
- 'x' => '瀕',
- 'y' => '瀘',
- 'z' => '爆',
- '{' => '爍',
- '|' => '牘',
- '}' => '犢',
- '~' => '獸',
- 'á' => '獺',
- 'â' => '璽',
- 'ã' => '瓊',
- 'ä' => '瓣',
- 'å' => '疇',
- 'æ' => '疆',
- 'ç' => '癟',
- 'è' => '癡',
- 'é' => '矇',
- 'ê' => '礙',
- 'ë' => '禱',
- 'ì' => '穫',
- 'í' => '穩',
- 'î' => '簾',
- 'ï' => '簿',
- 'ð' => '簸',
- 'ñ' => '簽',
- 'ò' => '簷',
- 'ó' => '籀',
- 'ô' => '繫',
- 'õ' => '繭',
- 'ö' => '繹',
- '÷' => '繩',
- 'ø' => '繪',
- 'ù' => '羅',
- 'ú' => '繳',
- 'û' => '羶',
- 'ü' => '羹',
- 'ý' => '羸',
- 'þ' => '臘',
- 'ÿ' => '藩',
- '' => '藝',
- '' => '藪',
- '' => '藕',
- '' => '藤',
- '' => '藥',
- '' => '藷',
- '' => '蟻',
- '' => '蠅',
- '' => '蠍',
- '' => '蟹',
- '' => '蟾',
- '' => '襠',
- '' => '襟',
- '' => '襖',
- '' => '襞',
- '' => '譁',
- '' => '譜',
- '' => '識',
- '' => '證',
- '' => '譚',
- '' => '譎',
- '' => '譏',
- '' => '譆',
- '' => '譙',
- '' => '贈',
- '' => '贊',
- '' => '蹼',
- '' => '蹲',
- '' => '躇',
- '' => '蹶',
- '' => '蹬',
- '' => '蹺',
- '' => '蹴',
- '' => '轔',
- '' => '轎',
- '' => '辭',
- '' => '邊',
- '' => '邋',
- '' => '醱',
- '' => '醮',
- '' => '鏡',
- '' => '鏑',
- '' => '鏟',
- '' => '鏃',
- '' => '鏈',
- '' => '鏜',
- '' => '鏝',
- '' => '鏖',
- '' => '鏢',
- '' => '鏍',
- '' => '鏘',
- '' => '鏤',
- '' => '鏗',
- '' => '鏨',
- '' => '關',
- '' => '隴',
- '' => '難',
- '' => '霪',
- '' => '霧',
- '' => '靡',
- '' => '韜',
- '' => '韻',
- '' => '類',
- '@' => '願',
- 'A' => '顛',
- 'B' => '颼',
- 'C' => '饅',
- 'D' => '饉',
- 'E' => '騖',
- 'F' => '騙',
- 'G' => '鬍',
- 'H' => '鯨',
- 'I' => '鯧',
- 'J' => '鯖',
- 'K' => '鯛',
- 'L' => '鶉',
- 'M' => '鵡',
- 'N' => '鵲',
- 'O' => '鵪',
- 'P' => '鵬',
- 'Q' => '麒',
- 'R' => '麗',
- 'S' => '麓',
- 'T' => '麴',
- 'U' => '勸',
- 'V' => '嚨',
- 'W' => '嚷',
- 'X' => '嚶',
- 'Y' => '嚴',
- 'Z' => '嚼',
- '[' => '壤',
- '\\' => '孀',
- ']' => '孃',
- '^' => '孽',
- '_' => '寶',
- '`' => '巉',
- 'a' => '懸',
- 'b' => '懺',
- 'c' => '攘',
- 'd' => '攔',
- 'e' => '攙',
- 'f' => '曦',
- 'g' => '朧',
- 'h' => '櫬',
- 'i' => '瀾',
- 'j' => '瀰',
- 'k' => '瀲',
- 'l' => '爐',
- 'm' => '獻',
- 'n' => '瓏',
- 'o' => '癢',
- 'p' => '癥',
- 'q' => '礦',
- 'r' => '礪',
- 's' => '礬',
- 't' => '礫',
- 'u' => '竇',
- 'v' => '競',
- 'w' => '籌',
- 'x' => '籃',
- 'y' => '籍',
- 'z' => '糯',
- '{' => '糰',
- '|' => '辮',
- '}' => '繽',
- '~' => '繼',
- 'ġ' => '纂',
- 'Ģ' => '罌',
- 'ģ' => '耀',
- 'Ĥ' => '臚',
- 'ĥ' => '艦',
- 'Ħ' => '藻',
- 'ħ' => '藹',
- 'Ĩ' => '蘑',
- 'ĩ' => '藺',
- 'Ī' => '蘆',
- 'ī' => '蘋',
- 'Ĭ' => '蘇',
- 'ĭ' => '蘊',
- 'Į' => '蠔',
- 'į' => '蠕',
- 'İ' => '襤',
- 'ı' => '覺',
- 'IJ' => '觸',
- 'ij' => '議',
- 'Ĵ' => '譬',
- 'ĵ' => '警',
- 'Ķ' => '譯',
- 'ķ' => '譟',
- 'ĸ' => '譫',
- 'Ĺ' => '贏',
- 'ĺ' => '贍',
- 'Ļ' => '躉',
- 'ļ' => '躁',
- 'Ľ' => '躅',
- 'ľ' => '躂',
- 'Ŀ' => '醴',
- '' => '釋',
- '' => '鐘',
- '' => '鐃',
- '' => '鏽',
- '' => '闡',
- '' => '霰',
- '' => '飄',
- '' => '饒',
- '' => '饑',
- '' => '馨',
- '' => '騫',
- '' => '騰',
- '' => '騷',
- '' => '騵',
- '' => '鰓',
- '' => '鰍',
- '' => '鹹',
- '' => '麵',
- '' => '黨',
- '' => '鼯',
- '' => '齟',
- '' => '齣',
- '' => '齡',
- '' => '儷',
- '' => '儸',
- '' => '囁',
- '' => '囀',
- '' => '囂',
- '' => '夔',
- '' => '屬',
- '' => '巍',
- '' => '懼',
- '' => '懾',
- '' => '攝',
- '' => '攜',
- '' => '斕',
- '' => '曩',
- '' => '櫻',
- '' => '欄',
- '' => '櫺',
- '' => '殲',
- '' => '灌',
- '' => '爛',
- '' => '犧',
- '' => '瓖',
- '' => '瓔',
- '' => '癩',
- '' => '矓',
- '' => '籐',
- '' => '纏',
- '' => '續',
- '' => '羼',
- '' => '蘗',
- '' => '蘭',
- '' => '蘚',
- '' => '蠣',
- '' => '蠢',
- '' => '蠡',
- '' => '蠟',
- '' => '襪',
- '' => '襬',
- '' => '覽',
- '' => '譴',
- '@' => '護',
- 'A' => '譽',
- 'B' => '贓',
- 'C' => '躊',
- 'D' => '躍',
- 'E' => '躋',
- 'F' => '轟',
- 'G' => '辯',
- 'H' => '醺',
- 'I' => '鐮',
- 'J' => '鐳',
- 'K' => '鐵',
- 'L' => '鐺',
- 'M' => '鐸',
- 'N' => '鐲',
- 'O' => '鐫',
- 'P' => '闢',
- 'Q' => '霸',
- 'R' => '霹',
- 'S' => '露',
- 'T' => '響',
- 'U' => '顧',
- 'V' => '顥',
- 'W' => '饗',
- 'X' => '驅',
- 'Y' => '驃',
- 'Z' => '驀',
- '[' => '騾',
- '\\' => '髏',
- ']' => '魔',
- '^' => '魑',
- '_' => '鰭',
- '`' => '鰥',
- 'a' => '鶯',
- 'b' => '鶴',
- 'c' => '鷂',
- 'd' => '鶸',
- 'e' => '麝',
- 'f' => '黯',
- 'g' => '鼙',
- 'h' => '齜',
- 'i' => '齦',
- 'j' => '齧',
- 'k' => '儼',
- 'l' => '儻',
- 'm' => '囈',
- 'n' => '囊',
- 'o' => '囉',
- 'p' => '孿',
- 'q' => '巔',
- 'r' => '巒',
- 's' => '彎',
- 't' => '懿',
- 'u' => '攤',
- 'v' => '權',
- 'w' => '歡',
- 'x' => '灑',
- 'y' => '灘',
- 'z' => '玀',
- '{' => '瓤',
- '|' => '疊',
- '}' => '癮',
- '~' => '癬',
- 'š' => '禳',
- 'Ţ' => '籠',
- 'ţ' => '籟',
- 'Ť' => '聾',
- 'ť' => '聽',
- 'Ŧ' => '臟',
- 'ŧ' => '襲',
- 'Ũ' => '襯',
- 'ũ' => '觼',
- 'Ū' => '讀',
- 'ū' => '贖',
- 'Ŭ' => '贗',
- 'ŭ' => '躑',
- 'Ů' => '躓',
- 'ů' => '轡',
- 'Ű' => '酈',
- 'ű' => '鑄',
- 'Ų' => '鑑',
- 'ų' => '鑒',
- 'Ŵ' => '霽',
- 'ŵ' => '霾',
- 'Ŷ' => '韃',
- 'ŷ' => '韁',
- 'Ÿ' => '顫',
- 'Ź' => '饕',
- 'ź' => '驕',
- 'Ż' => '驍',
- 'ż' => '髒',
- 'Ž' => '鬚',
- 'ž' => '鱉',
- 'ſ' => '鰱',
- '' => '鰾',
- '' => '鰻',
- '' => '鷓',
- '' => '鷗',
- '' => '鼴',
- '' => '齬',
- '' => '齪',
- '' => '龔',
- '' => '囌',
- '' => '巖',
- '' => '戀',
- '' => '攣',
- '' => '攫',
- '' => '攪',
- '' => '曬',
- '' => '欐',
- '' => '瓚',
- '' => '竊',
- '' => '籤',
- '' => '籣',
- '' => '籥',
- '' => '纓',
- '' => '纖',
- '' => '纔',
- '' => '臢',
- '' => '蘸',
- '' => '蘿',
- '' => '蠱',
- '' => '變',
- '' => '邐',
- '' => '邏',
- '' => '鑣',
- '' => '鑠',
- '' => '鑤',
- '' => '靨',
- '' => '顯',
- '' => '饜',
- '' => '驚',
- '' => '驛',
- '' => '驗',
- '' => '髓',
- '' => '體',
- '' => '髑',
- '' => '鱔',
- '' => '鱗',
- '' => '鱖',
- '' => '鷥',
- '' => '麟',
- '' => '黴',
- '' => '囑',
- '' => '壩',
- '' => '攬',
- '' => '灞',
- '' => '癱',
- '' => '癲',
- '' => '矗',
- '' => '罐',
- '' => '羈',
- '' => '蠶',
- '' => '蠹',
- '' => '衢',
- '' => '讓',
- '' => '讒',
- '@' => '讖',
- 'A' => '艷',
- 'B' => '贛',
- 'C' => '釀',
- 'D' => '鑪',
- 'E' => '靂',
- 'F' => '靈',
- 'G' => '靄',
- 'H' => '韆',
- 'I' => '顰',
- 'J' => '驟',
- 'K' => '鬢',
- 'L' => '魘',
- 'M' => '鱟',
- 'N' => '鷹',
- 'O' => '鷺',
- 'P' => '鹼',
- 'Q' => '鹽',
- 'R' => '鼇',
- 'S' => '齷',
- 'T' => '齲',
- 'U' => '廳',
- 'V' => '欖',
- 'W' => '灣',
- 'X' => '籬',
- 'Y' => '籮',
- 'Z' => '蠻',
- '[' => '觀',
- '\\' => '躡',
- ']' => '釁',
- '^' => '鑲',
- '_' => '鑰',
- '`' => '顱',
- 'a' => '饞',
- 'b' => '髖',
- 'c' => '鬣',
- 'd' => '黌',
- 'e' => '灤',
- 'f' => '矚',
- 'g' => '讚',
- 'h' => '鑷',
- 'i' => '韉',
- 'j' => '驢',
- 'k' => '驥',
- 'l' => '纜',
- 'm' => '讜',
- 'n' => '躪',
- 'o' => '釅',
- 'p' => '鑽',
- 'q' => '鑾',
- 'r' => '鑼',
- 's' => '鱷',
- 't' => '鱸',
- 'u' => '黷',
- 'v' => '豔',
- 'w' => '鑿',
- 'x' => '鸚',
- 'y' => '爨',
- 'z' => '驪',
- '{' => '鬱',
- '|' => '鸛',
- '}' => '鸞',
- '~' => '籲',
- 'ơ' => 'ヾ',
- 'Ƣ' => 'ゝ',
- 'ƣ' => 'ゞ',
- 'Ƥ' => '々',
- 'ƥ' => 'ぁ',
- 'Ʀ' => 'あ',
- 'Ƨ' => 'ぃ',
- 'ƨ' => 'い',
- 'Ʃ' => 'ぅ',
- 'ƪ' => 'う',
- 'ƫ' => 'ぇ',
- 'Ƭ' => 'え',
- 'ƭ' => 'ぉ',
- 'Ʈ' => 'お',
- 'Ư' => 'か',
- 'ư' => 'が',
- 'Ʊ' => 'き',
- 'Ʋ' => 'ぎ',
- 'Ƴ' => 'く',
- 'ƴ' => 'ぐ',
- 'Ƶ' => 'け',
- 'ƶ' => 'げ',
- 'Ʒ' => 'こ',
- 'Ƹ' => 'ご',
- 'ƹ' => 'さ',
- 'ƺ' => 'ざ',
- 'ƻ' => 'し',
- 'Ƽ' => 'じ',
- 'ƽ' => 'す',
- 'ƾ' => 'ず',
- 'ƿ' => 'せ',
- '' => 'ぜ',
- '' => 'そ',
- '' => 'ぞ',
- '' => 'た',
- '' => 'だ',
- '' => 'ち',
- '' => 'ぢ',
- '' => 'っ',
- '' => 'つ',
- '' => 'づ',
- '' => 'て',
- '' => 'で',
- '' => 'と',
- '' => 'ど',
- '' => 'な',
- '' => 'に',
- '' => 'ぬ',
- '' => 'ね',
- '' => 'の',
- '' => 'は',
- '' => 'ば',
- '' => 'ぱ',
- '' => 'ひ',
- '' => 'び',
- '' => 'ぴ',
- '' => 'ふ',
- '' => 'ぶ',
- '' => 'ぷ',
- '' => 'へ',
- '' => 'べ',
- '' => 'ぺ',
- '' => 'ほ',
- '' => 'ぼ',
- '' => 'ぽ',
- '' => 'ま',
- '' => 'み',
- '' => 'む',
- '' => 'め',
- '' => 'も',
- '' => 'ゃ',
- '' => 'や',
- '' => 'ゅ',
- '' => 'ゆ',
- '' => 'ょ',
- '' => 'よ',
- '' => 'ら',
- '' => 'り',
- '' => 'る',
- '' => 'れ',
- '' => 'ろ',
- '' => 'ゎ',
- '' => 'わ',
- '' => 'ゐ',
- '' => 'ゑ',
- '' => 'を',
- '' => 'ん',
- '' => 'ァ',
- '' => 'ア',
- '' => 'ィ',
- '' => 'イ',
- '' => 'ゥ',
- '' => 'ウ',
- '' => 'ェ',
- '@' => 'エ',
- 'A' => 'ォ',
- 'B' => 'オ',
- 'C' => 'カ',
- 'D' => 'ガ',
- 'E' => 'キ',
- 'F' => 'ギ',
- 'G' => 'ク',
- 'H' => 'グ',
- 'I' => 'ケ',
- 'J' => 'ゲ',
- 'K' => 'コ',
- 'L' => 'ゴ',
- 'M' => 'サ',
- 'N' => 'ザ',
- 'O' => 'シ',
- 'P' => 'ジ',
- 'Q' => 'ス',
- 'R' => 'ズ',
- 'S' => 'セ',
- 'T' => 'ゼ',
- 'U' => 'ソ',
- 'V' => 'ゾ',
- 'W' => 'タ',
- 'X' => 'ダ',
- 'Y' => 'チ',
- 'Z' => 'ヂ',
- '[' => 'ッ',
- '\\' => 'ツ',
- ']' => 'ヅ',
- '^' => 'テ',
- '_' => 'デ',
- '`' => 'ト',
- 'a' => 'ド',
- 'b' => 'ナ',
- 'c' => 'ニ',
- 'd' => 'ヌ',
- 'e' => 'ネ',
- 'f' => 'ノ',
- 'g' => 'ハ',
- 'h' => 'バ',
- 'i' => 'パ',
- 'j' => 'ヒ',
- 'k' => 'ビ',
- 'l' => 'ピ',
- 'm' => 'フ',
- 'n' => 'ブ',
- 'o' => 'プ',
- 'p' => 'ヘ',
- 'q' => 'ベ',
- 'r' => 'ペ',
- 's' => 'ホ',
- 't' => 'ボ',
- 'u' => 'ポ',
- 'v' => 'マ',
- 'w' => 'ミ',
- 'x' => 'ム',
- 'y' => 'メ',
- 'z' => 'モ',
- '{' => 'ャ',
- '|' => 'ヤ',
- '}' => 'ュ',
- '~' => 'ユ',
- 'ǡ' => 'ョ',
- 'Ǣ' => 'ヨ',
- 'ǣ' => 'ラ',
- 'Ǥ' => 'リ',
- 'ǥ' => 'ル',
- 'Ǧ' => 'レ',
- 'ǧ' => 'ロ',
- 'Ǩ' => 'ヮ',
- 'ǩ' => 'ワ',
- 'Ǫ' => 'ヰ',
- 'ǫ' => 'ヱ',
- 'Ǭ' => 'ヲ',
- 'ǭ' => 'ン',
- 'Ǯ' => 'ヴ',
- 'ǯ' => 'ヵ',
- 'ǰ' => 'ヶ',
- 'DZ' => 'Д',
- 'Dz' => 'Е',
- 'dz' => 'Ё',
- 'Ǵ' => 'Ж',
- 'ǵ' => 'З',
- 'Ƕ' => 'И',
- 'Ƿ' => 'Й',
- 'Ǹ' => 'К',
- 'ǹ' => 'Л',
- 'Ǻ' => 'М',
- 'ǻ' => 'У',
- 'Ǽ' => 'Ф',
- 'ǽ' => 'Х',
- 'Ǿ' => 'Ц',
- 'ǿ' => 'Ч',
- '' => 'Ш',
- '' => 'Щ',
- '' => 'Ъ',
- '' => 'Ы',
- '' => 'Ь',
- '' => 'Э',
- '' => 'Ю',
- '' => 'Я',
- '' => 'а',
- '' => 'б',
- '' => 'в',
- '' => 'г',
- '' => 'д',
- '' => 'е',
- '' => 'ё',
- '' => 'ж',
- '' => 'з',
- '' => 'и',
- '' => 'й',
- '' => 'к',
- '' => 'л',
- '' => 'м',
- '' => 'н',
- '' => 'о',
- '' => 'п',
- '' => 'р',
- '' => 'с',
- '' => 'т',
- '' => 'у',
- '' => 'ф',
- '' => 'х',
- '' => 'ц',
- '' => 'ч',
- '' => 'ш',
- '' => 'щ',
- '' => 'ъ',
- '' => 'ы',
- '' => 'ь',
- '' => 'э',
- '' => 'ю',
- '' => 'я',
- '' => '①',
- '' => '②',
- '' => '③',
- '' => '④',
- '' => '⑤',
- '' => '⑥',
- '' => '⑦',
- '' => '⑧',
- '' => '⑨',
- '' => '⑩',
- '' => '⑴',
- '' => '⑵',
- '' => '⑶',
- '' => '⑷',
- '' => '⑸',
- '' => '⑹',
- '' => '⑺',
- '' => '⑻',
- '' => '⑼',
- '' => '⑽',
- '@' => '乂',
- 'A' => '乜',
- 'B' => '凵',
- 'C' => '匚',
- 'D' => '厂',
- 'E' => '万',
- 'F' => '丌',
- 'G' => '乇',
- 'H' => '亍',
- 'I' => '囗',
- 'J' => '兀',
- 'K' => '屮',
- 'L' => '彳',
- 'M' => '丏',
- 'N' => '冇',
- 'O' => '与',
- 'P' => '丮',
- 'Q' => '亓',
- 'R' => '仂',
- 'S' => '仉',
- 'T' => '仈',
- 'U' => '冘',
- 'V' => '勼',
- 'W' => '卬',
- 'X' => '厹',
- 'Y' => '圠',
- 'Z' => '夃',
- '[' => '夬',
- '\\' => '尐',
- ']' => '巿',
- '^' => '旡',
- '_' => '殳',
- '`' => '毌',
- 'a' => '气',
- 'b' => '爿',
- 'c' => '丱',
- 'd' => '丼',
- 'e' => '仨',
- 'f' => '仜',
- 'g' => '仩',
- 'h' => '仡',
- 'i' => '仝',
- 'j' => '仚',
- 'k' => '刌',
- 'l' => '匜',
- 'm' => '卌',
- 'n' => '圢',
- 'o' => '圣',
- 'p' => '夗',
- 'q' => '夯',
- 'r' => '宁',
- 's' => '宄',
- 't' => '尒',
- 'u' => '尻',
- 'v' => '屴',
- 'w' => '屳',
- 'x' => '帄',
- 'y' => '庀',
- 'z' => '庂',
- '{' => '忉',
- '|' => '戉',
- '}' => '扐',
- '~' => '氕',
- 'ɡ' => '氶',
- 'ɢ' => '汃',
- 'ɣ' => '氿',
- 'ɤ' => '氻',
- 'ɥ' => '犮',
- 'ɦ' => '犰',
- 'ɧ' => '玊',
- 'ɨ' => '禸',
- 'ɩ' => '肊',
- 'ɪ' => '阞',
- 'ɫ' => '伎',
- 'ɬ' => '优',
- 'ɭ' => '伬',
- 'ɮ' => '仵',
- 'ɯ' => '伔',
- 'ɰ' => '仱',
- 'ɱ' => '伀',
- 'ɲ' => '价',
- 'ɳ' => '伈',
- 'ɴ' => '伝',
- 'ɵ' => '伂',
- 'ɶ' => '伅',
- 'ɷ' => '伢',
- 'ɸ' => '伓',
- 'ɹ' => '伄',
- 'ɺ' => '仴',
- 'ɻ' => '伒',
- 'ɼ' => '冱',
- 'ɽ' => '刓',
- 'ɾ' => '刉',
- 'ɿ' => '刐',
- '' => '劦',
- '' => '匢',
- '' => '匟',
- '' => '卍',
- '' => '厊',
- '' => '吇',
- '' => '囡',
- '' => '囟',
- '' => '圮',
- '' => '圪',
- '' => '圴',
- '' => '夼',
- '' => '妀',
- '' => '奼',
- '' => '妅',
- '' => '奻',
- '' => '奾',
- '' => '奷',
- '' => '奿',
- '' => '孖',
- '' => '尕',
- '' => '尥',
- '' => '屼',
- '' => '屺',
- '' => '屻',
- '' => '屾',
- '' => '巟',
- '' => '幵',
- '' => '庄',
- '' => '异',
- '' => '弚',
- '' => '彴',
- '' => '忕',
- '' => '忔',
- '' => '忏',
- '' => '扜',
- '' => '扞',
- '' => '扤',
- '' => '扡',
- '' => '扦',
- '' => '扢',
- '' => '扙',
- '' => '扠',
- '' => '扚',
- '' => '扥',
- '' => '旯',
- '' => '旮',
- '' => '朾',
- '' => '朹',
- '' => '朸',
- '' => '朻',
- '' => '机',
- '' => '朿',
- '' => '朼',
- '' => '朳',
- '' => '氘',
- '' => '汆',
- '' => '汒',
- '' => '汜',
- '' => '汏',
- '' => '汊',
- '' => '汔',
- '' => '汋',
- '@' => '汌',
- 'A' => '灱',
- 'B' => '牞',
- 'C' => '犴',
- 'D' => '犵',
- 'E' => '玎',
- 'F' => '甪',
- 'G' => '癿',
- 'H' => '穵',
- 'I' => '网',
- 'J' => '艸',
- 'K' => '艼',
- 'L' => '芀',
- 'M' => '艽',
- 'N' => '艿',
- 'O' => '虍',
- 'P' => '襾',
- 'Q' => '邙',
- 'R' => '邗',
- 'S' => '邘',
- 'T' => '邛',
- 'U' => '邔',
- 'V' => '阢',
- 'W' => '阤',
- 'X' => '阠',
- 'Y' => '阣',
- 'Z' => '佖',
- '[' => '伻',
- '\\' => '佢',
- ']' => '佉',
- '^' => '体',
- '_' => '佤',
- '`' => '伾',
- 'a' => '佧',
- 'b' => '佒',
- 'c' => '佟',
- 'd' => '佁',
- 'e' => '佘',
- 'f' => '伭',
- 'g' => '伳',
- 'h' => '伿',
- 'i' => '佡',
- 'j' => '冏',
- 'k' => '冹',
- 'l' => '刜',
- 'm' => '刞',
- 'n' => '刡',
- 'o' => '劭',
- 'p' => '劮',
- 'q' => '匉',
- 'r' => '卣',
- 's' => '卲',
- 't' => '厎',
- 'u' => '厏',
- 'v' => '吰',
- 'w' => '吷',
- 'x' => '吪',
- 'y' => '呔',
- 'z' => '呅',
- '{' => '吙',
- '|' => '吜',
- '}' => '吥',
- '~' => '吘',
- 'ʡ' => '吽',
- 'ʢ' => '呏',
- 'ʣ' => '呁',
- 'ʤ' => '吨',
- 'ʥ' => '吤',
- 'ʦ' => '呇',
- 'ʧ' => '囮',
- 'ʨ' => '囧',
- 'ʩ' => '囥',
- 'ʪ' => '坁',
- 'ʫ' => '坅',
- 'ʬ' => '坌',
- 'ʭ' => '坉',
- 'ʮ' => '坋',
- 'ʯ' => '坒',
- 'ʰ' => '夆',
- 'ʱ' => '奀',
- 'ʲ' => '妦',
- 'ʳ' => '妘',
- 'ʴ' => '妠',
- 'ʵ' => '妗',
- 'ʶ' => '妎',
- 'ʷ' => '妢',
- 'ʸ' => '妐',
- 'ʹ' => '妏',
- 'ʺ' => '妧',
- 'ʻ' => '妡',
- 'ʼ' => '宎',
- 'ʽ' => '宒',
- 'ʾ' => '尨',
- 'ʿ' => '尪',
- '' => '岍',
- '' => '岏',
- '' => '岈',
- '' => '岋',
- '' => '岉',
- '' => '岒',
- '' => '岊',
- '' => '岆',
- '' => '岓',
- '' => '岕',
- '' => '巠',
- '' => '帊',
- '' => '帎',
- '' => '庋',
- '' => '庉',
- '' => '庌',
- '' => '庈',
- '' => '庍',
- '' => '弅',
- '' => '弝',
- '' => '彸',
- '' => '彶',
- '' => '忒',
- '' => '忑',
- '' => '忐',
- '' => '忭',
- '' => '忨',
- '' => '忮',
- '' => '忳',
- '' => '忡',
- '' => '忤',
- '' => '忣',
- '' => '忺',
- '' => '忯',
- '' => '忷',
- '' => '忻',
- '' => '怀',
- '' => '忴',
- '' => '戺',
- '' => '抃',
- '' => '抌',
- '' => '抎',
- '' => '抏',
- '' => '抔',
- '' => '抇',
- '' => '扱',
- '' => '扻',
- '' => '扺',
- '' => '扰',
- '' => '抁',
- '' => '抈',
- '' => '扷',
- '' => '扽',
- '' => '扲',
- '' => '扴',
- '' => '攷',
- '' => '旰',
- '' => '旴',
- '' => '旳',
- '' => '旲',
- '' => '旵',
- '' => '杅',
- '' => '杇',
- '@' => '杙',
- 'A' => '杕',
- 'B' => '杌',
- 'C' => '杈',
- 'D' => '杝',
- 'E' => '杍',
- 'F' => '杚',
- 'G' => '杋',
- 'H' => '毐',
- 'I' => '氙',
- 'J' => '氚',
- 'K' => '汸',
- 'L' => '汧',
- 'M' => '汫',
- 'N' => '沄',
- 'O' => '沋',
- 'P' => '沏',
- 'Q' => '汱',
- 'R' => '汯',
- 'S' => '汩',
- 'T' => '沚',
- 'U' => '汭',
- 'V' => '沇',
- 'W' => '沕',
- 'X' => '沜',
- 'Y' => '汦',
- 'Z' => '汳',
- '[' => '汥',
- '\\' => '汻',
- ']' => '沎',
- '^' => '灴',
- '_' => '灺',
- '`' => '牣',
- 'a' => '犿',
- 'b' => '犽',
- 'c' => '狃',
- 'd' => '狆',
- 'e' => '狁',
- 'f' => '犺',
- 'g' => '狅',
- 'h' => '玕',
- 'i' => '玗',
- 'j' => '玓',
- 'k' => '玔',
- 'l' => '玒',
- 'm' => '町',
- 'n' => '甹',
- 'o' => '疔',
- 'p' => '疕',
- 'q' => '皁',
- 'r' => '礽',
- 's' => '耴',
- 't' => '肕',
- 'u' => '肙',
- 'v' => '肐',
- 'w' => '肒',
- 'x' => '肜',
- 'y' => '芐',
- 'z' => '芏',
- '{' => '芅',
- '|' => '芎',
- '}' => '芑',
- '~' => '芓',
- 'ˡ' => '芊',
- 'ˢ' => '芃',
- 'ˣ' => '芄',
- 'ˤ' => '豸',
- '˥' => '迉',
- '˦' => '辿',
- '˧' => '邟',
- '˨' => '邡',
- '˩' => '邥',
- '˪' => '邞',
- '˫' => '邧',
- 'ˬ' => '邠',
- '˭' => '阰',
- 'ˮ' => '阨',
- '˯' => '阯',
- '˰' => '阭',
- '˱' => '丳',
- '˲' => '侘',
- '˳' => '佼',
- '˴' => '侅',
- '˵' => '佽',
- '˶' => '侀',
- '˷' => '侇',
- '˸' => '佶',
- '˹' => '佴',
- '˺' => '侉',
- '˻' => '侄',
- '˼' => '佷',
- '˽' => '佌',
- '˾' => '侗',
- '˿' => '佪',
- '' => '侚',
- '' => '佹',
- '' => '侁',
- '' => '佸',
- '' => '侐',
- '' => '侜',
- '' => '侔',
- '' => '侞',
- '' => '侒',
- '' => '侂',
- '' => '侕',
- '' => '佫',
- '' => '佮',
- '' => '冞',
- '' => '冼',
- '' => '冾',
- '' => '刵',
- '' => '刲',
- '' => '刳',
- '' => '剆',
- '' => '刱',
- '' => '劼',
- '' => '匊',
- '' => '匋',
- '' => '匼',
- '' => '厒',
- '' => '厔',
- '' => '咇',
- '' => '呿',
- '' => '咁',
- '' => '咑',
- '' => '咂',
- '' => '咈',
- '' => '呫',
- '' => '呺',
- '' => '呾',
- '' => '呥',
- '' => '呬',
- '' => '呴',
- '' => '呦',
- '' => '咍',
- '' => '呯',
- '' => '呡',
- '' => '呠',
- '' => '咘',
- '' => '呣',
- '' => '呧',
- '' => '呤',
- '' => '囷',
- '' => '囹',
- '' => '坯',
- '' => '坲',
- '' => '坭',
- '' => '坫',
- '' => '坱',
- '' => '坰',
- '' => '坶',
- '' => '垀',
- '' => '坵',
- '' => '坻',
- '' => '坳',
- '' => '坴',
- '' => '坢',
- '@' => '坨',
- 'A' => '坽',
- 'B' => '夌',
- 'C' => '奅',
- 'D' => '妵',
- 'E' => '妺',
- 'F' => '姏',
- 'G' => '姎',
- 'H' => '妲',
- 'I' => '姌',
- 'J' => '姁',
- 'K' => '妶',
- 'L' => '妼',
- 'M' => '姃',
- 'N' => '姖',
- 'O' => '妱',
- 'P' => '妽',
- 'Q' => '姀',
- 'R' => '姈',
- 'S' => '妴',
- 'T' => '姇',
- 'U' => '孢',
- 'V' => '孥',
- 'W' => '宓',
- 'X' => '宕',
- 'Y' => '屄',
- 'Z' => '屇',
- '[' => '岮',
- '\\' => '岤',
- ']' => '岠',
- '^' => '岵',
- '_' => '岯',
- '`' => '岨',
- 'a' => '岬',
- 'b' => '岟',
- 'c' => '岣',
- 'd' => '岭',
- 'e' => '岢',
- 'f' => '岪',
- 'g' => '岧',
- 'h' => '岝',
- 'i' => '岥',
- 'j' => '岶',
- 'k' => '岰',
- 'l' => '岦',
- 'm' => '帗',
- 'n' => '帔',
- 'o' => '帙',
- 'p' => '弨',
- 'q' => '弢',
- 'r' => '弣',
- 's' => '弤',
- 't' => '彔',
- 'u' => '徂',
- 'v' => '彾',
- 'w' => '彽',
- 'x' => '忞',
- 'y' => '忥',
- 'z' => '怭',
- '{' => '怦',
- '|' => '怙',
- '}' => '怲',
- '~' => '怋',
- '̡' => '怴',
- '̢' => '怊',
- '̣' => '怗',
- '̤' => '怳',
- '̥' => '怚',
- '̦' => '怞',
- '̧' => '怬',
- '̨' => '怢',
- '̩' => '怍',
- '̪' => '怐',
- '̫' => '怮',
- '̬' => '怓',
- '̭' => '怑',
- '̮' => '怌',
- '̯' => '怉',
- '̰' => '怜',
- '̱' => '戔',
- '̲' => '戽',
- '̳' => '抭',
- '̴' => '抴',
- '̵' => '拑',
- '̶' => '抾',
- '̷' => '抪',
- '̸' => '抶',
- '̹' => '拊',
- '̺' => '抮',
- '̻' => '抳',
- '̼' => '抯',
- '̽' => '抻',
- '̾' => '抩',
- '̿' => '抰',
- '' => '抸',
- '' => '攽',
- '' => '斨',
- '' => '斻',
- '' => '昉',
- '' => '旼',
- '' => '昄',
- '' => '昒',
- '' => '昈',
- '' => '旻',
- '' => '昃',
- '' => '昋',
- '' => '昍',
- '' => '昅',
- '' => '旽',
- '' => '昑',
- '' => '昐',
- '' => '曶',
- '' => '朊',
- '' => '枅',
- '' => '杬',
- '' => '枎',
- '' => '枒',
- '' => '杶',
- '' => '杻',
- '' => '枘',
- '' => '枆',
- '' => '构',
- '' => '杴',
- '' => '枍',
- '' => '枌',
- '' => '杺',
- '' => '枟',
- '' => '枑',
- '' => '枙',
- '' => '枃',
- '' => '杽',
- '' => '极',
- '' => '杸',
- '' => '杹',
- '' => '枔',
- '' => '欥',
- '' => '殀',
- '' => '歾',
- '' => '毞',
- '' => '氝',
- '' => '沓',
- '' => '泬',
- '' => '泫',
- '' => '泮',
- '' => '泙',
- '' => '沶',
- '' => '泔',
- '' => '沭',
- '' => '泧',
- '' => '沷',
- '' => '泐',
- '' => '泂',
- '' => '沺',
- '' => '泃',
- '' => '泆',
- '' => '泭',
- '' => '泲',
- '@' => '泒',
- 'A' => '泝',
- 'B' => '沴',
- 'C' => '沊',
- 'D' => '沝',
- 'E' => '沀',
- 'F' => '泞',
- 'G' => '泀',
- 'H' => '洰',
- 'I' => '泍',
- 'J' => '泇',
- 'K' => '沰',
- 'L' => '泹',
- 'M' => '泏',
- 'N' => '泩',
- 'O' => '泑',
- 'P' => '炔',
- 'Q' => '炘',
- 'R' => '炅',
- 'S' => '炓',
- 'T' => '炆',
- 'U' => '炄',
- 'V' => '炑',
- 'W' => '炖',
- 'X' => '炂',
- 'Y' => '炚',
- 'Z' => '炃',
- '[' => '牪',
- '\\' => '狖',
- ']' => '狋',
- '^' => '狘',
- '_' => '狉',
- '`' => '狜',
- 'a' => '狒',
- 'b' => '狔',
- 'c' => '狚',
- 'd' => '狌',
- 'e' => '狑',
- 'f' => '玤',
- 'g' => '玡',
- 'h' => '玭',
- 'i' => '玦',
- 'j' => '玢',
- 'k' => '玠',
- 'l' => '玬',
- 'm' => '玝',
- 'n' => '瓝',
- 'o' => '瓨',
- 'p' => '甿',
- 'q' => '畀',
- 'r' => '甾',
- 's' => '疌',
- 't' => '疘',
- 'u' => '皯',
- 'v' => '盳',
- 'w' => '盱',
- 'x' => '盰',
- 'y' => '盵',
- 'z' => '矸',
- '{' => '矼',
- '|' => '矹',
- '}' => '矻',
- '~' => '矺',
- '͡' => '矷',
- '͢' => '祂',
- 'ͣ' => '礿',
- 'ͤ' => '秅',
- 'ͥ' => '穸',
- 'ͦ' => '穻',
- 'ͧ' => '竻',
- 'ͨ' => '籵',
- 'ͩ' => '糽',
- 'ͪ' => '耵',
- 'ͫ' => '肏',
- 'ͬ' => '肮',
- 'ͭ' => '肣',
- 'ͮ' => '肸',
- 'ͯ' => '肵',
- 'Ͱ' => '肭',
- 'ͱ' => '舠',
- 'Ͳ' => '芠',
- 'ͳ' => '苀',
- 'ʹ' => '芫',
- '͵' => '芚',
- 'Ͷ' => '芘',
- 'ͷ' => '芛',
- '' => '芵',
- '' => '芧',
- 'ͺ' => '芮',
- 'ͻ' => '芼',
- 'ͼ' => '芞',
- 'ͽ' => '芺',
- ';' => '芴',
- 'Ϳ' => '芨',
- '' => '芡',
- '' => '芩',
- '' => '苂',
- '' => '芤',
- '' => '苃',
- '' => '芶',
- '' => '芢',
- '' => '虰',
- '' => '虯',
- '' => '虭',
- '' => '虮',
- '' => '豖',
- '' => '迒',
- '' => '迋',
- '' => '迓',
- '' => '迍',
- '' => '迖',
- '' => '迕',
- '' => '迗',
- '' => '邲',
- '' => '邴',
- '' => '邯',
- '' => '邳',
- '' => '邰',
- '' => '阹',
- '' => '阽',
- '' => '阼',
- '' => '阺',
- '' => '陃',
- '' => '俍',
- '' => '俅',
- '' => '俓',
- '' => '侲',
- '' => '俉',
- '' => '俋',
- '' => '俁',
- '' => '俔',
- '' => '俜',
- '' => '俙',
- '' => '侻',
- '' => '侳',
- '' => '俛',
- '' => '俇',
- '' => '俖',
- '' => '侺',
- '' => '俀',
- '' => '侹',
- '' => '俬',
- '' => '剄',
- '' => '剉',
- '' => '勀',
- '' => '勂',
- '' => '匽',
- '' => '卼',
- '' => '厗',
- '' => '厖',
- '' => '厙',
- '' => '厘',
- '' => '咺',
- '' => '咡',
- '' => '咭',
- '' => '咥',
- '' => '哏',
- '@' => '哃',
- 'A' => '茍',
- 'B' => '咷',
- 'C' => '咮',
- 'D' => '哖',
- 'E' => '咶',
- 'F' => '哅',
- 'G' => '哆',
- 'H' => '咠',
- 'I' => '呰',
- 'J' => '咼',
- 'K' => '咢',
- 'L' => '咾',
- 'M' => '呲',
- 'N' => '哞',
- 'O' => '咰',
- 'P' => '垵',
- 'Q' => '垞',
- 'R' => '垟',
- 'S' => '垤',
- 'T' => '垌',
- 'U' => '垗',
- 'V' => '垝',
- 'W' => '垛',
- 'X' => '垔',
- 'Y' => '垘',
- 'Z' => '垏',
- '[' => '垙',
- '\\' => '垥',
- ']' => '垚',
- '^' => '垕',
- '_' => '壴',
- '`' => '复',
- 'a' => '奓',
- 'b' => '姡',
- 'c' => '姞',
- 'd' => '姮',
- 'e' => '娀',
- 'f' => '姱',
- 'g' => '姝',
- 'h' => '姺',
- 'i' => '姽',
- 'j' => '姼',
- 'k' => '姶',
- 'l' => '姤',
- 'm' => '姲',
- 'n' => '姷',
- 'o' => '姛',
- 'p' => '姩',
- 'q' => '姳',
- 'r' => '姵',
- 's' => '姠',
- 't' => '姾',
- 'u' => '姴',
- 'v' => '姭',
- 'w' => '宨',
- 'x' => '屌',
- 'y' => '峐',
- 'z' => '峘',
- '{' => '峌',
- '|' => '峗',
- '}' => '峋',
- '~' => '峛',
- 'Ρ' => '峞',
- '' => '峚',
- 'Σ' => '峉',
- 'Τ' => '峇',
- 'Υ' => '峊',
- 'Φ' => '峖',
- 'Χ' => '峓',
- 'Ψ' => '峔',
- 'Ω' => '峏',
- 'Ϊ' => '峈',
- 'Ϋ' => '峆',
- 'ά' => '峎',
- 'έ' => '峟',
- 'ή' => '峸',
- 'ί' => '巹',
- 'ΰ' => '帡',
- 'α' => '帢',
- 'β' => '帣',
- 'γ' => '帠',
- 'δ' => '帤',
- 'ε' => '庰',
- 'ζ' => '庤',
- 'η' => '庢',
- 'θ' => '庛',
- 'ι' => '庣',
- 'κ' => '庥',
- 'λ' => '弇',
- 'μ' => '弮',
- 'ν' => '彖',
- 'ξ' => '徆',
- 'ο' => '怷',
- '' => '怹',
- '' => '恔',
- '' => '恲',
- '' => '恞',
- '' => '恅',
- '' => '恓',
- '' => '恇',
- '' => '恉',
- '' => '恛',
- '' => '恌',
- '' => '恀',
- '' => '恂',
- '' => '恟',
- '' => '怤',
- '' => '恄',
- '' => '恘',
- '' => '恦',
- '' => '恮',
- '' => '扂',
- '' => '扃',
- '' => '拏',
- '' => '挍',
- '' => '挋',
- '' => '拵',
- '' => '挎',
- '' => '挃',
- '' => '拫',
- '' => '拹',
- '' => '挏',
- '' => '挌',
- '' => '拸',
- '' => '拶',
- '' => '挀',
- '' => '挓',
- '' => '挔',
- '' => '拺',
- '' => '挕',
- '' => '拻',
- '' => '拰',
- '' => '敁',
- '' => '敃',
- '' => '斪',
- '' => '斿',
- '' => '昶',
- '' => '昡',
- '' => '昲',
- '' => '昵',
- '' => '昜',
- '' => '昦',
- '' => '昢',
- '' => '昳',
- '' => '昫',
- '' => '昺',
- '' => '昝',
- '' => '昴',
- '' => '昹',
- '' => '昮',
- '' => '朏',
- '' => '朐',
- '' => '柁',
- '' => '柲',
- '' => '柈',
- '' => '枺',
- '@' => '柜',
- 'A' => '枻',
- 'B' => '柸',
- 'C' => '柘',
- 'D' => '柀',
- 'E' => '枷',
- 'F' => '柅',
- 'G' => '柫',
- 'H' => '柤',
- 'I' => '柟',
- 'J' => '枵',
- 'K' => '柍',
- 'L' => '枳',
- 'M' => '柷',
- 'N' => '柶',
- 'O' => '柮',
- 'P' => '柣',
- 'Q' => '柂',
- 'R' => '枹',
- 'S' => '柎',
- 'T' => '柧',
- 'U' => '柰',
- 'V' => '枲',
- 'W' => '柼',
- 'X' => '柆',
- 'Y' => '柭',
- 'Z' => '柌',
- '[' => '枮',
- '\\' => '柦',
- ']' => '柛',
- '^' => '柺',
- '_' => '柉',
- '`' => '柊',
- 'a' => '柃',
- 'b' => '柪',
- 'c' => '柋',
- 'd' => '欨',
- 'e' => '殂',
- 'f' => '殄',
- 'g' => '殶',
- 'h' => '毖',
- 'i' => '毘',
- 'j' => '毠',
- 'k' => '氠',
- 'l' => '氡',
- 'm' => '洨',
- 'n' => '洴',
- 'o' => '洭',
- 'p' => '洟',
- 'q' => '洼',
- 'r' => '洿',
- 's' => '洒',
- 't' => '洊',
- 'u' => '泚',
- 'v' => '洳',
- 'w' => '洄',
- 'x' => '洙',
- 'y' => '洺',
- 'z' => '洚',
- '{' => '洑',
- '|' => '洀',
- '}' => '洝',
- '~' => '浂',
- 'ϡ' => '洁',
- 'Ϣ' => '洘',
- 'ϣ' => '洷',
- 'Ϥ' => '洃',
- 'ϥ' => '洏',
- 'Ϧ' => '浀',
- 'ϧ' => '洇',
- 'Ϩ' => '洠',
- 'ϩ' => '洬',
- 'Ϫ' => '洈',
- 'ϫ' => '洢',
- 'Ϭ' => '洉',
- 'ϭ' => '洐',
- 'Ϯ' => '炷',
- 'ϯ' => '炟',
- 'ϰ' => '炾',
- 'ϱ' => '炱',
- 'ϲ' => '炰',
- 'ϳ' => '炡',
- 'ϴ' => '炴',
- 'ϵ' => '炵',
- '϶' => '炩',
- 'Ϸ' => '牁',
- 'ϸ' => '牉',
- 'Ϲ' => '牊',
- 'Ϻ' => '牬',
- 'ϻ' => '牰',
- 'ϼ' => '牳',
- 'Ͻ' => '牮',
- 'Ͼ' => '狊',
- 'Ͽ' => '狤',
- '' => '狨',
- '' => '狫',
- '' => '狟',
- '' => '狪',
- '' => '狦',
- '' => '狣',
- '' => '玅',
- '' => '珌',
- '' => '珂',
- '' => '珈',
- '' => '珅',
- '' => '玹',
- '' => '玶',
- '' => '玵',
- '' => '玴',
- '' => '珫',
- '' => '玿',
- '' => '珇',
- '' => '玾',
- '' => '珃',
- '' => '珆',
- '' => '玸',
- '' => '珋',
- '' => '瓬',
- '' => '瓮',
- '' => '甮',
- '' => '畇',
- '' => '畈',
- '' => '疧',
- '' => '疪',
- '' => '癹',
- '' => '盄',
- '' => '眈',
- '' => '眃',
- '' => '眄',
- '' => '眅',
- '' => '眊',
- '' => '盷',
- '' => '盻',
- '' => '盺',
- '' => '矧',
- '' => '矨',
- '' => '砆',
- '' => '砑',
- '' => '砒',
- '' => '砅',
- '' => '砐',
- '' => '砏',
- '' => '砎',
- '' => '砉',
- '' => '砃',
- '' => '砓',
- '' => '祊',
- '' => '祌',
- '' => '祋',
- '' => '祅',
- '' => '祄',
- '' => '秕',
- '' => '种',
- '' => '秏',
- '' => '秖',
- '' => '秎',
- '' => '窀',
- '@' => '穾',
- 'A' => '竑',
- 'B' => '笀',
- 'C' => '笁',
- 'D' => '籺',
- 'E' => '籸',
- 'F' => '籹',
- 'G' => '籿',
- 'H' => '粀',
- 'I' => '粁',
- 'J' => '紃',
- 'K' => '紈',
- 'L' => '紁',
- 'M' => '罘',
- 'N' => '羑',
- 'O' => '羍',
- 'P' => '羾',
- 'Q' => '耇',
- 'R' => '耎',
- 'S' => '耏',
- 'T' => '耔',
- 'U' => '耷',
- 'V' => '胘',
- 'W' => '胇',
- 'X' => '胠',
- 'Y' => '胑',
- 'Z' => '胈',
- '[' => '胂',
- '\\' => '胐',
- ']' => '胅',
- '^' => '胣',
- '_' => '胙',
- '`' => '胜',
- 'a' => '胊',
- 'b' => '胕',
- 'c' => '胉',
- 'd' => '胏',
- 'e' => '胗',
- 'f' => '胦',
- 'g' => '胍',
- 'h' => '臿',
- 'i' => '舡',
- 'j' => '芔',
- 'k' => '苙',
- 'l' => '苾',
- 'm' => '苹',
- 'n' => '茇',
- 'o' => '苨',
- 'p' => '茀',
- 'q' => '苕',
- 'r' => '茺',
- 's' => '苫',
- 't' => '苖',
- 'u' => '苴',
- 'v' => '苬',
- 'w' => '苡',
- 'x' => '苲',
- 'y' => '苵',
- 'z' => '茌',
- '{' => '苻',
- '|' => '苶',
- '}' => '苰',
- '~' => '苪',
- 'С' => '苤',
- 'Т' => '苠',
- 'У' => '苺',
- 'Ф' => '苳',
- 'Х' => '苭',
- 'Ц' => '虷',
- 'Ч' => '虴',
- 'Ш' => '虼',
- 'Щ' => '虳',
- 'Ъ' => '衁',
- 'Ы' => '衎',
- 'Ь' => '衧',
- 'Э' => '衪',
- 'Ю' => '衩',
- 'Я' => '觓',
- 'а' => '訄',
- 'б' => '訇',
- 'в' => '赲',
- 'г' => '迣',
- 'д' => '迡',
- 'е' => '迮',
- 'ж' => '迠',
- 'з' => '郱',
- 'и' => '邽',
- 'й' => '邿',
- 'к' => '郕',
- 'л' => '郅',
- 'м' => '邾',
- 'н' => '郇',
- 'о' => '郋',
- 'п' => '郈',
- '' => '釔',
- '' => '釓',
- '' => '陔',
- '' => '陏',
- '' => '陑',
- '' => '陓',
- '' => '陊',
- '' => '陎',
- '' => '倞',
- '' => '倅',
- '' => '倇',
- '' => '倓',
- '' => '倢',
- '' => '倰',
- '' => '倛',
- '' => '俵',
- '' => '俴',
- '' => '倳',
- '' => '倷',
- '' => '倬',
- '' => '俶',
- '' => '俷',
- '' => '倗',
- '' => '倜',
- '' => '倠',
- '' => '倧',
- '' => '倵',
- '' => '倯',
- '' => '倱',
- '' => '倎',
- '' => '党',
- '' => '冔',
- '' => '冓',
- '' => '凊',
- '' => '凄',
- '' => '凅',
- '' => '凈',
- '' => '凎',
- '' => '剡',
- '' => '剚',
- '' => '剒',
- '' => '剞',
- '' => '剟',
- '' => '剕',
- '' => '剢',
- '' => '勍',
- '' => '匎',
- '' => '厞',
- '' => '唦',
- '' => '哢',
- '' => '唗',
- '' => '唒',
- '' => '哧',
- '' => '哳',
- '' => '哤',
- '' => '唚',
- '' => '哿',
- '' => '唄',
- '' => '唈',
- '' => '哫',
- '' => '唑',
- '' => '唅',
- '' => '哱',
- '@' => '唊',
- 'A' => '哻',
- 'B' => '哷',
- 'C' => '哸',
- 'D' => '哠',
- 'E' => '唎',
- 'F' => '唃',
- 'G' => '唋',
- 'H' => '圁',
- 'I' => '圂',
- 'J' => '埌',
- 'K' => '堲',
- 'L' => '埕',
- 'M' => '埒',
- 'N' => '垺',
- 'O' => '埆',
- 'P' => '垽',
- 'Q' => '垼',
- 'R' => '垸',
- 'S' => '垶',
- 'T' => '垿',
- 'U' => '埇',
- 'V' => '埐',
- 'W' => '垹',
- 'X' => '埁',
- 'Y' => '夎',
- 'Z' => '奊',
- '[' => '娙',
- '\\' => '娖',
- ']' => '娭',
- '^' => '娮',
- '_' => '娕',
- '`' => '娏',
- 'a' => '娗',
- 'b' => '娊',
- 'c' => '娞',
- 'd' => '娳',
- 'e' => '孬',
- 'f' => '宧',
- 'g' => '宭',
- 'h' => '宬',
- 'i' => '尃',
- 'j' => '屖',
- 'k' => '屔',
- 'l' => '峬',
- 'm' => '峿',
- 'n' => '峮',
- 'o' => '峱',
- 'p' => '峷',
- 'q' => '崀',
- 'r' => '峹',
- 's' => '帩',
- 't' => '帨',
- 'u' => '庨',
- 'v' => '庮',
- 'w' => '庪',
- 'x' => '庬',
- 'y' => '弳',
- 'z' => '弰',
- '{' => '彧',
- '|' => '恝',
- '}' => '恚',
- '~' => '恧',
- 'ѡ' => '恁',
- 'Ѣ' => '悢',
- 'ѣ' => '悈',
- 'Ѥ' => '悀',
- 'ѥ' => '悒',
- 'Ѧ' => '悁',
- 'ѧ' => '悝',
- 'Ѩ' => '悃',
- 'ѩ' => '悕',
- 'Ѫ' => '悛',
- 'ѫ' => '悗',
- 'Ѭ' => '悇',
- 'ѭ' => '悜',
- 'Ѯ' => '悎',
- 'ѯ' => '戙',
- 'Ѱ' => '扆',
- 'ѱ' => '拲',
- 'Ѳ' => '挐',
- 'ѳ' => '捖',
- 'Ѵ' => '挬',
- 'ѵ' => '捄',
- 'Ѷ' => '捅',
- 'ѷ' => '挶',
- 'Ѹ' => '捃',
- 'ѹ' => '揤',
- 'Ѻ' => '挹',
- 'ѻ' => '捋',
- 'Ѽ' => '捊',
- 'ѽ' => '挼',
- 'Ѿ' => '挩',
- 'ѿ' => '捁',
- '' => '挴',
- '' => '捘',
- '' => '捔',
- '' => '捙',
- '' => '挭',
- '' => '捇',
- '' => '挳',
- '' => '捚',
- '' => '捑',
- '' => '挸',
- '' => '捗',
- '' => '捀',
- '' => '捈',
- '' => '敊',
- '' => '敆',
- '' => '旆',
- '' => '旃',
- '' => '旄',
- '' => '旂',
- '' => '晊',
- '' => '晟',
- '' => '晇',
- '' => '晑',
- '' => '朒',
- '' => '朓',
- '' => '栟',
- '' => '栚',
- '' => '桉',
- '' => '栲',
- '' => '栳',
- '' => '栻',
- '' => '桋',
- '' => '桏',
- '' => '栖',
- '' => '栱',
- '' => '栜',
- '' => '栵',
- '' => '栫',
- '' => '栭',
- '' => '栯',
- '' => '桎',
- '' => '桄',
- '' => '栴',
- '' => '栝',
- '' => '栒',
- '' => '栔',
- '' => '栦',
- '' => '栨',
- '' => '栮',
- '' => '桍',
- '' => '栺',
- '' => '栥',
- '' => '栠',
- '' => '欬',
- '' => '欯',
- '' => '欭',
- '' => '欱',
- '' => '欴',
- '' => '歭',
- '' => '肂',
- '' => '殈',
- '' => '毦',
- '' => '毤',
- '@' => '毨',
- 'A' => '毣',
- 'B' => '毢',
- 'C' => '毧',
- 'D' => '氥',
- 'E' => '浺',
- 'F' => '浣',
- 'G' => '浤',
- 'H' => '浶',
- 'I' => '洍',
- 'J' => '浡',
- 'K' => '涒',
- 'L' => '浘',
- 'M' => '浢',
- 'N' => '浭',
- 'O' => '浯',
- 'P' => '涑',
- 'Q' => '涍',
- 'R' => '淯',
- 'S' => '浿',
- 'T' => '涆',
- 'U' => '浞',
- 'V' => '浧',
- 'W' => '浠',
- 'X' => '涗',
- 'Y' => '浰',
- 'Z' => '浼',
- '[' => '浟',
- '\\' => '涂',
- ']' => '涘',
- '^' => '洯',
- '_' => '浨',
- '`' => '涋',
- 'a' => '浾',
- 'b' => '涀',
- 'c' => '涄',
- 'd' => '洖',
- 'e' => '涃',
- 'f' => '浻',
- 'g' => '浽',
- 'h' => '浵',
- 'i' => '涐',
- 'j' => '烜',
- 'k' => '烓',
- 'l' => '烑',
- 'm' => '烝',
- 'n' => '烋',
- 'o' => '缹',
- 'p' => '烢',
- 'q' => '烗',
- 'r' => '烒',
- 's' => '烞',
- 't' => '烠',
- 'u' => '烔',
- 'v' => '烍',
- 'w' => '烅',
- 'x' => '烆',
- 'y' => '烇',
- 'z' => '烚',
- '{' => '烎',
- '|' => '烡',
- '}' => '牂',
- '~' => '牸',
- 'ҡ' => '牷',
- 'Ң' => '牶',
- 'ң' => '猀',
- 'Ҥ' => '狺',
- 'ҥ' => '狴',
- 'Ҧ' => '狾',
- 'ҧ' => '狶',
- 'Ҩ' => '狳',
- 'ҩ' => '狻',
- 'Ҫ' => '猁',
- 'ҫ' => '珓',
- 'Ҭ' => '珙',
- 'ҭ' => '珥',
- 'Ү' => '珖',
- 'ү' => '玼',
- 'Ұ' => '珧',
- 'ұ' => '珣',
- 'Ҳ' => '珩',
- 'ҳ' => '珜',
- 'Ҵ' => '珒',
- 'ҵ' => '珛',
- 'Ҷ' => '珔',
- 'ҷ' => '珝',
- 'Ҹ' => '珚',
- 'ҹ' => '珗',
- 'Һ' => '珘',
- 'һ' => '珨',
- 'Ҽ' => '瓞',
- 'ҽ' => '瓟',
- 'Ҿ' => '瓴',
- 'ҿ' => '瓵',
- '' => '甡',
- '' => '畛',
- '' => '畟',
- '' => '疰',
- '' => '痁',
- '' => '疻',
- '' => '痄',
- '' => '痀',
- '' => '疿',
- '' => '疶',
- '' => '疺',
- '' => '皊',
- '' => '盉',
- '' => '眝',
- '' => '眛',
- '' => '眐',
- '' => '眓',
- '' => '眒',
- '' => '眣',
- '' => '眑',
- '' => '眕',
- '' => '眙',
- '' => '眚',
- '' => '眢',
- '' => '眧',
- '' => '砣',
- '' => '砬',
- '' => '砢',
- '' => '砵',
- '' => '砯',
- '' => '砨',
- '' => '砮',
- '' => '砫',
- '' => '砡',
- '' => '砩',
- '' => '砳',
- '' => '砪',
- '' => '砱',
- '' => '祔',
- '' => '祛',
- '' => '祏',
- '' => '祜',
- '' => '祓',
- '' => '祒',
- '' => '祑',
- '' => '秫',
- '' => '秬',
- '' => '秠',
- '' => '秮',
- '' => '秭',
- '' => '秪',
- '' => '秜',
- '' => '秞',
- '' => '秝',
- '' => '窆',
- '' => '窉',
- '' => '窅',
- '' => '窋',
- '' => '窌',
- '' => '窊',
- '' => '窇',
- '' => '竘',
- '' => '笐',
- '@' => '笄',
- 'A' => '笓',
- 'B' => '笅',
- 'C' => '笏',
- 'D' => '笈',
- 'E' => '笊',
- 'F' => '笎',
- 'G' => '笉',
- 'H' => '笒',
- 'I' => '粄',
- 'J' => '粑',
- 'K' => '粊',
- 'L' => '粌',
- 'M' => '粈',
- 'N' => '粍',
- 'O' => '粅',
- 'P' => '紞',
- 'Q' => '紝',
- 'R' => '紑',
- 'S' => '紎',
- 'T' => '紘',
- 'U' => '紖',
- 'V' => '紓',
- 'W' => '紟',
- 'X' => '紒',
- 'Y' => '紏',
- 'Z' => '紌',
- '[' => '罜',
- '\\' => '罡',
- ']' => '罞',
- '^' => '罠',
- '_' => '罝',
- '`' => '罛',
- 'a' => '羖',
- 'b' => '羒',
- 'c' => '翃',
- 'd' => '翂',
- 'e' => '翀',
- 'f' => '耖',
- 'g' => '耾',
- 'h' => '耹',
- 'i' => '胺',
- 'j' => '胲',
- 'k' => '胹',
- 'l' => '胵',
- 'm' => '脁',
- 'n' => '胻',
- 'o' => '脀',
- 'p' => '舁',
- 'q' => '舯',
- 'r' => '舥',
- 's' => '茳',
- 't' => '茭',
- 'u' => '荄',
- 'v' => '茙',
- 'w' => '荑',
- 'x' => '茥',
- 'y' => '荖',
- 'z' => '茿',
- '{' => '荁',
- '|' => '茦',
- '}' => '茜',
- '~' => '茢',
- 'ӡ' => '荂',
- 'Ӣ' => '荎',
- 'ӣ' => '茛',
- 'Ӥ' => '茪',
- 'ӥ' => '茈',
- 'Ӧ' => '茼',
- 'ӧ' => '荍',
- 'Ө' => '茖',
- 'ө' => '茤',
- 'Ӫ' => '茠',
- 'ӫ' => '茷',
- 'Ӭ' => '茯',
- 'ӭ' => '茩',
- 'Ӯ' => '荇',
- 'ӯ' => '荅',
- 'Ӱ' => '荌',
- 'ӱ' => '荓',
- 'Ӳ' => '茞',
- 'ӳ' => '茬',
- 'Ӵ' => '荋',
- 'ӵ' => '茧',
- 'Ӷ' => '荈',
- 'ӷ' => '虓',
- 'Ӹ' => '虒',
- 'ӹ' => '蚢',
- 'Ӻ' => '蚨',
- 'ӻ' => '蚖',
- 'Ӽ' => '蚍',
- 'ӽ' => '蚑',
- 'Ӿ' => '蚞',
- 'ӿ' => '蚇',
- '' => '蚗',
- '' => '蚆',
- '' => '蚋',
- '' => '蚚',
- '' => '蚅',
- '' => '蚥',
- '' => '蚙',
- '' => '蚡',
- '' => '蚧',
- '' => '蚕',
- '' => '蚘',
- '' => '蚎',
- '' => '蚝',
- '' => '蚐',
- '' => '蚔',
- '' => '衃',
- '' => '衄',
- '' => '衭',
- '' => '衵',
- '' => '衶',
- '' => '衲',
- '' => '袀',
- '' => '衱',
- '' => '衿',
- '' => '衯',
- '' => '袃',
- '' => '衾',
- '' => '衴',
- '' => '衼',
- '' => '訒',
- '' => '豇',
- '' => '豗',
- '' => '豻',
- '' => '貤',
- '' => '貣',
- '' => '赶',
- '' => '赸',
- '' => '趵',
- '' => '趷',
- '' => '趶',
- '' => '軑',
- '' => '軓',
- '' => '迾',
- '' => '迵',
- '' => '适',
- '' => '迿',
- '' => '迻',
- '' => '逄',
- '' => '迼',
- '' => '迶',
- '' => '郖',
- '' => '郠',
- '' => '郙',
- '' => '郚',
- '' => '郣',
- '' => '郟',
- '' => '郥',
- '' => '郘',
- '' => '郛',
- '' => '郗',
- '' => '郜',
- '' => '郤',
- '' => '酐',
- '@' => '酎',
- 'A' => '酏',
- 'B' => '釕',
- 'C' => '釢',
- 'D' => '釚',
- 'E' => '陜',
- 'F' => '陟',
- 'G' => '隼',
- 'H' => '飣',
- 'I' => '髟',
- 'J' => '鬯',
- 'K' => '乿',
- 'L' => '偰',
- 'M' => '偪',
- 'N' => '偡',
- 'O' => '偞',
- 'P' => '偠',
- 'Q' => '偓',
- 'R' => '偋',
- 'S' => '偝',
- 'T' => '偲',
- 'U' => '偈',
- 'V' => '偍',
- 'W' => '偁',
- 'X' => '偛',
- 'Y' => '偊',
- 'Z' => '偢',
- '[' => '倕',
- '\\' => '偅',
- ']' => '偟',
- '^' => '偩',
- '_' => '偫',
- '`' => '偣',
- 'a' => '偤',
- 'b' => '偆',
- 'c' => '偀',
- 'd' => '偮',
- 'e' => '偳',
- 'f' => '偗',
- 'g' => '偑',
- 'h' => '凐',
- 'i' => '剫',
- 'j' => '剭',
- 'k' => '剬',
- 'l' => '剮',
- 'm' => '勖',
- 'n' => '勓',
- 'o' => '匭',
- 'p' => '厜',
- 'q' => '啵',
- 'r' => '啶',
- 's' => '唼',
- 't' => '啍',
- 'u' => '啐',
- 'v' => '唴',
- 'w' => '唪',
- 'x' => '啑',
- 'y' => '啢',
- 'z' => '唶',
- '{' => '唵',
- '|' => '唰',
- '}' => '啒',
- '~' => '啅',
- 'ԡ' => '唌',
- 'Ԣ' => '唲',
- 'ԣ' => '啥',
- 'Ԥ' => '啎',
- 'ԥ' => '唹',
- 'Ԧ' => '啈',
- 'ԧ' => '唭',
- 'Ԩ' => '唻',
- 'ԩ' => '啀',
- 'Ԫ' => '啋',
- 'ԫ' => '圊',
- 'Ԭ' => '圇',
- 'ԭ' => '埻',
- 'Ԯ' => '堔',
- 'ԯ' => '埢',
- '' => '埶',
- 'Ա' => '埜',
- 'Բ' => '埴',
- 'Գ' => '堀',
- 'Դ' => '埭',
- 'Ե' => '埽',
- 'Զ' => '堈',
- 'Է' => '埸',
- 'Ը' => '堋',
- 'Թ' => '埳',
- 'Ժ' => '埏',
- 'Ի' => '堇',
- 'Լ' => '埮',
- 'Խ' => '埣',
- 'Ծ' => '埲',
- 'Կ' => '埥',
- '' => '埬',
- '' => '埡',
- '' => '堎',
- '' => '埼',
- '' => '堐',
- '' => '埧',
- '' => '堁',
- '' => '堌',
- '' => '埱',
- '' => '埩',
- '' => '埰',
- '' => '堍',
- '' => '堄',
- '' => '奜',
- '' => '婠',
- '' => '婘',
- '' => '婕',
- '' => '婧',
- '' => '婞',
- '' => '娸',
- '' => '娵',
- '' => '婭',
- '' => '婐',
- '' => '婟',
- '' => '婥',
- '' => '婬',
- '' => '婓',
- '' => '婤',
- '' => '婗',
- '' => '婃',
- '' => '婝',
- '' => '婒',
- '' => '婄',
- '' => '婛',
- '' => '婈',
- '' => '媎',
- '' => '娾',
- '' => '婍',
- '' => '娹',
- '' => '婌',
- '' => '婰',
- '' => '婩',
- '' => '婇',
- '' => '婑',
- '' => '婖',
- '' => '婂',
- '' => '婜',
- '' => '孲',
- '' => '孮',
- '' => '寁',
- '' => '寀',
- '' => '屙',
- '' => '崞',
- '' => '崋',
- '' => '崝',
- '' => '崚',
- '' => '崠',
- '' => '崌',
- '' => '崨',
- '' => '崍',
- '' => '崦',
- '' => '崥',
- '' => '崏',
- '@' => '崰',
- 'A' => '崒',
- 'B' => '崣',
- 'C' => '崟',
- 'D' => '崮',
- 'E' => '帾',
- 'F' => '帴',
- 'G' => '庱',
- 'H' => '庴',
- 'I' => '庹',
- 'J' => '庲',
- 'K' => '庳',
- 'L' => '弶',
- 'M' => '弸',
- 'N' => '徛',
- 'O' => '徖',
- 'P' => '徟',
- 'Q' => '悊',
- 'R' => '悐',
- 'S' => '悆',
- 'T' => '悾',
- 'U' => '悰',
- 'V' => '悺',
- 'W' => '惓',
- 'X' => '惔',
- 'Y' => '惏',
- 'Z' => '惤',
- '[' => '惙',
- '\\' => '惝',
- ']' => '惈',
- '^' => '悱',
- '_' => '惛',
- '`' => '悷',
- 'a' => '惊',
- 'b' => '悿',
- 'c' => '惃',
- 'd' => '惍',
- 'e' => '惀',
- 'f' => '挲',
- 'g' => '捥',
- 'h' => '掊',
- 'i' => '掂',
- 'j' => '捽',
- 'k' => '掽',
- 'l' => '掞',
- 'm' => '掭',
- 'n' => '掝',
- 'o' => '掗',
- 'p' => '掫',
- 'q' => '掎',
- 'r' => '捯',
- 's' => '掇',
- 't' => '掐',
- 'u' => '据',
- 'v' => '掯',
- 'w' => '捵',
- 'x' => '掜',
- 'y' => '捭',
- 'z' => '掮',
- '{' => '捼',
- '|' => '掤',
- '}' => '挻',
- '~' => '掟',
- 'ա' => '捸',
- 'բ' => '掅',
- 'գ' => '掁',
- 'դ' => '掑',
- 'ե' => '掍',
- 'զ' => '捰',
- 'է' => '敓',
- 'ը' => '旍',
- 'թ' => '晥',
- 'ժ' => '晡',
- 'ի' => '晛',
- 'լ' => '晙',
- 'խ' => '晜',
- 'ծ' => '晢',
- 'կ' => '朘',
- 'հ' => '桹',
- 'ձ' => '梇',
- 'ղ' => '梐',
- 'ճ' => '梜',
- 'մ' => '桭',
- 'յ' => '桮',
- 'ն' => '梮',
- 'շ' => '梫',
- 'ո' => '楖',
- 'չ' => '桯',
- 'պ' => '梣',
- 'ջ' => '梬',
- 'ռ' => '梩',
- 'ս' => '桵',
- 'վ' => '桴',
- 'տ' => '梲',
- '' => '梏',
- '' => '桷',
- '' => '梒',
- '' => '桼',
- '' => '桫',
- '' => '桲',
- '' => '梪',
- '' => '梀',
- '' => '桱',
- '' => '桾',
- '' => '梛',
- '' => '梖',
- '' => '梋',
- '' => '梠',
- '' => '梉',
- '' => '梤',
- '' => '桸',
- '' => '桻',
- '' => '梑',
- '' => '梌',
- '' => '梊',
- '' => '桽',
- '' => '欶',
- '' => '欳',
- '' => '欷',
- '' => '欸',
- '' => '殑',
- '' => '殏',
- '' => '殍',
- '' => '殎',
- '' => '殌',
- '' => '氪',
- '' => '淀',
- '' => '涫',
- '' => '涴',
- '' => '涳',
- '' => '湴',
- '' => '涬',
- '' => '淩',
- '' => '淢',
- '' => '涷',
- '' => '淶',
- '' => '淔',
- '' => '渀',
- '' => '淈',
- '' => '淠',
- '' => '淟',
- '' => '淖',
- '' => '涾',
- '' => '淥',
- '' => '淜',
- '' => '淝',
- '' => '淛',
- '' => '淴',
- '' => '淊',
- '' => '涽',
- '' => '淭',
- '' => '淰',
- '' => '涺',
- '' => '淕',
- '' => '淂',
- '' => '淏',
- '' => '淉',
- '@' => '淐',
- 'A' => '淲',
- 'B' => '淓',
- 'C' => '淽',
- 'D' => '淗',
- 'E' => '淍',
- 'F' => '淣',
- 'G' => '涻',
- 'H' => '烺',
- 'I' => '焍',
- 'J' => '烷',
- 'K' => '焗',
- 'L' => '烴',
- 'M' => '焌',
- 'N' => '烰',
- 'O' => '焄',
- 'P' => '烳',
- 'Q' => '焐',
- 'R' => '烼',
- 'S' => '烿',
- 'T' => '焆',
- 'U' => '焓',
- 'V' => '焀',
- 'W' => '烸',
- 'X' => '烶',
- 'Y' => '焋',
- 'Z' => '焂',
- '[' => '焎',
- '\\' => '牾',
- ']' => '牻',
- '^' => '牼',
- '_' => '牿',
- '`' => '猝',
- 'a' => '猗',
- 'b' => '猇',
- 'c' => '猑',
- 'd' => '猘',
- 'e' => '猊',
- 'f' => '猈',
- 'g' => '狿',
- 'h' => '猏',
- 'i' => '猞',
- 'j' => '玈',
- 'k' => '珶',
- 'l' => '珸',
- 'm' => '珵',
- 'n' => '琄',
- 'o' => '琁',
- 'p' => '珽',
- 'q' => '琇',
- 'r' => '琀',
- 's' => '珺',
- 't' => '珼',
- 'u' => '珿',
- 'v' => '琌',
- 'w' => '琋',
- 'x' => '珴',
- 'y' => '琈',
- 'z' => '畤',
- '{' => '畣',
- '|' => '痎',
- '}' => '痒',
- '~' => '痏',
- '֡' => '痋',
- '֢' => '痌',
- '֣' => '痑',
- '֤' => '痐',
- '֥' => '皏',
- '֦' => '皉',
- '֧' => '盓',
- '֨' => '眹',
- '֩' => '眯',
- '֪' => '眭',
- '֫' => '眱',
- '֬' => '眲',
- '֭' => '眴',
- '֮' => '眳',
- '֯' => '眽',
- 'ְ' => '眥',
- 'ֱ' => '眻',
- 'ֲ' => '眵',
- 'ֳ' => '硈',
- 'ִ' => '硒',
- 'ֵ' => '硉',
- 'ֶ' => '硍',
- 'ַ' => '硊',
- 'ָ' => '硌',
- 'ֹ' => '砦',
- 'ֺ' => '硅',
- 'ֻ' => '硐',
- 'ּ' => '祤',
- 'ֽ' => '祧',
- '־' => '祩',
- 'ֿ' => '祪',
- '' => '祣',
- '' => '祫',
- '' => '祡',
- '' => '离',
- '' => '秺',
- '' => '秸',
- '' => '秶',
- '' => '秷',
- '' => '窏',
- '' => '窔',
- '' => '窐',
- '' => '笵',
- '' => '筇',
- '' => '笴',
- '' => '笥',
- '' => '笰',
- '' => '笢',
- '' => '笤',
- '' => '笳',
- '' => '笘',
- '' => '笪',
- '' => '笝',
- '' => '笱',
- '' => '笫',
- '' => '笭',
- '' => '笯',
- '' => '笲',
- '' => '笸',
- '' => '笚',
- '' => '笣',
- '' => '粔',
- '' => '粘',
- '' => '粖',
- '' => '粣',
- '' => '紵',
- '' => '紽',
- '' => '紸',
- '' => '紶',
- '' => '紺',
- '' => '絅',
- '' => '紬',
- '' => '紩',
- '' => '絁',
- '' => '絇',
- '' => '紾',
- '' => '紿',
- '' => '絊',
- '' => '紻',
- '' => '紨',
- '' => '罣',
- '' => '羕',
- '' => '羜',
- '' => '羝',
- '' => '羛',
- '' => '翊',
- '' => '翋',
- '' => '翍',
- '' => '翐',
- '' => '翑',
- '' => '翇',
- '' => '翏',
- '' => '翉',
- '' => '耟',
- '@' => '耞',
- 'A' => '耛',
- 'B' => '聇',
- 'C' => '聃',
- 'D' => '聈',
- 'E' => '脘',
- 'F' => '脥',
- 'G' => '脙',
- 'H' => '脛',
- 'I' => '脭',
- 'J' => '脟',
- 'K' => '脬',
- 'L' => '脞',
- 'M' => '脡',
- 'N' => '脕',
- 'O' => '脧',
- 'P' => '脝',
- 'Q' => '脢',
- 'R' => '舑',
- 'S' => '舸',
- 'T' => '舳',
- 'U' => '舺',
- 'V' => '舴',
- 'W' => '舲',
- 'X' => '艴',
- 'Y' => '莐',
- 'Z' => '莣',
- '[' => '莨',
- '\\' => '莍',
- ']' => '荺',
- '^' => '荳',
- '_' => '莤',
- '`' => '荴',
- 'a' => '莏',
- 'b' => '莁',
- 'c' => '莕',
- 'd' => '莙',
- 'e' => '荵',
- 'f' => '莔',
- 'g' => '莩',
- 'h' => '荽',
- 'i' => '莃',
- 'j' => '莌',
- 'k' => '莝',
- 'l' => '莛',
- 'm' => '莪',
- 'n' => '莋',
- 'o' => '荾',
- 'p' => '莥',
- 'q' => '莯',
- 'r' => '莈',
- 's' => '莗',
- 't' => '莰',
- 'u' => '荿',
- 'v' => '莦',
- 'w' => '莇',
- 'x' => '莮',
- 'y' => '荶',
- 'z' => '莚',
- '{' => '虙',
- '|' => '虖',
- '}' => '蚿',
- '~' => '蚷',
- 'ס' => '蛂',
- 'ע' => '蛁',
- 'ף' => '蛅',
- 'פ' => '蚺',
- 'ץ' => '蚰',
- 'צ' => '蛈',
- 'ק' => '蚹',
- 'ר' => '蚳',
- 'ש' => '蚸',
- 'ת' => '蛌',
- '' => '蚴',
- '' => '蚻',
- '' => '蚼',
- '' => '蛃',
- 'ׯ' => '蚽',
- 'װ' => '蚾',
- 'ױ' => '衒',
- 'ײ' => '袉',
- '׳' => '袕',
- '״' => '袨',
- '' => '袢',
- '' => '袪',
- '' => '袚',
- '' => '袑',
- '' => '袡',
- '' => '袟',
- '' => '袘',
- '' => '袧',
- '' => '袙',
- '' => '袛',
- '' => '袗',
- '' => '袤',
- '' => '袬',
- '' => '袌',
- '' => '袓',
- '' => '袎',
- '' => '覂',
- '' => '觖',
- '' => '觙',
- '' => '觕',
- '' => '訰',
- '' => '訧',
- '' => '訬',
- '' => '訞',
- '' => '谹',
- '' => '谻',
- '' => '豜',
- '' => '豝',
- '' => '豽',
- '' => '貥',
- '' => '赽',
- '' => '赻',
- '' => '赹',
- '' => '趼',
- '' => '跂',
- '' => '趹',
- '' => '趿',
- '' => '跁',
- '' => '軘',
- '' => '軞',
- '' => '軝',
- '' => '軜',
- '' => '軗',
- '' => '軠',
- '' => '軡',
- '' => '逤',
- '' => '逋',
- '' => '逑',
- '' => '逜',
- '' => '逌',
- '' => '逡',
- '' => '郯',
- '' => '郪',
- '' => '郰',
- '' => '郴',
- '' => '郲',
- '' => '郳',
- '' => '郔',
- '' => '郫',
- '' => '郬',
- '' => '郩',
- '' => '酖',
- '' => '酘',
- '' => '酚',
- '' => '酓',
- '' => '酕',
- '' => '釬',
- '' => '釴',
- '' => '釱',
- '' => '釳',
- '' => '釸',
- '' => '釤',
- '' => '釹',
- '' => '釪',
- '@' => '釫',
- 'A' => '釷',
- 'B' => '釨',
- 'C' => '釮',
- 'D' => '镺',
- 'E' => '閆',
- 'F' => '閈',
- 'G' => '陼',
- 'H' => '陭',
- 'I' => '陫',
- 'J' => '陱',
- 'K' => '陯',
- 'L' => '隿',
- 'M' => '靪',
- 'N' => '頄',
- 'O' => '飥',
- 'P' => '馗',
- 'Q' => '傛',
- 'R' => '傕',
- 'S' => '傔',
- 'T' => '傞',
- 'U' => '傋',
- 'V' => '傣',
- 'W' => '傃',
- 'X' => '傌',
- 'Y' => '傎',
- 'Z' => '傝',
- '[' => '偨',
- '\\' => '傜',
- ']' => '傒',
- '^' => '傂',
- '_' => '傇',
- '`' => '兟',
- 'a' => '凔',
- 'b' => '匒',
- 'c' => '匑',
- 'd' => '厤',
- 'e' => '厧',
- 'f' => '喑',
- 'g' => '喨',
- 'h' => '喥',
- 'i' => '喭',
- 'j' => '啷',
- 'k' => '噅',
- 'l' => '喢',
- 'm' => '喓',
- 'n' => '喈',
- 'o' => '喏',
- 'p' => '喵',
- 'q' => '喁',
- 'r' => '喣',
- 's' => '喒',
- 't' => '喤',
- 'u' => '啽',
- 'v' => '喌',
- 'w' => '喦',
- 'x' => '啿',
- 'y' => '喕',
- 'z' => '喡',
- '{' => '喎',
- '|' => '圌',
- '}' => '堩',
- '~' => '堷',
- 'ء' => '堙',
- 'آ' => '堞',
- 'أ' => '堧',
- 'ؤ' => '堣',
- 'إ' => '堨',
- 'ئ' => '埵',
- 'ا' => '塈',
- 'ب' => '堥',
- 'ة' => '堜',
- 'ت' => '堛',
- 'ث' => '堳',
- 'ج' => '堿',
- 'ح' => '堶',
- 'خ' => '堮',
- 'د' => '堹',
- 'ذ' => '堸',
- 'ر' => '堭',
- 'ز' => '堬',
- 'س' => '堻',
- 'ش' => '奡',
- 'ص' => '媯',
- 'ض' => '媔',
- 'ط' => '媟',
- 'ظ' => '婺',
- 'ع' => '媢',
- 'غ' => '媞',
- 'ػ' => '婸',
- 'ؼ' => '媦',
- 'ؽ' => '婼',
- 'ؾ' => '媥',
- 'ؿ' => '媬',
- '' => '媕',
- '' => '媮',
- '' => '娷',
- '' => '媄',
- '' => '媊',
- '' => '媗',
- '' => '媃',
- '' => '媋',
- '' => '媩',
- '' => '婻',
- '' => '婽',
- '' => '媌',
- '' => '媜',
- '' => '媏',
- '' => '媓',
- '' => '媝',
- '' => '寪',
- '' => '寍',
- '' => '寋',
- '' => '寔',
- '' => '寑',
- '' => '寊',
- '' => '寎',
- '' => '尌',
- '' => '尰',
- '' => '崷',
- '' => '嵃',
- '' => '嵫',
- '' => '嵁',
- '' => '嵋',
- '' => '崿',
- '' => '崵',
- '' => '嵑',
- '' => '嵎',
- '' => '嵕',
- '' => '崳',
- '' => '崺',
- '' => '嵒',
- '' => '崽',
- '' => '崱',
- '' => '嵙',
- '' => '嵂',
- '' => '崹',
- '' => '嵉',
- '' => '崸',
- '' => '崼',
- '' => '崲',
- '' => '崶',
- '' => '嵀',
- '' => '嵅',
- '' => '幄',
- '' => '幁',
- '' => '彘',
- '' => '徦',
- '' => '徥',
- '' => '徫',
- '' => '惉',
- '' => '悹',
- '' => '惌',
- '' => '惢',
- '' => '惎',
- '' => '惄',
- '' => '愔',
- '@' => '惲',
- 'A' => '愊',
- 'B' => '愖',
- 'C' => '愅',
- 'D' => '惵',
- 'E' => '愓',
- 'F' => '惸',
- 'G' => '惼',
- 'H' => '惾',
- 'I' => '惁',
- 'J' => '愃',
- 'K' => '愘',
- 'L' => '愝',
- 'M' => '愐',
- 'N' => '惿',
- 'O' => '愄',
- 'P' => '愋',
- 'Q' => '扊',
- 'R' => '掔',
- 'S' => '掱',
- 'T' => '掰',
- 'U' => '揎',
- 'V' => '揥',
- 'W' => '揨',
- 'X' => '揯',
- 'Y' => '揃',
- 'Z' => '撝',
- '[' => '揳',
- '\\' => '揊',
- ']' => '揠',
- '^' => '揶',
- '_' => '揕',
- '`' => '揲',
- 'a' => '揵',
- 'b' => '摡',
- 'c' => '揟',
- 'd' => '掾',
- 'e' => '揝',
- 'f' => '揜',
- 'g' => '揄',
- 'h' => '揘',
- 'i' => '揓',
- 'j' => '揂',
- 'k' => '揇',
- 'l' => '揌',
- 'm' => '揋',
- 'n' => '揈',
- 'o' => '揰',
- 'p' => '揗',
- 'q' => '揙',
- 'r' => '攲',
- 's' => '敧',
- 't' => '敪',
- 'u' => '敤',
- 'v' => '敜',
- 'w' => '敨',
- 'x' => '敥',
- 'y' => '斌',
- 'z' => '斝',
- '{' => '斞',
- '|' => '斮',
- '}' => '旐',
- '~' => '旒',
- '١' => '晼',
- '٢' => '晬',
- '٣' => '晻',
- '٤' => '暀',
- '٥' => '晱',
- '٦' => '晹',
- '٧' => '晪',
- '٨' => '晲',
- '٩' => '朁',
- '٪' => '椌',
- '٫' => '棓',
- '٬' => '椄',
- '٭' => '棜',
- 'ٮ' => '椪',
- 'ٯ' => '棬',
- 'ٰ' => '棪',
- 'ٱ' => '棱',
- 'ٲ' => '椏',
- 'ٳ' => '棖',
- 'ٴ' => '棷',
- 'ٵ' => '棫',
- 'ٶ' => '棤',
- 'ٷ' => '棶',
- 'ٸ' => '椓',
- 'ٹ' => '椐',
- 'ٺ' => '棳',
- 'ٻ' => '棡',
- 'ټ' => '椇',
- 'ٽ' => '棌',
- 'پ' => '椈',
- 'ٿ' => '楰',
- '' => '梴',
- '' => '椑',
- '' => '棯',
- '' => '棆',
- '' => '椔',
- '' => '棸',
- '' => '棐',
- '' => '棽',
- '' => '棼',
- '' => '棨',
- '' => '椋',
- '' => '椊',
- '' => '椗',
- '' => '棎',
- '' => '棈',
- '' => '棝',
- '' => '棞',
- '' => '棦',
- '' => '棴',
- '' => '棑',
- '' => '椆',
- '' => '棔',
- '' => '棩',
- '' => '椕',
- '' => '椥',
- '' => '棇',
- '' => '欹',
- '' => '欻',
- '' => '欿',
- '' => '欼',
- '' => '殔',
- '' => '殗',
- '' => '殙',
- '' => '殕',
- '' => '殽',
- '' => '毰',
- '' => '毲',
- '' => '毳',
- '' => '氰',
- '' => '淼',
- '' => '湆',
- '' => '湇',
- '' => '渟',
- '' => '湉',
- '' => '溈',
- '' => '渼',
- '' => '渽',
- '' => '湅',
- '' => '湢',
- '' => '渫',
- '' => '渿',
- '' => '湁',
- '' => '湝',
- '' => '湳',
- '' => '渜',
- '' => '渳',
- '' => '湋',
- '' => '湀',
- '' => '湑',
- '' => '渻',
- '' => '渃',
- '' => '渮',
- '' => '湞',
- '@' => '湨',
- 'A' => '湜',
- 'B' => '湡',
- 'C' => '渱',
- 'D' => '渨',
- 'E' => '湠',
- 'F' => '湱',
- 'G' => '湫',
- 'H' => '渹',
- 'I' => '渢',
- 'J' => '渰',
- 'K' => '湓',
- 'L' => '湥',
- 'M' => '渧',
- 'N' => '湸',
- 'O' => '湤',
- 'P' => '湷',
- 'Q' => '湕',
- 'R' => '湹',
- 'S' => '湒',
- 'T' => '湦',
- 'U' => '渵',
- 'V' => '渶',
- 'W' => '湚',
- 'X' => '焠',
- 'Y' => '焞',
- 'Z' => '焯',
- '[' => '烻',
- '\\' => '焮',
- ']' => '焱',
- '^' => '焣',
- '_' => '焥',
- '`' => '焢',
- 'a' => '焲',
- 'b' => '焟',
- 'c' => '焨',
- 'd' => '焺',
- 'e' => '焛',
- 'f' => '牋',
- 'g' => '牚',
- 'h' => '犈',
- 'i' => '犉',
- 'j' => '犆',
- 'k' => '犅',
- 'l' => '犋',
- 'm' => '猒',
- 'n' => '猋',
- 'o' => '猰',
- 'p' => '猢',
- 'q' => '猱',
- 'r' => '猳',
- 's' => '猧',
- 't' => '猲',
- 'u' => '猭',
- 'v' => '猦',
- 'w' => '猣',
- 'x' => '猵',
- 'y' => '猌',
- 'z' => '琮',
- '{' => '琬',
- '|' => '琰',
- '}' => '琫',
- '~' => '琖',
- 'ڡ' => '琚',
- 'ڢ' => '琡',
- 'ڣ' => '琭',
- 'ڤ' => '琱',
- 'ڥ' => '琤',
- 'ڦ' => '琣',
- 'ڧ' => '琝',
- 'ڨ' => '琩',
- 'ک' => '琠',
- 'ڪ' => '琲',
- 'ګ' => '瓻',
- 'ڬ' => '甯',
- 'ڭ' => '畯',
- 'ڮ' => '畬',
- 'گ' => '痧',
- 'ڰ' => '痚',
- 'ڱ' => '痡',
- 'ڲ' => '痦',
- 'ڳ' => '痝',
- 'ڴ' => '痟',
- 'ڵ' => '痤',
- 'ڶ' => '痗',
- 'ڷ' => '皕',
- 'ڸ' => '皒',
- 'ڹ' => '盚',
- 'ں' => '睆',
- 'ڻ' => '睇',
- 'ڼ' => '睄',
- 'ڽ' => '睍',
- 'ھ' => '睅',
- 'ڿ' => '睊',
- '' => '睎',
- '' => '睋',
- '' => '睌',
- '' => '矞',
- '' => '矬',
- '' => '硠',
- '' => '硤',
- '' => '硥',
- '' => '硜',
- '' => '硭',
- '' => '硱',
- '' => '硪',
- '' => '确',
- '' => '硰',
- '' => '硩',
- '' => '硨',
- '' => '硞',
- '' => '硢',
- '' => '祴',
- '' => '祳',
- '' => '祲',
- '' => '祰',
- '' => '稂',
- '' => '稊',
- '' => '稃',
- '' => '稌',
- '' => '稄',
- '' => '窙',
- '' => '竦',
- '' => '竤',
- '' => '筊',
- '' => '笻',
- '' => '筄',
- '' => '筈',
- '' => '筌',
- '' => '筎',
- '' => '筀',
- '' => '筘',
- '' => '筅',
- '' => '粢',
- '' => '粞',
- '' => '粨',
- '' => '粡',
- '' => '絘',
- '' => '絯',
- '' => '絣',
- '' => '絓',
- '' => '絖',
- '' => '絧',
- '' => '絪',
- '' => '絏',
- '' => '絭',
- '' => '絜',
- '' => '絫',
- '' => '絒',
- '' => '絔',
- '' => '絩',
- '' => '絑',
- '' => '絟',
- '' => '絎',
- '' => '缾',
- '' => '缿',
- '' => '罥',
- '@' => '罦',
- 'A' => '羢',
- 'B' => '羠',
- 'C' => '羡',
- 'D' => '翗',
- 'E' => '聑',
- 'F' => '聏',
- 'G' => '聐',
- 'H' => '胾',
- 'I' => '胔',
- 'J' => '腃',
- 'K' => '腊',
- 'L' => '腒',
- 'M' => '腏',
- 'N' => '腇',
- 'O' => '脽',
- 'P' => '腍',
- 'Q' => '脺',
- 'R' => '臦',
- 'S' => '臮',
- 'T' => '臷',
- 'U' => '臸',
- 'V' => '臹',
- 'W' => '舄',
- 'X' => '舼',
- 'Y' => '舽',
- 'Z' => '舿',
- '[' => '艵',
- '\\' => '茻',
- ']' => '菏',
- '^' => '菹',
- '_' => '萣',
- '`' => '菀',
- 'a' => '菨',
- 'b' => '萒',
- 'c' => '菧',
- 'd' => '菤',
- 'e' => '菼',
- 'f' => '菶',
- 'g' => '萐',
- 'h' => '菆',
- 'i' => '菈',
- 'j' => '菫',
- 'k' => '菣',
- 'l' => '莿',
- 'm' => '萁',
- 'n' => '菝',
- 'o' => '菥',
- 'p' => '菘',
- 'q' => '菿',
- 'r' => '菡',
- 's' => '菋',
- 't' => '菎',
- 'u' => '菖',
- 'v' => '菵',
- 'w' => '菉',
- 'x' => '萉',
- 'y' => '萏',
- 'z' => '菞',
- '{' => '萑',
- '|' => '萆',
- '}' => '菂',
- '~' => '菳',
- 'ۡ' => '菕',
- 'ۢ' => '菺',
- 'ۣ' => '菇',
- 'ۤ' => '菑',
- 'ۥ' => '菪',
- 'ۦ' => '萓',
- 'ۧ' => '菃',
- 'ۨ' => '菬',
- '۩' => '菮',
- '۪' => '菄',
- '۫' => '菻',
- '۬' => '菗',
- 'ۭ' => '菢',
- 'ۮ' => '萛',
- 'ۯ' => '菛',
- '۰' => '菾',
- '۱' => '蛘',
- '۲' => '蛢',
- '۳' => '蛦',
- '۴' => '蛓',
- '۵' => '蛣',
- '۶' => '蛚',
- '۷' => '蛪',
- '۸' => '蛝',
- '۹' => '蛫',
- 'ۺ' => '蛜',
- 'ۻ' => '蛬',
- 'ۼ' => '蛩',
- '۽' => '蛗',
- '۾' => '蛨',
- 'ۿ' => '蛑',
- '' => '衈',
- '' => '衖',
- '' => '衕',
- '' => '袺',
- '' => '裗',
- '' => '袹',
- '' => '袸',
- '' => '裀',
- '' => '袾',
- '' => '袶',
- '' => '袼',
- '' => '袷',
- '' => '袽',
- '' => '袲',
- '' => '褁',
- '' => '裉',
- '' => '覕',
- '' => '覘',
- '' => '覗',
- '' => '觝',
- '' => '觚',
- '' => '觛',
- '' => '詎',
- '' => '詍',
- '' => '訹',
- '' => '詙',
- '' => '詀',
- '' => '詗',
- '' => '詘',
- '' => '詄',
- '' => '詅',
- '' => '詒',
- '' => '詈',
- '' => '詑',
- '' => '詊',
- '' => '詌',
- '' => '詏',
- '' => '豟',
- '' => '貁',
- '' => '貀',
- '' => '貺',
- '' => '貾',
- '' => '貰',
- '' => '貹',
- '' => '貵',
- '' => '趄',
- '' => '趀',
- '' => '趉',
- '' => '跘',
- '' => '跓',
- '' => '跍',
- '' => '跇',
- '' => '跖',
- '' => '跜',
- '' => '跏',
- '' => '跕',
- '' => '跙',
- '' => '跈',
- '' => '跗',
- '' => '跅',
- '' => '軯',
- '' => '軷',
- '' => '軺',
- '@' => '軹',
- 'A' => '軦',
- 'B' => '軮',
- 'C' => '軥',
- 'D' => '軵',
- 'E' => '軧',
- 'F' => '軨',
- 'G' => '軶',
- 'H' => '軫',
- 'I' => '軱',
- 'J' => '軬',
- 'K' => '軴',
- 'L' => '軩',
- 'M' => '逭',
- 'N' => '逴',
- 'O' => '逯',
- 'P' => '鄆',
- 'Q' => '鄬',
- 'R' => '鄄',
- 'S' => '郿',
- 'T' => '郼',
- 'U' => '鄈',
- 'V' => '郹',
- 'W' => '郻',
- 'X' => '鄁',
- 'Y' => '鄀',
- 'Z' => '鄇',
- '[' => '鄅',
- '\\' => '鄃',
- ']' => '酡',
- '^' => '酤',
- '_' => '酟',
- '`' => '酢',
- 'a' => '酠',
- 'b' => '鈁',
- 'c' => '鈊',
- 'd' => '鈥',
- 'e' => '鈃',
- 'f' => '鈚',
- 'g' => '鈦',
- 'h' => '鈏',
- 'i' => '鈌',
- 'j' => '鈀',
- 'k' => '鈒',
- 'l' => '釿',
- 'm' => '釽',
- 'n' => '鈆',
- 'o' => '鈄',
- 'p' => '鈧',
- 'q' => '鈂',
- 'r' => '鈜',
- 's' => '鈤',
- 't' => '鈙',
- 'u' => '鈗',
- 'v' => '鈅',
- 'w' => '鈖',
- 'x' => '镻',
- 'y' => '閍',
- 'z' => '閌',
- '{' => '閐',
- '|' => '隇',
- '}' => '陾',
- '~' => '隈',
- 'ܡ' => '隉',
- 'ܢ' => '隃',
- 'ܣ' => '隀',
- 'ܤ' => '雂',
- 'ܥ' => '雈',
- 'ܦ' => '雃',
- 'ܧ' => '雱',
- 'ܨ' => '雰',
- 'ܩ' => '靬',
- 'ܪ' => '靰',
- 'ܫ' => '靮',
- 'ܬ' => '頇',
- 'ܭ' => '颩',
- 'ܮ' => '飫',
- 'ܯ' => '鳦',
- 'ܰ' => '黹',
- 'ܱ' => '亃',
- 'ܲ' => '亄',
- 'ܳ' => '亶',
- 'ܴ' => '傽',
- 'ܵ' => '傿',
- 'ܶ' => '僆',
- 'ܷ' => '傮',
- 'ܸ' => '僄',
- 'ܹ' => '僊',
- 'ܺ' => '傴',
- 'ܻ' => '僈',
- 'ܼ' => '僂',
- 'ܽ' => '傰',
- 'ܾ' => '僁',
- 'ܿ' => '傺',
- '' => '傱',
- '' => '僋',
- '' => '僉',
- '' => '傶',
- '' => '傸',
- '' => '凗',
- '' => '剺',
- '' => '剸',
- '' => '剻',
- '' => '剼',
- '' => '嗃',
- '' => '嗛',
- '' => '嗌',
- '' => '嗐',
- '' => '嗋',
- '' => '嗊',
- '' => '嗝',
- '' => '嗀',
- '' => '嗔',
- '' => '嗄',
- '' => '嗩',
- '' => '喿',
- '' => '嗒',
- '' => '喍',
- '' => '嗏',
- '' => '嗕',
- '' => '嗢',
- '' => '嗖',
- '' => '嗈',
- '' => '嗲',
- '' => '嗍',
- '' => '嗙',
- '' => '嗂',
- '' => '圔',
- '' => '塓',
- '' => '塨',
- '' => '塤',
- '' => '塏',
- '' => '塍',
- '' => '塉',
- '' => '塯',
- '' => '塕',
- '' => '塎',
- '' => '塝',
- '' => '塙',
- '' => '塥',
- '' => '塛',
- '' => '堽',
- '' => '塣',
- '' => '塱',
- '' => '壼',
- '' => '嫇',
- '' => '嫄',
- '' => '嫋',
- '' => '媺',
- '' => '媸',
- '' => '媱',
- '' => '媵',
- '' => '媰',
- '' => '媿',
- '' => '嫈',
- '' => '媻',
- '' => '嫆',
- '@' => '媷',
- 'A' => '嫀',
- 'B' => '嫊',
- 'C' => '媴',
- 'D' => '媶',
- 'E' => '嫍',
- 'F' => '媹',
- 'G' => '媐',
- 'H' => '寖',
- 'I' => '寘',
- 'J' => '寙',
- 'K' => '尟',
- 'L' => '尳',
- 'M' => '嵱',
- 'N' => '嵣',
- 'O' => '嵊',
- 'P' => '嵥',
- 'Q' => '嵲',
- 'R' => '嵬',
- 'S' => '嵞',
- 'T' => '嵨',
- 'U' => '嵧',
- 'V' => '嵢',
- 'W' => '巰',
- 'X' => '幏',
- 'Y' => '幎',
- 'Z' => '幊',
- '[' => '幍',
- '\\' => '幋',
- ']' => '廅',
- '^' => '廌',
- '_' => '廆',
- '`' => '廋',
- 'a' => '廇',
- 'b' => '彀',
- 'c' => '徯',
- 'd' => '徭',
- 'e' => '惷',
- 'f' => '慉',
- 'g' => '慊',
- 'h' => '愫',
- 'i' => '慅',
- 'j' => '愶',
- 'k' => '愲',
- 'l' => '愮',
- 'm' => '慆',
- 'n' => '愯',
- 'o' => '慏',
- 'p' => '愩',
- 'q' => '慀',
- 'r' => '戠',
- 's' => '酨',
- 't' => '戣',
- 'u' => '戥',
- 'v' => '戤',
- 'w' => '揅',
- 'x' => '揱',
- 'y' => '揫',
- 'z' => '搐',
- '{' => '搒',
- '|' => '搉',
- '}' => '搠',
- '~' => '搤',
- 'ݡ' => '搳',
- 'ݢ' => '摃',
- 'ݣ' => '搟',
- 'ݤ' => '搕',
- 'ݥ' => '搘',
- 'ݦ' => '搹',
- 'ݧ' => '搷',
- 'ݨ' => '搢',
- 'ݩ' => '搣',
- 'ݪ' => '搌',
- 'ݫ' => '搦',
- 'ݬ' => '搰',
- 'ݭ' => '搨',
- 'ݮ' => '摁',
- 'ݯ' => '搵',
- 'ݰ' => '搯',
- 'ݱ' => '搊',
- 'ݲ' => '搚',
- 'ݳ' => '摀',
- 'ݴ' => '搥',
- 'ݵ' => '搧',
- 'ݶ' => '搋',
- 'ݷ' => '揧',
- 'ݸ' => '搛',
- 'ݹ' => '搮',
- 'ݺ' => '搡',
- 'ݻ' => '搎',
- 'ݼ' => '敯',
- 'ݽ' => '斒',
- 'ݾ' => '旓',
- 'ݿ' => '暆',
- '' => '暌',
- '' => '暕',
- '' => '暐',
- '' => '暋',
- '' => '暊',
- '' => '暙',
- '' => '暔',
- '' => '晸',
- '' => '朠',
- '' => '楦',
- '' => '楟',
- '' => '椸',
- '' => '楎',
- '' => '楢',
- '' => '楱',
- '' => '椿',
- '' => '楅',
- '' => '楪',
- '' => '椹',
- '' => '楂',
- '' => '楗',
- '' => '楙',
- '' => '楺',
- '' => '楈',
- '' => '楉',
- '' => '椵',
- '' => '楬',
- '' => '椳',
- '' => '椽',
- '' => '楥',
- '' => '棰',
- '' => '楸',
- '' => '椴',
- '' => '楩',
- '' => '楀',
- '' => '楯',
- '' => '楄',
- '' => '楶',
- '' => '楘',
- '' => '楁',
- '' => '楴',
- '' => '楌',
- '' => '椻',
- '' => '楋',
- '' => '椷',
- '' => '楜',
- '' => '楏',
- '' => '楑',
- '' => '椲',
- '' => '楒',
- '' => '椯',
- '' => '楻',
- '' => '椼',
- '' => '歆',
- '' => '歅',
- '' => '歃',
- '' => '歂',
- '' => '歈',
- '' => '歁',
- '' => '殛',
- '' => '嗀',
- '' => '毻',
- '' => '毼',
- '@' => '毹',
- 'A' => '毷',
- 'B' => '毸',
- 'C' => '溛',
- 'D' => '滖',
- 'E' => '滈',
- 'F' => '溏',
- 'G' => '滀',
- 'H' => '溟',
- 'I' => '溓',
- 'J' => '溔',
- 'K' => '溠',
- 'L' => '溱',
- 'M' => '溹',
- 'N' => '滆',
- 'O' => '滒',
- 'P' => '溽',
- 'Q' => '滁',
- 'R' => '溞',
- 'S' => '滉',
- 'T' => '溷',
- 'U' => '溰',
- 'V' => '滍',
- 'W' => '溦',
- 'X' => '滏',
- 'Y' => '溲',
- 'Z' => '溾',
- '[' => '滃',
- '\\' => '滜',
- ']' => '滘',
- '^' => '溙',
- '_' => '溒',
- '`' => '溎',
- 'a' => '溍',
- 'b' => '溤',
- 'c' => '溡',
- 'd' => '溿',
- 'e' => '溳',
- 'f' => '滐',
- 'g' => '滊',
- 'h' => '溗',
- 'i' => '溮',
- 'j' => '溣',
- 'k' => '煇',
- 'l' => '煔',
- 'm' => '煒',
- 'n' => '煣',
- 'o' => '煠',
- 'p' => '煁',
- 'q' => '煝',
- 'r' => '煢',
- 's' => '煲',
- 't' => '煸',
- 'u' => '煪',
- 'v' => '煡',
- 'w' => '煂',
- 'x' => '煘',
- 'y' => '煃',
- 'z' => '煋',
- '{' => '煰',
- '|' => '煟',
- '}' => '煐',
- '~' => '煓',
- 'ޡ' => '煄',
- 'ޢ' => '煍',
- 'ޣ' => '煚',
- 'ޤ' => '牏',
- 'ޥ' => '犍',
- 'ަ' => '犌',
- 'ާ' => '犑',
- 'ި' => '犐',
- 'ީ' => '犎',
- 'ު' => '猼',
- 'ޫ' => '獂',
- 'ެ' => '猻',
- 'ޭ' => '猺',
- 'ޮ' => '獀',
- 'ޯ' => '獊',
- 'ް' => '獉',
- 'ޱ' => '瑄',
- '' => '瑊',
- '' => '瑋',
- '' => '瑒',
- '' => '瑑',
- '' => '瑗',
- '' => '瑀',
- '' => '瑏',
- '' => '瑐',
- '' => '瑎',
- '' => '瑂',
- '' => '瑆',
- '' => '瑍',
- '' => '瑔',
- '' => '瓡',
- '' => '瓿',
- '' => '瓾',
- '' => '瓽',
- '' => '甝',
- '' => '畹',
- '' => '畷',
- '' => '榃',
- '' => '痯',
- '' => '瘏',
- '' => '瘃',
- '' => '痷',
- '' => '痾',
- '' => '痼',
- '' => '痹',
- '' => '痸',
- '' => '瘐',
- '' => '痻',
- '' => '痶',
- '' => '痭',
- '' => '痵',
- '' => '痽',
- '' => '皙',
- '' => '皵',
- '' => '盝',
- '' => '睕',
- '' => '睟',
- '' => '睠',
- '' => '睒',
- '' => '睖',
- '' => '睚',
- '' => '睩',
- '' => '睧',
- '' => '睔',
- '' => '睙',
- '' => '睭',
- '' => '矠',
- '' => '碇',
- '' => '碚',
- '' => '碔',
- '' => '碏',
- '' => '碄',
- '' => '碕',
- '' => '碅',
- '' => '碆',
- '' => '碡',
- '' => '碃',
- '' => '硹',
- '' => '碙',
- '' => '碀',
- '' => '碖',
- '' => '硻',
- '' => '祼',
- '' => '禂',
- '' => '祽',
- '' => '祹',
- '' => '稑',
- '' => '稘',
- '' => '稙',
- '' => '稒',
- '' => '稗',
- '' => '稕',
- '' => '稢',
- '' => '稓',
- '@' => '稛',
- 'A' => '稐',
- 'B' => '窣',
- 'C' => '窢',
- 'D' => '窞',
- 'E' => '竫',
- 'F' => '筦',
- 'G' => '筤',
- 'H' => '筭',
- 'I' => '筴',
- 'J' => '筩',
- 'K' => '筲',
- 'L' => '筥',
- 'M' => '筳',
- 'N' => '筱',
- 'O' => '筰',
- 'P' => '筡',
- 'Q' => '筸',
- 'R' => '筶',
- 'S' => '筣',
- 'T' => '粲',
- 'U' => '粴',
- 'V' => '粯',
- 'W' => '綈',
- 'X' => '綆',
- 'Y' => '綀',
- 'Z' => '綍',
- '[' => '絿',
- '\\' => '綅',
- ']' => '絺',
- '^' => '綎',
- '_' => '絻',
- '`' => '綃',
- 'a' => '絼',
- 'b' => '綌',
- 'c' => '綔',
- 'd' => '綄',
- 'e' => '絽',
- 'f' => '綒',
- 'g' => '罭',
- 'h' => '罫',
- 'i' => '罧',
- 'j' => '罨',
- 'k' => '罬',
- 'l' => '羦',
- 'm' => '羥',
- 'n' => '羧',
- 'o' => '翛',
- 'p' => '翜',
- 'q' => '耡',
- 'r' => '腤',
- 's' => '腠',
- 't' => '腷',
- 'u' => '腜',
- 'v' => '腩',
- 'w' => '腛',
- 'x' => '腢',
- 'y' => '腲',
- 'z' => '朡',
- '{' => '腞',
- '|' => '腶',
- '}' => '腧',
- '~' => '腯',
- 'ߡ' => '腄',
- 'ߢ' => '腡',
- 'ߣ' => '舝',
- 'ߤ' => '艉',
- 'ߥ' => '艄',
- 'ߦ' => '艀',
- 'ߧ' => '艂',
- 'ߨ' => '艅',
- 'ߩ' => '蓱',
- 'ߪ' => '萿',
- '߫' => '葖',
- '߬' => '葶',
- '߭' => '葹',
- '߮' => '蒏',
- '߯' => '蒍',
- '߰' => '葥',
- '߱' => '葑',
- '߲' => '葀',
- '߳' => '蒆',
- 'ߴ' => '葧',
- 'ߵ' => '萰',
- '߶' => '葍',
- '߷' => '葽',
- '߸' => '葚',
- '߹' => '葙',
- 'ߺ' => '葴',
- '' => '葳',
- '' => '葝',
- '߽' => '蔇',
- '߾' => '葞',
- '߿' => '萷',
- '' => '萺',
- '' => '萴',
- '' => '葺',
- '' => '葃',
- '' => '葸',
- '' => '萲',
- '' => '葅',
- '' => '萩',
- '' => '菙',
- '' => '葋',
- '' => '萯',
- '' => '葂',
- '' => '萭',
- '' => '葟',
- '' => '葰',
- '' => '萹',
- '' => '葎',
- '' => '葌',
- '' => '葒',
- '' => '葯',
- '' => '蓅',
- '' => '蒎',
- '' => '萻',
- '' => '葇',
- '' => '萶',
- '' => '萳',
- '' => '葨',
- '' => '葾',
- '' => '葄',
- '' => '萫',
- '' => '葠',
- '' => '葔',
- '' => '葮',
- '' => '葐',
- '' => '蜋',
- '' => '蜄',
- '' => '蛷',
- '' => '蜌',
- '' => '蛺',
- '' => '蛖',
- '' => '蛵',
- '' => '蝍',
- '' => '蛸',
- '' => '蜎',
- '' => '蜉',
- '' => '蜁',
- '' => '蛶',
- '' => '蜍',
- '' => '蜅',
- '' => '裖',
- '' => '裋',
- '' => '裍',
- '' => '裎',
- '' => '裞',
- '' => '裛',
- '' => '裚',
- '' => '裌',
- '' => '裐',
- '' => '覅',
- '' => '覛',
- '' => '觟',
- '' => '觥',
- '' => '觤',
- '@' => '觡',
- 'A' => '觠',
- 'B' => '觢',
- 'C' => '觜',
- 'D' => '触',
- 'E' => '詶',
- 'F' => '誆',
- 'G' => '詿',
- 'H' => '詡',
- 'I' => '訿',
- 'J' => '詷',
- 'K' => '誂',
- 'L' => '誄',
- 'M' => '詵',
- 'N' => '誃',
- 'O' => '誁',
- 'P' => '詴',
- 'Q' => '詺',
- 'R' => '谼',
- 'S' => '豋',
- 'T' => '豊',
- 'U' => '豥',
- 'V' => '豤',
- 'W' => '豦',
- 'X' => '貆',
- 'Y' => '貄',
- 'Z' => '貅',
- '[' => '賌',
- '\\' => '赨',
- ']' => '赩',
- '^' => '趑',
- '_' => '趌',
- '`' => '趎',
- 'a' => '趏',
- 'b' => '趍',
- 'c' => '趓',
- 'd' => '趔',
- 'e' => '趐',
- 'f' => '趒',
- 'g' => '跰',
- 'h' => '跠',
- 'i' => '跬',
- 'j' => '跱',
- 'k' => '跮',
- 'l' => '跐',
- 'm' => '跩',
- 'n' => '跣',
- 'o' => '跢',
- 'p' => '跧',
- 'q' => '跲',
- 'r' => '跫',
- 's' => '跴',
- 't' => '輆',
- 'u' => '軿',
- 'v' => '輁',
- 'w' => '輀',
- 'x' => '輅',
- 'y' => '輇',
- 'z' => '輈',
- '{' => '輂',
- '|' => '輋',
- '}' => '遒',
- '~' => '逿',
- '' => '遄',
- '' => '遉',
- '' => '逽',
- '' => '鄐',
- '' => '鄍',
- '' => '鄏',
- '' => '鄑',
- '' => '鄖',
- '' => '鄔',
- '' => '鄋',
- '' => '鄎',
- '' => '酮',
- '' => '酯',
- '' => '鉈',
- '' => '鉒',
- '' => '鈰',
- '' => '鈺',
- '' => '鉦',
- '' => '鈳',
- '' => '鉥',
- '' => '鉞',
- '' => '銃',
- '' => '鈮',
- '' => '鉊',
- '' => '鉆',
- '' => '鉭',
- '' => '鉬',
- '' => '鉏',
- '' => '鉠',
- '' => '鉧',
- '' => '鉯',
- '' => '鈶',
- '' => '鉡',
- '' => '鉰',
- '' => '鈱',
- '' => '鉔',
- '' => '鉣',
- '' => '鉐',
- '' => '鉲',
- '' => '鉎',
- '' => '鉓',
- '' => '鉌',
- '' => '鉖',
- '' => '鈲',
- '' => '閟',
- '' => '閜',
- '' => '閞',
- '' => '閛',
- '' => '隒',
- '' => '隓',
- '' => '隑',
- '' => '隗',
- '' => '雎',
- '' => '雺',
- '' => '雽',
- '' => '雸',
- '' => '雵',
- '' => '靳',
- '' => '靷',
- '' => '靸',
- '' => '靲',
- '' => '頏',
- '' => '頍',
- '' => '頎',
- '' => '颬',
- '' => '飶',
- '' => '飹',
- '' => '馯',
- '' => '馲',
- '' => '馰',
- '' => '馵',
- '' => '骭',
- '' => '骫',
- '' => '魛',
- '' => '鳪',
- '' => '鳭',
- '' => '鳧',
- '' => '麀',
- '' => '黽',
- '' => '僦',
- '' => '僔',
- '' => '僗',
- '' => '僨',
- '' => '僳',
- '' => '僛',
- '' => '僪',
- '' => '僝',
- '' => '僤',
- '' => '僓',
- '' => '僬',
- '' => '僰',
- '' => '僯',
- '' => '僣',
- '' => '僠',
- '@' => '凘',
- 'A' => '劀',
- 'B' => '劁',
- 'C' => '勩',
- 'D' => '勫',
- 'E' => '匰',
- 'F' => '厬',
- 'G' => '嘧',
- 'H' => '嘕',
- 'I' => '嘌',
- 'J' => '嘒',
- 'K' => '嗼',
- 'L' => '嘏',
- 'M' => '嘜',
- 'N' => '嘁',
- 'O' => '嘓',
- 'P' => '嘂',
- 'Q' => '嗺',
- 'R' => '嘝',
- 'S' => '嘄',
- 'T' => '嗿',
- 'U' => '嗹',
- 'V' => '墉',
- 'W' => '塼',
- 'X' => '墐',
- 'Y' => '墘',
- 'Z' => '墆',
- '[' => '墁',
- '\\' => '塿',
- ']' => '塴',
- '^' => '墋',
- '_' => '塺',
- '`' => '墇',
- 'a' => '墑',
- 'b' => '墎',
- 'c' => '塶',
- 'd' => '墂',
- 'e' => '墈',
- 'f' => '塻',
- 'g' => '墔',
- 'h' => '墏',
- 'i' => '壾',
- 'j' => '奫',
- 'k' => '嫜',
- 'l' => '嫮',
- 'm' => '嫥',
- 'n' => '嫕',
- 'o' => '嫪',
- 'p' => '嫚',
- 'q' => '嫭',
- 'r' => '嫫',
- 's' => '嫳',
- 't' => '嫢',
- 'u' => '嫠',
- 'v' => '嫛',
- 'w' => '嫬',
- 'x' => '嫞',
- 'y' => '嫝',
- 'z' => '嫙',
- '{' => '嫨',
- '|' => '嫟',
- '}' => '孷',
- '~' => '寠',
- '' => '寣',
- '' => '屣',
- '' => '嶂',
- '' => '嶀',
- '' => '嵽',
- '' => '嶆',
- '' => '嵺',
- '' => '嶁',
- '' => '嵷',
- '' => '嶊',
- '' => '嶉',
- '' => '嶈',
- '' => '嵾',
- '' => '嵼',
- '' => '嶍',
- '' => '嵹',
- '' => '嵿',
- '' => '幘',
- '' => '幙',
- '' => '幓',
- '' => '廘',
- '' => '廑',
- '' => '廗',
- '' => '廎',
- '' => '廜',
- '' => '廕',
- '' => '廙',
- '' => '廒',
- '' => '廔',
- '' => '彄',
- '' => '彃',
- '' => '彯',
- '' => '徶',
- '' => '愬',
- '' => '愨',
- '' => '慁',
- '' => '慞',
- '' => '慱',
- '' => '慳',
- '' => '慒',
- '' => '慓',
- '' => '慲',
- '' => '慬',
- '' => '憀',
- '' => '慴',
- '' => '慔',
- '' => '慺',
- '' => '慛',
- '' => '慥',
- '' => '愻',
- '' => '慪',
- '' => '慡',
- '' => '慖',
- '' => '戩',
- '' => '戧',
- '' => '戫',
- '' => '搫',
- '' => '摍',
- '' => '摛',
- '' => '摝',
- '' => '摴',
- '' => '摶',
- '' => '摲',
- '' => '摳',
- '' => '摽',
- '' => '摵',
- '' => '摦',
- '' => '撦',
- '' => '摎',
- '' => '撂',
- '' => '摞',
- '' => '摜',
- '' => '摋',
- '' => '摓',
- '' => '摠',
- '' => '摐',
- '' => '摿',
- '' => '搿',
- '' => '摬',
- '' => '摫',
- '' => '摙',
- '' => '摥',
- '' => '摷',
- '' => '敳',
- '' => '斠',
- '' => '暡',
- '' => '暠',
- '' => '暟',
- '' => '朅',
- '' => '朄',
- '' => '朢',
- '' => '榱',
- '' => '榶',
- '' => '槉',
- '@' => '榠',
- 'A' => '槎',
- 'B' => '榖',
- 'C' => '榰',
- 'D' => '榬',
- 'E' => '榼',
- 'F' => '榑',
- 'G' => '榙',
- 'H' => '榎',
- 'I' => '榧',
- 'J' => '榍',
- 'K' => '榩',
- 'L' => '榾',
- 'M' => '榯',
- 'N' => '榿',
- 'O' => '槄',
- 'P' => '榽',
- 'Q' => '榤',
- 'R' => '槔',
- 'S' => '榹',
- 'T' => '槊',
- 'U' => '榚',
- 'V' => '槏',
- 'W' => '榳',
- 'X' => '榓',
- 'Y' => '榪',
- 'Z' => '榡',
- '[' => '榞',
- '\\' => '槙',
- ']' => '榗',
- '^' => '榐',
- '_' => '槂',
- '`' => '榵',
- 'a' => '榥',
- 'b' => '槆',
- 'c' => '歊',
- 'd' => '歍',
- 'e' => '歋',
- 'f' => '殞',
- 'g' => '殟',
- 'h' => '殠',
- 'i' => '毃',
- 'j' => '毄',
- 'k' => '毾',
- 'l' => '滎',
- 'm' => '滵',
- 'n' => '滱',
- 'o' => '漃',
- 'p' => '漥',
- 'q' => '滸',
- 'r' => '漷',
- 's' => '滻',
- 't' => '漮',
- 'u' => '漉',
- 'v' => '潎',
- 'w' => '漙',
- 'x' => '漚',
- 'y' => '漧',
- 'z' => '漘',
- '{' => '漻',
- '|' => '漒',
- '}' => '滭',
- '~' => '漊',
- '' => '漶',
- '' => '潳',
- '' => '滹',
- '' => '滮',
- '' => '漭',
- '' => '潀',
- '' => '漰',
- '' => '漼',
- '' => '漵',
- '' => '滫',
- '' => '漇',
- '' => '漎',
- '' => '潃',
- '' => '漅',
- '' => '滽',
- '' => '滶',
- '' => '漹',
- '' => '漜',
- '' => '滼',
- '' => '漺',
- '' => '漟',
- '' => '漍',
- '' => '漞',
- '' => '漈',
- '' => '漡',
- '' => '熇',
- '' => '熐',
- '' => '熉',
- '' => '熀',
- '' => '熅',
- '' => '熂',
- '' => '熏',
- '' => '煻',
- '' => '熆',
- '' => '熁',
- '' => '熗',
- '' => '牄',
- '' => '牓',
- '' => '犗',
- '' => '犕',
- '' => '犓',
- '' => '獃',
- '' => '獍',
- '' => '獑',
- '' => '獌',
- '' => '瑢',
- '' => '瑳',
- '' => '瑱',
- '' => '瑵',
- '' => '瑲',
- '' => '瑧',
- '' => '瑮',
- '' => '甀',
- '' => '甂',
- '' => '甃',
- '' => '畽',
- '' => '疐',
- '' => '瘖',
- '' => '瘈',
- '' => '瘌',
- '' => '瘕',
- '' => '瘑',
- '' => '瘊',
- '' => '瘔',
- '' => '皸',
- '' => '瞁',
- '' => '睼',
- '' => '瞅',
- '' => '瞂',
- '' => '睮',
- '' => '瞀',
- '' => '睯',
- '' => '睾',
- '' => '瞃',
- '' => '碲',
- '' => '碪',
- '' => '碴',
- '' => '碭',
- '' => '碨',
- '' => '硾',
- '' => '碫',
- '' => '碞',
- '' => '碥',
- '' => '碠',
- '' => '碬',
- '' => '碢',
- '' => '碤',
- '' => '禘',
- '' => '禊',
- '' => '禋',
- '' => '禖',
- '' => '禕',
- '' => '禔',
- '' => '禓',
- '@' => '禗',
- 'A' => '禈',
- 'B' => '禒',
- 'C' => '禐',
- 'D' => '稫',
- 'E' => '穊',
- 'F' => '稰',
- 'G' => '稯',
- 'H' => '稨',
- 'I' => '稦',
- 'J' => '窨',
- 'K' => '窫',
- 'L' => '窬',
- 'M' => '竮',
- 'N' => '箈',
- 'O' => '箜',
- 'P' => '箊',
- 'Q' => '箑',
- 'R' => '箐',
- 'S' => '箖',
- 'T' => '箍',
- 'U' => '箌',
- 'V' => '箛',
- 'W' => '箎',
- 'X' => '箅',
- 'Y' => '箘',
- 'Z' => '劄',
- '[' => '箙',
- '\\' => '箤',
- ']' => '箂',
- '^' => '粻',
- '_' => '粿',
- '`' => '粼',
- 'a' => '粺',
- 'b' => '綧',
- 'c' => '綷',
- 'd' => '緂',
- 'e' => '綣',
- 'f' => '綪',
- 'g' => '緁',
- 'h' => '緀',
- 'i' => '緅',
- 'j' => '綝',
- 'k' => '緎',
- 'l' => '緄',
- 'm' => '緆',
- 'n' => '緋',
- 'o' => '緌',
- 'p' => '綯',
- 'q' => '綹',
- 'r' => '綖',
- 's' => '綼',
- 't' => '綟',
- 'u' => '綦',
- 'v' => '綮',
- 'w' => '綩',
- 'x' => '綡',
- 'y' => '緉',
- 'z' => '罳',
- '{' => '翢',
- '|' => '翣',
- '}' => '翥',
- '~' => '翞',
- '' => '耤',
- '' => '聝',
- '' => '聜',
- '' => '膉',
- '' => '膆',
- '' => '膃',
- '' => '膇',
- '' => '膍',
- '' => '膌',
- '' => '膋',
- '' => '舕',
- '' => '蒗',
- '' => '蒤',
- '' => '蒡',
- '' => '蒟',
- '' => '蒺',
- '' => '蓎',
- '' => '蓂',
- '' => '蒬',
- '' => '蒮',
- '' => '蒫',
- '' => '蒹',
- '' => '蒴',
- '' => '蓁',
- '' => '蓍',
- '' => '蒪',
- '' => '蒚',
- '' => '蒱',
- '' => '蓐',
- '' => '蒝',
- '' => '蒧',
- '' => '蒻',
- '' => '蒢',
- '' => '蒔',
- '' => '蓇',
- '' => '蓌',
- '' => '蒛',
- '' => '蒩',
- '' => '蒯',
- '' => '蒨',
- '' => '蓖',
- '' => '蒘',
- '' => '蒶',
- '' => '蓏',
- '' => '蒠',
- '' => '蓗',
- '' => '蓔',
- '' => '蓒',
- '' => '蓛',
- '' => '蒰',
- '' => '蒑',
- '' => '虡',
- '' => '蜳',
- '' => '蜣',
- '' => '蜨',
- '' => '蝫',
- '' => '蝀',
- '' => '蜮',
- '' => '蜞',
- '' => '蜡',
- '' => '蜙',
- '' => '蜛',
- '' => '蝃',
- '' => '蜬',
- '' => '蝁',
- '' => '蜾',
- '' => '蝆',
- '' => '蜠',
- '' => '蜲',
- '' => '蜪',
- '' => '蜭',
- '' => '蜼',
- '' => '蜒',
- '' => '蜺',
- '' => '蜱',
- '' => '蜵',
- '' => '蝂',
- '' => '蜦',
- '' => '蜧',
- '' => '蜸',
- '' => '蜤',
- '' => '蜚',
- '' => '蜰',
- '' => '蜑',
- '' => '裷',
- '' => '裧',
- '' => '裱',
- '' => '裲',
- '' => '裺',
- '' => '裾',
- '' => '裮',
- '' => '裼',
- '' => '裶',
- '' => '裻',
- '@' => '裰',
- 'A' => '裬',
- 'B' => '裫',
- 'C' => '覝',
- 'D' => '覡',
- 'E' => '覟',
- 'F' => '覞',
- 'G' => '觩',
- 'H' => '觫',
- 'I' => '觨',
- 'J' => '誫',
- 'K' => '誙',
- 'L' => '誋',
- 'M' => '誒',
- 'N' => '誏',
- 'O' => '誖',
- 'P' => '谽',
- 'Q' => '豨',
- 'R' => '豩',
- 'S' => '賕',
- 'T' => '賏',
- 'U' => '賗',
- 'V' => '趖',
- 'W' => '踉',
- 'X' => '踂',
- 'Y' => '跿',
- 'Z' => '踍',
- '[' => '跽',
- '\\' => '踊',
- ']' => '踃',
- '^' => '踇',
- '_' => '踆',
- '`' => '踅',
- 'a' => '跾',
- 'b' => '踀',
- 'c' => '踄',
- 'd' => '輐',
- 'e' => '輑',
- 'f' => '輎',
- 'g' => '輍',
- 'h' => '鄣',
- 'i' => '鄜',
- 'j' => '鄠',
- 'k' => '鄢',
- 'l' => '鄟',
- 'm' => '鄝',
- 'n' => '鄚',
- 'o' => '鄤',
- 'p' => '鄡',
- 'q' => '鄛',
- 'r' => '酺',
- 's' => '酲',
- 't' => '酹',
- 'u' => '酳',
- 'v' => '銥',
- 'w' => '銤',
- 'x' => '鉶',
- 'y' => '銛',
- 'z' => '鉺',
- '{' => '銠',
- '|' => '銔',
- '}' => '銪',
- '~' => '銍',
- '' => '銦',
- '' => '銚',
- '' => '銫',
- '' => '鉹',
- '' => '銗',
- '' => '鉿',
- '' => '銣',
- '' => '鋮',
- '' => '銎',
- '' => '銂',
- '' => '銕',
- '' => '銢',
- '' => '鉽',
- '' => '銈',
- '' => '銡',
- '' => '銊',
- '' => '銆',
- '' => '銌',
- '' => '銙',
- '' => '銧',
- '' => '鉾',
- '' => '銇',
- '' => '銩',
- '' => '銝',
- '' => '銋',
- '' => '鈭',
- '' => '隞',
- '' => '隡',
- '' => '雿',
- '' => '靘',
- '' => '靽',
- '' => '靺',
- '' => '靾',
- '' => '鞃',
- '' => '鞀',
- '' => '鞂',
- '' => '靻',
- '' => '鞄',
- '' => '鞁',
- '' => '靿',
- '' => '韎',
- '' => '韍',
- '' => '頖',
- '' => '颭',
- '' => '颮',
- '' => '餂',
- '' => '餀',
- '' => '餇',
- '' => '馝',
- '' => '馜',
- '' => '駃',
- '' => '馹',
- '' => '馻',
- '' => '馺',
- '' => '駂',
- '' => '馽',
- '' => '駇',
- '' => '骱',
- '' => '髣',
- '' => '髧',
- '' => '鬾',
- '' => '鬿',
- '' => '魠',
- '' => '魡',
- '' => '魟',
- '' => '鳱',
- '' => '鳲',
- '' => '鳵',
- '' => '麧',
- '' => '僿',
- '' => '儃',
- '' => '儰',
- '' => '僸',
- '' => '儆',
- '' => '儇',
- '' => '僶',
- '' => '僾',
- '' => '儋',
- '' => '儌',
- '' => '僽',
- '' => '儊',
- '' => '劋',
- '' => '劌',
- '' => '勱',
- '' => '勯',
- '' => '噈',
- '' => '噂',
- '' => '噌',
- '' => '嘵',
- '' => '噁',
- '' => '噊',
- '' => '噉',
- '' => '噆',
- '' => '噘',
- '@' => '噚',
- 'A' => '噀',
- 'B' => '嘳',
- 'C' => '嘽',
- 'D' => '嘬',
- 'E' => '嘾',
- 'F' => '嘸',
- 'G' => '嘪',
- 'H' => '嘺',
- 'I' => '圚',
- 'J' => '墫',
- 'K' => '墝',
- 'L' => '墱',
- 'M' => '墠',
- 'N' => '墣',
- 'O' => '墯',
- 'P' => '墬',
- 'Q' => '墥',
- 'R' => '墡',
- 'S' => '壿',
- 'T' => '嫿',
- 'U' => '嫴',
- 'V' => '嫽',
- 'W' => '嫷',
- 'X' => '嫶',
- 'Y' => '嬃',
- 'Z' => '嫸',
- '[' => '嬂',
- '\\' => '嫹',
- ']' => '嬁',
- '^' => '嬇',
- '_' => '嬅',
- '`' => '嬏',
- 'a' => '屧',
- 'b' => '嶙',
- 'c' => '嶗',
- 'd' => '嶟',
- 'e' => '嶒',
- 'f' => '嶢',
- 'g' => '嶓',
- 'h' => '嶕',
- 'i' => '嶠',
- 'j' => '嶜',
- 'k' => '嶡',
- 'l' => '嶚',
- 'm' => '嶞',
- 'n' => '幩',
- 'o' => '幝',
- 'p' => '幠',
- 'q' => '幜',
- 'r' => '緳',
- 's' => '廛',
- 't' => '廞',
- 'u' => '廡',
- 'v' => '彉',
- 'w' => '徲',
- 'x' => '憋',
- 'y' => '憃',
- 'z' => '慹',
- '{' => '憱',
- '|' => '憰',
- '}' => '憢',
- '~' => '憉',
- '' => '憛',
- '' => '憓',
- '' => '憯',
- '' => '憭',
- '' => '憟',
- '' => '憒',
- '' => '憪',
- '' => '憡',
- '' => '憍',
- '' => '慦',
- '' => '憳',
- '' => '戭',
- '' => '摮',
- '' => '摰',
- '' => '撖',
- '' => '撠',
- '' => '撅',
- '' => '撗',
- '' => '撜',
- '' => '撏',
- '' => '撋',
- '' => '撊',
- '' => '撌',
- '' => '撣',
- '' => '撟',
- '' => '摨',
- '' => '撱',
- '' => '撘',
- '' => '敶',
- '' => '敺',
- '' => '敹',
- '' => '敻',
- '' => '斲',
- '' => '斳',
- '' => '暵',
- '' => '暰',
- '' => '暩',
- '' => '暲',
- '' => '暷',
- '' => '暪',
- '' => '暯',
- '' => '樀',
- '' => '樆',
- '' => '樗',
- '' => '槥',
- '' => '槸',
- '' => '樕',
- '' => '槱',
- '' => '槤',
- '' => '樠',
- '' => '槿',
- '' => '槬',
- '' => '槢',
- '' => '樛',
- '' => '樝',
- '' => '槾',
- '' => '樧',
- '' => '槲',
- '' => '槮',
- '' => '樔',
- '' => '槷',
- '' => '槧',
- '' => '橀',
- '' => '樈',
- '' => '槦',
- '' => '槻',
- '' => '樍',
- '' => '槼',
- '' => '槫',
- '' => '樉',
- '' => '樄',
- '' => '樘',
- '' => '樥',
- '' => '樏',
- '' => '槶',
- '' => '樦',
- '' => '樇',
- '' => '槴',
- '' => '樖',
- '' => '歑',
- '' => '殥',
- '' => '殣',
- '' => '殢',
- '' => '殦',
- '' => '氁',
- '' => '氀',
- '' => '毿',
- '' => '氂',
- '' => '潁',
- '' => '漦',
- '' => '潾',
- '' => '澇',
- '' => '濆',
- '' => '澒',
- '@' => '澍',
- 'A' => '澉',
- 'B' => '澌',
- 'C' => '潢',
- 'D' => '潏',
- 'E' => '澅',
- 'F' => '潚',
- 'G' => '澖',
- 'H' => '潶',
- 'I' => '潬',
- 'J' => '澂',
- 'K' => '潕',
- 'L' => '潲',
- 'M' => '潒',
- 'N' => '潐',
- 'O' => '潗',
- 'P' => '澔',
- 'Q' => '澓',
- 'R' => '潝',
- 'S' => '漀',
- 'T' => '潡',
- 'U' => '潫',
- 'V' => '潽',
- 'W' => '潧',
- 'X' => '澐',
- 'Y' => '潓',
- 'Z' => '澋',
- '[' => '潩',
- '\\' => '潿',
- ']' => '澕',
- '^' => '潣',
- '_' => '潷',
- '`' => '潪',
- 'a' => '潻',
- 'b' => '熲',
- 'c' => '熯',
- 'd' => '熛',
- 'e' => '熰',
- 'f' => '熠',
- 'g' => '熚',
- 'h' => '熩',
- 'i' => '熵',
- 'j' => '熝',
- 'k' => '熥',
- 'l' => '熞',
- 'm' => '熤',
- 'n' => '熡',
- 'o' => '熪',
- 'p' => '熜',
- 'q' => '熧',
- 'r' => '熳',
- 's' => '犘',
- 't' => '犚',
- 'u' => '獘',
- 'v' => '獒',
- 'w' => '獞',
- 'x' => '獟',
- 'y' => '獠',
- 'z' => '獝',
- '{' => '獛',
- '|' => '獡',
- '}' => '獚',
- '~' => '獙',
- '' => '獢',
- '' => '璇',
- '' => '璉',
- '' => '璊',
- '' => '璆',
- '' => '璁',
- '' => '瑽',
- '' => '璅',
- '' => '璈',
- '' => '瑼',
- '' => '瑹',
- '' => '甈',
- '' => '甇',
- '' => '畾',
- '' => '瘥',
- '' => '瘞',
- '' => '瘙',
- '' => '瘝',
- '' => '瘜',
- '' => '瘣',
- '' => '瘚',
- '' => '瘨',
- '' => '瘛',
- '' => '皜',
- '' => '皝',
- '' => '皞',
- '' => '皛',
- '' => '瞍',
- '' => '瞏',
- '' => '瞉',
- '' => '瞈',
- '' => '磍',
- '' => '碻',
- '' => '磏',
- '' => '磌',
- '' => '磑',
- '' => '磎',
- '' => '磔',
- '' => '磈',
- '' => '磃',
- '' => '磄',
- '' => '磉',
- '' => '禚',
- '' => '禡',
- '' => '禠',
- '' => '禜',
- '' => '禢',
- '' => '禛',
- '' => '歶',
- '' => '稹',
- '' => '窲',
- '' => '窴',
- '' => '窳',
- '' => '箷',
- '' => '篋',
- '' => '箾',
- '' => '箬',
- '' => '篎',
- '' => '箯',
- '' => '箹',
- '' => '篊',
- '' => '箵',
- '' => '糅',
- '' => '糈',
- '' => '糌',
- '' => '糋',
- '' => '緷',
- '' => '緛',
- '' => '緪',
- '' => '緧',
- '' => '緗',
- '' => '緡',
- '' => '縃',
- '' => '緺',
- '' => '緦',
- '' => '緶',
- '' => '緱',
- '' => '緰',
- '' => '緮',
- '' => '緟',
- '' => '罶',
- '' => '羬',
- '' => '羰',
- '' => '羭',
- '' => '翭',
- '' => '翫',
- '' => '翪',
- '' => '翬',
- '' => '翦',
- '' => '翨',
- '' => '聤',
- '' => '聧',
- '' => '膣',
- '' => '膟',
- '@' => '膞',
- 'A' => '膕',
- 'B' => '膢',
- 'C' => '膙',
- 'D' => '膗',
- 'E' => '舖',
- 'F' => '艏',
- 'G' => '艓',
- 'H' => '艒',
- 'I' => '艐',
- 'J' => '艎',
- 'K' => '艑',
- 'L' => '蔤',
- 'M' => '蔻',
- 'N' => '蔏',
- 'O' => '蔀',
- 'P' => '蔩',
- 'Q' => '蔎',
- 'R' => '蔉',
- 'S' => '蔍',
- 'T' => '蔟',
- 'U' => '蔊',
- 'V' => '蔧',
- 'W' => '蔜',
- 'X' => '蓻',
- 'Y' => '蔫',
- 'Z' => '蓺',
- '[' => '蔈',
- '\\' => '蔌',
- ']' => '蓴',
- '^' => '蔪',
- '_' => '蓲',
- '`' => '蔕',
- 'a' => '蓷',
- 'b' => '蓫',
- 'c' => '蓳',
- 'd' => '蓼',
- 'e' => '蔒',
- 'f' => '蓪',
- 'g' => '蓩',
- 'h' => '蔖',
- 'i' => '蓾',
- 'j' => '蔨',
- 'k' => '蔝',
- 'l' => '蔮',
- 'm' => '蔂',
- 'n' => '蓽',
- 'o' => '蔞',
- 'p' => '蓶',
- 'q' => '蔱',
- 'r' => '蔦',
- 's' => '蓧',
- 't' => '蓨',
- 'u' => '蓰',
- 'v' => '蓯',
- 'w' => '蓹',
- 'x' => '蔘',
- 'y' => '蔠',
- 'z' => '蔰',
- '{' => '蔋',
- '|' => '蔙',
- '}' => '蔯',
- '~' => '虢',
- '' => '蝖',
- '' => '蝣',
- '' => '蝤',
- '' => '蝷',
- '' => '蟡',
- '' => '蝳',
- '' => '蝘',
- '' => '蝔',
- '' => '蝛',
- '' => '蝒',
- '' => '蝡',
- '' => '蝚',
- '' => '蝑',
- '' => '蝞',
- '' => '蝭',
- '' => '蝪',
- '' => '蝐',
- '' => '蝎',
- '' => '蝟',
- '' => '蝝',
- '' => '蝯',
- '' => '蝬',
- '' => '蝺',
- '' => '蝮',
- '' => '蝜',
- '' => '蝥',
- '' => '蝏',
- '' => '蝻',
- '' => '蝵',
- '' => '蝢',
- '' => '蝧',
- '' => '蝩',
- '' => '衚',
- '' => '褅',
- '' => '褌',
- '' => '褔',
- '' => '褋',
- '' => '褗',
- '' => '褘',
- '' => '褙',
- '' => '褆',
- '' => '褖',
- '' => '褑',
- '' => '褎',
- '' => '褉',
- '' => '覢',
- '' => '覤',
- '' => '覣',
- '' => '觭',
- '' => '觰',
- '' => '觬',
- '' => '諏',
- '' => '諆',
- '' => '誸',
- '' => '諓',
- '' => '諑',
- '' => '諔',
- '' => '諕',
- '' => '誻',
- '' => '諗',
- '' => '誾',
- '' => '諀',
- '' => '諅',
- '' => '諘',
- '' => '諃',
- '' => '誺',
- '' => '誽',
- '' => '諙',
- '' => '谾',
- '' => '豍',
- '' => '貏',
- '' => '賥',
- '' => '賟',
- '' => '賙',
- '' => '賨',
- '' => '賚',
- '' => '賝',
- '' => '賧',
- '' => '趠',
- '' => '趜',
- '' => '趡',
- '' => '趛',
- '' => '踠',
- '' => '踣',
- '' => '踥',
- '' => '踤',
- '' => '踮',
- '' => '踕',
- '' => '踛',
- '' => '踖',
- '' => '踑',
- '' => '踙',
- '' => '踦',
- '' => '踧',
- '@' => '踔',
- 'A' => '踒',
- 'B' => '踘',
- 'C' => '踓',
- 'D' => '踜',
- 'E' => '踗',
- 'F' => '踚',
- 'G' => '輬',
- 'H' => '輤',
- 'I' => '輘',
- 'J' => '輚',
- 'K' => '輠',
- 'L' => '輣',
- 'M' => '輖',
- 'N' => '輗',
- 'O' => '遳',
- 'P' => '遰',
- 'Q' => '遯',
- 'R' => '遧',
- 'S' => '遫',
- 'T' => '鄯',
- 'U' => '鄫',
- 'V' => '鄩',
- 'W' => '鄪',
- 'X' => '鄲',
- 'Y' => '鄦',
- 'Z' => '鄮',
- '[' => '醅',
- '\\' => '醆',
- ']' => '醊',
- '^' => '醁',
- '_' => '醂',
- '`' => '醄',
- 'a' => '醀',
- 'b' => '鋐',
- 'c' => '鋃',
- 'd' => '鋄',
- 'e' => '鋀',
- 'f' => '鋙',
- 'g' => '銶',
- 'h' => '鋏',
- 'i' => '鋱',
- 'j' => '鋟',
- 'k' => '鋘',
- 'l' => '鋩',
- 'm' => '鋗',
- 'n' => '鋝',
- 'o' => '鋌',
- 'p' => '鋯',
- 'q' => '鋂',
- 'r' => '鋨',
- 's' => '鋊',
- 't' => '鋈',
- 'u' => '鋎',
- 'v' => '鋦',
- 'w' => '鋍',
- 'x' => '鋕',
- 'y' => '鋉',
- 'z' => '鋠',
- '{' => '鋞',
- '|' => '鋧',
- '}' => '鋑',
- '~' => '鋓',
- '' => '銵',
- '' => '鋡',
- '' => '鋆',
- '' => '銴',
- '' => '镼',
- '' => '閬',
- '' => '閫',
- '' => '閮',
- '' => '閰',
- '' => '隤',
- '' => '隢',
- '' => '雓',
- '' => '霅',
- '' => '霈',
- '' => '霂',
- '' => '靚',
- '' => '鞊',
- '' => '鞎',
- '' => '鞈',
- '' => '韐',
- '' => '韏',
- '' => '頞',
- '' => '頝',
- '' => '頦',
- '' => '頩',
- '' => '頨',
- '' => '頠',
- '' => '頛',
- '' => '頧',
- '' => '颲',
- '' => '餈',
- '' => '飺',
- '' => '餑',
- '' => '餔',
- '' => '餖',
- '' => '餗',
- '' => '餕',
- '' => '駜',
- '' => '駍',
- '' => '駏',
- '' => '駓',
- '' => '駔',
- '' => '駎',
- '' => '駉',
- '' => '駖',
- '' => '駘',
- '' => '駋',
- '' => '駗',
- '' => '駌',
- '' => '骳',
- '' => '髬',
- '' => '髫',
- '' => '髳',
- '' => '髲',
- '' => '髱',
- '' => '魆',
- '' => '魃',
- '' => '魧',
- '' => '魴',
- '' => '魱',
- '' => '魦',
- '' => '魶',
- '' => '魵',
- '' => '魰',
- '' => '魨',
- '' => '魤',
- '' => '魬',
- '' => '鳼',
- '' => '鳺',
- '' => '鳽',
- '' => '鳿',
- '' => '鳷',
- '' => '鴇',
- '' => '鴀',
- '' => '鳹',
- '' => '鳻',
- '' => '鴈',
- '' => '鴅',
- '' => '鴄',
- '' => '麃',
- '' => '黓',
- '' => '鼏',
- '' => '鼐',
- '' => '儜',
- '' => '儓',
- '' => '儗',
- '' => '儚',
- '' => '儑',
- '' => '凞',
- '' => '匴',
- '' => '叡',
- '' => '噰',
- '' => '噠',
- '' => '噮',
- '@' => '噳',
- 'A' => '噦',
- 'B' => '噣',
- 'C' => '噭',
- 'D' => '噲',
- 'E' => '噞',
- 'F' => '噷',
- 'G' => '圜',
- 'H' => '圛',
- 'I' => '壈',
- 'J' => '墽',
- 'K' => '壉',
- 'L' => '墿',
- 'M' => '墺',
- 'N' => '壂',
- 'O' => '墼',
- 'P' => '壆',
- 'Q' => '嬗',
- 'R' => '嬙',
- 'S' => '嬛',
- 'T' => '嬡',
- 'U' => '嬔',
- 'V' => '嬓',
- 'W' => '嬐',
- 'X' => '嬖',
- 'Y' => '嬨',
- 'Z' => '嬚',
- '[' => '嬠',
- '\\' => '嬞',
- ']' => '寯',
- '^' => '嶬',
- '_' => '嶱',
- '`' => '嶩',
- 'a' => '嶧',
- 'b' => '嶵',
- 'c' => '嶰',
- 'd' => '嶮',
- 'e' => '嶪',
- 'f' => '嶨',
- 'g' => '嶲',
- 'h' => '嶭',
- 'i' => '嶯',
- 'j' => '嶴',
- 'k' => '幧',
- 'l' => '幨',
- 'm' => '幦',
- 'n' => '幯',
- 'o' => '廩',
- 'p' => '廧',
- 'q' => '廦',
- 'r' => '廨',
- 's' => '廥',
- 't' => '彋',
- 'u' => '徼',
- 'v' => '憝',
- 'w' => '憨',
- 'x' => '憖',
- 'y' => '懅',
- 'z' => '憴',
- '{' => '懆',
- '|' => '懁',
- '}' => '懌',
- '~' => '憺',
- '' => '憿',
- '' => '憸',
- '' => '憌',
- '' => '擗',
- '' => '擖',
- '' => '擐',
- '' => '擏',
- '' => '擉',
- '' => '撽',
- '' => '撉',
- '' => '擃',
- '' => '擛',
- '' => '擳',
- '' => '擙',
- '' => '攳',
- '' => '敿',
- '' => '敼',
- '' => '斢',
- '' => '曈',
- '' => '暾',
- '' => '曀',
- '' => '曊',
- '' => '曋',
- '' => '曏',
- '' => '暽',
- '' => '暻',
- '' => '暺',
- '' => '曌',
- '' => '朣',
- '' => '樴',
- '' => '橦',
- '' => '橉',
- '' => '橧',
- '' => '樲',
- '' => '橨',
- '' => '樾',
- '' => '橝',
- '' => '橭',
- '' => '橶',
- '' => '橛',
- '' => '橑',
- '' => '樨',
- '' => '橚',
- '' => '樻',
- '' => '樿',
- '' => '橁',
- '' => '橪',
- '' => '橤',
- '' => '橐',
- '' => '橏',
- '' => '橔',
- '' => '橯',
- '' => '橩',
- '' => '橠',
- '' => '樼',
- '' => '橞',
- '' => '橖',
- '' => '橕',
- '' => '橍',
- '' => '橎',
- '' => '橆',
- '' => '歕',
- '' => '歔',
- '' => '歖',
- '' => '殧',
- '' => '殪',
- '' => '殫',
- '' => '毈',
- '' => '毇',
- '' => '氄',
- '' => '氃',
- '' => '氆',
- '' => '澭',
- '' => '濋',
- '' => '澣',
- '' => '濇',
- '' => '澼',
- '' => '濎',
- '' => '濈',
- '' => '潞',
- '' => '濄',
- '' => '澽',
- '' => '澞',
- '' => '濊',
- '' => '澨',
- '' => '瀄',
- '' => '澥',
- '' => '澮',
- '' => '澺',
- '' => '澬',
- '' => '澪',
- '' => '濏',
- '' => '澿',
- '' => '澸',
- '@' => '澢',
- 'A' => '濉',
- 'B' => '澫',
- 'C' => '濍',
- 'D' => '澯',
- 'E' => '澲',
- 'F' => '澰',
- 'G' => '燅',
- 'H' => '燂',
- 'I' => '熿',
- 'J' => '熸',
- 'K' => '燖',
- 'L' => '燀',
- 'M' => '燁',
- 'N' => '燋',
- 'O' => '燔',
- 'P' => '燊',
- 'Q' => '燇',
- 'R' => '燏',
- 'S' => '熽',
- 'T' => '燘',
- 'U' => '熼',
- 'V' => '燆',
- 'W' => '燚',
- 'X' => '燛',
- 'Y' => '犝',
- 'Z' => '犞',
- '[' => '獩',
- '\\' => '獦',
- ']' => '獧',
- '^' => '獬',
- '_' => '獥',
- '`' => '獫',
- 'a' => '獪',
- 'b' => '瑿',
- 'c' => '璚',
- 'd' => '璠',
- 'e' => '璔',
- 'f' => '璒',
- 'g' => '璕',
- 'h' => '璡',
- 'i' => '甋',
- 'j' => '疀',
- 'k' => '瘯',
- 'l' => '瘭',
- 'm' => '瘱',
- 'n' => '瘽',
- 'o' => '瘳',
- 'p' => '瘼',
- 'q' => '瘵',
- 'r' => '瘲',
- 's' => '瘰',
- 't' => '皻',
- 'u' => '盦',
- 'v' => '瞚',
- 'w' => '瞝',
- 'x' => '瞡',
- 'y' => '瞜',
- 'z' => '瞛',
- '{' => '瞢',
- '|' => '瞣',
- '}' => '瞕',
- '~' => '瞙',
- '' => '瞗',
- '' => '磝',
- '' => '磩',
- '' => '磥',
- '' => '磪',
- '' => '磞',
- '' => '磣',
- '' => '磛',
- '' => '磡',
- '' => '磢',
- '' => '磭',
- '' => '磟',
- '' => '磠',
- '' => '禤',
- '' => '穄',
- '' => '穈',
- '' => '穇',
- '' => '窶',
- '' => '窸',
- '' => '窵',
- '' => '窱',
- '' => '窷',
- '' => '篞',
- '' => '篣',
- '' => '篧',
- '' => '篝',
- '' => '篕',
- '' => '篥',
- '' => '篚',
- '' => '篨',
- '' => '篹',
- '' => '篔',
- '' => '篪',
- '' => '篢',
- '' => '篜',
- '' => '篫',
- '' => '篘',
- '' => '篟',
- '' => '糒',
- '' => '糔',
- '' => '糗',
- '' => '糐',
- '' => '糑',
- '' => '縒',
- '' => '縡',
- '' => '縗',
- '' => '縌',
- '' => '縟',
- '' => '縠',
- '' => '縓',
- '' => '縎',
- '' => '縜',
- '' => '縕',
- '' => '縚',
- '' => '縢',
- '' => '縋',
- '' => '縏',
- '' => '縖',
- '' => '縍',
- '' => '縔',
- '' => '縥',
- '' => '縤',
- '' => '罃',
- '' => '罻',
- '' => '罼',
- '' => '罺',
- '' => '羱',
- '' => '翯',
- '' => '耪',
- '' => '耩',
- '' => '聬',
- '' => '膱',
- '' => '膦',
- '' => '膮',
- '' => '膹',
- '' => '膵',
- '' => '膫',
- '' => '膰',
- '' => '膬',
- '' => '膴',
- '' => '膲',
- '' => '膷',
- '' => '膧',
- '' => '臲',
- '' => '艕',
- '' => '艖',
- '' => '艗',
- '' => '蕖',
- '' => '蕅',
- '' => '蕫',
- '' => '蕍',
- '' => '蕓',
- '' => '蕡',
- '' => '蕘',
- '@' => '蕀',
- 'A' => '蕆',
- 'B' => '蕤',
- 'C' => '蕁',
- 'D' => '蕢',
- 'E' => '蕄',
- 'F' => '蕑',
- 'G' => '蕇',
- 'H' => '蕣',
- 'I' => '蔾',
- 'J' => '蕛',
- 'K' => '蕱',
- 'L' => '蕎',
- 'M' => '蕮',
- 'N' => '蕵',
- 'O' => '蕕',
- 'P' => '蕧',
- 'Q' => '蕠',
- 'R' => '薌',
- 'S' => '蕦',
- 'T' => '蕝',
- 'U' => '蕔',
- 'V' => '蕥',
- 'W' => '蕬',
- 'X' => '虣',
- 'Y' => '虥',
- 'Z' => '虤',
- '[' => '螛',
- '\\' => '螏',
- ']' => '螗',
- '^' => '螓',
- '_' => '螒',
- '`' => '螈',
- 'a' => '螁',
- 'b' => '螖',
- 'c' => '螘',
- 'd' => '蝹',
- 'e' => '螇',
- 'f' => '螣',
- 'g' => '螅',
- 'h' => '螐',
- 'i' => '螑',
- 'j' => '螝',
- 'k' => '螄',
- 'l' => '螔',
- 'm' => '螜',
- 'n' => '螚',
- 'o' => '螉',
- 'p' => '褞',
- 'q' => '褦',
- 'r' => '褰',
- 's' => '褭',
- 't' => '褮',
- 'u' => '褧',
- 'v' => '褱',
- 'w' => '褢',
- 'x' => '褩',
- 'y' => '褣',
- 'z' => '褯',
- '{' => '褬',
- '|' => '褟',
- '}' => '觱',
- '~' => '諠',
- '' => '諢',
- '' => '諲',
- '' => '諴',
- '' => '諵',
- '' => '諝',
- '' => '謔',
- '' => '諤',
- '' => '諟',
- '' => '諰',
- '' => '諈',
- '' => '諞',
- '' => '諡',
- '' => '諨',
- '' => '諿',
- '' => '諯',
- '' => '諻',
- '' => '貑',
- '' => '貒',
- '' => '貐',
- '' => '賵',
- '' => '賮',
- '' => '賱',
- '' => '賰',
- '' => '賳',
- '' => '赬',
- '' => '赮',
- '' => '趥',
- '' => '趧',
- '' => '踳',
- '' => '踾',
- '' => '踸',
- '' => '蹀',
- '' => '蹅',
- '' => '踶',
- '' => '踼',
- '' => '踽',
- '' => '蹁',
- '' => '踰',
- '' => '踿',
- '' => '躽',
- '' => '輶',
- '' => '輮',
- '' => '輵',
- '' => '輲',
- '' => '輹',
- '' => '輷',
- '' => '輴',
- '' => '遶',
- '' => '遹',
- '' => '遻',
- '' => '邆',
- '' => '郺',
- '' => '鄳',
- '' => '鄵',
- '' => '鄶',
- '' => '醓',
- '' => '醐',
- '' => '醑',
- '' => '醍',
- '' => '醏',
- '' => '錧',
- '' => '錞',
- '' => '錈',
- '' => '錟',
- '' => '錆',
- '' => '錏',
- '' => '鍺',
- '' => '錸',
- '' => '錼',
- '' => '錛',
- '' => '錣',
- '' => '錒',
- '' => '錁',
- '' => '鍆',
- '' => '錭',
- '' => '錎',
- '' => '錍',
- '' => '鋋',
- '' => '錝',
- '' => '鋺',
- '' => '錥',
- '' => '錓',
- '' => '鋹',
- '' => '鋷',
- '' => '錴',
- '' => '錂',
- '' => '錤',
- '' => '鋿',
- '' => '錩',
- '' => '錹',
- '' => '錵',
- '' => '錪',
- '' => '錔',
- '' => '錌',
- '@' => '錋',
- 'A' => '鋾',
- 'B' => '錉',
- 'C' => '錀',
- 'D' => '鋻',
- 'E' => '錖',
- 'F' => '閼',
- 'G' => '闍',
- 'H' => '閾',
- 'I' => '閹',
- 'J' => '閺',
- 'K' => '閶',
- 'L' => '閿',
- 'M' => '閵',
- 'N' => '閽',
- 'O' => '隩',
- 'P' => '雔',
- 'Q' => '霋',
- 'R' => '霒',
- 'S' => '霐',
- 'T' => '鞙',
- 'U' => '鞗',
- 'V' => '鞔',
- 'W' => '韰',
- 'X' => '韸',
- 'Y' => '頵',
- 'Z' => '頯',
- '[' => '頲',
- '\\' => '餤',
- ']' => '餟',
- '^' => '餧',
- '_' => '餩',
- '`' => '馞',
- 'a' => '駮',
- 'b' => '駬',
- 'c' => '駥',
- 'd' => '駤',
- 'e' => '駰',
- 'f' => '駣',
- 'g' => '駪',
- 'h' => '駩',
- 'i' => '駧',
- 'j' => '骹',
- 'k' => '骿',
- 'l' => '骴',
- 'm' => '骻',
- 'n' => '髶',
- 'o' => '髺',
- 'p' => '髹',
- 'q' => '髷',
- 'r' => '鬳',
- 's' => '鮀',
- 't' => '鮅',
- 'u' => '鮇',
- 'v' => '魼',
- 'w' => '魾',
- 'x' => '魻',
- 'y' => '鮂',
- 'z' => '鮓',
- '{' => '鮒',
- '|' => '鮐',
- '}' => '魺',
- '~' => '鮕',
- '' => '魽',
- '' => '鮈',
- '' => '鴥',
- '' => '鴗',
- '' => '鴠',
- '' => '鴞',
- '' => '鴔',
- '' => '鴩',
- '' => '鴝',
- '' => '鴘',
- '' => '鴢',
- '' => '鴐',
- '' => '鴙',
- '' => '鴟',
- '' => '麈',
- '' => '麆',
- '' => '麇',
- '' => '麮',
- '' => '麭',
- '' => '黕',
- '' => '黖',
- '' => '黺',
- '' => '鼒',
- '' => '鼽',
- '' => '儦',
- '' => '儥',
- '' => '儢',
- '' => '儤',
- '' => '儠',
- '' => '儩',
- '' => '勴',
- '' => '嚓',
- '' => '嚌',
- '' => '嚍',
- '' => '嚆',
- '' => '嚄',
- '' => '嚃',
- '' => '噾',
- '' => '嚂',
- '' => '噿',
- '' => '嚁',
- '' => '壖',
- '' => '壔',
- '' => '壏',
- '' => '壒',
- '' => '嬭',
- '' => '嬥',
- '' => '嬲',
- '' => '嬣',
- '' => '嬬',
- '' => '嬧',
- '' => '嬦',
- '' => '嬯',
- '' => '嬮',
- '' => '孻',
- '' => '寱',
- '' => '寲',
- '' => '嶷',
- '' => '幬',
- '' => '幪',
- '' => '徾',
- '' => '徻',
- '' => '懃',
- '' => '憵',
- '' => '憼',
- '' => '懧',
- '' => '懠',
- '' => '懥',
- '' => '懤',
- '' => '懨',
- '' => '懞',
- '' => '擯',
- '' => '擩',
- '' => '擣',
- '' => '擫',
- '' => '擤',
- '' => '擨',
- '' => '斁',
- '' => '斀',
- '' => '斶',
- '' => '旚',
- '' => '曒',
- '' => '檍',
- '' => '檖',
- '' => '檁',
- '' => '檥',
- '' => '檉',
- '' => '檟',
- '' => '檛',
- '' => '檡',
- '' => '檞',
- '' => '檇',
- '' => '檓',
- '' => '檎',
- '@' => '檕',
- 'A' => '檃',
- 'B' => '檨',
- 'C' => '檤',
- 'D' => '檑',
- 'E' => '橿',
- 'F' => '檦',
- 'G' => '檚',
- 'H' => '檅',
- 'I' => '檌',
- 'J' => '檒',
- 'K' => '歛',
- 'L' => '殭',
- 'M' => '氉',
- 'N' => '濌',
- 'O' => '澩',
- 'P' => '濴',
- 'Q' => '濔',
- 'R' => '濣',
- 'S' => '濜',
- 'T' => '濭',
- 'U' => '濧',
- 'V' => '濦',
- 'W' => '濞',
- 'X' => '濲',
- 'Y' => '濝',
- 'Z' => '濢',
- '[' => '濨',
- '\\' => '燡',
- ']' => '燱',
- '^' => '燨',
- '_' => '燲',
- '`' => '燤',
- 'a' => '燰',
- 'b' => '燢',
- 'c' => '獳',
- 'd' => '獮',
- 'e' => '獯',
- 'f' => '璗',
- 'g' => '璲',
- 'h' => '璫',
- 'i' => '璐',
- 'j' => '璪',
- 'k' => '璭',
- 'l' => '璱',
- 'm' => '璥',
- 'n' => '璯',
- 'o' => '甐',
- 'p' => '甑',
- 'q' => '甒',
- 'r' => '甏',
- 's' => '疄',
- 't' => '癃',
- 'u' => '癈',
- 'v' => '癉',
- 'w' => '癇',
- 'x' => '皤',
- 'y' => '盩',
- 'z' => '瞵',
- '{' => '瞫',
- '|' => '瞲',
- '}' => '瞷',
- '~' => '瞶',
- '' => '瞴',
- '' => '瞱',
- '' => '瞨',
- '' => '矰',
- '' => '磳',
- '' => '磽',
- '' => '礂',
- '' => '磻',
- '' => '磼',
- '' => '磲',
- '' => '礅',
- '' => '磹',
- '' => '磾',
- '' => '礄',
- '' => '禫',
- '' => '禨',
- '' => '穜',
- '' => '穛',
- '' => '穖',
- '' => '穘',
- '' => '穔',
- '' => '穚',
- '' => '窾',
- '' => '竀',
- '' => '竁',
- '' => '簅',
- '' => '簏',
- '' => '篲',
- '' => '簀',
- '' => '篿',
- '' => '篻',
- '' => '簎',
- '' => '篴',
- '' => '簋',
- '' => '篳',
- '' => '簂',
- '' => '簉',
- '' => '簃',
- '' => '簁',
- '' => '篸',
- '' => '篽',
- '' => '簆',
- '' => '篰',
- '' => '篱',
- '' => '簐',
- '' => '簊',
- '' => '糨',
- '' => '縭',
- '' => '縼',
- '' => '繂',
- '' => '縳',
- '' => '顈',
- '' => '縸',
- '' => '縪',
- '' => '繉',
- '' => '繀',
- '' => '繇',
- '' => '縩',
- '' => '繌',
- '' => '縰',
- '' => '縻',
- '' => '縶',
- '' => '繄',
- '' => '縺',
- '' => '罅',
- '' => '罿',
- '' => '罾',
- '' => '罽',
- '' => '翴',
- '' => '翲',
- '' => '耬',
- '' => '膻',
- '' => '臄',
- '' => '臌',
- '' => '臊',
- '' => '臅',
- '' => '臇',
- '' => '膼',
- '' => '臩',
- '' => '艛',
- '' => '艚',
- '' => '艜',
- '' => '薃',
- '' => '薀',
- '' => '薏',
- '' => '薧',
- '' => '薕',
- '' => '薠',
- '' => '薋',
- '' => '薣',
- '' => '蕻',
- '' => '薤',
- '' => '薚',
- '' => '薞',
- '@' => '蕷',
- 'A' => '蕼',
- 'B' => '薉',
- 'C' => '薡',
- 'D' => '蕺',
- 'E' => '蕸',
- 'F' => '蕗',
- 'G' => '薎',
- 'H' => '薖',
- 'I' => '薆',
- 'J' => '薍',
- 'K' => '薙',
- 'L' => '薝',
- 'M' => '薁',
- 'N' => '薢',
- 'O' => '薂',
- 'P' => '薈',
- 'Q' => '薅',
- 'R' => '蕹',
- 'S' => '蕶',
- 'T' => '薘',
- 'U' => '薐',
- 'V' => '薟',
- 'W' => '虨',
- 'X' => '螾',
- 'Y' => '螪',
- 'Z' => '螭',
- '[' => '蟅',
- '\\' => '螰',
- ']' => '螬',
- '^' => '螹',
- '_' => '螵',
- '`' => '螼',
- 'a' => '螮',
- 'b' => '蟉',
- 'c' => '蟃',
- 'd' => '蟂',
- 'e' => '蟌',
- 'f' => '螷',
- 'g' => '螯',
- 'h' => '蟄',
- 'i' => '蟊',
- 'j' => '螴',
- 'k' => '螶',
- 'l' => '螿',
- 'm' => '螸',
- 'n' => '螽',
- 'o' => '蟞',
- 'p' => '螲',
- 'q' => '褵',
- 'r' => '褳',
- 's' => '褼',
- 't' => '褾',
- 'u' => '襁',
- 'v' => '襒',
- 'w' => '褷',
- 'x' => '襂',
- 'y' => '覭',
- 'z' => '覯',
- '{' => '覮',
- '|' => '觲',
- '}' => '觳',
- '~' => '謞',
- '' => '謘',
- '' => '謖',
- '' => '謑',
- '' => '謅',
- '' => '謋',
- '' => '謢',
- '' => '謏',
- '' => '謒',
- '' => '謕',
- '' => '謇',
- '' => '謍',
- '' => '謈',
- '' => '謆',
- '' => '謜',
- '' => '謓',
- '' => '謚',
- '' => '豏',
- '' => '豰',
- '' => '豲',
- '' => '豱',
- '' => '豯',
- '' => '貕',
- '' => '貔',
- '' => '賹',
- '' => '赯',
- '' => '蹎',
- '' => '蹍',
- '' => '蹓',
- '' => '蹐',
- '' => '蹌',
- '' => '蹇',
- '' => '轃',
- '' => '轀',
- '' => '邅',
- '' => '遾',
- '' => '鄸',
- '' => '醚',
- '' => '醢',
- '' => '醛',
- '' => '醙',
- '' => '醟',
- '' => '醡',
- '' => '醝',
- '' => '醠',
- '' => '鎡',
- '' => '鎃',
- '' => '鎯',
- '' => '鍤',
- '' => '鍖',
- '' => '鍇',
- '' => '鍼',
- '' => '鍘',
- '' => '鍜',
- '' => '鍶',
- '' => '鍉',
- '' => '鍐',
- '' => '鍑',
- '' => '鍠',
- '' => '鍭',
- '' => '鎏',
- '' => '鍌',
- '' => '鍪',
- '' => '鍹',
- '' => '鍗',
- '' => '鍕',
- '' => '鍒',
- '' => '鍏',
- '' => '鍱',
- '' => '鍷',
- '' => '鍻',
- '' => '鍡',
- '' => '鍞',
- '' => '鍣',
- '' => '鍧',
- '' => '鎀',
- '' => '鍎',
- '' => '鍙',
- '' => '闇',
- '' => '闀',
- '' => '闉',
- '' => '闃',
- '' => '闅',
- '' => '閷',
- '' => '隮',
- '' => '隰',
- '' => '隬',
- '' => '霠',
- '' => '霟',
- '' => '霘',
- '' => '霝',
- '' => '霙',
- '' => '鞚',
- '' => '鞡',
- '' => '鞜',
- '@' => '鞞',
- 'A' => '鞝',
- 'B' => '韕',
- 'C' => '韔',
- 'D' => '韱',
- 'E' => '顁',
- 'F' => '顄',
- 'G' => '顊',
- 'H' => '顉',
- 'I' => '顅',
- 'J' => '顃',
- 'K' => '餥',
- 'L' => '餫',
- 'M' => '餬',
- 'N' => '餪',
- 'O' => '餳',
- 'P' => '餲',
- 'Q' => '餯',
- 'R' => '餭',
- 'S' => '餱',
- 'T' => '餰',
- 'U' => '馘',
- 'V' => '馣',
- 'W' => '馡',
- 'X' => '騂',
- 'Y' => '駺',
- 'Z' => '駴',
- '[' => '駷',
- '\\' => '駹',
- ']' => '駸',
- '^' => '駶',
- '_' => '駻',
- '`' => '駽',
- 'a' => '駾',
- 'b' => '駼',
- 'c' => '騃',
- 'd' => '骾',
- 'e' => '髾',
- 'f' => '髽',
- 'g' => '鬁',
- 'h' => '髼',
- 'i' => '魈',
- 'j' => '鮚',
- 'k' => '鮨',
- 'l' => '鮞',
- 'm' => '鮛',
- 'n' => '鮦',
- 'o' => '鮡',
- 'p' => '鮥',
- 'q' => '鮤',
- 'r' => '鮆',
- 's' => '鮢',
- 't' => '鮠',
- 'u' => '鮯',
- 'v' => '鴳',
- 'w' => '鵁',
- 'x' => '鵧',
- 'y' => '鴶',
- 'z' => '鴮',
- '{' => '鴯',
- '|' => '鴱',
- '}' => '鴸',
- '~' => '鴰',
- '' => '鵅',
- '' => '鵂',
- '' => '鵃',
- '' => '鴾',
- '' => '鴷',
- '' => '鵀',
- '' => '鴽',
- '' => '翵',
- '' => '鴭',
- '' => '麊',
- '' => '麉',
- '' => '麍',
- '' => '麰',
- '' => '黈',
- '' => '黚',
- '' => '黻',
- '' => '黿',
- '' => '鼤',
- '' => '鼣',
- '' => '鼢',
- '' => '齔',
- '' => '龠',
- '' => '儱',
- '' => '儭',
- '' => '儮',
- '' => '嚘',
- '' => '嚜',
- '' => '嚗',
- '' => '嚚',
- '' => '嚝',
- '' => '嚙',
- '' => '奰',
- '' => '嬼',
- '' => '屩',
- '' => '屪',
- '' => '巀',
- '' => '幭',
- '' => '幮',
- '' => '懘',
- '' => '懟',
- '' => '懭',
- '' => '懮',
- '' => '懱',
- '' => '懪',
- '' => '懰',
- '' => '懫',
- '' => '懖',
- '' => '懩',
- '' => '擿',
- '' => '攄',
- '' => '擽',
- '' => '擸',
- '' => '攁',
- '' => '攃',
- '' => '擼',
- '' => '斔',
- '' => '旛',
- '' => '曚',
- '' => '曛',
- '' => '曘',
- '' => '櫅',
- '' => '檹',
- '' => '檽',
- '' => '櫡',
- '' => '櫆',
- '' => '檺',
- '' => '檶',
- '' => '檷',
- '' => '櫇',
- '' => '檴',
- '' => '檭',
- '' => '歞',
- '' => '毉',
- '' => '氋',
- '' => '瀇',
- '' => '瀌',
- '' => '瀍',
- '' => '瀁',
- '' => '瀅',
- '' => '瀔',
- '' => '瀎',
- '' => '濿',
- '' => '瀀',
- '' => '濻',
- '' => '瀦',
- '' => '濼',
- '' => '濷',
- '' => '瀊',
- '' => '爁',
- '' => '燿',
- '' => '燹',
- '' => '爃',
- '' => '燽',
- '' => '獶',
- '@' => '璸',
- 'A' => '瓀',
- 'B' => '璵',
- 'C' => '瓁',
- 'D' => '璾',
- 'E' => '璶',
- 'F' => '璻',
- 'G' => '瓂',
- 'H' => '甔',
- 'I' => '甓',
- 'J' => '癜',
- 'K' => '癤',
- 'L' => '癙',
- 'M' => '癐',
- 'N' => '癓',
- 'O' => '癗',
- 'P' => '癚',
- 'Q' => '皦',
- 'R' => '皽',
- 'S' => '盬',
- 'T' => '矂',
- 'U' => '瞺',
- 'V' => '磿',
- 'W' => '礌',
- 'X' => '礓',
- 'Y' => '礔',
- 'Z' => '礉',
- '[' => '礐',
- '\\' => '礒',
- ']' => '礑',
- '^' => '禭',
- '_' => '禬',
- '`' => '穟',
- 'a' => '簜',
- 'b' => '簩',
- 'c' => '簙',
- 'd' => '簠',
- 'e' => '簟',
- 'f' => '簭',
- 'g' => '簝',
- 'h' => '簦',
- 'i' => '簨',
- 'j' => '簢',
- 'k' => '簥',
- 'l' => '簰',
- 'm' => '繜',
- 'n' => '繐',
- 'o' => '繖',
- 'p' => '繣',
- 'q' => '繘',
- 'r' => '繢',
- 's' => '繟',
- 't' => '繑',
- 'u' => '繠',
- 'v' => '繗',
- 'w' => '繓',
- 'x' => '羵',
- 'y' => '羳',
- 'z' => '翷',
- '{' => '翸',
- '|' => '聵',
- '}' => '臑',
- '~' => '臒',
- '' => '臐',
- '' => '艟',
- '' => '艞',
- '' => '薴',
- '' => '藆',
- '' => '藀',
- '' => '藃',
- '' => '藂',
- '' => '薳',
- '' => '薵',
- '' => '薽',
- '' => '藇',
- '' => '藄',
- '' => '薿',
- '' => '藋',
- '' => '藎',
- '' => '藈',
- '' => '藅',
- '' => '薱',
- '' => '薶',
- '' => '藒',
- '' => '蘤',
- '' => '薸',
- '' => '薷',
- '' => '薾',
- '' => '虩',
- '' => '蟧',
- '' => '蟦',
- '' => '蟢',
- '' => '蟛',
- '' => '蟫',
- '' => '蟪',
- '' => '蟥',
- '' => '蟟',
- '' => '蟳',
- '' => '蟤',
- '' => '蟔',
- '' => '蟜',
- '' => '蟓',
- '' => '蟭',
- '' => '蟘',
- '' => '蟣',
- '' => '螤',
- '' => '蟗',
- '' => '蟙',
- '' => '蠁',
- '' => '蟴',
- '' => '蟨',
- '' => '蟝',
- '' => '襓',
- '' => '襋',
- '' => '襏',
- '' => '襌',
- '' => '襆',
- '' => '襐',
- '' => '襑',
- '' => '襉',
- '' => '謪',
- '' => '謧',
- '' => '謣',
- '' => '謳',
- '' => '謰',
- '' => '謵',
- '' => '譇',
- '' => '謯',
- '' => '謼',
- '' => '謾',
- '' => '謱',
- '' => '謥',
- '' => '謷',
- '' => '謦',
- '' => '謶',
- '' => '謮',
- '' => '謤',
- '' => '謻',
- '' => '謽',
- '' => '謺',
- '' => '豂',
- '' => '豵',
- '' => '貙',
- '' => '貘',
- '' => '貗',
- '' => '賾',
- '' => '贄',
- '' => '贂',
- '' => '贀',
- '' => '蹜',
- '' => '蹢',
- '' => '蹠',
- '' => '蹗',
- '' => '蹖',
- '' => '蹞',
- '' => '蹥',
- '' => '蹧',
- '@' => '蹛',
- 'A' => '蹚',
- 'B' => '蹡',
- 'C' => '蹝',
- 'D' => '蹩',
- 'E' => '蹔',
- 'F' => '轆',
- 'G' => '轇',
- 'H' => '轈',
- 'I' => '轋',
- 'J' => '鄨',
- 'K' => '鄺',
- 'L' => '鄻',
- 'M' => '鄾',
- 'N' => '醨',
- 'O' => '醥',
- 'P' => '醧',
- 'Q' => '醯',
- 'R' => '醪',
- 'S' => '鎵',
- 'T' => '鎌',
- 'U' => '鎒',
- 'V' => '鎷',
- 'W' => '鎛',
- 'X' => '鎝',
- 'Y' => '鎉',
- 'Z' => '鎧',
- '[' => '鎎',
- '\\' => '鎪',
- ']' => '鎞',
- '^' => '鎦',
- '_' => '鎕',
- '`' => '鎈',
- 'a' => '鎙',
- 'b' => '鎟',
- 'c' => '鎍',
- 'd' => '鎱',
- 'e' => '鎑',
- 'f' => '鎲',
- 'g' => '鎤',
- 'h' => '鎨',
- 'i' => '鎴',
- 'j' => '鎣',
- 'k' => '鎥',
- 'l' => '闒',
- 'm' => '闓',
- 'n' => '闑',
- 'o' => '隳',
- 'p' => '雗',
- 'q' => '雚',
- 'r' => '巂',
- 's' => '雟',
- 't' => '雘',
- 'u' => '雝',
- 'v' => '霣',
- 'w' => '霢',
- 'x' => '霥',
- 'y' => '鞬',
- 'z' => '鞮',
- '{' => '鞨',
- '|' => '鞫',
- '}' => '鞤',
- '~' => '鞪',
- '' => '鞢',
- '' => '鞥',
- '' => '韗',
- '' => '韙',
- '' => '韖',
- '' => '韘',
- '' => '韺',
- '' => '顐',
- '' => '顑',
- '' => '顒',
- '' => '颸',
- '' => '饁',
- '' => '餼',
- '' => '餺',
- '' => '騏',
- '' => '騋',
- '' => '騉',
- '' => '騍',
- '' => '騄',
- '' => '騑',
- '' => '騊',
- '' => '騅',
- '' => '騇',
- '' => '騆',
- '' => '髀',
- '' => '髜',
- '' => '鬈',
- '' => '鬄',
- '' => '鬅',
- '' => '鬩',
- '' => '鬵',
- '' => '魊',
- '' => '魌',
- '' => '魋',
- '' => '鯇',
- '' => '鯆',
- '' => '鯃',
- '' => '鮿',
- '' => '鯁',
- '' => '鮵',
- '' => '鮸',
- '' => '鯓',
- '' => '鮶',
- '' => '鯄',
- '' => '鮹',
- '' => '鮽',
- '' => '鵜',
- '' => '鵓',
- '' => '鵏',
- '' => '鵊',
- '' => '鵛',
- '' => '鵋',
- '' => '鵙',
- '' => '鵖',
- '' => '鵌',
- '' => '鵗',
- '' => '鵒',
- '' => '鵔',
- '' => '鵟',
- '' => '鵘',
- '' => '鵚',
- '' => '麎',
- '' => '麌',
- '' => '黟',
- '' => '鼁',
- '' => '鼀',
- '' => '鼖',
- '' => '鼥',
- '' => '鼫',
- '' => '鼪',
- '' => '鼩',
- '' => '鼨',
- '' => '齌',
- '' => '齕',
- '' => '儴',
- '' => '儵',
- '' => '劖',
- '' => '勷',
- '' => '厴',
- '' => '嚫',
- '' => '嚭',
- '' => '嚦',
- '' => '嚧',
- '' => '嚪',
- '' => '嚬',
- '' => '壚',
- '' => '壝',
- '' => '壛',
- '' => '夒',
- '' => '嬽',
- '' => '嬾',
- '' => '嬿',
- '' => '巃',
- '' => '幰',
- '@' => '徿',
- 'A' => '懻',
- 'B' => '攇',
- 'C' => '攐',
- 'D' => '攍',
- 'E' => '攉',
- 'F' => '攌',
- 'G' => '攎',
- 'H' => '斄',
- 'I' => '旞',
- 'J' => '旝',
- 'K' => '曞',
- 'L' => '櫧',
- 'M' => '櫠',
- 'N' => '櫌',
- 'O' => '櫑',
- 'P' => '櫙',
- 'Q' => '櫋',
- 'R' => '櫟',
- 'S' => '櫜',
- 'T' => '櫐',
- 'U' => '櫫',
- 'V' => '櫏',
- 'W' => '櫍',
- 'X' => '櫞',
- 'Y' => '歠',
- 'Z' => '殰',
- '[' => '氌',
- '\\' => '瀙',
- ']' => '瀧',
- '^' => '瀠',
- '_' => '瀖',
- '`' => '瀫',
- 'a' => '瀡',
- 'b' => '瀢',
- 'c' => '瀣',
- 'd' => '瀩',
- 'e' => '瀗',
- 'f' => '瀤',
- 'g' => '瀜',
- 'h' => '瀪',
- 'i' => '爌',
- 'j' => '爊',
- 'k' => '爇',
- 'l' => '爂',
- 'm' => '爅',
- 'n' => '犥',
- 'o' => '犦',
- 'p' => '犤',
- 'q' => '犣',
- 'r' => '犡',
- 's' => '瓋',
- 't' => '瓅',
- 'u' => '璷',
- 'v' => '瓃',
- 'w' => '甖',
- 'x' => '癠',
- 'y' => '矉',
- 'z' => '矊',
- '{' => '矄',
- '|' => '矱',
- '}' => '礝',
- '~' => '礛',
- '' => '礡',
- '' => '礜',
- '' => '礗',
- '' => '礞',
- '' => '禰',
- '' => '穧',
- '' => '穨',
- '' => '簳',
- '' => '簼',
- '' => '簹',
- '' => '簬',
- '' => '簻',
- '' => '糬',
- '' => '糪',
- '' => '繶',
- '' => '繵',
- '' => '繸',
- '' => '繰',
- '' => '繷',
- '' => '繯',
- '' => '繺',
- '' => '繲',
- '' => '繴',
- '' => '繨',
- '' => '罋',
- '' => '罊',
- '' => '羃',
- '' => '羆',
- '' => '羷',
- '' => '翽',
- '' => '翾',
- '' => '聸',
- '' => '臗',
- '' => '臕',
- '' => '艤',
- '' => '艡',
- '' => '艣',
- '' => '藫',
- '' => '藱',
- '' => '藭',
- '' => '藙',
- '' => '藡',
- '' => '藨',
- '' => '藚',
- '' => '藗',
- '' => '藬',
- '' => '藲',
- '' => '藸',
- '' => '藘',
- '' => '藟',
- '' => '藣',
- '' => '藜',
- '' => '藑',
- '' => '藰',
- '' => '藦',
- '' => '藯',
- '' => '藞',
- '' => '藢',
- '' => '蠀',
- '' => '蟺',
- '' => '蠃',
- '' => '蟶',
- '' => '蟷',
- '' => '蠉',
- '' => '蠌',
- '' => '蠋',
- '' => '蠆',
- '' => '蟼',
- '' => '蠈',
- '' => '蟿',
- '' => '蠊',
- '' => '蠂',
- '' => '襢',
- '' => '襚',
- '' => '襛',
- '' => '襗',
- '' => '襡',
- '' => '襜',
- '' => '襘',
- '' => '襝',
- '' => '襙',
- '' => '覈',
- '' => '覷',
- '' => '覶',
- '' => '觶',
- '' => '譐',
- '' => '譈',
- '' => '譊',
- '' => '譀',
- '' => '譓',
- '' => '譖',
- '' => '譔',
- '' => '譋',
- '' => '譕',
- '@' => '譑',
- 'A' => '譂',
- 'B' => '譒',
- 'C' => '譗',
- 'D' => '豃',
- 'E' => '豷',
- 'F' => '豶',
- 'G' => '貚',
- 'H' => '贆',
- 'I' => '贇',
- 'J' => '贉',
- 'K' => '趬',
- 'L' => '趪',
- 'M' => '趭',
- 'N' => '趫',
- 'O' => '蹭',
- 'P' => '蹸',
- 'Q' => '蹳',
- 'R' => '蹪',
- 'S' => '蹯',
- 'T' => '蹻',
- 'U' => '軂',
- 'V' => '轒',
- 'W' => '轑',
- 'X' => '轏',
- 'Y' => '轐',
- 'Z' => '轓',
- '[' => '辴',
- '\\' => '酀',
- ']' => '鄿',
- '^' => '醰',
- '_' => '醭',
- '`' => '鏞',
- 'a' => '鏇',
- 'b' => '鏏',
- 'c' => '鏂',
- 'd' => '鏚',
- 'e' => '鏐',
- 'f' => '鏹',
- 'g' => '鏬',
- 'h' => '鏌',
- 'i' => '鏙',
- 'j' => '鎩',
- 'k' => '鏦',
- 'l' => '鏊',
- 'm' => '鏔',
- 'n' => '鏮',
- 'o' => '鏣',
- 'p' => '鏕',
- 'q' => '鏄',
- 'r' => '鏎',
- 's' => '鏀',
- 't' => '鏒',
- 'u' => '鏧',
- 'v' => '镽',
- 'w' => '闚',
- 'x' => '闛',
- 'y' => '雡',
- 'z' => '霩',
- '{' => '霫',
- '|' => '霬',
- '}' => '霨',
- '~' => '霦',
- '' => '鞳',
- '' => '鞷',
- '' => '鞶',
- '' => '韝',
- '' => '韞',
- '' => '韟',
- '' => '顜',
- '' => '顙',
- '' => '顝',
- '' => '顗',
- '' => '颿',
- '' => '颽',
- '' => '颻',
- '' => '颾',
- '' => '饈',
- '' => '饇',
- '' => '饃',
- '' => '馦',
- '' => '馧',
- '' => '騚',
- '' => '騕',
- '' => '騥',
- '' => '騝',
- '' => '騤',
- '' => '騛',
- '' => '騢',
- '' => '騠',
- '' => '騧',
- '' => '騣',
- '' => '騞',
- '' => '騜',
- '' => '騔',
- '' => '髂',
- '' => '鬋',
- '' => '鬊',
- '' => '鬎',
- '' => '鬌',
- '' => '鬷',
- '' => '鯪',
- '' => '鯫',
- '' => '鯠',
- '' => '鯞',
- '' => '鯤',
- '' => '鯦',
- '' => '鯢',
- '' => '鯰',
- '' => '鯔',
- '' => '鯗',
- '' => '鯬',
- '' => '鯜',
- '' => '鯙',
- '' => '鯥',
- '' => '鯕',
- '' => '鯡',
- '' => '鯚',
- '' => '鵷',
- '' => '鶁',
- '' => '鶊',
- '' => '鶄',
- '' => '鶈',
- '' => '鵱',
- '' => '鶀',
- '' => '鵸',
- '' => '鶆',
- '' => '鶋',
- '' => '鶌',
- '' => '鵽',
- '' => '鵫',
- '' => '鵴',
- '' => '鵵',
- '' => '鵰',
- '' => '鵩',
- '' => '鶅',
- '' => '鵳',
- '' => '鵻',
- '' => '鶂',
- '' => '鵯',
- '' => '鵹',
- '' => '鵿',
- '' => '鶇',
- '' => '鵨',
- '' => '麔',
- '' => '麑',
- '' => '黀',
- '' => '黼',
- '' => '鼭',
- '' => '齀',
- '' => '齁',
- '' => '齍',
- '' => '齖',
- '' => '齗',
- '' => '齘',
- '' => '匷',
- '' => '嚲',
- '@' => '嚵',
- 'A' => '嚳',
- 'B' => '壣',
- 'C' => '孅',
- 'D' => '巆',
- 'E' => '巇',
- 'F' => '廮',
- 'G' => '廯',
- 'H' => '忀',
- 'I' => '忁',
- 'J' => '懹',
- 'K' => '攗',
- 'L' => '攖',
- 'M' => '攕',
- 'N' => '攓',
- 'O' => '旟',
- 'P' => '曨',
- 'Q' => '曣',
- 'R' => '曤',
- 'S' => '櫳',
- 'T' => '櫰',
- 'U' => '櫪',
- 'V' => '櫨',
- 'W' => '櫹',
- 'X' => '櫱',
- 'Y' => '櫮',
- 'Z' => '櫯',
- '[' => '瀼',
- '\\' => '瀵',
- ']' => '瀯',
- '^' => '瀷',
- '_' => '瀴',
- '`' => '瀱',
- 'a' => '灂',
- 'b' => '瀸',
- 'c' => '瀿',
- 'd' => '瀺',
- 'e' => '瀹',
- 'f' => '灀',
- 'g' => '瀻',
- 'h' => '瀳',
- 'i' => '灁',
- 'j' => '爓',
- 'k' => '爔',
- 'l' => '犨',
- 'm' => '獽',
- 'n' => '獼',
- 'o' => '璺',
- 'p' => '皫',
- 'q' => '皪',
- 'r' => '皾',
- 's' => '盭',
- 't' => '矌',
- 'u' => '矎',
- 'v' => '矏',
- 'w' => '矍',
- 'x' => '矲',
- 'y' => '礥',
- 'z' => '礣',
- '{' => '礧',
- '|' => '礨',
- '}' => '礤',
- '~' => '礩',
- '' => '禲',
- '' => '穮',
- '' => '穬',
- '' => '穭',
- '' => '竷',
- '' => '籉',
- '' => '籈',
- '' => '籊',
- '' => '籇',
- '' => '籅',
- '' => '糮',
- '' => '繻',
- '' => '繾',
- '' => '纁',
- '' => '纀',
- '' => '羺',
- '' => '翿',
- '' => '聹',
- '' => '臛',
- '' => '臙',
- '' => '舋',
- '' => '艨',
- '' => '艩',
- '' => '蘢',
- '' => '藿',
- '' => '蘁',
- '' => '藾',
- '' => '蘛',
- '' => '蘀',
- '' => '藶',
- '' => '蘄',
- '' => '蘉',
- '' => '蘅',
- '' => '蘌',
- '' => '藽',
- '' => '蠙',
- '' => '蠐',
- '' => '蠑',
- '' => '蠗',
- '' => '蠓',
- '' => '蠖',
- '' => '襣',
- '' => '襦',
- '' => '覹',
- '' => '觷',
- '' => '譠',
- '' => '譪',
- '' => '譝',
- '' => '譨',
- '' => '譣',
- '' => '譥',
- '' => '譧',
- '' => '譭',
- '' => '趮',
- '' => '躆',
- '' => '躈',
- '' => '躄',
- '' => '轙',
- '' => '轖',
- '' => '轗',
- '' => '轕',
- '' => '轘',
- '' => '轚',
- '' => '邍',
- '' => '酃',
- '' => '酁',
- '' => '醷',
- '' => '醵',
- '' => '醲',
- '' => '醳',
- '' => '鐋',
- '' => '鐓',
- '' => '鏻',
- '' => '鐠',
- '' => '鐏',
- '' => '鐔',
- '' => '鏾',
- '' => '鐕',
- '' => '鐐',
- '' => '鐨',
- '' => '鐙',
- '' => '鐍',
- '' => '鏵',
- '' => '鐀',
- '' => '鏷',
- '' => '鐇',
- '' => '鐎',
- '' => '鐖',
- '' => '鐒',
- '' => '鏺',
- '' => '鐉',
- '' => '鏸',
- '' => '鐊',
- '' => '鏿',
- '@' => '鏼',
- 'A' => '鐌',
- 'B' => '鏶',
- 'C' => '鐑',
- 'D' => '鐆',
- 'E' => '闞',
- 'F' => '闠',
- 'G' => '闟',
- 'H' => '霮',
- 'I' => '霯',
- 'J' => '鞹',
- 'K' => '鞻',
- 'L' => '韽',
- 'M' => '韾',
- 'N' => '顠',
- 'O' => '顢',
- 'P' => '顣',
- 'Q' => '顟',
- 'R' => '飁',
- 'S' => '飂',
- 'T' => '饐',
- 'U' => '饎',
- 'V' => '饙',
- 'W' => '饌',
- 'X' => '饋',
- 'Y' => '饓',
- 'Z' => '騲',
- '[' => '騴',
- '\\' => '騱',
- ']' => '騬',
- '^' => '騪',
- '_' => '騶',
- '`' => '騩',
- 'a' => '騮',
- 'b' => '騸',
- 'c' => '騭',
- 'd' => '髇',
- 'e' => '髊',
- 'f' => '髆',
- 'g' => '鬐',
- 'h' => '鬒',
- 'i' => '鬑',
- 'j' => '鰋',
- 'k' => '鰈',
- 'l' => '鯷',
- 'm' => '鰅',
- 'n' => '鰒',
- 'o' => '鯸',
- 'p' => '鱀',
- 'q' => '鰇',
- 'r' => '鰎',
- 's' => '鰆',
- 't' => '鰗',
- 'u' => '鰔',
- 'v' => '鰉',
- 'w' => '鶟',
- 'x' => '鶙',
- 'y' => '鶤',
- 'z' => '鶝',
- '{' => '鶒',
- '|' => '鶘',
- '}' => '鶐',
- '~' => '鶛',
- '' => '鶠',
- '' => '鶔',
- '' => '鶜',
- '' => '鶪',
- '' => '鶗',
- '' => '鶡',
- '' => '鶚',
- '' => '鶢',
- '' => '鶨',
- '' => '鶞',
- '' => '鶣',
- '' => '鶿',
- '' => '鶩',
- '' => '鶖',
- '' => '鶦',
- '' => '鶧',
- '' => '麙',
- '' => '麛',
- '' => '麚',
- '' => '黥',
- '' => '黤',
- '' => '黧',
- '' => '黦',
- '' => '鼰',
- '' => '鼮',
- '' => '齛',
- '' => '齠',
- '' => '齞',
- '' => '齝',
- '' => '齙',
- '' => '龑',
- '' => '儺',
- '' => '儹',
- '' => '劘',
- '' => '劗',
- '' => '囃',
- '' => '嚽',
- '' => '嚾',
- '' => '孈',
- '' => '孇',
- '' => '巋',
- '' => '巏',
- '' => '廱',
- '' => '懽',
- '' => '攛',
- '' => '欂',
- '' => '櫼',
- '' => '欃',
- '' => '櫸',
- '' => '欀',
- '' => '灃',
- '' => '灄',
- '' => '灊',
- '' => '灈',
- '' => '灉',
- '' => '灅',
- '' => '灆',
- '' => '爝',
- '' => '爚',
- '' => '爙',
- '' => '獾',
- '' => '甗',
- '' => '癪',
- '' => '矐',
- '' => '礭',
- '' => '礱',
- '' => '礯',
- '' => '籔',
- '' => '籓',
- '' => '糲',
- '' => '纊',
- '' => '纇',
- '' => '纈',
- '' => '纋',
- '' => '纆',
- '' => '纍',
- '' => '罍',
- '' => '羻',
- '' => '耰',
- '' => '臝',
- '' => '蘘',
- '' => '蘪',
- '' => '蘦',
- '' => '蘟',
- '' => '蘣',
- '' => '蘜',
- '' => '蘙',
- '' => '蘧',
- '' => '蘮',
- '' => '蘡',
- '' => '蘠',
- '' => '蘩',
- '' => '蘞',
- '' => '蘥',
- '@' => '蠩',
- 'A' => '蠝',
- 'B' => '蠛',
- 'C' => '蠠',
- 'D' => '蠤',
- 'E' => '蠜',
- 'F' => '蠫',
- 'G' => '衊',
- 'H' => '襭',
- 'I' => '襩',
- 'J' => '襮',
- 'K' => '襫',
- 'L' => '觺',
- 'M' => '譹',
- 'N' => '譸',
- 'O' => '譅',
- 'P' => '譺',
- 'Q' => '譻',
- 'R' => '贐',
- 'S' => '贔',
- 'T' => '趯',
- 'U' => '躎',
- 'V' => '躌',
- 'W' => '轞',
- 'X' => '轛',
- 'Y' => '轝',
- 'Z' => '酆',
- '[' => '酄',
- '\\' => '酅',
- ']' => '醹',
- '^' => '鐿',
- '_' => '鐻',
- '`' => '鐶',
- 'a' => '鐩',
- 'b' => '鐽',
- 'c' => '鐼',
- 'd' => '鐰',
- 'e' => '鐹',
- 'f' => '鐪',
- 'g' => '鐷',
- 'h' => '鐬',
- 'i' => '鑀',
- 'j' => '鐱',
- 'k' => '闥',
- 'l' => '闤',
- 'm' => '闣',
- 'n' => '霵',
- 'o' => '霺',
- 'p' => '鞿',
- 'q' => '韡',
- 'r' => '顤',
- 's' => '飉',
- 't' => '飆',
- 'u' => '飀',
- 'v' => '饘',
- 'w' => '饖',
- 'x' => '騹',
- 'y' => '騽',
- 'z' => '驆',
- '{' => '驄',
- '|' => '驂',
- '}' => '驁',
- '~' => '騺',
- '' => '騿',
- '' => '髍',
- '' => '鬕',
- '' => '鬗',
- '' => '鬘',
- '' => '鬖',
- '' => '鬺',
- '' => '魒',
- '' => '鰫',
- '' => '鰝',
- '' => '鰜',
- '' => '鰬',
- '' => '鰣',
- '' => '鰨',
- '' => '鰩',
- '' => '鰤',
- '' => '鰡',
- '' => '鶷',
- '' => '鶶',
- '' => '鶼',
- '' => '鷁',
- '' => '鷇',
- '' => '鷊',
- '' => '鷏',
- '' => '鶾',
- '' => '鷅',
- '' => '鷃',
- '' => '鶻',
- '' => '鶵',
- '' => '鷎',
- '' => '鶹',
- '' => '鶺',
- '' => '鶬',
- '' => '鷈',
- '' => '鶱',
- '' => '鶭',
- '' => '鷌',
- '' => '鶳',
- '' => '鷍',
- '' => '鶲',
- '' => '鹺',
- '' => '麜',
- '' => '黫',
- '' => '黮',
- '' => '黭',
- '' => '鼛',
- '' => '鼘',
- '' => '鼚',
- '' => '鼱',
- '' => '齎',
- '' => '齥',
- '' => '齤',
- '' => '龒',
- '' => '亹',
- '' => '囆',
- '' => '囅',
- '' => '囋',
- '' => '奱',
- '' => '孋',
- '' => '孌',
- '' => '巕',
- '' => '巑',
- '' => '廲',
- '' => '攡',
- '' => '攠',
- '' => '攦',
- '' => '攢',
- '' => '欋',
- '' => '欈',
- '' => '欉',
- '' => '氍',
- '' => '灕',
- '' => '灖',
- '' => '灗',
- '' => '灒',
- '' => '爞',
- '' => '爟',
- '' => '犩',
- '' => '獿',
- '' => '瓘',
- '' => '瓕',
- '' => '瓙',
- '' => '瓗',
- '' => '癭',
- '' => '皭',
- '' => '礵',
- '' => '禴',
- '' => '穰',
- '' => '穱',
- '' => '籗',
- '' => '籜',
- '' => '籙',
- '' => '籛',
- '' => '籚',
- '@' => '糴',
- 'A' => '糱',
- 'B' => '纑',
- 'C' => '罏',
- 'D' => '羇',
- 'E' => '臞',
- 'F' => '艫',
- 'G' => '蘴',
- 'H' => '蘵',
- 'I' => '蘳',
- 'J' => '蘬',
- 'K' => '蘲',
- 'L' => '蘶',
- 'M' => '蠬',
- 'N' => '蠨',
- 'O' => '蠦',
- 'P' => '蠪',
- 'Q' => '蠥',
- 'R' => '襱',
- 'S' => '覿',
- 'T' => '覾',
- 'U' => '觻',
- 'V' => '譾',
- 'W' => '讄',
- 'X' => '讂',
- 'Y' => '讆',
- 'Z' => '讅',
- '[' => '譿',
- '\\' => '贕',
- ']' => '躕',
- '^' => '躔',
- '_' => '躚',
- '`' => '躒',
- 'a' => '躐',
- 'b' => '躖',
- 'c' => '躗',
- 'd' => '轠',
- 'e' => '轢',
- 'f' => '酇',
- 'g' => '鑌',
- 'h' => '鑐',
- 'i' => '鑊',
- 'j' => '鑋',
- 'k' => '鑏',
- 'l' => '鑇',
- 'm' => '鑅',
- 'n' => '鑈',
- 'o' => '鑉',
- 'p' => '鑆',
- 'q' => '霿',
- 'r' => '韣',
- 's' => '顪',
- 't' => '顩',
- 'u' => '飋',
- 'v' => '饔',
- 'w' => '饛',
- 'x' => '驎',
- 'y' => '驓',
- 'z' => '驔',
- '{' => '驌',
- '|' => '驏',
- '}' => '驈',
- '~' => '驊',
- '' => '驉',
- '' => '驒',
- '' => '驐',
- '' => '髐',
- '' => '鬙',
- '' => '鬫',
- '' => '鬻',
- '' => '魖',
- '' => '魕',
- '' => '鱆',
- '' => '鱈',
- '' => '鰿',
- '' => '鱄',
- '' => '鰹',
- '' => '鰳',
- '' => '鱁',
- '' => '鰼',
- '' => '鰷',
- '' => '鰴',
- '' => '鰲',
- '' => '鰽',
- '' => '鰶',
- '' => '鷛',
- '' => '鷒',
- '' => '鷞',
- '' => '鷚',
- '' => '鷋',
- '' => '鷐',
- '' => '鷜',
- '' => '鷑',
- '' => '鷟',
- '' => '鷩',
- '' => '鷙',
- '' => '鷘',
- '' => '鷖',
- '' => '鷵',
- '' => '鷕',
- '' => '鷝',
- '' => '麶',
- '' => '黰',
- '' => '鼵',
- '' => '鼳',
- '' => '鼲',
- '' => '齂',
- '' => '齫',
- '' => '龕',
- '' => '龢',
- '' => '儽',
- '' => '劙',
- '' => '壨',
- '' => '壧',
- '' => '奲',
- '' => '孍',
- '' => '巘',
- '' => '蠯',
- '' => '彏',
- '' => '戁',
- '' => '戃',
- '' => '戄',
- '' => '攩',
- '' => '攥',
- '' => '斖',
- '' => '曫',
- '' => '欑',
- '' => '欒',
- '' => '欏',
- '' => '毊',
- '' => '灛',
- '' => '灚',
- '' => '爢',
- '' => '玂',
- '' => '玁',
- '' => '玃',
- '' => '癰',
- '' => '矔',
- '' => '籧',
- '' => '籦',
- '' => '纕',
- '' => '艬',
- '' => '蘺',
- '' => '虀',
- '' => '蘹',
- '' => '蘼',
- '' => '蘱',
- '' => '蘻',
- '' => '蘾',
- '' => '蠰',
- '' => '蠲',
- '' => '蠮',
- '' => '蠳',
- '' => '襶',
- '' => '襴',
- '' => '襳',
- '' => '觾',
- '@' => '讌',
- 'A' => '讎',
- 'B' => '讋',
- 'C' => '讈',
- 'D' => '豅',
- 'E' => '贙',
- 'F' => '躘',
- 'G' => '轤',
- 'H' => '轣',
- 'I' => '醼',
- 'J' => '鑢',
- 'K' => '鑕',
- 'L' => '鑝',
- 'M' => '鑗',
- 'N' => '鑞',
- 'O' => '韄',
- 'P' => '韅',
- 'Q' => '頀',
- 'R' => '驖',
- 'S' => '驙',
- 'T' => '鬞',
- 'U' => '鬟',
- 'V' => '鬠',
- 'W' => '鱒',
- 'X' => '鱘',
- 'Y' => '鱐',
- 'Z' => '鱊',
- '[' => '鱍',
- '\\' => '鱋',
- ']' => '鱕',
- '^' => '鱙',
- '_' => '鱌',
- '`' => '鱎',
- 'a' => '鷻',
- 'b' => '鷷',
- 'c' => '鷯',
- 'd' => '鷣',
- 'e' => '鷫',
- 'f' => '鷸',
- 'g' => '鷤',
- 'h' => '鷶',
- 'i' => '鷡',
- 'j' => '鷮',
- 'k' => '鷦',
- 'l' => '鷲',
- 'm' => '鷰',
- 'n' => '鷢',
- 'o' => '鷬',
- 'p' => '鷴',
- 'q' => '鷳',
- 'r' => '鷨',
- 's' => '鷭',
- 't' => '黂',
- 'u' => '黐',
- 'v' => '黲',
- 'w' => '黳',
- 'x' => '鼆',
- 'y' => '鼜',
- 'z' => '鼸',
- '{' => '鼷',
- '|' => '鼶',
- '}' => '齃',
- '~' => '齏',
- '' => '齱',
- '' => '齰',
- '' => '齮',
- '' => '齯',
- '' => '囓',
- '' => '囍',
- '' => '孎',
- '' => '屭',
- '' => '攭',
- '' => '曭',
- '' => '曮',
- '' => '欓',
- '' => '灟',
- '' => '灡',
- '' => '灝',
- '' => '灠',
- '' => '爣',
- '' => '瓛',
- '' => '瓥',
- '' => '矕',
- '' => '礸',
- '' => '禷',
- '' => '禶',
- '' => '籪',
- '' => '纗',
- '' => '羉',
- '' => '艭',
- '' => '虃',
- '' => '蠸',
- '' => '蠷',
- '' => '蠵',
- '' => '衋',
- '' => '讔',
- '' => '讕',
- '' => '躞',
- '' => '躟',
- '' => '躠',
- '' => '躝',
- '' => '醾',
- '' => '醽',
- '' => '釂',
- '' => '鑫',
- '' => '鑨',
- '' => '鑩',
- '' => '雥',
- '' => '靆',
- '' => '靃',
- '' => '靇',
- '' => '韇',
- '' => '韥',
- '' => '驞',
- '' => '髕',
- '' => '魙',
- '' => '鱣',
- '' => '鱧',
- '' => '鱦',
- '' => '鱢',
- '' => '鱞',
- '' => '鱠',
- '' => '鸂',
- '' => '鷾',
- '' => '鸇',
- '' => '鸃',
- '' => '鸆',
- '' => '鸅',
- '' => '鸀',
- '' => '鸁',
- '' => '鸉',
- '' => '鷿',
- '' => '鷽',
- '' => '鸄',
- '' => '麠',
- '' => '鼞',
- '' => '齆',
- '' => '齴',
- '' => '齵',
- '' => '齶',
- '' => '囔',
- '' => '攮',
- '' => '斸',
- '' => '欘',
- '' => '欙',
- '' => '欗',
- '' => '欚',
- '' => '灢',
- '' => '爦',
- '' => '犪',
- '' => '矘',
- '' => '矙',
- '' => '礹',
- '' => '籩',
- '' => '籫',
- '' => '糶',
- '' => '纚',
- '@' => '纘',
- 'A' => '纛',
- 'B' => '纙',
- 'C' => '臠',
- 'D' => '臡',
- 'E' => '虆',
- 'F' => '虇',
- 'G' => '虈',
- 'H' => '襹',
- 'I' => '襺',
- 'J' => '襼',
- 'K' => '襻',
- 'L' => '觿',
- 'M' => '讘',
- 'N' => '讙',
- 'O' => '躥',
- 'P' => '躤',
- 'Q' => '躣',
- 'R' => '鑮',
- 'S' => '鑭',
- 'T' => '鑯',
- 'U' => '鑱',
- 'V' => '鑳',
- 'W' => '靉',
- 'X' => '顲',
- 'Y' => '饟',
- 'Z' => '鱨',
- '[' => '鱮',
- '\\' => '鱭',
- ']' => '鸋',
- '^' => '鸍',
- '_' => '鸐',
- '`' => '鸏',
- 'a' => '鸒',
- 'b' => '鸑',
- 'c' => '麡',
- 'd' => '黵',
- 'e' => '鼉',
- 'f' => '齇',
- 'g' => '齸',
- 'h' => '齻',
- 'i' => '齺',
- 'j' => '齹',
- 'k' => '圞',
- 'l' => '灦',
- 'm' => '籯',
- 'n' => '蠼',
- 'o' => '趲',
- 'p' => '躦',
- 'q' => '釃',
- 'r' => '鑴',
- 's' => '鑸',
- 't' => '鑶',
- 'u' => '鑵',
- 'v' => '驠',
- 'w' => '鱴',
- 'x' => '鱳',
- 'y' => '鱱',
- 'z' => '鱵',
- '{' => '鸔',
- '|' => '鸓',
- '}' => '黶',
- '~' => '鼊',
- '' => '龤',
- '' => '灨',
- '' => '灥',
- '' => '糷',
- '' => '虪',
- '' => '蠾',
- '' => '蠽',
- '' => '蠿',
- '' => '讞',
- '' => '貜',
- '' => '躩',
- '' => '軉',
- '' => '靋',
- '' => '顳',
- '' => '顴',
- '' => '飌',
- '' => '饡',
- '' => '馫',
- '' => '驤',
- '' => '驦',
- '' => '驧',
- '' => '鬤',
- '' => '鸕',
- '' => '鸗',
- '' => '齈',
- '' => '戇',
- '' => '欞',
- '' => '爧',
- '' => '虌',
- '' => '躨',
- '' => '钂',
- '' => '钀',
- '' => '钁',
- '' => '驩',
- '' => '驨',
- '' => '鬮',
- '' => '鸙',
- '' => '爩',
- '' => '虋',
- '' => '讟',
- '' => '钃',
- '' => '鱹',
- '' => '麷',
- '' => '癵',
- '' => '驫',
- '' => '鱺',
- '' => '鸝',
- '' => '灩',
- '' => '灪',
- '' => '麤',
- '' => '齾',
- '' => '齉',
- '' => '龘',
-);
-
-$result =& $data;
-unset($data);
-
-return $result;
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php
deleted file mode 100644
index a014e4b4..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1006.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1006.php
deleted file mode 100644
index 2b5e7beb..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1006.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php
deleted file mode 100644
index aba455b5..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php
deleted file mode 100644
index e8e23703..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp437.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp437.php
deleted file mode 100644
index e3ebb45c..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp437.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php
deleted file mode 100644
index 3771c8f6..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php
deleted file mode 100644
index 2d67d33f..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp775.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp775.php
deleted file mode 100644
index 1fbc4cdc..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp775.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php
deleted file mode 100644
index 0b314c80..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp852.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp852.php
deleted file mode 100644
index f8c318ca..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp852.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php
deleted file mode 100644
index 48440ba1..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php
deleted file mode 100644
index c9cac0c3..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php
deleted file mode 100644
index 3e7770ad..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp860.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp860.php
deleted file mode 100644
index 2a52d473..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp860.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php
deleted file mode 100644
index 4ba6573c..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp862.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp862.php
deleted file mode 100644
index d2a29a22..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp862.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp863.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp863.php
deleted file mode 100644
index 1f36b9a2..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp863.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php
deleted file mode 100644
index 953e4635..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php
deleted file mode 100644
index 2668bcc4..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php
deleted file mode 100644
index a7b47f8f..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php
deleted file mode 100644
index 0f040548..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php
deleted file mode 100644
index 47994569..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php
deleted file mode 100644
index 85616453..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php
deleted file mode 100644
index 0bf828ff..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php
deleted file mode 100644
index a593d05d..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php
deleted file mode 100644
index d4e99f1f..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php
deleted file mode 100644
index 267b1906..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php
deleted file mode 100644
index d7a217c9..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php
deleted file mode 100644
index d60f6473..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php
deleted file mode 100644
index d69220bf..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-13.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-13.php
deleted file mode 100644
index 838783f1..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-13.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php
deleted file mode 100644
index 65a48ee3..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php
deleted file mode 100644
index 42e50e0f..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-16.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-16.php
deleted file mode 100644
index 46758a6a..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-16.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php
deleted file mode 100644
index 5f23f515..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php
deleted file mode 100644
index b31bb83f..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-4.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-4.php
deleted file mode 100644
index 9cbf9f37..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-4.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php
deleted file mode 100644
index fd038823..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php
deleted file mode 100644
index ed6f72f3..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php
deleted file mode 100644
index cf723ac6..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php
deleted file mode 100644
index c978731a..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php
deleted file mode 100644
index 2a3e36a4..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-r.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-r.php
deleted file mode 100644
index d83c2125..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-r.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php
deleted file mode 100644
index dbbf96be..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.us-ascii.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.us-ascii.php
deleted file mode 100644
index 94a93b28..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.us-ascii.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1250.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1250.php
deleted file mode 100644
index d1d5e6f2..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1250.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1251.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1251.php
deleted file mode 100644
index f422a71f..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1251.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php
deleted file mode 100644
index ba6d203d..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1253.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1253.php
deleted file mode 100644
index c04dc8f0..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1253.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php
deleted file mode 100644
index 1cfadcf2..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php
deleted file mode 100644
index f73cbb6f..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php
deleted file mode 100644
index 953704f6..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php
deleted file mode 100644
index 78580ece..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php
deleted file mode 100644
index de1609d8..00000000
Binary files a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php and /dev/null differ
diff --git a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/translit.php b/plugins/vendor/symfony/polyfill-iconv/Resources/charset/translit.php
deleted file mode 100644
index f322ff0d..00000000
--- a/plugins/vendor/symfony/polyfill-iconv/Resources/charset/translit.php
+++ /dev/null
@@ -1,4106 +0,0 @@
- 'μ',
- '¼' => ' 1⁄4 ',
- '½' => ' 1⁄2 ',
- '¾' => ' 3⁄4 ',
- 'IJ' => 'IJ',
- 'ij' => 'ij',
- 'Ŀ' => 'L·',
- 'ŀ' => 'l·',
- 'ʼn' => 'ʼn',
- 'ſ' => 's',
- 'DŽ' => 'DŽ',
- 'Dž' => 'Dž',
- 'dž' => 'dž',
- 'LJ' => 'LJ',
- 'Lj' => 'Lj',
- 'lj' => 'lj',
- 'NJ' => 'NJ',
- 'Nj' => 'Nj',
- 'nj' => 'nj',
- 'DZ' => 'DZ',
- 'Dz' => 'Dz',
- 'dz' => 'dz',
- 'ϐ' => 'β',
- 'ϑ' => 'θ',
- 'ϒ' => 'Υ',
- 'ϕ' => 'φ',
- 'ϖ' => 'π',
- 'ϰ' => 'κ',
- 'ϱ' => 'ρ',
- 'ϲ' => 'ς',
- 'ϴ' => 'Θ',
- 'ϵ' => 'ε',
- 'Ϲ' => 'Σ',
- 'և' => 'եւ',
- 'ٵ' => 'اٴ',
- 'ٶ' => 'وٴ',
- 'ٷ' => 'ۇٴ',
- 'ٸ' => 'يٴ',
- 'ำ' => 'ํา',
- 'ຳ' => 'ໍາ',
- 'ໜ' => 'ຫນ',
- 'ໝ' => 'ຫມ',
- 'ཷ' => 'ྲཱྀ',
- 'ཹ' => 'ླཱྀ',
- 'ẚ' => 'aʾ',
- '․' => '.',
- '‥' => '..',
- '…' => '...',
- '″' => '′′',
- '‴' => '′′′',
- '‶' => '‵‵',
- '‷' => '‵‵‵',
- '‼' => '!!',
- '⁇' => '??',
- '⁈' => '?!',
- '⁉' => '!?',
- '⁗' => '′′′′',
- '₨' => 'Rs',
- '℀' => 'a/c',
- '℁' => 'a/s',
- 'ℂ' => 'C',
- '℃' => '°C',
- '℅' => 'c/o',
- '℆' => 'c/u',
- 'ℇ' => 'Ɛ',
- '℉' => '°F',
- 'ℊ' => 'g',
- 'ℋ' => 'H',
- 'ℌ' => 'H',
- 'ℍ' => 'H',
- 'ℎ' => 'h',
- 'ℏ' => 'ħ',
- 'ℐ' => 'I',
- 'ℑ' => 'I',
- 'ℒ' => 'L',
- 'ℓ' => 'l',
- 'ℕ' => 'N',
- '№' => 'No',
- 'ℙ' => 'P',
- 'ℚ' => 'Q',
- 'ℛ' => 'R',
- 'ℜ' => 'R',
- 'ℝ' => 'R',
- '℡' => 'TEL',
- 'ℤ' => 'Z',
- 'ℨ' => 'Z',
- 'ℬ' => 'B',
- 'ℭ' => 'C',
- 'ℯ' => 'e',
- 'ℰ' => 'E',
- 'ℱ' => 'F',
- 'ℳ' => 'M',
- 'ℴ' => 'o',
- 'ℵ' => 'א',
- 'ℶ' => 'ב',
- 'ℷ' => 'ג',
- 'ℸ' => 'ד',
- 'ℹ' => 'i',
- '℻' => 'FAX',
- 'ℼ' => 'π',
- 'ℽ' => 'γ',
- 'ℾ' => 'Γ',
- 'ℿ' => 'Π',
- '⅀' => '∑',
- 'ⅅ' => 'D',
- 'ⅆ' => 'd',
- 'ⅇ' => 'e',
- 'ⅈ' => 'i',
- 'ⅉ' => 'j',
- '⅐' => ' 1⁄7 ',
- '⅑' => ' 1⁄9 ',
- '⅒' => ' 1⁄10 ',
- '⅓' => ' 1⁄3 ',
- '⅔' => ' 2⁄3 ',
- '⅕' => ' 1⁄5 ',
- '⅖' => ' 2⁄5 ',
- '⅗' => ' 3⁄5 ',
- '⅘' => ' 4⁄5 ',
- '⅙' => ' 1⁄6 ',
- '⅚' => ' 5⁄6 ',
- '⅛' => ' 1⁄8 ',
- '⅜' => ' 3⁄8 ',
- '⅝' => ' 5⁄8 ',
- '⅞' => ' 7⁄8 ',
- '⅟' => ' 1⁄ ',
- 'Ⅰ' => 'I',
- 'Ⅱ' => 'II',
- 'Ⅲ' => 'III',
- 'Ⅳ' => 'IV',
- 'Ⅴ' => 'V',
- 'Ⅵ' => 'VI',
- 'Ⅶ' => 'VII',
- 'Ⅷ' => 'VIII',
- 'Ⅸ' => 'IX',
- 'Ⅹ' => 'X',
- 'Ⅺ' => 'XI',
- 'Ⅻ' => 'XII',
- 'Ⅼ' => 'L',
- 'Ⅽ' => 'C',
- 'Ⅾ' => 'D',
- 'Ⅿ' => 'M',
- 'ⅰ' => 'i',
- 'ⅱ' => 'ii',
- 'ⅲ' => 'iii',
- 'ⅳ' => 'iv',
- 'ⅴ' => 'v',
- 'ⅵ' => 'vi',
- 'ⅶ' => 'vii',
- 'ⅷ' => 'viii',
- 'ⅸ' => 'ix',
- 'ⅹ' => 'x',
- 'ⅺ' => 'xi',
- 'ⅻ' => 'xii',
- 'ⅼ' => 'l',
- 'ⅽ' => 'c',
- 'ⅾ' => 'd',
- 'ⅿ' => 'm',
- '↉' => ' 0⁄3 ',
- '∬' => '∫∫',
- '∭' => '∫∫∫',
- '∯' => '∮∮',
- '∰' => '∮∮∮',
- '①' => '(1)',
- '②' => '(2)',
- '③' => '(3)',
- '④' => '(4)',
- '⑤' => '(5)',
- '⑥' => '(6)',
- '⑦' => '(7)',
- '⑧' => '(8)',
- '⑨' => '(9)',
- '⑩' => '(10)',
- '⑪' => '(11)',
- '⑫' => '(12)',
- '⑬' => '(13)',
- '⑭' => '(14)',
- '⑮' => '(15)',
- '⑯' => '(16)',
- '⑰' => '(17)',
- '⑱' => '(18)',
- '⑲' => '(19)',
- '⑳' => '(20)',
- '⑴' => '(1)',
- '⑵' => '(2)',
- '⑶' => '(3)',
- '⑷' => '(4)',
- '⑸' => '(5)',
- '⑹' => '(6)',
- '⑺' => '(7)',
- '⑻' => '(8)',
- '⑼' => '(9)',
- '⑽' => '(10)',
- '⑾' => '(11)',
- '⑿' => '(12)',
- '⒀' => '(13)',
- '⒁' => '(14)',
- '⒂' => '(15)',
- '⒃' => '(16)',
- '⒄' => '(17)',
- '⒅' => '(18)',
- '⒆' => '(19)',
- '⒇' => '(20)',
- '⒈' => '1.',
- '⒉' => '2.',
- '⒊' => '3.',
- '⒋' => '4.',
- '⒌' => '5.',
- '⒍' => '6.',
- '⒎' => '7.',
- '⒏' => '8.',
- '⒐' => '9.',
- '⒑' => '10.',
- '⒒' => '11.',
- '⒓' => '12.',
- '⒔' => '13.',
- '⒕' => '14.',
- '⒖' => '15.',
- '⒗' => '16.',
- '⒘' => '17.',
- '⒙' => '18.',
- '⒚' => '19.',
- '⒛' => '20.',
- '⒜' => '(a)',
- '⒝' => '(b)',
- '⒞' => '(c)',
- '⒟' => '(d)',
- '⒠' => '(e)',
- '⒡' => '(f)',
- '⒢' => '(g)',
- '⒣' => '(h)',
- '⒤' => '(i)',
- '⒥' => '(j)',
- '⒦' => '(k)',
- '⒧' => '(l)',
- '⒨' => '(m)',
- '⒩' => '(n)',
- '⒪' => '(o)',
- '⒫' => '(p)',
- '⒬' => '(q)',
- '⒭' => '(r)',
- '⒮' => '(s)',
- '⒯' => '(t)',
- '⒰' => '(u)',
- '⒱' => '(v)',
- '⒲' => '(w)',
- '⒳' => '(x)',
- '⒴' => '(y)',
- '⒵' => '(z)',
- 'Ⓐ' => '(A)',
- 'Ⓑ' => '(B)',
- 'Ⓒ' => '(C)',
- 'Ⓓ' => '(D)',
- 'Ⓔ' => '(E)',
- 'Ⓕ' => '(F)',
- 'Ⓖ' => '(G)',
- 'Ⓗ' => '(H)',
- 'Ⓘ' => '(I)',
- 'Ⓙ' => '(J)',
- 'Ⓚ' => '(K)',
- 'Ⓛ' => '(L)',
- 'Ⓜ' => '(M)',
- 'Ⓝ' => '(N)',
- 'Ⓞ' => '(O)',
- 'Ⓟ' => '(P)',
- 'Ⓠ' => '(Q)',
- 'Ⓡ' => '(R)',
- 'Ⓢ' => '(S)',
- 'Ⓣ' => '(T)',
- 'Ⓤ' => '(U)',
- 'Ⓥ' => '(V)',
- 'Ⓦ' => '(W)',
- 'Ⓧ' => '(X)',
- 'Ⓨ' => '(Y)',
- 'Ⓩ' => '(Z)',
- 'ⓐ' => '(a)',
- 'ⓑ' => '(b)',
- 'ⓒ' => '(c)',
- 'ⓓ' => '(d)',
- 'ⓔ' => '(e)',
- 'ⓕ' => '(f)',
- 'ⓖ' => '(g)',
- 'ⓗ' => '(h)',
- 'ⓘ' => '(i)',
- 'ⓙ' => '(j)',
- 'ⓚ' => '(k)',
- 'ⓛ' => '(l)',
- 'ⓜ' => '(m)',
- 'ⓝ' => '(n)',
- 'ⓞ' => '(o)',
- 'ⓟ' => '(p)',
- 'ⓠ' => '(q)',
- 'ⓡ' => '(r)',
- 'ⓢ' => '(s)',
- 'ⓣ' => '(t)',
- 'ⓤ' => '(u)',
- 'ⓥ' => '(v)',
- 'ⓦ' => '(w)',
- 'ⓧ' => '(x)',
- 'ⓨ' => '(y)',
- 'ⓩ' => '(z)',
- '⓪' => '(0)',
- '⨌' => '∫∫∫∫',
- '⩴' => '::=',
- '⩵' => '==',
- '⩶' => '===',
- '⺟' => '母',
- '⻳' => '龟',
- '⼀' => '一',
- '⼁' => '丨',
- '⼂' => '丶',
- '⼃' => '丿',
- '⼄' => '乙',
- '⼅' => '亅',
- '⼆' => '二',
- '⼇' => '亠',
- '⼈' => '人',
- '⼉' => '儿',
- '⼊' => '入',
- '⼋' => '八',
- '⼌' => '冂',
- '⼍' => '冖',
- '⼎' => '冫',
- '⼏' => '几',
- '⼐' => '凵',
- '⼑' => '刀',
- '⼒' => '力',
- '⼓' => '勹',
- '⼔' => '匕',
- '⼕' => '匚',
- '⼖' => '匸',
- '⼗' => '十',
- '⼘' => '卜',
- '⼙' => '卩',
- '⼚' => '厂',
- '⼛' => '厶',
- '⼜' => '又',
- '⼝' => '口',
- '⼞' => '囗',
- '⼟' => '土',
- '⼠' => '士',
- '⼡' => '夂',
- '⼢' => '夊',
- '⼣' => '夕',
- '⼤' => '大',
- '⼥' => '女',
- '⼦' => '子',
- '⼧' => '宀',
- '⼨' => '寸',
- '⼩' => '小',
- '⼪' => '尢',
- '⼫' => '尸',
- '⼬' => '屮',
- '⼭' => '山',
- '⼮' => '巛',
- '⼯' => '工',
- '⼰' => '己',
- '⼱' => '巾',
- '⼲' => '干',
- '⼳' => '幺',
- '⼴' => '广',
- '⼵' => '廴',
- '⼶' => '廾',
- '⼷' => '弋',
- '⼸' => '弓',
- '⼹' => '彐',
- '⼺' => '彡',
- '⼻' => '彳',
- '⼼' => '心',
- '⼽' => '戈',
- '⼾' => '戶',
- '⼿' => '手',
- '⽀' => '支',
- '⽁' => '攴',
- '⽂' => '文',
- '⽃' => '斗',
- '⽄' => '斤',
- '⽅' => '方',
- '⽆' => '无',
- '⽇' => '日',
- '⽈' => '曰',
- '⽉' => '月',
- '⽊' => '木',
- '⽋' => '欠',
- '⽌' => '止',
- '⽍' => '歹',
- '⽎' => '殳',
- '⽏' => '毋',
- '⽐' => '比',
- '⽑' => '毛',
- '⽒' => '氏',
- '⽓' => '气',
- '⽔' => '水',
- '⽕' => '火',
- '⽖' => '爪',
- '⽗' => '父',
- '⽘' => '爻',
- '⽙' => '爿',
- '⽚' => '片',
- '⽛' => '牙',
- '⽜' => '牛',
- '⽝' => '犬',
- '⽞' => '玄',
- '⽟' => '玉',
- '⽠' => '瓜',
- '⽡' => '瓦',
- '⽢' => '甘',
- '⽣' => '生',
- '⽤' => '用',
- '⽥' => '田',
- '⽦' => '疋',
- '⽧' => '疒',
- '⽨' => '癶',
- '⽩' => '白',
- '⽪' => '皮',
- '⽫' => '皿',
- '⽬' => '目',
- '⽭' => '矛',
- '⽮' => '矢',
- '⽯' => '石',
- '⽰' => '示',
- '⽱' => '禸',
- '⽲' => '禾',
- '⽳' => '穴',
- '⽴' => '立',
- '⽵' => '竹',
- '⽶' => '米',
- '⽷' => '糸',
- '⽸' => '缶',
- '⽹' => '网',
- '⽺' => '羊',
- '⽻' => '羽',
- '⽼' => '老',
- '⽽' => '而',
- '⽾' => '耒',
- '⽿' => '耳',
- '⾀' => '聿',
- '⾁' => '肉',
- '⾂' => '臣',
- '⾃' => '自',
- '⾄' => '至',
- '⾅' => '臼',
- '⾆' => '舌',
- '⾇' => '舛',
- '⾈' => '舟',
- '⾉' => '艮',
- '⾊' => '色',
- '⾋' => '艸',
- '⾌' => '虍',
- '⾍' => '虫',
- '⾎' => '血',
- '⾏' => '行',
- '⾐' => '衣',
- '⾑' => '襾',
- '⾒' => '見',
- '⾓' => '角',
- '⾔' => '言',
- '⾕' => '谷',
- '⾖' => '豆',
- '⾗' => '豕',
- '⾘' => '豸',
- '⾙' => '貝',
- '⾚' => '赤',
- '⾛' => '走',
- '⾜' => '足',
- '⾝' => '身',
- '⾞' => '車',
- '⾟' => '辛',
- '⾠' => '辰',
- '⾡' => '辵',
- '⾢' => '邑',
- '⾣' => '酉',
- '⾤' => '釆',
- '⾥' => '里',
- '⾦' => '金',
- '⾧' => '長',
- '⾨' => '門',
- '⾩' => '阜',
- '⾪' => '隶',
- '⾫' => '隹',
- '⾬' => '雨',
- '⾭' => '靑',
- '⾮' => '非',
- '⾯' => '面',
- '⾰' => '革',
- '⾱' => '韋',
- '⾲' => '韭',
- '⾳' => '音',
- '⾴' => '頁',
- '⾵' => '風',
- '⾶' => '飛',
- '⾷' => '食',
- '⾸' => '首',
- '⾹' => '香',
- '⾺' => '馬',
- '⾻' => '骨',
- '⾼' => '高',
- '⾽' => '髟',
- '⾾' => '鬥',
- '⾿' => '鬯',
- '⿀' => '鬲',
- '⿁' => '鬼',
- '⿂' => '魚',
- '⿃' => '鳥',
- '⿄' => '鹵',
- '⿅' => '鹿',
- '⿆' => '麥',
- '⿇' => '麻',
- '⿈' => '黃',
- '⿉' => '黍',
- '⿊' => '黑',
- '⿋' => '黹',
- '⿌' => '黽',
- '⿍' => '鼎',
- '⿎' => '鼓',
- '⿏' => '鼠',
- '⿐' => '鼻',
- '⿑' => '齊',
- '⿒' => '齒',
- '⿓' => '龍',
- '⿔' => '龜',
- '⿕' => '龠',
- ' ' => ' ',
- '〶' => '〒',
- '〸' => '十',
- '〹' => '卄',
- '〺' => '卅',
- 'ㄱ' => 'ᄀ',
- 'ㄲ' => 'ᄁ',
- 'ㄳ' => 'ᆪ',
- 'ㄴ' => 'ᄂ',
- 'ㄵ' => 'ᆬ',
- 'ㄶ' => 'ᆭ',
- 'ㄷ' => 'ᄃ',
- 'ㄸ' => 'ᄄ',
- 'ㄹ' => 'ᄅ',
- 'ㄺ' => 'ᆰ',
- 'ㄻ' => 'ᆱ',
- 'ㄼ' => 'ᆲ',
- 'ㄽ' => 'ᆳ',
- 'ㄾ' => 'ᆴ',
- 'ㄿ' => 'ᆵ',
- 'ㅀ' => 'ᄚ',
- 'ㅁ' => 'ᄆ',
- 'ㅂ' => 'ᄇ',
- 'ㅃ' => 'ᄈ',
- 'ㅄ' => 'ᄡ',
- 'ㅅ' => 'ᄉ',
- 'ㅆ' => 'ᄊ',
- 'ㅇ' => 'ᄋ',
- 'ㅈ' => 'ᄌ',
- 'ㅉ' => 'ᄍ',
- 'ㅊ' => 'ᄎ',
- 'ㅋ' => 'ᄏ',
- 'ㅌ' => 'ᄐ',
- 'ㅍ' => 'ᄑ',
- 'ㅎ' => 'ᄒ',
- 'ㅏ' => 'ᅡ',
- 'ㅐ' => 'ᅢ',
- 'ㅑ' => 'ᅣ',
- 'ㅒ' => 'ᅤ',
- 'ㅓ' => 'ᅥ',
- 'ㅔ' => 'ᅦ',
- 'ㅕ' => 'ᅧ',
- 'ㅖ' => 'ᅨ',
- 'ㅗ' => 'ᅩ',
- 'ㅘ' => 'ᅪ',
- 'ㅙ' => 'ᅫ',
- 'ㅚ' => 'ᅬ',
- 'ㅛ' => 'ᅭ',
- 'ㅜ' => 'ᅮ',
- 'ㅝ' => 'ᅯ',
- 'ㅞ' => 'ᅰ',
- 'ㅟ' => 'ᅱ',
- 'ㅠ' => 'ᅲ',
- 'ㅡ' => 'ᅳ',
- 'ㅢ' => 'ᅴ',
- 'ㅣ' => 'ᅵ',
- 'ㅤ' => 'ᅠ',
- 'ㅥ' => 'ᄔ',
- 'ㅦ' => 'ᄕ',
- 'ㅧ' => 'ᇇ',
- 'ㅨ' => 'ᇈ',
- 'ㅩ' => 'ᇌ',
- 'ㅪ' => 'ᇎ',
- 'ㅫ' => 'ᇓ',
- 'ㅬ' => 'ᇗ',
- 'ㅭ' => 'ᇙ',
- 'ㅮ' => 'ᄜ',
- 'ㅯ' => 'ᇝ',
- 'ㅰ' => 'ᇟ',
- 'ㅱ' => 'ᄝ',
- 'ㅲ' => 'ᄞ',
- 'ㅳ' => 'ᄠ',
- 'ㅴ' => 'ᄢ',
- 'ㅵ' => 'ᄣ',
- 'ㅶ' => 'ᄧ',
- 'ㅷ' => 'ᄩ',
- 'ㅸ' => 'ᄫ',
- 'ㅹ' => 'ᄬ',
- 'ㅺ' => 'ᄭ',
- 'ㅻ' => 'ᄮ',
- 'ㅼ' => 'ᄯ',
- 'ㅽ' => 'ᄲ',
- 'ㅾ' => 'ᄶ',
- 'ㅿ' => 'ᅀ',
- 'ㆀ' => 'ᅇ',
- 'ㆁ' => 'ᅌ',
- 'ㆂ' => 'ᇱ',
- 'ㆃ' => 'ᇲ',
- 'ㆄ' => 'ᅗ',
- 'ㆅ' => 'ᅘ',
- 'ㆆ' => 'ᅙ',
- 'ㆇ' => 'ᆄ',
- 'ㆈ' => 'ᆅ',
- 'ㆉ' => 'ᆈ',
- 'ㆊ' => 'ᆑ',
- 'ㆋ' => 'ᆒ',
- 'ㆌ' => 'ᆔ',
- 'ㆍ' => 'ᆞ',
- 'ㆎ' => 'ᆡ',
- '㈀' => '(ᄀ)',
- '㈁' => '(ᄂ)',
- '㈂' => '(ᄃ)',
- '㈃' => '(ᄅ)',
- '㈄' => '(ᄆ)',
- '㈅' => '(ᄇ)',
- '㈆' => '(ᄉ)',
- '㈇' => '(ᄋ)',
- '㈈' => '(ᄌ)',
- '㈉' => '(ᄎ)',
- '㈊' => '(ᄏ)',
- '㈋' => '(ᄐ)',
- '㈌' => '(ᄑ)',
- '㈍' => '(ᄒ)',
- '㈎' => '(가)',
- '㈏' => '(나)',
- '㈐' => '(다)',
- '㈑' => '(라)',
- '㈒' => '(마)',
- '㈓' => '(바)',
- '㈔' => '(사)',
- '㈕' => '(아)',
- '㈖' => '(자)',
- '㈗' => '(차)',
- '㈘' => '(카)',
- '㈙' => '(타)',
- '㈚' => '(파)',
- '㈛' => '(하)',
- '㈜' => '(주)',
- '㈝' => '(오전)',
- '㈞' => '(오후)',
- '㈠' => '(一)',
- '㈡' => '(二)',
- '㈢' => '(三)',
- '㈣' => '(四)',
- '㈤' => '(五)',
- '㈥' => '(六)',
- '㈦' => '(七)',
- '㈧' => '(八)',
- '㈨' => '(九)',
- '㈩' => '(十)',
- '㈪' => '(月)',
- '㈫' => '(火)',
- '㈬' => '(水)',
- '㈭' => '(木)',
- '㈮' => '(金)',
- '㈯' => '(土)',
- '㈰' => '(日)',
- '㈱' => '(株)',
- '㈲' => '(有)',
- '㈳' => '(社)',
- '㈴' => '(名)',
- '㈵' => '(特)',
- '㈶' => '(財)',
- '㈷' => '(祝)',
- '㈸' => '(労)',
- '㈹' => '(代)',
- '㈺' => '(呼)',
- '㈻' => '(学)',
- '㈼' => '(監)',
- '㈽' => '(企)',
- '㈾' => '(資)',
- '㈿' => '(協)',
- '㉀' => '(祭)',
- '㉁' => '(休)',
- '㉂' => '(自)',
- '㉃' => '(至)',
- '㉄' => '(問)',
- '㉅' => '(幼)',
- '㉆' => '(文)',
- '㉇' => '(箏)',
- '㉐' => 'PTE',
- '㉑' => '(21)',
- '㉒' => '(22)',
- '㉓' => '(23)',
- '㉔' => '(24)',
- '㉕' => '(25)',
- '㉖' => '(26)',
- '㉗' => '(27)',
- '㉘' => '(28)',
- '㉙' => '(29)',
- '㉚' => '(30)',
- '㉛' => '(31)',
- '㉜' => '(32)',
- '㉝' => '(33)',
- '㉞' => '(34)',
- '㉟' => '(35)',
- '㉠' => '(ᄀ)',
- '㉡' => '(ᄂ)',
- '㉢' => '(ᄃ)',
- '㉣' => '(ᄅ)',
- '㉤' => '(ᄆ)',
- '㉥' => '(ᄇ)',
- '㉦' => '(ᄉ)',
- '㉧' => '(ᄋ)',
- '㉨' => '(ᄌ)',
- '㉩' => '(ᄎ)',
- '㉪' => '(ᄏ)',
- '㉫' => '(ᄐ)',
- '㉬' => '(ᄑ)',
- '㉭' => '(ᄒ)',
- '㉮' => '(가)',
- '㉯' => '(나)',
- '㉰' => '(다)',
- '㉱' => '(라)',
- '㉲' => '(마)',
- '㉳' => '(바)',
- '㉴' => '(사)',
- '㉵' => '(아)',
- '㉶' => '(자)',
- '㉷' => '(차)',
- '㉸' => '(카)',
- '㉹' => '(타)',
- '㉺' => '(파)',
- '㉻' => '(하)',
- '㉼' => '(참고)',
- '㉽' => '(주의)',
- '㉾' => '(우)',
- '㊀' => '(一)',
- '㊁' => '(二)',
- '㊂' => '(三)',
- '㊃' => '(四)',
- '㊄' => '(五)',
- '㊅' => '(六)',
- '㊆' => '(七)',
- '㊇' => '(八)',
- '㊈' => '(九)',
- '㊉' => '(十)',
- '㊊' => '(月)',
- '㊋' => '(火)',
- '㊌' => '(水)',
- '㊍' => '(木)',
- '㊎' => '(金)',
- '㊏' => '(土)',
- '㊐' => '(日)',
- '㊑' => '(株)',
- '㊒' => '(有)',
- '㊓' => '(社)',
- '㊔' => '(名)',
- '㊕' => '(特)',
- '㊖' => '(財)',
- '㊗' => '(祝)',
- '㊘' => '(労)',
- '㊙' => '(秘)',
- '㊚' => '(男)',
- '㊛' => '(女)',
- '㊜' => '(適)',
- '㊝' => '(優)',
- '㊞' => '(印)',
- '㊟' => '(注)',
- '㊠' => '(項)',
- '㊡' => '(休)',
- '㊢' => '(写)',
- '㊣' => '(正)',
- '㊤' => '(上)',
- '㊥' => '(中)',
- '㊦' => '(下)',
- '㊧' => '(左)',
- '㊨' => '(右)',
- '㊩' => '(医)',
- '㊪' => '(宗)',
- '㊫' => '(学)',
- '㊬' => '(監)',
- '㊭' => '(企)',
- '㊮' => '(資)',
- '㊯' => '(協)',
- '㊰' => '(夜)',
- '㊱' => '(36)',
- '㊲' => '(37)',
- '㊳' => '(38)',
- '㊴' => '(39)',
- '㊵' => '(40)',
- '㊶' => '(41)',
- '㊷' => '(42)',
- '㊸' => '(43)',
- '㊹' => '(44)',
- '㊺' => '(45)',
- '㊻' => '(46)',
- '㊼' => '(47)',
- '㊽' => '(48)',
- '㊾' => '(49)',
- '㊿' => '(50)',
- '㋀' => '1月',
- '㋁' => '2月',
- '㋂' => '3月',
- '㋃' => '4月',
- '㋄' => '5月',
- '㋅' => '6月',
- '㋆' => '7月',
- '㋇' => '8月',
- '㋈' => '9月',
- '㋉' => '10月',
- '㋊' => '11月',
- '㋋' => '12月',
- '㋌' => 'Hg',
- '㋍' => 'erg',
- '㋎' => 'eV',
- '㋏' => 'LTD',
- '㋐' => '(ア)',
- '㋑' => '(イ)',
- '㋒' => '(ウ)',
- '㋓' => '(エ)',
- '㋔' => '(オ)',
- '㋕' => '(カ)',
- '㋖' => '(キ)',
- '㋗' => '(ク)',
- '㋘' => '(ケ)',
- '㋙' => '(コ)',
- '㋚' => '(サ)',
- '㋛' => '(シ)',
- '㋜' => '(ス)',
- '㋝' => '(セ)',
- '㋞' => '(ソ)',
- '㋟' => '(タ)',
- '㋠' => '(チ)',
- '㋡' => '(ツ)',
- '㋢' => '(テ)',
- '㋣' => '(ト)',
- '㋤' => '(ナ)',
- '㋥' => '(ニ)',
- '㋦' => '(ヌ)',
- '㋧' => '(ネ)',
- '㋨' => '(ノ)',
- '㋩' => '(ハ)',
- '㋪' => '(ヒ)',
- '㋫' => '(フ)',
- '㋬' => '(ヘ)',
- '㋭' => '(ホ)',
- '㋮' => '(マ)',
- '㋯' => '(ミ)',
- '㋰' => '(ム)',
- '㋱' => '(メ)',
- '㋲' => '(モ)',
- '㋳' => '(ヤ)',
- '㋴' => '(ユ)',
- '㋵' => '(ヨ)',
- '㋶' => '(ラ)',
- '㋷' => '(リ)',
- '㋸' => '(ル)',
- '㋹' => '(レ)',
- '㋺' => '(ロ)',
- '㋻' => '(ワ)',
- '㋼' => '(ヰ)',
- '㋽' => '(ヱ)',
- '㋾' => '(ヲ)',
- '㋿' => '令和',
- '㌀' => 'アパート',
- '㌁' => 'アルファ',
- '㌂' => 'アンペア',
- '㌃' => 'アール',
- '㌄' => 'イニング',
- '㌅' => 'インチ',
- '㌆' => 'ウォン',
- '㌇' => 'エスクード',
- '㌈' => 'エーカー',
- '㌉' => 'オンス',
- '㌊' => 'オーム',
- '㌋' => 'カイリ',
- '㌌' => 'カラット',
- '㌍' => 'カロリー',
- '㌎' => 'ガロン',
- '㌏' => 'ガンマ',
- '㌐' => 'ギガ',
- '㌑' => 'ギニー',
- '㌒' => 'キュリー',
- '㌓' => 'ギルダー',
- '㌔' => 'キロ',
- '㌕' => 'キログラム',
- '㌖' => 'キロメートル',
- '㌗' => 'キロワット',
- '㌘' => 'グラム',
- '㌙' => 'グラムトン',
- '㌚' => 'クルゼイロ',
- '㌛' => 'クローネ',
- '㌜' => 'ケース',
- '㌝' => 'コルナ',
- '㌞' => 'コーポ',
- '㌟' => 'サイクル',
- '㌠' => 'サンチーム',
- '㌡' => 'シリング',
- '㌢' => 'センチ',
- '㌣' => 'セント',
- '㌤' => 'ダース',
- '㌥' => 'デシ',
- '㌦' => 'ドル',
- '㌧' => 'トン',
- '㌨' => 'ナノ',
- '㌩' => 'ノット',
- '㌪' => 'ハイツ',
- '㌫' => 'パーセント',
- '㌬' => 'パーツ',
- '㌭' => 'バーレル',
- '㌮' => 'ピアストル',
- '㌯' => 'ピクル',
- '㌰' => 'ピコ',
- '㌱' => 'ビル',
- '㌲' => 'ファラッド',
- '㌳' => 'フィート',
- '㌴' => 'ブッシェル',
- '㌵' => 'フラン',
- '㌶' => 'ヘクタール',
- '㌷' => 'ペソ',
- '㌸' => 'ペニヒ',
- '㌹' => 'ヘルツ',
- '㌺' => 'ペンス',
- '㌻' => 'ページ',
- '㌼' => 'ベータ',
- '㌽' => 'ポイント',
- '㌾' => 'ボルト',
- '㌿' => 'ホン',
- '㍀' => 'ポンド',
- '㍁' => 'ホール',
- '㍂' => 'ホーン',
- '㍃' => 'マイクロ',
- '㍄' => 'マイル',
- '㍅' => 'マッハ',
- '㍆' => 'マルク',
- '㍇' => 'マンション',
- '㍈' => 'ミクロン',
- '㍉' => 'ミリ',
- '㍊' => 'ミリバール',
- '㍋' => 'メガ',
- '㍌' => 'メガトン',
- '㍍' => 'メートル',
- '㍎' => 'ヤード',
- '㍏' => 'ヤール',
- '㍐' => 'ユアン',
- '㍑' => 'リットル',
- '㍒' => 'リラ',
- '㍓' => 'ルピー',
- '㍔' => 'ルーブル',
- '㍕' => 'レム',
- '㍖' => 'レントゲン',
- '㍗' => 'ワット',
- '㍘' => '0点',
- '㍙' => '1点',
- '㍚' => '2点',
- '㍛' => '3点',
- '㍜' => '4点',
- '㍝' => '5点',
- '㍞' => '6点',
- '㍟' => '7点',
- '㍠' => '8点',
- '㍡' => '9点',
- '㍢' => '10点',
- '㍣' => '11点',
- '㍤' => '12点',
- '㍥' => '13点',
- '㍦' => '14点',
- '㍧' => '15点',
- '㍨' => '16点',
- '㍩' => '17点',
- '㍪' => '18点',
- '㍫' => '19点',
- '㍬' => '20点',
- '㍭' => '21点',
- '㍮' => '22点',
- '㍯' => '23点',
- '㍰' => '24点',
- '㍱' => 'hPa',
- '㍲' => 'da',
- '㍳' => 'AU',
- '㍴' => 'bar',
- '㍵' => 'oV',
- '㍶' => 'pc',
- '㍷' => 'dm',
- '㍸' => 'dm²',
- '㍹' => 'dm³',
- '㍺' => 'IU',
- '㍻' => '平成',
- '㍼' => '昭和',
- '㍽' => '大正',
- '㍾' => '明治',
- '㍿' => '株式会社',
- '㎀' => 'pA',
- '㎁' => 'nA',
- '㎂' => 'μA',
- '㎃' => 'mA',
- '㎄' => 'kA',
- '㎅' => 'KB',
- '㎆' => 'MB',
- '㎇' => 'GB',
- '㎈' => 'cal',
- '㎉' => 'kcal',
- '㎊' => 'pF',
- '㎋' => 'nF',
- '㎌' => 'μF',
- '㎍' => 'μg',
- '㎎' => 'mg',
- '㎏' => 'kg',
- '㎐' => 'Hz',
- '㎑' => 'kHz',
- '㎒' => 'MHz',
- '㎓' => 'GHz',
- '㎔' => 'THz',
- '㎕' => 'μℓ',
- '㎖' => 'mℓ',
- '㎗' => 'dℓ',
- '㎘' => 'kℓ',
- '㎙' => 'fm',
- '㎚' => 'nm',
- '㎛' => 'μm',
- '㎜' => 'mm',
- '㎝' => 'cm',
- '㎞' => 'km',
- '㎟' => 'mm²',
- '㎠' => 'cm²',
- '㎡' => 'm²',
- '㎢' => 'km²',
- '㎣' => 'mm³',
- '㎤' => 'cm³',
- '㎥' => 'm³',
- '㎦' => 'km³',
- '㎧' => 'm∕s',
- '㎨' => 'm∕s²',
- '㎩' => 'Pa',
- '㎪' => 'kPa',
- '㎫' => 'MPa',
- '㎬' => 'GPa',
- '㎭' => 'rad',
- '㎮' => 'rad∕s',
- '㎯' => 'rad∕s²',
- '㎰' => 'ps',
- '㎱' => 'ns',
- '㎲' => 'μs',
- '㎳' => 'ms',
- '㎴' => 'pV',
- '㎵' => 'nV',
- '㎶' => 'μV',
- '㎷' => 'mV',
- '㎸' => 'kV',
- '㎹' => 'MV',
- '㎺' => 'pW',
- '㎻' => 'nW',
- '㎼' => 'μW',
- '㎽' => 'mW',
- '㎾' => 'kW',
- '㎿' => 'MW',
- '㏀' => 'kΩ',
- '㏁' => 'MΩ',
- '㏂' => 'a.m.',
- '㏃' => 'Bq',
- '㏄' => 'cc',
- '㏅' => 'cd',
- '㏆' => 'C∕kg',
- '㏇' => 'Co.',
- '㏈' => 'dB',
- '㏉' => 'Gy',
- '㏊' => 'ha',
- '㏋' => 'HP',
- '㏌' => 'in',
- '㏍' => 'KK',
- '㏎' => 'KM',
- '㏏' => 'kt',
- '㏐' => 'lm',
- '㏑' => 'ln',
- '㏒' => 'log',
- '㏓' => 'lx',
- '㏔' => 'mb',
- '㏕' => 'mil',
- '㏖' => 'mol',
- '㏗' => 'PH',
- '㏘' => 'p.m.',
- '㏙' => 'PPM',
- '㏚' => 'PR',
- '㏛' => 'sr',
- '㏜' => 'Sv',
- '㏝' => 'Wb',
- '㏞' => 'V∕m',
- '㏟' => 'A∕m',
- '㏠' => '1日',
- '㏡' => '2日',
- '㏢' => '3日',
- '㏣' => '4日',
- '㏤' => '5日',
- '㏥' => '6日',
- '㏦' => '7日',
- '㏧' => '8日',
- '㏨' => '9日',
- '㏩' => '10日',
- '㏪' => '11日',
- '㏫' => '12日',
- '㏬' => '13日',
- '㏭' => '14日',
- '㏮' => '15日',
- '㏯' => '16日',
- '㏰' => '17日',
- '㏱' => '18日',
- '㏲' => '19日',
- '㏳' => '20日',
- '㏴' => '21日',
- '㏵' => '22日',
- '㏶' => '23日',
- '㏷' => '24日',
- '㏸' => '25日',
- '㏹' => '26日',
- '㏺' => '27日',
- '㏻' => '28日',
- '㏼' => '29日',
- '㏽' => '30日',
- '㏾' => '31日',
- '㏿' => 'gal',
- '豈' => '豈',
- '更' => '更',
- '車' => '車',
- '賈' => '賈',
- '滑' => '滑',
- '串' => '串',
- '句' => '句',
- '龜' => '龜',
- '龜' => '龜',
- '契' => '契',
- '金' => '金',
- '喇' => '喇',
- '奈' => '奈',
- '懶' => '懶',
- '癩' => '癩',
- '羅' => '羅',
- '蘿' => '蘿',
- '螺' => '螺',
- '裸' => '裸',
- '邏' => '邏',
- '樂' => '樂',
- '洛' => '洛',
- '烙' => '烙',
- '珞' => '珞',
- '落' => '落',
- '酪' => '酪',
- '駱' => '駱',
- '亂' => '亂',
- '卵' => '卵',
- '欄' => '欄',
- '爛' => '爛',
- '蘭' => '蘭',
- '鸞' => '鸞',
- '嵐' => '嵐',
- '濫' => '濫',
- '藍' => '藍',
- '襤' => '襤',
- '拉' => '拉',
- '臘' => '臘',
- '蠟' => '蠟',
- '廊' => '廊',
- '朗' => '朗',
- '浪' => '浪',
- '狼' => '狼',
- '郎' => '郎',
- '來' => '來',
- '冷' => '冷',
- '勞' => '勞',
- '擄' => '擄',
- '櫓' => '櫓',
- '爐' => '爐',
- '盧' => '盧',
- '老' => '老',
- '蘆' => '蘆',
- '虜' => '虜',
- '路' => '路',
- '露' => '露',
- '魯' => '魯',
- '鷺' => '鷺',
- '碌' => '碌',
- '祿' => '祿',
- '綠' => '綠',
- '菉' => '菉',
- '錄' => '錄',
- '鹿' => '鹿',
- '論' => '論',
- '壟' => '壟',
- '弄' => '弄',
- '籠' => '籠',
- '聾' => '聾',
- '牢' => '牢',
- '磊' => '磊',
- '賂' => '賂',
- '雷' => '雷',
- '壘' => '壘',
- '屢' => '屢',
- '樓' => '樓',
- '淚' => '淚',
- '漏' => '漏',
- '累' => '累',
- '縷' => '縷',
- '陋' => '陋',
- '勒' => '勒',
- '肋' => '肋',
- '凜' => '凜',
- '凌' => '凌',
- '稜' => '稜',
- '綾' => '綾',
- '菱' => '菱',
- '陵' => '陵',
- '讀' => '讀',
- '拏' => '拏',
- '樂' => '樂',
- '諾' => '諾',
- '丹' => '丹',
- '寧' => '寧',
- '怒' => '怒',
- '率' => '率',
- '異' => '異',
- '北' => '北',
- '磻' => '磻',
- '便' => '便',
- '復' => '復',
- '不' => '不',
- '泌' => '泌',
- '數' => '數',
- '索' => '索',
- '參' => '參',
- '塞' => '塞',
- '省' => '省',
- '葉' => '葉',
- '說' => '說',
- '殺' => '殺',
- '辰' => '辰',
- '沈' => '沈',
- '拾' => '拾',
- '若' => '若',
- '掠' => '掠',
- '略' => '略',
- '亮' => '亮',
- '兩' => '兩',
- '凉' => '凉',
- '梁' => '梁',
- '糧' => '糧',
- '良' => '良',
- '諒' => '諒',
- '量' => '量',
- '勵' => '勵',
- '呂' => '呂',
- '女' => '女',
- '廬' => '廬',
- '旅' => '旅',
- '濾' => '濾',
- '礪' => '礪',
- '閭' => '閭',
- '驪' => '驪',
- '麗' => '麗',
- '黎' => '黎',
- '力' => '力',
- '曆' => '曆',
- '歷' => '歷',
- '轢' => '轢',
- '年' => '年',
- '憐' => '憐',
- '戀' => '戀',
- '撚' => '撚',
- '漣' => '漣',
- '煉' => '煉',
- '璉' => '璉',
- '秊' => '秊',
- '練' => '練',
- '聯' => '聯',
- '輦' => '輦',
- '蓮' => '蓮',
- '連' => '連',
- '鍊' => '鍊',
- '列' => '列',
- '劣' => '劣',
- '咽' => '咽',
- '烈' => '烈',
- '裂' => '裂',
- '說' => '說',
- '廉' => '廉',
- '念' => '念',
- '捻' => '捻',
- '殮' => '殮',
- '簾' => '簾',
- '獵' => '獵',
- '令' => '令',
- '囹' => '囹',
- '寧' => '寧',
- '嶺' => '嶺',
- '怜' => '怜',
- '玲' => '玲',
- '瑩' => '瑩',
- '羚' => '羚',
- '聆' => '聆',
- '鈴' => '鈴',
- '零' => '零',
- '靈' => '靈',
- '領' => '領',
- '例' => '例',
- '禮' => '禮',
- '醴' => '醴',
- '隸' => '隸',
- '惡' => '惡',
- '了' => '了',
- '僚' => '僚',
- '寮' => '寮',
- '尿' => '尿',
- '料' => '料',
- '樂' => '樂',
- '燎' => '燎',
- '療' => '療',
- '蓼' => '蓼',
- '遼' => '遼',
- '龍' => '龍',
- '暈' => '暈',
- '阮' => '阮',
- '劉' => '劉',
- '杻' => '杻',
- '柳' => '柳',
- '流' => '流',
- '溜' => '溜',
- '琉' => '琉',
- '留' => '留',
- '硫' => '硫',
- '紐' => '紐',
- '類' => '類',
- '六' => '六',
- '戮' => '戮',
- '陸' => '陸',
- '倫' => '倫',
- '崙' => '崙',
- '淪' => '淪',
- '輪' => '輪',
- '律' => '律',
- '慄' => '慄',
- '栗' => '栗',
- '率' => '率',
- '隆' => '隆',
- '利' => '利',
- '吏' => '吏',
- '履' => '履',
- '易' => '易',
- '李' => '李',
- '梨' => '梨',
- '泥' => '泥',
- '理' => '理',
- '痢' => '痢',
- '罹' => '罹',
- '裏' => '裏',
- '裡' => '裡',
- '里' => '里',
- '離' => '離',
- '匿' => '匿',
- '溺' => '溺',
- '吝' => '吝',
- '燐' => '燐',
- '璘' => '璘',
- '藺' => '藺',
- '隣' => '隣',
- '鱗' => '鱗',
- '麟' => '麟',
- '林' => '林',
- '淋' => '淋',
- '臨' => '臨',
- '立' => '立',
- '笠' => '笠',
- '粒' => '粒',
- '狀' => '狀',
- '炙' => '炙',
- '識' => '識',
- '什' => '什',
- '茶' => '茶',
- '刺' => '刺',
- '切' => '切',
- '度' => '度',
- '拓' => '拓',
- '糖' => '糖',
- '宅' => '宅',
- '洞' => '洞',
- '暴' => '暴',
- '輻' => '輻',
- '行' => '行',
- '降' => '降',
- '見' => '見',
- '廓' => '廓',
- '兀' => '兀',
- '嗀' => '嗀',
- '﨎' => '' . "\0" . '',
- '﨏' => '' . "\0" . '',
- '塚' => '塚',
- '﨑' => '' . "\0" . '',
- '晴' => '晴',
- '﨓' => '' . "\0" . '',
- '﨔' => '' . "\0" . '',
- '凞' => '凞',
- '猪' => '猪',
- '益' => '益',
- '礼' => '礼',
- '神' => '神',
- '祥' => '祥',
- '福' => '福',
- '靖' => '靖',
- '精' => '精',
- '羽' => '羽',
- '﨟' => '' . "\0" . '',
- '蘒' => '蘒',
- '﨡' => '' . "\0" . '',
- '諸' => '諸',
- '﨣' => '' . "\0" . '',
- '﨤' => '' . "\0" . '',
- '逸' => '逸',
- '都' => '都',
- '﨧' => '' . "\0" . '',
- '﨨' => '' . "\0" . '',
- '﨩' => '' . "\0" . '',
- '飯' => '飯',
- '飼' => '飼',
- '館' => '館',
- '鶴' => '鶴',
- '郞' => '郞',
- '隷' => '隷',
- '侮' => '侮',
- '僧' => '僧',
- '免' => '免',
- '勉' => '勉',
- '勤' => '勤',
- '卑' => '卑',
- '喝' => '喝',
- '嘆' => '嘆',
- '器' => '器',
- '塀' => '塀',
- '墨' => '墨',
- '層' => '層',
- '屮' => '屮',
- '悔' => '悔',
- '慨' => '慨',
- '憎' => '憎',
- '懲' => '懲',
- '敏' => '敏',
- '既' => '既',
- '暑' => '暑',
- '梅' => '梅',
- '海' => '海',
- '渚' => '渚',
- '漢' => '漢',
- '煮' => '煮',
- '爫' => '爫',
- '琢' => '琢',
- '碑' => '碑',
- '社' => '社',
- '祉' => '祉',
- '祈' => '祈',
- '祐' => '祐',
- '祖' => '祖',
- '祝' => '祝',
- '禍' => '禍',
- '禎' => '禎',
- '穀' => '穀',
- '突' => '突',
- '節' => '節',
- '練' => '練',
- '縉' => '縉',
- '繁' => '繁',
- '署' => '署',
- '者' => '者',
- '臭' => '臭',
- '艹' => '艹',
- '艹' => '艹',
- '著' => '著',
- '褐' => '褐',
- '視' => '視',
- '謁' => '謁',
- '謹' => '謹',
- '賓' => '賓',
- '贈' => '贈',
- '辶' => '辶',
- '逸' => '逸',
- '難' => '難',
- '響' => '響',
- '頻' => '頻',
- '恵' => '恵',
- '𤋮' => '𤋮',
- '舘' => '舘',
- '並' => '並',
- '况' => '况',
- '全' => '全',
- '侀' => '侀',
- '充' => '充',
- '冀' => '冀',
- '勇' => '勇',
- '勺' => '勺',
- '喝' => '喝',
- '啕' => '啕',
- '喙' => '喙',
- '嗢' => '嗢',
- '塚' => '塚',
- '墳' => '墳',
- '奄' => '奄',
- '奔' => '奔',
- '婢' => '婢',
- '嬨' => '嬨',
- '廒' => '廒',
- '廙' => '廙',
- '彩' => '彩',
- '徭' => '徭',
- '惘' => '惘',
- '慎' => '慎',
- '愈' => '愈',
- '憎' => '憎',
- '慠' => '慠',
- '懲' => '懲',
- '戴' => '戴',
- '揄' => '揄',
- '搜' => '搜',
- '摒' => '摒',
- '敖' => '敖',
- '晴' => '晴',
- '朗' => '朗',
- '望' => '望',
- '杖' => '杖',
- '歹' => '歹',
- '殺' => '殺',
- '流' => '流',
- '滛' => '滛',
- '滋' => '滋',
- '漢' => '漢',
- '瀞' => '瀞',
- '煮' => '煮',
- '瞧' => '瞧',
- '爵' => '爵',
- '犯' => '犯',
- '猪' => '猪',
- '瑱' => '瑱',
- '甆' => '甆',
- '画' => '画',
- '瘝' => '瘝',
- '瘟' => '瘟',
- '益' => '益',
- '盛' => '盛',
- '直' => '直',
- '睊' => '睊',
- '着' => '着',
- '磌' => '磌',
- '窱' => '窱',
- '節' => '節',
- '类' => '类',
- '絛' => '絛',
- '練' => '練',
- '缾' => '缾',
- '者' => '者',
- '荒' => '荒',
- '華' => '華',
- '蝹' => '蝹',
- '襁' => '襁',
- '覆' => '覆',
- '視' => '視',
- '調' => '調',
- '諸' => '諸',
- '請' => '請',
- '謁' => '謁',
- '諾' => '諾',
- '諭' => '諭',
- '謹' => '謹',
- '變' => '變',
- '贈' => '贈',
- '輸' => '輸',
- '遲' => '遲',
- '醙' => '醙',
- '鉶' => '鉶',
- '陼' => '陼',
- '難' => '難',
- '靖' => '靖',
- '韛' => '韛',
- '響' => '響',
- '頋' => '頋',
- '頻' => '頻',
- '鬒' => '鬒',
- '龜' => '龜',
- '𢡊' => '𢡊',
- '𢡄' => '𢡄',
- '𣏕' => '𣏕',
- '㮝' => '㮝',
- '䀘' => '䀘',
- '䀹' => '䀹',
- '𥉉' => '𥉉',
- '𥳐' => '𥳐',
- '𧻓' => '𧻓',
- '齃' => '齃',
- '龎' => '龎',
- 'ff' => 'ff',
- 'fi' => 'fi',
- 'fl' => 'fl',
- 'ffi' => 'ffi',
- 'ffl' => 'ffl',
- 'ſt' => 'ſt',
- 'st' => 'st',
- 'ﬓ' => 'մն',
- 'ﬔ' => 'մե',
- 'ﬕ' => 'մի',
- 'ﬖ' => 'վն',
- 'ﬗ' => 'մխ',
- 'ﬠ' => 'ע',
- 'ﬡ' => 'א',
- 'ﬢ' => 'ד',
- 'ﬣ' => 'ה',
- 'ﬤ' => 'כ',
- 'ﬥ' => 'ל',
- 'ﬦ' => 'ם',
- 'ﬧ' => 'ר',
- 'ﬨ' => 'ת',
- '﬩' => '+',
- 'ﭏ' => 'אל',
- '﹉' => '‾',
- '﹊' => '‾',
- '﹋' => '‾',
- '﹌' => '‾',
- '﹍' => '_',
- '﹎' => '_',
- '﹏' => '_',
- '﹐' => ',',
- '﹑' => '、',
- '﹒' => '.',
- '﹔' => ';',
- '﹕' => ':',
- '﹖' => '?',
- '﹗' => '!',
- '﹘' => '—',
- '﹙' => '(',
- '﹚' => ')',
- '﹛' => '{',
- '﹜' => '}',
- '﹝' => '〔',
- '﹞' => '〕',
- '﹟' => '#',
- '﹠' => '&',
- '﹡' => '*',
- '﹢' => '+',
- '﹣' => '-',
- '﹤' => '<',
- '﹥' => '>',
- '﹦' => '=',
- '﹨' => '\\',
- '﹩' => '$',
- '﹪' => '%',
- '﹫' => '@',
- '!' => '!',
- '"' => '"',
- '#' => '#',
- '$' => '$',
- '%' => '%',
- '&' => '&',
- ''' => '\'',
- '(' => '(',
- ')' => ')',
- '*' => '*',
- '+' => '+',
- ',' => ',',
- '-' => '-',
- '.' => '.',
- '/' => '/',
- '0' => '0',
- '1' => '1',
- '2' => '2',
- '3' => '3',
- '4' => '4',
- '5' => '5',
- '6' => '6',
- '7' => '7',
- '8' => '8',
- '9' => '9',
- ':' => ':',
- ';' => ';',
- '<' => '<',
- '=' => '=',
- '>' => '>',
- '?' => '?',
- '@' => '@',
- 'A' => 'A',
- 'B' => 'B',
- 'C' => 'C',
- 'D' => 'D',
- 'E' => 'E',
- 'F' => 'F',
- 'G' => 'G',
- 'H' => 'H',
- 'I' => 'I',
- 'J' => 'J',
- 'K' => 'K',
- 'L' => 'L',
- 'M' => 'M',
- 'N' => 'N',
- 'O' => 'O',
- 'P' => 'P',
- 'Q' => 'Q',
- 'R' => 'R',
- 'S' => 'S',
- 'T' => 'T',
- 'U' => 'U',
- 'V' => 'V',
- 'W' => 'W',
- 'X' => 'X',
- 'Y' => 'Y',
- 'Z' => 'Z',
- '[' => '[',
- '\' => '\\',
- ']' => ']',
- '^' => '^',
- '_' => '_',
- '`' => '`',
- 'a' => 'a',
- 'b' => 'b',
- 'c' => 'c',
- 'd' => 'd',
- 'e' => 'e',
- 'f' => 'f',
- 'g' => 'g',
- 'h' => 'h',
- 'i' => 'i',
- 'j' => 'j',
- 'k' => 'k',
- 'l' => 'l',
- 'm' => 'm',
- 'n' => 'n',
- 'o' => 'o',
- 'p' => 'p',
- 'q' => 'q',
- 'r' => 'r',
- 's' => 's',
- 't' => 't',
- 'u' => 'u',
- 'v' => 'v',
- 'w' => 'w',
- 'x' => 'x',
- 'y' => 'y',
- 'z' => 'z',
- '{' => '{',
- '|' => '|',
- '}' => '}',
- '~' => '~',
- '⦅' => '⦅',
- '⦆' => '⦆',
- '。' => '。',
- '「' => '「',
- '」' => '」',
- '、' => '、',
- '・' => '・',
- 'ヲ' => 'ヲ',
- 'ァ' => 'ァ',
- 'ィ' => 'ィ',
- 'ゥ' => 'ゥ',
- 'ェ' => 'ェ',
- 'ォ' => 'ォ',
- 'ャ' => 'ャ',
- 'ュ' => 'ュ',
- 'ョ' => 'ョ',
- 'ッ' => 'ッ',
- 'ー' => 'ー',
- 'ア' => 'ア',
- 'イ' => 'イ',
- 'ウ' => 'ウ',
- 'エ' => 'エ',
- 'オ' => 'オ',
- 'カ' => 'カ',
- 'キ' => 'キ',
- 'ク' => 'ク',
- 'ケ' => 'ケ',
- 'コ' => 'コ',
- 'サ' => 'サ',
- 'シ' => 'シ',
- 'ス' => 'ス',
- 'セ' => 'セ',
- 'ソ' => 'ソ',
- 'タ' => 'タ',
- 'チ' => 'チ',
- 'ツ' => 'ツ',
- 'テ' => 'テ',
- 'ト' => 'ト',
- 'ナ' => 'ナ',
- 'ニ' => 'ニ',
- 'ヌ' => 'ヌ',
- 'ネ' => 'ネ',
- 'ノ' => 'ノ',
- 'ハ' => 'ハ',
- 'ヒ' => 'ヒ',
- 'フ' => 'フ',
- 'ヘ' => 'ヘ',
- 'ホ' => 'ホ',
- 'マ' => 'マ',
- 'ミ' => 'ミ',
- 'ム' => 'ム',
- 'メ' => 'メ',
- 'モ' => 'モ',
- 'ヤ' => 'ヤ',
- 'ユ' => 'ユ',
- 'ヨ' => 'ヨ',
- 'ラ' => 'ラ',
- 'リ' => 'リ',
- 'ル' => 'ル',
- 'レ' => 'レ',
- 'ロ' => 'ロ',
- 'ワ' => 'ワ',
- 'ン' => 'ン',
- '゙' => '゙',
- '゚' => '゚',
- 'ᅠ' => 'ㅤ',
- 'ᄀ' => 'ㄱ',
- 'ᄁ' => 'ㄲ',
- 'ᆪ' => 'ㄳ',
- 'ᄂ' => 'ㄴ',
- 'ᆬ' => 'ㄵ',
- 'ᆭ' => 'ㄶ',
- 'ᄃ' => 'ㄷ',
- 'ᄄ' => 'ㄸ',
- 'ᄅ' => 'ㄹ',
- 'ᆰ' => 'ㄺ',
- 'ᆱ' => 'ㄻ',
- 'ᆲ' => 'ㄼ',
- 'ᆳ' => 'ㄽ',
- 'ᆴ' => 'ㄾ',
- 'ᆵ' => 'ㄿ',
- 'ᄚ' => 'ㅀ',
- 'ᄆ' => 'ㅁ',
- 'ᄇ' => 'ㅂ',
- 'ᄈ' => 'ㅃ',
- 'ᄡ' => 'ㅄ',
- 'ᄉ' => 'ㅅ',
- 'ᄊ' => 'ㅆ',
- 'ᄋ' => 'ㅇ',
- 'ᄌ' => 'ㅈ',
- 'ᄍ' => 'ㅉ',
- 'ᄎ' => 'ㅊ',
- 'ᄏ' => 'ㅋ',
- 'ᄐ' => 'ㅌ',
- 'ᄑ' => 'ㅍ',
- 'ᄒ' => 'ㅎ',
- 'ᅡ' => 'ㅏ',
- 'ᅢ' => 'ㅐ',
- 'ᅣ' => 'ㅑ',
- 'ᅤ' => 'ㅒ',
- 'ᅥ' => 'ㅓ',
- 'ᅦ' => 'ㅔ',
- 'ᅧ' => 'ㅕ',
- 'ᅨ' => 'ㅖ',
- 'ᅩ' => 'ㅗ',
- 'ᅪ' => 'ㅘ',
- 'ᅫ' => 'ㅙ',
- 'ᅬ' => 'ㅚ',
- 'ᅭ' => 'ㅛ',
- 'ᅮ' => 'ㅜ',
- 'ᅯ' => 'ㅝ',
- 'ᅰ' => 'ㅞ',
- 'ᅱ' => 'ㅟ',
- 'ᅲ' => 'ㅠ',
- 'ᅳ' => 'ㅡ',
- 'ᅴ' => 'ㅢ',
- 'ᅵ' => 'ㅣ',
- '¢' => '¢',
- '£' => '£',
- '¬' => '¬',
- ' ̄' => '¯',
- '¦' => '¦',
- '¥' => '¥',
- '₩' => '₩',
- '│' => '│',
- '←' => '←',
- '↑' => '↑',
- '→' => '→',
- '↓' => '↓',
- '■' => '■',
- '○' => '○',
- '𝐀' => 'A',
- '𝐁' => 'B',
- '𝐂' => 'C',
- '𝐃' => 'D',
- '𝐄' => 'E',
- '𝐅' => 'F',
- '𝐆' => 'G',
- '𝐇' => 'H',
- '𝐈' => 'I',
- '𝐉' => 'J',
- '𝐊' => 'K',
- '𝐋' => 'L',
- '𝐌' => 'M',
- '𝐍' => 'N',
- '𝐎' => 'O',
- '𝐏' => 'P',
- '𝐐' => 'Q',
- '𝐑' => 'R',
- '𝐒' => 'S',
- '𝐓' => 'T',
- '𝐔' => 'U',
- '𝐕' => 'V',
- '𝐖' => 'W',
- '𝐗' => 'X',
- '𝐘' => 'Y',
- '𝐙' => 'Z',
- '𝐚' => 'a',
- '𝐛' => 'b',
- '𝐜' => 'c',
- '𝐝' => 'd',
- '𝐞' => 'e',
- '𝐟' => 'f',
- '𝐠' => 'g',
- '𝐡' => 'h',
- '𝐢' => 'i',
- '𝐣' => 'j',
- '𝐤' => 'k',
- '𝐥' => 'l',
- '𝐦' => 'm',
- '𝐧' => 'n',
- '𝐨' => 'o',
- '𝐩' => 'p',
- '𝐪' => 'q',
- '𝐫' => 'r',
- '𝐬' => 's',
- '𝐭' => 't',
- '𝐮' => 'u',
- '𝐯' => 'v',
- '𝐰' => 'w',
- '𝐱' => 'x',
- '𝐲' => 'y',
- '𝐳' => 'z',
- '𝐴' => 'A',
- '𝐵' => 'B',
- '𝐶' => 'C',
- '𝐷' => 'D',
- '𝐸' => 'E',
- '𝐹' => 'F',
- '𝐺' => 'G',
- '𝐻' => 'H',
- '𝐼' => 'I',
- '𝐽' => 'J',
- '𝐾' => 'K',
- '𝐿' => 'L',
- '𝑀' => 'M',
- '𝑁' => 'N',
- '𝑂' => 'O',
- '𝑃' => 'P',
- '𝑄' => 'Q',
- '𝑅' => 'R',
- '𝑆' => 'S',
- '𝑇' => 'T',
- '𝑈' => 'U',
- '𝑉' => 'V',
- '𝑊' => 'W',
- '𝑋' => 'X',
- '𝑌' => 'Y',
- '𝑍' => 'Z',
- '𝑎' => 'a',
- '𝑏' => 'b',
- '𝑐' => 'c',
- '𝑑' => 'd',
- '𝑒' => 'e',
- '𝑓' => 'f',
- '𝑔' => 'g',
- '𝑖' => 'i',
- '𝑗' => 'j',
- '𝑘' => 'k',
- '𝑙' => 'l',
- '𝑚' => 'm',
- '𝑛' => 'n',
- '𝑜' => 'o',
- '𝑝' => 'p',
- '𝑞' => 'q',
- '𝑟' => 'r',
- '𝑠' => 's',
- '𝑡' => 't',
- '𝑢' => 'u',
- '𝑣' => 'v',
- '𝑤' => 'w',
- '𝑥' => 'x',
- '𝑦' => 'y',
- '𝑧' => 'z',
- '𝑨' => 'A',
- '𝑩' => 'B',
- '𝑪' => 'C',
- '𝑫' => 'D',
- '𝑬' => 'E',
- '𝑭' => 'F',
- '𝑮' => 'G',
- '𝑯' => 'H',
- '𝑰' => 'I',
- '𝑱' => 'J',
- '𝑲' => 'K',
- '𝑳' => 'L',
- '𝑴' => 'M',
- '𝑵' => 'N',
- '𝑶' => 'O',
- '𝑷' => 'P',
- '𝑸' => 'Q',
- '𝑹' => 'R',
- '𝑺' => 'S',
- '𝑻' => 'T',
- '𝑼' => 'U',
- '𝑽' => 'V',
- '𝑾' => 'W',
- '𝑿' => 'X',
- '𝒀' => 'Y',
- '𝒁' => 'Z',
- '𝒂' => 'a',
- '𝒃' => 'b',
- '𝒄' => 'c',
- '𝒅' => 'd',
- '𝒆' => 'e',
- '𝒇' => 'f',
- '𝒈' => 'g',
- '𝒉' => 'h',
- '𝒊' => 'i',
- '𝒋' => 'j',
- '𝒌' => 'k',
- '𝒍' => 'l',
- '𝒎' => 'm',
- '𝒏' => 'n',
- '𝒐' => 'o',
- '𝒑' => 'p',
- '𝒒' => 'q',
- '𝒓' => 'r',
- '𝒔' => 's',
- '𝒕' => 't',
- '𝒖' => 'u',
- '𝒗' => 'v',
- '𝒘' => 'w',
- '𝒙' => 'x',
- '𝒚' => 'y',
- '𝒛' => 'z',
- '𝒜' => 'A',
- '𝒞' => 'C',
- '𝒟' => 'D',
- '𝒢' => 'G',
- '𝒥' => 'J',
- '𝒦' => 'K',
- '𝒩' => 'N',
- '𝒪' => 'O',
- '𝒫' => 'P',
- '𝒬' => 'Q',
- '𝒮' => 'S',
- '𝒯' => 'T',
- '𝒰' => 'U',
- '𝒱' => 'V',
- '𝒲' => 'W',
- '𝒳' => 'X',
- '𝒴' => 'Y',
- '𝒵' => 'Z',
- '𝒶' => 'a',
- '𝒷' => 'b',
- '𝒸' => 'c',
- '𝒹' => 'd',
- '𝒻' => 'f',
- '𝒽' => 'h',
- '𝒾' => 'i',
- '𝒿' => 'j',
- '𝓀' => 'k',
- '𝓁' => 'l',
- '𝓂' => 'm',
- '𝓃' => 'n',
- '𝓅' => 'p',
- '𝓆' => 'q',
- '𝓇' => 'r',
- '𝓈' => 's',
- '𝓉' => 't',
- '𝓊' => 'u',
- '𝓋' => 'v',
- '𝓌' => 'w',
- '𝓍' => 'x',
- '𝓎' => 'y',
- '𝓏' => 'z',
- '𝓐' => 'A',
- '𝓑' => 'B',
- '𝓒' => 'C',
- '𝓓' => 'D',
- '𝓔' => 'E',
- '𝓕' => 'F',
- '𝓖' => 'G',
- '𝓗' => 'H',
- '𝓘' => 'I',
- '𝓙' => 'J',
- '𝓚' => 'K',
- '𝓛' => 'L',
- '𝓜' => 'M',
- '𝓝' => 'N',
- '𝓞' => 'O',
- '𝓟' => 'P',
- '𝓠' => 'Q',
- '𝓡' => 'R',
- '𝓢' => 'S',
- '𝓣' => 'T',
- '𝓤' => 'U',
- '𝓥' => 'V',
- '𝓦' => 'W',
- '𝓧' => 'X',
- '𝓨' => 'Y',
- '𝓩' => 'Z',
- '𝓪' => 'a',
- '𝓫' => 'b',
- '𝓬' => 'c',
- '𝓭' => 'd',
- '𝓮' => 'e',
- '𝓯' => 'f',
- '𝓰' => 'g',
- '𝓱' => 'h',
- '𝓲' => 'i',
- '𝓳' => 'j',
- '𝓴' => 'k',
- '𝓵' => 'l',
- '𝓶' => 'm',
- '𝓷' => 'n',
- '𝓸' => 'o',
- '𝓹' => 'p',
- '𝓺' => 'q',
- '𝓻' => 'r',
- '𝓼' => 's',
- '𝓽' => 't',
- '𝓾' => 'u',
- '𝓿' => 'v',
- '𝔀' => 'w',
- '𝔁' => 'x',
- '𝔂' => 'y',
- '𝔃' => 'z',
- '𝔄' => 'A',
- '𝔅' => 'B',
- '𝔇' => 'D',
- '𝔈' => 'E',
- '𝔉' => 'F',
- '𝔊' => 'G',
- '𝔍' => 'J',
- '𝔎' => 'K',
- '𝔏' => 'L',
- '𝔐' => 'M',
- '𝔑' => 'N',
- '𝔒' => 'O',
- '𝔓' => 'P',
- '𝔔' => 'Q',
- '𝔖' => 'S',
- '𝔗' => 'T',
- '𝔘' => 'U',
- '𝔙' => 'V',
- '𝔚' => 'W',
- '𝔛' => 'X',
- '𝔜' => 'Y',
- '𝔞' => 'a',
- '𝔟' => 'b',
- '𝔠' => 'c',
- '𝔡' => 'd',
- '𝔢' => 'e',
- '𝔣' => 'f',
- '𝔤' => 'g',
- '𝔥' => 'h',
- '𝔦' => 'i',
- '𝔧' => 'j',
- '𝔨' => 'k',
- '𝔩' => 'l',
- '𝔪' => 'm',
- '𝔫' => 'n',
- '𝔬' => 'o',
- '𝔭' => 'p',
- '𝔮' => 'q',
- '𝔯' => 'r',
- '𝔰' => 's',
- '𝔱' => 't',
- '𝔲' => 'u',
- '𝔳' => 'v',
- '𝔴' => 'w',
- '𝔵' => 'x',
- '𝔶' => 'y',
- '𝔷' => 'z',
- '𝔸' => 'A',
- '𝔹' => 'B',
- '𝔻' => 'D',
- '𝔼' => 'E',
- '𝔽' => 'F',
- '𝔾' => 'G',
- '𝕀' => 'I',
- '𝕁' => 'J',
- '𝕂' => 'K',
- '𝕃' => 'L',
- '𝕄' => 'M',
- '𝕆' => 'O',
- '𝕊' => 'S',
- '𝕋' => 'T',
- '𝕌' => 'U',
- '𝕍' => 'V',
- '𝕎' => 'W',
- '𝕏' => 'X',
- '𝕐' => 'Y',
- '𝕒' => 'a',
- '𝕓' => 'b',
- '𝕔' => 'c',
- '𝕕' => 'd',
- '𝕖' => 'e',
- '𝕗' => 'f',
- '𝕘' => 'g',
- '𝕙' => 'h',
- '𝕚' => 'i',
- '𝕛' => 'j',
- '𝕜' => 'k',
- '𝕝' => 'l',
- '𝕞' => 'm',
- '𝕟' => 'n',
- '𝕠' => 'o',
- '𝕡' => 'p',
- '𝕢' => 'q',
- '𝕣' => 'r',
- '𝕤' => 's',
- '𝕥' => 't',
- '𝕦' => 'u',
- '𝕧' => 'v',
- '𝕨' => 'w',
- '𝕩' => 'x',
- '𝕪' => 'y',
- '𝕫' => 'z',
- '𝕬' => 'A',
- '𝕭' => 'B',
- '𝕮' => 'C',
- '𝕯' => 'D',
- '𝕰' => 'E',
- '𝕱' => 'F',
- '𝕲' => 'G',
- '𝕳' => 'H',
- '𝕴' => 'I',
- '𝕵' => 'J',
- '𝕶' => 'K',
- '𝕷' => 'L',
- '𝕸' => 'M',
- '𝕹' => 'N',
- '𝕺' => 'O',
- '𝕻' => 'P',
- '𝕼' => 'Q',
- '𝕽' => 'R',
- '𝕾' => 'S',
- '𝕿' => 'T',
- '𝖀' => 'U',
- '𝖁' => 'V',
- '𝖂' => 'W',
- '𝖃' => 'X',
- '𝖄' => 'Y',
- '𝖅' => 'Z',
- '𝖆' => 'a',
- '𝖇' => 'b',
- '𝖈' => 'c',
- '𝖉' => 'd',
- '𝖊' => 'e',
- '𝖋' => 'f',
- '𝖌' => 'g',
- '𝖍' => 'h',
- '𝖎' => 'i',
- '𝖏' => 'j',
- '𝖐' => 'k',
- '𝖑' => 'l',
- '𝖒' => 'm',
- '𝖓' => 'n',
- '𝖔' => 'o',
- '𝖕' => 'p',
- '𝖖' => 'q',
- '𝖗' => 'r',
- '𝖘' => 's',
- '𝖙' => 't',
- '𝖚' => 'u',
- '𝖛' => 'v',
- '𝖜' => 'w',
- '𝖝' => 'x',
- '𝖞' => 'y',
- '𝖟' => 'z',
- '𝖠' => 'A',
- '𝖡' => 'B',
- '𝖢' => 'C',
- '𝖣' => 'D',
- '𝖤' => 'E',
- '𝖥' => 'F',
- '𝖦' => 'G',
- '𝖧' => 'H',
- '𝖨' => 'I',
- '𝖩' => 'J',
- '𝖪' => 'K',
- '𝖫' => 'L',
- '𝖬' => 'M',
- '𝖭' => 'N',
- '𝖮' => 'O',
- '𝖯' => 'P',
- '𝖰' => 'Q',
- '𝖱' => 'R',
- '𝖲' => 'S',
- '𝖳' => 'T',
- '𝖴' => 'U',
- '𝖵' => 'V',
- '𝖶' => 'W',
- '𝖷' => 'X',
- '𝖸' => 'Y',
- '𝖹' => 'Z',
- '𝖺' => 'a',
- '𝖻' => 'b',
- '𝖼' => 'c',
- '𝖽' => 'd',
- '𝖾' => 'e',
- '𝖿' => 'f',
- '𝗀' => 'g',
- '𝗁' => 'h',
- '𝗂' => 'i',
- '𝗃' => 'j',
- '𝗄' => 'k',
- '𝗅' => 'l',
- '𝗆' => 'm',
- '𝗇' => 'n',
- '𝗈' => 'o',
- '𝗉' => 'p',
- '𝗊' => 'q',
- '𝗋' => 'r',
- '𝗌' => 's',
- '𝗍' => 't',
- '𝗎' => 'u',
- '𝗏' => 'v',
- '𝗐' => 'w',
- '𝗑' => 'x',
- '𝗒' => 'y',
- '𝗓' => 'z',
- '𝗔' => 'A',
- '𝗕' => 'B',
- '𝗖' => 'C',
- '𝗗' => 'D',
- '𝗘' => 'E',
- '𝗙' => 'F',
- '𝗚' => 'G',
- '𝗛' => 'H',
- '𝗜' => 'I',
- '𝗝' => 'J',
- '𝗞' => 'K',
- '𝗟' => 'L',
- '𝗠' => 'M',
- '𝗡' => 'N',
- '𝗢' => 'O',
- '𝗣' => 'P',
- '𝗤' => 'Q',
- '𝗥' => 'R',
- '𝗦' => 'S',
- '𝗧' => 'T',
- '𝗨' => 'U',
- '𝗩' => 'V',
- '𝗪' => 'W',
- '𝗫' => 'X',
- '𝗬' => 'Y',
- '𝗭' => 'Z',
- '𝗮' => 'a',
- '𝗯' => 'b',
- '𝗰' => 'c',
- '𝗱' => 'd',
- '𝗲' => 'e',
- '𝗳' => 'f',
- '𝗴' => 'g',
- '𝗵' => 'h',
- '𝗶' => 'i',
- '𝗷' => 'j',
- '𝗸' => 'k',
- '𝗹' => 'l',
- '𝗺' => 'm',
- '𝗻' => 'n',
- '𝗼' => 'o',
- '𝗽' => 'p',
- '𝗾' => 'q',
- '𝗿' => 'r',
- '𝘀' => 's',
- '𝘁' => 't',
- '𝘂' => 'u',
- '𝘃' => 'v',
- '𝘄' => 'w',
- '𝘅' => 'x',
- '𝘆' => 'y',
- '𝘇' => 'z',
- '𝘈' => 'A',
- '𝘉' => 'B',
- '𝘊' => 'C',
- '𝘋' => 'D',
- '𝘌' => 'E',
- '𝘍' => 'F',
- '𝘎' => 'G',
- '𝘏' => 'H',
- '𝘐' => 'I',
- '𝘑' => 'J',
- '𝘒' => 'K',
- '𝘓' => 'L',
- '𝘔' => 'M',
- '𝘕' => 'N',
- '𝘖' => 'O',
- '𝘗' => 'P',
- '𝘘' => 'Q',
- '𝘙' => 'R',
- '𝘚' => 'S',
- '𝘛' => 'T',
- '𝘜' => 'U',
- '𝘝' => 'V',
- '𝘞' => 'W',
- '𝘟' => 'X',
- '𝘠' => 'Y',
- '𝘡' => 'Z',
- '𝘢' => 'a',
- '𝘣' => 'b',
- '𝘤' => 'c',
- '𝘥' => 'd',
- '𝘦' => 'e',
- '𝘧' => 'f',
- '𝘨' => 'g',
- '𝘩' => 'h',
- '𝘪' => 'i',
- '𝘫' => 'j',
- '𝘬' => 'k',
- '𝘭' => 'l',
- '𝘮' => 'm',
- '𝘯' => 'n',
- '𝘰' => 'o',
- '𝘱' => 'p',
- '𝘲' => 'q',
- '𝘳' => 'r',
- '𝘴' => 's',
- '𝘵' => 't',
- '𝘶' => 'u',
- '𝘷' => 'v',
- '𝘸' => 'w',
- '𝘹' => 'x',
- '𝘺' => 'y',
- '𝘻' => 'z',
- '𝘼' => 'A',
- '𝘽' => 'B',
- '𝘾' => 'C',
- '𝘿' => 'D',
- '𝙀' => 'E',
- '𝙁' => 'F',
- '𝙂' => 'G',
- '𝙃' => 'H',
- '𝙄' => 'I',
- '𝙅' => 'J',
- '𝙆' => 'K',
- '𝙇' => 'L',
- '𝙈' => 'M',
- '𝙉' => 'N',
- '𝙊' => 'O',
- '𝙋' => 'P',
- '𝙌' => 'Q',
- '𝙍' => 'R',
- '𝙎' => 'S',
- '𝙏' => 'T',
- '𝙐' => 'U',
- '𝙑' => 'V',
- '𝙒' => 'W',
- '𝙓' => 'X',
- '𝙔' => 'Y',
- '𝙕' => 'Z',
- '𝙖' => 'a',
- '𝙗' => 'b',
- '𝙘' => 'c',
- '𝙙' => 'd',
- '𝙚' => 'e',
- '𝙛' => 'f',
- '𝙜' => 'g',
- '𝙝' => 'h',
- '𝙞' => 'i',
- '𝙟' => 'j',
- '𝙠' => 'k',
- '𝙡' => 'l',
- '𝙢' => 'm',
- '𝙣' => 'n',
- '𝙤' => 'o',
- '𝙥' => 'p',
- '𝙦' => 'q',
- '𝙧' => 'r',
- '𝙨' => 's',
- '𝙩' => 't',
- '𝙪' => 'u',
- '𝙫' => 'v',
- '𝙬' => 'w',
- '𝙭' => 'x',
- '𝙮' => 'y',
- '𝙯' => 'z',
- '𝙰' => 'A',
- '𝙱' => 'B',
- '𝙲' => 'C',
- '𝙳' => 'D',
- '𝙴' => 'E',
- '𝙵' => 'F',
- '𝙶' => 'G',
- '𝙷' => 'H',
- '𝙸' => 'I',
- '𝙹' => 'J',
- '𝙺' => 'K',
- '𝙻' => 'L',
- '𝙼' => 'M',
- '𝙽' => 'N',
- '𝙾' => 'O',
- '𝙿' => 'P',
- '𝚀' => 'Q',
- '𝚁' => 'R',
- '𝚂' => 'S',
- '𝚃' => 'T',
- '𝚄' => 'U',
- '𝚅' => 'V',
- '𝚆' => 'W',
- '𝚇' => 'X',
- '𝚈' => 'Y',
- '𝚉' => 'Z',
- '𝚊' => 'a',
- '𝚋' => 'b',
- '𝚌' => 'c',
- '𝚍' => 'd',
- '𝚎' => 'e',
- '𝚏' => 'f',
- '𝚐' => 'g',
- '𝚑' => 'h',
- '𝚒' => 'i',
- '𝚓' => 'j',
- '𝚔' => 'k',
- '𝚕' => 'l',
- '𝚖' => 'm',
- '𝚗' => 'n',
- '𝚘' => 'o',
- '𝚙' => 'p',
- '𝚚' => 'q',
- '𝚛' => 'r',
- '𝚜' => 's',
- '𝚝' => 't',
- '𝚞' => 'u',
- '𝚟' => 'v',
- '𝚠' => 'w',
- '𝚡' => 'x',
- '𝚢' => 'y',
- '𝚣' => 'z',
- '𝚤' => 'ı',
- '𝚥' => 'ȷ',
- '𝚨' => 'Α',
- '𝚩' => 'Β',
- '𝚪' => 'Γ',
- '𝚫' => 'Δ',
- '𝚬' => 'Ε',
- '𝚭' => 'Ζ',
- '𝚮' => 'Η',
- '𝚯' => 'Θ',
- '𝚰' => 'Ι',
- '𝚱' => 'Κ',
- '𝚲' => 'Λ',
- '𝚳' => 'Μ',
- '𝚴' => 'Ν',
- '𝚵' => 'Ξ',
- '𝚶' => 'Ο',
- '𝚷' => 'Π',
- '𝚸' => 'Ρ',
- '𝚹' => 'ϴ',
- '𝚺' => 'Σ',
- '𝚻' => 'Τ',
- '𝚼' => 'Υ',
- '𝚽' => 'Φ',
- '𝚾' => 'Χ',
- '𝚿' => 'Ψ',
- '𝛀' => 'Ω',
- '𝛁' => '∇',
- '𝛂' => 'α',
- '𝛃' => 'β',
- '𝛄' => 'γ',
- '𝛅' => 'δ',
- '𝛆' => 'ε',
- '𝛇' => 'ζ',
- '𝛈' => 'η',
- '𝛉' => 'θ',
- '𝛊' => 'ι',
- '𝛋' => 'κ',
- '𝛌' => 'λ',
- '𝛍' => 'μ',
- '𝛎' => 'ν',
- '𝛏' => 'ξ',
- '𝛐' => 'ο',
- '𝛑' => 'π',
- '𝛒' => 'ρ',
- '𝛓' => 'ς',
- '𝛔' => 'σ',
- '𝛕' => 'τ',
- '𝛖' => 'υ',
- '𝛗' => 'φ',
- '𝛘' => 'χ',
- '𝛙' => 'ψ',
- '𝛚' => 'ω',
- '𝛛' => '∂',
- '𝛜' => 'ϵ',
- '𝛝' => 'ϑ',
- '𝛞' => 'ϰ',
- '𝛟' => 'ϕ',
- '𝛠' => 'ϱ',
- '𝛡' => 'ϖ',
- '𝛢' => 'Α',
- '𝛣' => 'Β',
- '𝛤' => 'Γ',
- '𝛥' => 'Δ',
- '𝛦' => 'Ε',
- '𝛧' => 'Ζ',
- '𝛨' => 'Η',
- '𝛩' => 'Θ',
- '𝛪' => 'Ι',
- '𝛫' => 'Κ',
- '𝛬' => 'Λ',
- '𝛭' => 'Μ',
- '𝛮' => 'Ν',
- '𝛯' => 'Ξ',
- '𝛰' => 'Ο',
- '𝛱' => 'Π',
- '𝛲' => 'Ρ',
- '𝛳' => 'ϴ',
- '𝛴' => 'Σ',
- '𝛵' => 'Τ',
- '𝛶' => 'Υ',
- '𝛷' => 'Φ',
- '𝛸' => 'Χ',
- '𝛹' => 'Ψ',
- '𝛺' => 'Ω',
- '𝛻' => '∇',
- '𝛼' => 'α',
- '𝛽' => 'β',
- '𝛾' => 'γ',
- '𝛿' => 'δ',
- '𝜀' => 'ε',
- '𝜁' => 'ζ',
- '𝜂' => 'η',
- '𝜃' => 'θ',
- '𝜄' => 'ι',
- '𝜅' => 'κ',
- '𝜆' => 'λ',
- '𝜇' => 'μ',
- '𝜈' => 'ν',
- '𝜉' => 'ξ',
- '𝜊' => 'ο',
- '𝜋' => 'π',
- '𝜌' => 'ρ',
- '𝜍' => 'ς',
- '𝜎' => 'σ',
- '𝜏' => 'τ',
- '𝜐' => 'υ',
- '𝜑' => 'φ',
- '𝜒' => 'χ',
- '𝜓' => 'ψ',
- '𝜔' => 'ω',
- '𝜕' => '∂',
- '𝜖' => 'ϵ',
- '𝜗' => 'ϑ',
- '𝜘' => 'ϰ',
- '𝜙' => 'ϕ',
- '𝜚' => 'ϱ',
- '𝜛' => 'ϖ',
- '𝜜' => 'Α',
- '𝜝' => 'Β',
- '𝜞' => 'Γ',
- '𝜟' => 'Δ',
- '𝜠' => 'Ε',
- '𝜡' => 'Ζ',
- '𝜢' => 'Η',
- '𝜣' => 'Θ',
- '𝜤' => 'Ι',
- '𝜥' => 'Κ',
- '𝜦' => 'Λ',
- '𝜧' => 'Μ',
- '𝜨' => 'Ν',
- '𝜩' => 'Ξ',
- '𝜪' => 'Ο',
- '𝜫' => 'Π',
- '𝜬' => 'Ρ',
- '𝜭' => 'ϴ',
- '𝜮' => 'Σ',
- '𝜯' => 'Τ',
- '𝜰' => 'Υ',
- '𝜱' => 'Φ',
- '𝜲' => 'Χ',
- '𝜳' => 'Ψ',
- '𝜴' => 'Ω',
- '𝜵' => '∇',
- '𝜶' => 'α',
- '𝜷' => 'β',
- '𝜸' => 'γ',
- '𝜹' => 'δ',
- '𝜺' => 'ε',
- '𝜻' => 'ζ',
- '𝜼' => 'η',
- '𝜽' => 'θ',
- '𝜾' => 'ι',
- '𝜿' => 'κ',
- '𝝀' => 'λ',
- '𝝁' => 'μ',
- '𝝂' => 'ν',
- '𝝃' => 'ξ',
- '𝝄' => 'ο',
- '𝝅' => 'π',
- '𝝆' => 'ρ',
- '𝝇' => 'ς',
- '𝝈' => 'σ',
- '𝝉' => 'τ',
- '𝝊' => 'υ',
- '𝝋' => 'φ',
- '𝝌' => 'χ',
- '𝝍' => 'ψ',
- '𝝎' => 'ω',
- '𝝏' => '∂',
- '𝝐' => 'ϵ',
- '𝝑' => 'ϑ',
- '𝝒' => 'ϰ',
- '𝝓' => 'ϕ',
- '𝝔' => 'ϱ',
- '𝝕' => 'ϖ',
- '𝝖' => 'Α',
- '𝝗' => 'Β',
- '𝝘' => 'Γ',
- '𝝙' => 'Δ',
- '𝝚' => 'Ε',
- '𝝛' => 'Ζ',
- '𝝜' => 'Η',
- '𝝝' => 'Θ',
- '𝝞' => 'Ι',
- '𝝟' => 'Κ',
- '𝝠' => 'Λ',
- '𝝡' => 'Μ',
- '𝝢' => 'Ν',
- '𝝣' => 'Ξ',
- '𝝤' => 'Ο',
- '𝝥' => 'Π',
- '𝝦' => 'Ρ',
- '𝝧' => 'ϴ',
- '𝝨' => 'Σ',
- '𝝩' => 'Τ',
- '𝝪' => 'Υ',
- '𝝫' => 'Φ',
- '𝝬' => 'Χ',
- '𝝭' => 'Ψ',
- '𝝮' => 'Ω',
- '𝝯' => '∇',
- '𝝰' => 'α',
- '𝝱' => 'β',
- '𝝲' => 'γ',
- '𝝳' => 'δ',
- '𝝴' => 'ε',
- '𝝵' => 'ζ',
- '𝝶' => 'η',
- '𝝷' => 'θ',
- '𝝸' => 'ι',
- '𝝹' => 'κ',
- '𝝺' => 'λ',
- '𝝻' => 'μ',
- '𝝼' => 'ν',
- '𝝽' => 'ξ',
- '𝝾' => 'ο',
- '𝝿' => 'π',
- '𝞀' => 'ρ',
- '𝞁' => 'ς',
- '𝞂' => 'σ',
- '𝞃' => 'τ',
- '𝞄' => 'υ',
- '𝞅' => 'φ',
- '𝞆' => 'χ',
- '𝞇' => 'ψ',
- '𝞈' => 'ω',
- '𝞉' => '∂',
- '𝞊' => 'ϵ',
- '𝞋' => 'ϑ',
- '𝞌' => 'ϰ',
- '𝞍' => 'ϕ',
- '𝞎' => 'ϱ',
- '𝞏' => 'ϖ',
- '𝞐' => 'Α',
- '𝞑' => 'Β',
- '𝞒' => 'Γ',
- '𝞓' => 'Δ',
- '𝞔' => 'Ε',
- '𝞕' => 'Ζ',
- '𝞖' => 'Η',
- '𝞗' => 'Θ',
- '𝞘' => 'Ι',
- '𝞙' => 'Κ',
- '𝞚' => 'Λ',
- '𝞛' => 'Μ',
- '𝞜' => 'Ν',
- '𝞝' => 'Ξ',
- '𝞞' => 'Ο',
- '𝞟' => 'Π',
- '𝞠' => 'Ρ',
- '𝞡' => 'ϴ',
- '𝞢' => 'Σ',
- '𝞣' => 'Τ',
- '𝞤' => 'Υ',
- '𝞥' => 'Φ',
- '𝞦' => 'Χ',
- '𝞧' => 'Ψ',
- '𝞨' => 'Ω',
- '𝞩' => '∇',
- '𝞪' => 'α',
- '𝞫' => 'β',
- '𝞬' => 'γ',
- '𝞭' => 'δ',
- '𝞮' => 'ε',
- '𝞯' => 'ζ',
- '𝞰' => 'η',
- '𝞱' => 'θ',
- '𝞲' => 'ι',
- '𝞳' => 'κ',
- '𝞴' => 'λ',
- '𝞵' => 'μ',
- '𝞶' => 'ν',
- '𝞷' => 'ξ',
- '𝞸' => 'ο',
- '𝞹' => 'π',
- '𝞺' => 'ρ',
- '𝞻' => 'ς',
- '𝞼' => 'σ',
- '𝞽' => 'τ',
- '𝞾' => 'υ',
- '𝞿' => 'φ',
- '𝟀' => 'χ',
- '𝟁' => 'ψ',
- '𝟂' => 'ω',
- '𝟃' => '∂',
- '𝟄' => 'ϵ',
- '𝟅' => 'ϑ',
- '𝟆' => 'ϰ',
- '𝟇' => 'ϕ',
- '𝟈' => 'ϱ',
- '𝟉' => 'ϖ',
- '𝟊' => 'Ϝ',
- '𝟋' => 'ϝ',
- '𝟎' => '0',
- '𝟏' => '1',
- '𝟐' => '2',
- '𝟑' => '3',
- '𝟒' => '4',
- '𝟓' => '5',
- '𝟔' => '6',
- '𝟕' => '7',
- '𝟖' => '8',
- '𝟗' => '9',
- '𝟘' => '0',
- '𝟙' => '1',
- '𝟚' => '2',
- '𝟛' => '3',
- '𝟜' => '4',
- '𝟝' => '5',
- '𝟞' => '6',
- '𝟟' => '7',
- '𝟠' => '8',
- '𝟡' => '9',
- '𝟢' => '0',
- '𝟣' => '1',
- '𝟤' => '2',
- '𝟥' => '3',
- '𝟦' => '4',
- '𝟧' => '5',
- '𝟨' => '6',
- '𝟩' => '7',
- '𝟪' => '8',
- '𝟫' => '9',
- '𝟬' => '0',
- '𝟭' => '1',
- '𝟮' => '2',
- '𝟯' => '3',
- '𝟰' => '4',
- '𝟱' => '5',
- '𝟲' => '6',
- '𝟳' => '7',
- '𝟴' => '8',
- '𝟵' => '9',
- '𝟶' => '0',
- '𝟷' => '1',
- '𝟸' => '2',
- '𝟹' => '3',
- '𝟺' => '4',
- '𝟻' => '5',
- '𝟼' => '6',
- '𝟽' => '7',
- '𝟾' => '8',
- '𝟿' => '9',
- '𞸀' => 'ا',
- '𞸁' => 'ب',
- '𞸂' => 'ج',
- '𞸃' => 'د',
- '𞸅' => 'و',
- '𞸆' => 'ز',
- '𞸇' => 'ح',
- '𞸈' => 'ط',
- '𞸉' => 'ي',
- '𞸊' => 'ك',
- '𞸋' => 'ل',
- '𞸌' => 'م',
- '𞸍' => 'ن',
- '𞸎' => 'س',
- '𞸏' => 'ع',
- '𞸐' => 'ف',
- '𞸑' => 'ص',
- '𞸒' => 'ق',
- '𞸓' => 'ر',
- '𞸔' => 'ش',
- '𞸕' => 'ت',
- '𞸖' => 'ث',
- '𞸗' => 'خ',
- '𞸘' => 'ذ',
- '𞸙' => 'ض',
- '𞸚' => 'ظ',
- '𞸛' => 'غ',
- '𞸜' => 'ٮ',
- '𞸝' => 'ں',
- '𞸞' => 'ڡ',
- '𞸟' => 'ٯ',
- '𞸡' => 'ب',
- '𞸢' => 'ج',
- '𞸤' => 'ه',
- '𞸧' => 'ح',
- '𞸩' => 'ي',
- '𞸪' => 'ك',
- '𞸫' => 'ل',
- '𞸬' => 'م',
- '𞸭' => 'ن',
- '𞸮' => 'س',
- '𞸯' => 'ع',
- '𞸰' => 'ف',
- '𞸱' => 'ص',
- '𞸲' => 'ق',
- '𞸴' => 'ش',
- '𞸵' => 'ت',
- '𞸶' => 'ث',
- '𞸷' => 'خ',
- '𞸹' => 'ض',
- '𞸻' => 'غ',
- '𞹂' => 'ج',
- '𞹇' => 'ح',
- '𞹉' => 'ي',
- '𞹋' => 'ل',
- '𞹍' => 'ن',
- '𞹎' => 'س',
- '𞹏' => 'ع',
- '𞹑' => 'ص',
- '𞹒' => 'ق',
- '𞹔' => 'ش',
- '𞹗' => 'خ',
- '𞹙' => 'ض',
- '𞹛' => 'غ',
- '𞹝' => 'ں',
- '𞹟' => 'ٯ',
- '𞹡' => 'ب',
- '𞹢' => 'ج',
- '𞹤' => 'ه',
- '𞹧' => 'ح',
- '𞹨' => 'ط',
- '𞹩' => 'ي',
- '𞹪' => 'ك',
- '𞹬' => 'م',
- '𞹭' => 'ن',
- '𞹮' => 'س',
- '𞹯' => 'ع',
- '𞹰' => 'ف',
- '𞹱' => 'ص',
- '𞹲' => 'ق',
- '𞹴' => 'ش',
- '𞹵' => 'ت',
- '𞹶' => 'ث',
- '𞹷' => 'خ',
- '𞹹' => 'ض',
- '𞹺' => 'ظ',
- '𞹻' => 'غ',
- '𞹼' => 'ٮ',
- '𞹾' => 'ڡ',
- '𞺀' => 'ا',
- '𞺁' => 'ب',
- '𞺂' => 'ج',
- '𞺃' => 'د',
- '𞺄' => 'ه',
- '𞺅' => 'و',
- '𞺆' => 'ز',
- '𞺇' => 'ح',
- '𞺈' => 'ط',
- '𞺉' => 'ي',
- '𞺋' => 'ل',
- '𞺌' => 'م',
- '𞺍' => 'ن',
- '𞺎' => 'س',
- '𞺏' => 'ع',
- '𞺐' => 'ف',
- '𞺑' => 'ص',
- '𞺒' => 'ق',
- '𞺓' => 'ر',
- '𞺔' => 'ش',
- '𞺕' => 'ت',
- '𞺖' => 'ث',
- '𞺗' => 'خ',
- '𞺘' => 'ذ',
- '𞺙' => 'ض',
- '𞺚' => 'ظ',
- '𞺛' => 'غ',
- '𞺡' => 'ب',
- '𞺢' => 'ج',
- '𞺣' => 'د',
- '𞺥' => 'و',
- '𞺦' => 'ز',
- '𞺧' => 'ح',
- '𞺨' => 'ط',
- '𞺩' => 'ي',
- '𞺫' => 'ل',
- '𞺬' => 'م',
- '𞺭' => 'ن',
- '𞺮' => 'س',
- '𞺯' => 'ع',
- '𞺰' => 'ف',
- '𞺱' => 'ص',
- '𞺲' => 'ق',
- '𞺳' => 'ر',
- '𞺴' => 'ش',
- '𞺵' => 'ت',
- '𞺶' => 'ث',
- '𞺷' => 'خ',
- '𞺸' => 'ذ',
- '𞺹' => 'ض',
- '𞺺' => 'ظ',
- '𞺻' => 'غ',
- '🄀' => '0.',
- '🄁' => '0,',
- '🄂' => '1,',
- '🄃' => '2,',
- '🄄' => '3,',
- '🄅' => '4,',
- '🄆' => '5,',
- '🄇' => '6,',
- '🄈' => '7,',
- '🄉' => '8,',
- '🄊' => '9,',
- '🄐' => '(A)',
- '🄑' => '(B)',
- '🄒' => '(C)',
- '🄓' => '(D)',
- '🄔' => '(E)',
- '🄕' => '(F)',
- '🄖' => '(G)',
- '🄗' => '(H)',
- '🄘' => '(I)',
- '🄙' => '(J)',
- '🄚' => '(K)',
- '🄛' => '(L)',
- '🄜' => '(M)',
- '🄝' => '(N)',
- '🄞' => '(O)',
- '🄟' => '(P)',
- '🄠' => '(Q)',
- '🄡' => '(R)',
- '🄢' => '(S)',
- '🄣' => '(T)',
- '🄤' => '(U)',
- '🄥' => '(V)',
- '🄦' => '(W)',
- '🄧' => '(X)',
- '🄨' => '(Y)',
- '🄩' => '(Z)',
- '🄪' => '〔S〕',
- '🄫' => '(C)',
- '🄬' => '(R)',
- '🄭' => '(CD)',
- '🄮' => '(WZ)',
- '🄰' => 'A',
- '🄱' => 'B',
- '🄲' => 'C',
- '🄳' => 'D',
- '🄴' => 'E',
- '🄵' => 'F',
- '🄶' => 'G',
- '🄷' => 'H',
- '🄸' => 'I',
- '🄹' => 'J',
- '🄺' => 'K',
- '🄻' => 'L',
- '🄼' => 'M',
- '🄽' => 'N',
- '🄾' => 'O',
- '🄿' => 'P',
- '🅀' => 'Q',
- '🅁' => 'R',
- '🅂' => 'S',
- '🅃' => 'T',
- '🅄' => 'U',
- '🅅' => 'V',
- '🅆' => 'W',
- '🅇' => 'X',
- '🅈' => 'Y',
- '🅉' => 'Z',
- '🅊' => 'HV',
- '🅋' => 'MV',
- '🅌' => 'SD',
- '🅍' => 'SS',
- '🅎' => 'PPV',
- '🅏' => 'WC',
- '🆐' => 'DJ',
- '🈀' => 'ほか',
- '🈁' => 'ココ',
- '🈂' => 'サ',
- '🈐' => '手',
- '🈑' => '字',
- '🈒' => '双',
- '🈓' => 'デ',
- '🈔' => '二',
- '🈕' => '多',
- '🈖' => '解',
- '🈗' => '天',
- '🈘' => '交',
- '🈙' => '映',
- '🈚' => '無',
- '🈛' => '料',
- '🈜' => '前',
- '🈝' => '後',
- '🈞' => '再',
- '🈟' => '新',
- '🈠' => '初',
- '🈡' => '終',
- '🈢' => '生',
- '🈣' => '販',
- '🈤' => '声',
- '🈥' => '吹',
- '🈦' => '演',
- '🈧' => '投',
- '🈨' => '捕',
- '🈩' => '一',
- '🈪' => '三',
- '🈫' => '遊',
- '🈬' => '左',
- '🈭' => '中',
- '🈮' => '右',
- '🈯' => '指',
- '🈰' => '走',
- '🈱' => '打',
- '🈲' => '禁',
- '🈳' => '空',
- '🈴' => '合',
- '🈵' => '満',
- '🈶' => '有',
- '🈷' => '月',
- '🈸' => '申',
- '🈹' => '割',
- '🈺' => '営',
- '🈻' => '配',
- '🉀' => '〔本〕',
- '🉁' => '〔三〕',
- '🉂' => '〔二〕',
- '🉃' => '〔安〕',
- '🉄' => '〔点〕',
- '🉅' => '〔打〕',
- '🉆' => '〔盗〕',
- '🉇' => '〔勝〕',
- '🉈' => '〔敗〕',
- '🉐' => '(得)',
- '🉑' => '(可)',
- '🯰' => '0',
- '🯱' => '1',
- '🯲' => '2',
- '🯳' => '3',
- '🯴' => '4',
- '🯵' => '5',
- '🯶' => '6',
- '🯷' => '7',
- '🯸' => '8',
- '🯹' => '9',
- '丽' => '丽',
- '丸' => '丸',
- '乁' => '乁',
- '𠄢' => '𠄢',
- '你' => '你',
- '侮' => '侮',
- '侻' => '侻',
- '倂' => '倂',
- '偺' => '偺',
- '備' => '備',
- '僧' => '僧',
- '像' => '像',
- '㒞' => '㒞',
- '𠘺' => '𠘺',
- '免' => '免',
- '兔' => '兔',
- '兤' => '兤',
- '具' => '具',
- '𠔜' => '𠔜',
- '㒹' => '㒹',
- '內' => '內',
- '再' => '再',
- '𠕋' => '𠕋',
- '冗' => '冗',
- '冤' => '冤',
- '仌' => '仌',
- '冬' => '冬',
- '况' => '况',
- '𩇟' => '𩇟',
- '凵' => '凵',
- '刃' => '刃',
- '㓟' => '㓟',
- '刻' => '刻',
- '剆' => '剆',
- '割' => '割',
- '剷' => '剷',
- '㔕' => '㔕',
- '勇' => '勇',
- '勉' => '勉',
- '勤' => '勤',
- '勺' => '勺',
- '包' => '包',
- '匆' => '匆',
- '北' => '北',
- '卉' => '卉',
- '卑' => '卑',
- '博' => '博',
- '即' => '即',
- '卽' => '卽',
- '卿' => '卿',
- '卿' => '卿',
- '卿' => '卿',
- '𠨬' => '𠨬',
- '灰' => '灰',
- '及' => '及',
- '叟' => '叟',
- '𠭣' => '𠭣',
- '叫' => '叫',
- '叱' => '叱',
- '吆' => '吆',
- '咞' => '咞',
- '吸' => '吸',
- '呈' => '呈',
- '周' => '周',
- '咢' => '咢',
- '哶' => '哶',
- '唐' => '唐',
- '啓' => '啓',
- '啣' => '啣',
- '善' => '善',
- '善' => '善',
- '喙' => '喙',
- '喫' => '喫',
- '喳' => '喳',
- '嗂' => '嗂',
- '圖' => '圖',
- '嘆' => '嘆',
- '圗' => '圗',
- '噑' => '噑',
- '噴' => '噴',
- '切' => '切',
- '壮' => '壮',
- '城' => '城',
- '埴' => '埴',
- '堍' => '堍',
- '型' => '型',
- '堲' => '堲',
- '報' => '報',
- '墬' => '墬',
- '𡓤' => '𡓤',
- '売' => '売',
- '壷' => '壷',
- '夆' => '夆',
- '多' => '多',
- '夢' => '夢',
- '奢' => '奢',
- '𡚨' => '𡚨',
- '𡛪' => '𡛪',
- '姬' => '姬',
- '娛' => '娛',
- '娧' => '娧',
- '姘' => '姘',
- '婦' => '婦',
- '㛮' => '㛮',
- '㛼' => '㛼',
- '嬈' => '嬈',
- '嬾' => '嬾',
- '嬾' => '嬾',
- '𡧈' => '𡧈',
- '寃' => '寃',
- '寘' => '寘',
- '寧' => '寧',
- '寳' => '寳',
- '𡬘' => '𡬘',
- '寿' => '寿',
- '将' => '将',
- '当' => '当',
- '尢' => '尢',
- '㞁' => '㞁',
- '屠' => '屠',
- '屮' => '屮',
- '峀' => '峀',
- '岍' => '岍',
- '𡷤' => '𡷤',
- '嵃' => '嵃',
- '𡷦' => '𡷦',
- '嵮' => '嵮',
- '嵫' => '嵫',
- '嵼' => '嵼',
- '巡' => '巡',
- '巢' => '巢',
- '㠯' => '㠯',
- '巽' => '巽',
- '帨' => '帨',
- '帽' => '帽',
- '幩' => '幩',
- '㡢' => '㡢',
- '𢆃' => '𢆃',
- '㡼' => '㡼',
- '庰' => '庰',
- '庳' => '庳',
- '庶' => '庶',
- '廊' => '廊',
- '𪎒' => '𪎒',
- '廾' => '廾',
- '𢌱' => '𢌱',
- '𢌱' => '𢌱',
- '舁' => '舁',
- '弢' => '弢',
- '弢' => '弢',
- '㣇' => '㣇',
- '𣊸' => '𣊸',
- '𦇚' => '𦇚',
- '形' => '形',
- '彫' => '彫',
- '㣣' => '㣣',
- '徚' => '徚',
- '忍' => '忍',
- '志' => '志',
- '忹' => '忹',
- '悁' => '悁',
- '㤺' => '㤺',
- '㤜' => '㤜',
- '悔' => '悔',
- '𢛔' => '𢛔',
- '惇' => '惇',
- '慈' => '慈',
- '慌' => '慌',
- '慎' => '慎',
- '慌' => '慌',
- '慺' => '慺',
- '憎' => '憎',
- '憲' => '憲',
- '憤' => '憤',
- '憯' => '憯',
- '懞' => '懞',
- '懲' => '懲',
- '懶' => '懶',
- '成' => '成',
- '戛' => '戛',
- '扝' => '扝',
- '抱' => '抱',
- '拔' => '拔',
- '捐' => '捐',
- '𢬌' => '𢬌',
- '挽' => '挽',
- '拼' => '拼',
- '捨' => '捨',
- '掃' => '掃',
- '揤' => '揤',
- '𢯱' => '𢯱',
- '搢' => '搢',
- '揅' => '揅',
- '掩' => '掩',
- '㨮' => '㨮',
- '摩' => '摩',
- '摾' => '摾',
- '撝' => '撝',
- '摷' => '摷',
- '㩬' => '㩬',
- '敏' => '敏',
- '敬' => '敬',
- '𣀊' => '𣀊',
- '旣' => '旣',
- '書' => '書',
- '晉' => '晉',
- '㬙' => '㬙',
- '暑' => '暑',
- '㬈' => '㬈',
- '㫤' => '㫤',
- '冒' => '冒',
- '冕' => '冕',
- '最' => '最',
- '暜' => '暜',
- '肭' => '肭',
- '䏙' => '䏙',
- '朗' => '朗',
- '望' => '望',
- '朡' => '朡',
- '杞' => '杞',
- '杓' => '杓',
- '𣏃' => '𣏃',
- '㭉' => '㭉',
- '柺' => '柺',
- '枅' => '枅',
- '桒' => '桒',
- '梅' => '梅',
- '𣑭' => '𣑭',
- '梎' => '梎',
- '栟' => '栟',
- '椔' => '椔',
- '㮝' => '㮝',
- '楂' => '楂',
- '榣' => '榣',
- '槪' => '槪',
- '檨' => '檨',
- '𣚣' => '𣚣',
- '櫛' => '櫛',
- '㰘' => '㰘',
- '次' => '次',
- '𣢧' => '𣢧',
- '歔' => '歔',
- '㱎' => '㱎',
- '歲' => '歲',
- '殟' => '殟',
- '殺' => '殺',
- '殻' => '殻',
- '𣪍' => '𣪍',
- '𡴋' => '𡴋',
- '𣫺' => '𣫺',
- '汎' => '汎',
- '𣲼' => '𣲼',
- '沿' => '沿',
- '泍' => '泍',
- '汧' => '汧',
- '洖' => '洖',
- '派' => '派',
- '海' => '海',
- '流' => '流',
- '浩' => '浩',
- '浸' => '浸',
- '涅' => '涅',
- '𣴞' => '𣴞',
- '洴' => '洴',
- '港' => '港',
- '湮' => '湮',
- '㴳' => '㴳',
- '滋' => '滋',
- '滇' => '滇',
- '𣻑' => '𣻑',
- '淹' => '淹',
- '潮' => '潮',
- '𣽞' => '𣽞',
- '𣾎' => '𣾎',
- '濆' => '濆',
- '瀹' => '瀹',
- '瀞' => '瀞',
- '瀛' => '瀛',
- '㶖' => '㶖',
- '灊' => '灊',
- '災' => '災',
- '灷' => '灷',
- '炭' => '炭',
- '𠔥' => '𠔥',
- '煅' => '煅',
- '𤉣' => '𤉣',
- '熜' => '熜',
- '𤎫' => '𤎫',
- '爨' => '爨',
- '爵' => '爵',
- '牐' => '牐',
- '𤘈' => '𤘈',
- '犀' => '犀',
- '犕' => '犕',
- '𤜵' => '𤜵',
- '𤠔' => '𤠔',
- '獺' => '獺',
- '王' => '王',
- '㺬' => '㺬',
- '玥' => '玥',
- '㺸' => '㺸',
- '㺸' => '㺸',
- '瑇' => '瑇',
- '瑜' => '瑜',
- '瑱' => '瑱',
- '璅' => '璅',
- '瓊' => '瓊',
- '㼛' => '㼛',
- '甤' => '甤',
- '𤰶' => '𤰶',
- '甾' => '甾',
- '𤲒' => '𤲒',
- '異' => '異',
- '𢆟' => '𢆟',
- '瘐' => '瘐',
- '𤾡' => '𤾡',
- '𤾸' => '𤾸',
- '𥁄' => '𥁄',
- '㿼' => '㿼',
- '䀈' => '䀈',
- '直' => '直',
- '𥃳' => '𥃳',
- '𥃲' => '𥃲',
- '𥄙' => '𥄙',
- '𥄳' => '𥄳',
- '眞' => '眞',
- '真' => '真',
- '真' => '真',
- '睊' => '睊',
- '䀹' => '䀹',
- '瞋' => '瞋',
- '䁆' => '䁆',
- '䂖' => '䂖',
- '𥐝' => '𥐝',
- '硎' => '硎',
- '碌' => '碌',
- '磌' => '磌',
- '䃣' => '䃣',
- '𥘦' => '𥘦',
- '祖' => '祖',
- '𥚚' => '𥚚',
- '𥛅' => '𥛅',
- '福' => '福',
- '秫' => '秫',
- '䄯' => '䄯',
- '穀' => '穀',
- '穊' => '穊',
- '穏' => '穏',
- '𥥼' => '𥥼',
- '𥪧' => '𥪧',
- '𥪧' => '𥪧',
- '竮' => '竮',
- '䈂' => '䈂',
- '𥮫' => '𥮫',
- '篆' => '篆',
- '築' => '築',
- '䈧' => '䈧',
- '𥲀' => '𥲀',
- '糒' => '糒',
- '䊠' => '䊠',
- '糨' => '糨',
- '糣' => '糣',
- '紀' => '紀',
- '𥾆' => '𥾆',
- '絣' => '絣',
- '䌁' => '䌁',
- '緇' => '緇',
- '縂' => '縂',
- '繅' => '繅',
- '䌴' => '䌴',
- '𦈨' => '𦈨',
- '𦉇' => '𦉇',
- '䍙' => '䍙',
- '𦋙' => '𦋙',
- '罺' => '罺',
- '𦌾' => '𦌾',
- '羕' => '羕',
- '翺' => '翺',
- '者' => '者',
- '𦓚' => '𦓚',
- '𦔣' => '𦔣',
- '聠' => '聠',
- '𦖨' => '𦖨',
- '聰' => '聰',
- '𣍟' => '𣍟',
- '䏕' => '䏕',
- '育' => '育',
- '脃' => '脃',
- '䐋' => '䐋',
- '脾' => '脾',
- '媵' => '媵',
- '𦞧' => '𦞧',
- '𦞵' => '𦞵',
- '𣎓' => '𣎓',
- '𣎜' => '𣎜',
- '舁' => '舁',
- '舄' => '舄',
- '辞' => '辞',
- '䑫' => '䑫',
- '芑' => '芑',
- '芋' => '芋',
- '芝' => '芝',
- '劳' => '劳',
- '花' => '花',
- '芳' => '芳',
- '芽' => '芽',
- '苦' => '苦',
- '𦬼' => '𦬼',
- '若' => '若',
- '茝' => '茝',
- '荣' => '荣',
- '莭' => '莭',
- '茣' => '茣',
- '莽' => '莽',
- '菧' => '菧',
- '著' => '著',
- '荓' => '荓',
- '菊' => '菊',
- '菌' => '菌',
- '菜' => '菜',
- '𦰶' => '𦰶',
- '𦵫' => '𦵫',
- '𦳕' => '𦳕',
- '䔫' => '䔫',
- '蓱' => '蓱',
- '蓳' => '蓳',
- '蔖' => '蔖',
- '𧏊' => '𧏊',
- '蕤' => '蕤',
- '𦼬' => '𦼬',
- '䕝' => '䕝',
- '䕡' => '䕡',
- '𦾱' => '𦾱',
- '𧃒' => '𧃒',
- '䕫' => '䕫',
- '虐' => '虐',
- '虜' => '虜',
- '虧' => '虧',
- '虩' => '虩',
- '蚩' => '蚩',
- '蚈' => '蚈',
- '蜎' => '蜎',
- '蛢' => '蛢',
- '蝹' => '蝹',
- '蜨' => '蜨',
- '蝫' => '蝫',
- '螆' => '螆',
- '䗗' => '䗗',
- '蟡' => '蟡',
- '蠁' => '蠁',
- '䗹' => '䗹',
- '衠' => '衠',
- '衣' => '衣',
- '𧙧' => '𧙧',
- '裗' => '裗',
- '裞' => '裞',
- '䘵' => '䘵',
- '裺' => '裺',
- '㒻' => '㒻',
- '𧢮' => '𧢮',
- '𧥦' => '𧥦',
- '䚾' => '䚾',
- '䛇' => '䛇',
- '誠' => '誠',
- '諭' => '諭',
- '變' => '變',
- '豕' => '豕',
- '𧲨' => '𧲨',
- '貫' => '貫',
- '賁' => '賁',
- '贛' => '贛',
- '起' => '起',
- '𧼯' => '𧼯',
- '𠠄' => '𠠄',
- '跋' => '跋',
- '趼' => '趼',
- '跰' => '跰',
- '𠣞' => '𠣞',
- '軔' => '軔',
- '輸' => '輸',
- '𨗒' => '𨗒',
- '𨗭' => '𨗭',
- '邔' => '邔',
- '郱' => '郱',
- '鄑' => '鄑',
- '𨜮' => '𨜮',
- '鄛' => '鄛',
- '鈸' => '鈸',
- '鋗' => '鋗',
- '鋘' => '鋘',
- '鉼' => '鉼',
- '鏹' => '鏹',
- '鐕' => '鐕',
- '𨯺' => '𨯺',
- '開' => '開',
- '䦕' => '䦕',
- '閷' => '閷',
- '𨵷' => '𨵷',
- '䧦' => '䧦',
- '雃' => '雃',
- '嶲' => '嶲',
- '霣' => '霣',
- '𩅅' => '𩅅',
- '𩈚' => '𩈚',
- '䩮' => '䩮',
- '䩶' => '䩶',
- '韠' => '韠',
- '𩐊' => '𩐊',
- '䪲' => '䪲',
- '𩒖' => '𩒖',
- '頋' => '頋',
- '頋' => '頋',
- '頩' => '頩',
- '𩖶' => '𩖶',
- '飢' => '飢',
- '䬳' => '䬳',
- '餩' => '餩',
- '馧' => '馧',
- '駂' => '駂',
- '駾' => '駾',
- '䯎' => '䯎',
- '𩬰' => '𩬰',
- '鬒' => '鬒',
- '鱀' => '鱀',
- '鳽' => '鳽',
- '䳎' => '䳎',
- '䳭' => '䳭',
- '鵧' => '鵧',
- '𪃎' => '𪃎',
- '䳸' => '䳸',
- '𪄅' => '𪄅',
- '𪈎' => '𪈎',
- '𪊑' => '𪊑',
- '麻' => '麻',
- '䵖' => '䵖',
- '黹' => '黹',
- '黾' => '黾',
- '鼅' => '鼅',
- '鼏' => '鼏',
- '鼖' => '鼖',
- '鼻' => '鼻',
- '𪘀' => '𪘀',
- 'Æ' => 'AE',
- 'Ð' => 'D',
- 'Ø' => 'O',
- 'Þ' => 'TH',
- 'ß' => 'ss',
- 'æ' => 'ae',
- 'ð' => 'd',
- 'ø' => 'o',
- 'þ' => 'th',
- 'Đ' => 'D',
- 'đ' => 'd',
- 'Ħ' => 'H',
- 'ħ' => 'h',
- 'ı' => 'i',
- 'ĸ' => 'q',
- 'Ł' => 'L',
- 'ł' => 'l',
- 'Ŋ' => 'N',
- 'ŋ' => 'n',
- 'Œ' => 'OE',
- 'œ' => 'oe',
- 'Ŧ' => 'T',
- 'ŧ' => 't',
- 'ƀ' => 'b',
- 'Ɓ' => 'B',
- 'Ƃ' => 'B',
- 'ƃ' => 'b',
- 'Ƈ' => 'C',
- 'ƈ' => 'c',
- 'Ɖ' => 'D',
- 'Ɗ' => 'D',
- 'Ƌ' => 'D',
- 'ƌ' => 'd',
- 'Ɛ' => 'E',
- 'Ƒ' => 'F',
- 'ƒ' => 'f',
- 'Ɠ' => 'G',
- 'ƕ' => 'hv',
- 'Ɩ' => 'I',
- 'Ɨ' => 'I',
- 'Ƙ' => 'K',
- 'ƙ' => 'k',
- 'ƚ' => 'l',
- 'Ɲ' => 'N',
- 'ƞ' => 'n',
- 'Ƣ' => 'OI',
- 'ƣ' => 'oi',
- 'Ƥ' => 'P',
- 'ƥ' => 'p',
- 'ƫ' => 't',
- 'Ƭ' => 'T',
- 'ƭ' => 't',
- 'Ʈ' => 'T',
- 'Ʋ' => 'V',
- 'Ƴ' => 'Y',
- 'ƴ' => 'y',
- 'Ƶ' => 'Z',
- 'ƶ' => 'z',
- 'Ǥ' => 'G',
- 'ǥ' => 'g',
- 'ȡ' => 'd',
- 'Ȥ' => 'Z',
- 'ȥ' => 'z',
- 'ȴ' => 'l',
- 'ȵ' => 'n',
- 'ȶ' => 't',
- 'ȷ' => 'j',
- 'ȸ' => 'db',
- 'ȹ' => 'qp',
- 'Ⱥ' => 'A',
- 'Ȼ' => 'C',
- 'ȼ' => 'c',
- 'Ƚ' => 'L',
- 'Ⱦ' => 'T',
- 'ȿ' => 's',
- 'ɀ' => 'z',
- 'Ƀ' => 'B',
- 'Ʉ' => 'U',
- 'Ɇ' => 'E',
- 'ɇ' => 'e',
- 'Ɉ' => 'J',
- 'ɉ' => 'j',
- 'Ɍ' => 'R',
- 'ɍ' => 'r',
- 'Ɏ' => 'Y',
- 'ɏ' => 'y',
- 'ɓ' => 'b',
- 'ɕ' => 'c',
- 'ɖ' => 'd',
- 'ɗ' => 'd',
- 'ɛ' => 'e',
- 'ɟ' => 'j',
- 'ɠ' => 'g',
- 'ɡ' => 'g',
- 'ɢ' => 'G',
- 'ɦ' => 'h',
- 'ɧ' => 'h',
- 'ɨ' => 'i',
- 'ɪ' => 'I',
- 'ɫ' => 'l',
- 'ɬ' => 'l',
- 'ɭ' => 'l',
- 'ɱ' => 'm',
- 'ɲ' => 'n',
- 'ɳ' => 'n',
- 'ɴ' => 'N',
- 'ɶ' => 'OE',
- 'ɼ' => 'r',
- 'ɽ' => 'r',
- 'ɾ' => 'r',
- 'ʀ' => 'R',
- 'ʂ' => 's',
- 'ʈ' => 't',
- 'ʉ' => 'u',
- 'ʋ' => 'v',
- 'ʏ' => 'Y',
- 'ʐ' => 'z',
- 'ʑ' => 'z',
- 'ʙ' => 'B',
- 'ʛ' => 'G',
- 'ʜ' => 'H',
- 'ʝ' => 'j',
- 'ʟ' => 'L',
- 'ʠ' => 'q',
- 'ʣ' => 'dz',
- 'ʥ' => 'dz',
- 'ʦ' => 'ts',
- 'ʪ' => 'ls',
- 'ʫ' => 'lz',
- 'ᴀ' => 'A',
- 'ᴁ' => 'AE',
- 'ᴃ' => 'B',
- 'ᴄ' => 'C',
- 'ᴅ' => 'D',
- 'ᴆ' => 'D',
- 'ᴇ' => 'E',
- 'ᴊ' => 'J',
- 'ᴋ' => 'K',
- 'ᴌ' => 'L',
- 'ᴍ' => 'M',
- 'ᴏ' => 'O',
- 'ᴘ' => 'P',
- 'ᴛ' => 'T',
- 'ᴜ' => 'U',
- 'ᴠ' => 'V',
- 'ᴡ' => 'W',
- 'ᴢ' => 'Z',
- 'ᵫ' => 'ue',
- 'ᵬ' => 'b',
- 'ᵭ' => 'd',
- 'ᵮ' => 'f',
- 'ᵯ' => 'm',
- 'ᵰ' => 'n',
- 'ᵱ' => 'p',
- 'ᵲ' => 'r',
- 'ᵳ' => 'r',
- 'ᵴ' => 's',
- 'ᵵ' => 't',
- 'ᵶ' => 'z',
- 'ᵺ' => 'th',
- 'ᵻ' => 'I',
- 'ᵽ' => 'p',
- 'ᵾ' => 'U',
- 'ᶀ' => 'b',
- 'ᶁ' => 'd',
- 'ᶂ' => 'f',
- 'ᶃ' => 'g',
- 'ᶄ' => 'k',
- 'ᶅ' => 'l',
- 'ᶆ' => 'm',
- 'ᶇ' => 'n',
- 'ᶈ' => 'p',
- 'ᶉ' => 'r',
- 'ᶊ' => 's',
- 'ᶌ' => 'v',
- 'ᶍ' => 'x',
- 'ᶎ' => 'z',
- 'ᶏ' => 'a',
- 'ᶑ' => 'd',
- 'ᶒ' => 'e',
- 'ᶓ' => 'e',
- 'ᶖ' => 'i',
- 'ᶙ' => 'u',
- 'ẜ' => 's',
- 'ẝ' => 's',
- 'ẞ' => 'SS',
- 'Ỻ' => 'LL',
- 'ỻ' => 'll',
- 'Ỽ' => 'V',
- 'ỽ' => 'v',
- 'Ỿ' => 'Y',
- 'ỿ' => 'y',
- 'Ⱡ' => 'L',
- 'ⱡ' => 'l',
- 'Ɫ' => 'L',
- 'Ᵽ' => 'P',
- 'Ɽ' => 'R',
- 'ⱥ' => 'a',
- 'ⱦ' => 't',
- 'Ⱨ' => 'H',
- 'ⱨ' => 'h',
- 'Ⱪ' => 'K',
- 'ⱪ' => 'k',
- 'Ⱬ' => 'Z',
- 'ⱬ' => 'z',
- 'Ɱ' => 'M',
- 'ⱱ' => 'v',
- 'Ⱳ' => 'W',
- 'ⱳ' => 'w',
- 'ⱴ' => 'v',
- 'ⱸ' => 'e',
- 'ⱺ' => 'o',
- 'Ȿ' => 'S',
- 'Ɀ' => 'Z',
- 'ꜰ' => 'F',
- 'ꜱ' => 'S',
- 'Ꜳ' => 'AA',
- 'ꜳ' => 'aa',
- 'Ꜵ' => 'AO',
- 'ꜵ' => 'ao',
- 'Ꜷ' => 'AU',
- 'ꜷ' => 'au',
- 'Ꜹ' => 'AV',
- 'ꜹ' => 'av',
- 'Ꜻ' => 'AV',
- 'ꜻ' => 'av',
- 'Ꜽ' => 'AY',
- 'ꜽ' => 'ay',
- 'Ꝁ' => 'K',
- 'ꝁ' => 'k',
- 'Ꝃ' => 'K',
- 'ꝃ' => 'k',
- 'Ꝅ' => 'K',
- 'ꝅ' => 'k',
- 'Ꝇ' => 'L',
- 'ꝇ' => 'l',
- 'Ꝉ' => 'L',
- 'ꝉ' => 'l',
- 'Ꝋ' => 'O',
- 'ꝋ' => 'o',
- 'Ꝍ' => 'O',
- 'ꝍ' => 'o',
- 'Ꝏ' => 'OO',
- 'ꝏ' => 'oo',
- 'Ꝑ' => 'P',
- 'ꝑ' => 'p',
- 'Ꝓ' => 'P',
- 'ꝓ' => 'p',
- 'Ꝕ' => 'P',
- 'ꝕ' => 'p',
- 'Ꝗ' => 'Q',
- 'ꝗ' => 'q',
- 'Ꝙ' => 'Q',
- 'ꝙ' => 'q',
- 'Ꝟ' => 'V',
- 'ꝟ' => 'v',
- 'Ꝡ' => 'VY',
- 'ꝡ' => 'vy',
- 'Ꝥ' => 'TH',
- 'ꝥ' => 'th',
- 'Ꝧ' => 'TH',
- 'ꝧ' => 'th',
- 'ꝱ' => 'd',
- 'ꝲ' => 'l',
- 'ꝳ' => 'm',
- 'ꝴ' => 'n',
- 'ꝵ' => 'r',
- 'ꝶ' => 'R',
- 'ꝷ' => 't',
- 'Ꝺ' => 'D',
- 'ꝺ' => 'd',
- 'Ꝼ' => 'F',
- 'ꝼ' => 'f',
- 'Ꞇ' => 'T',
- 'ꞇ' => 't',
- 'Ꞑ' => 'N',
- 'ꞑ' => 'n',
- 'Ꞓ' => 'C',
- 'ꞓ' => 'c',
- 'Ꞡ' => 'G',
- 'ꞡ' => 'g',
- 'Ꞣ' => 'K',
- 'ꞣ' => 'k',
- 'Ꞥ' => 'N',
- 'ꞥ' => 'n',
- 'Ꞧ' => 'R',
- 'ꞧ' => 'r',
- 'Ꞩ' => 'S',
- 'ꞩ' => 's',
- 'Ɦ' => 'H',
- '©' => '(C)',
- '®' => '(R)',
- '₠' => 'CE',
- '₢' => 'Cr',
- '₣' => 'Fr.',
- '₤' => 'L.',
- '₧' => 'Pts',
- '₹' => 'Rs',
- '₺' => 'TL',
- '℗' => '(P)',
- '℘' => 'P',
- '℞' => 'Rx',
- '〇' => '0',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- 'ʹ' => '\'',
- 'ʺ' => '"',
- 'ʻ' => '\'',
- 'ʼ' => '\'',
- 'ʽ' => '\'',
- 'ˈ' => '\'',
- 'ˋ' => '`',
- '‘' => '\'',
- '’' => '\'',
- '‚' => ',',
- '‛' => '\'',
- '“' => '"',
- '”' => '"',
- '„' => ',,',
- '‟' => '"',
- '′' => '\'',
- '〝' => '"',
- '〞' => '"',
- '«' => '<<',
- '»' => '>>',
- '‹' => '<',
- '›' => '>',
- '' => '-',
- '‐' => '-',
- '‑' => '-',
- '‒' => '-',
- '–' => '-',
- '—' => '-',
- '―' => '-',
- '︱' => '-',
- '︲' => '-',
- '¡' => '!',
- '¿' => '?',
- '˂' => '<',
- '˃' => '>',
- '˄' => '^',
- 'ˆ' => '^',
- 'ː' => ':',
- '˜' => '~',
- '‖' => '||',
- '⁄' => '/',
- '⁅' => '[',
- '⁆' => ']',
- '⁎' => '*',
- '、' => ',',
- '。' => '.',
- '〈' => '<',
- '〉' => '>',
- '《' => '<<',
- '》' => '>>',
- '〔' => '[',
- '〕' => ']',
- '〘' => '[',
- '〙' => ']',
- '〚' => '[',
- '〛' => ']',
- '︐' => ',',
- '︑' => ',',
- '︒' => '.',
- '︓' => ':',
- '︔' => ';',
- '︕' => '!',
- '︖' => '?',
- '︙' => '...',
- '︰' => '..',
- '︵' => '(',
- '︶' => ')',
- '︷' => '{',
- '︸' => '}',
- '︹' => '[',
- '︺' => ']',
- '︽' => '<<',
- '︾' => '>>',
- '︿' => '<',
- '﹀' => '>',
- '﹇' => '[',
- '﹈' => ']',
- '±' => '+/-',
- '×' => '*',
- '÷' => '/',
- '˖' => '+',
- '˗' => '-',
- '−' => '-',
- '∕' => '/',
- '∖' => '\\',
- '∣' => '|',
- '∥' => '||',
- '≪' => '<<',
- '≫' => '>>',
- '⦅' => '((',
- '⦆' => '))',
-);
diff --git a/plugins/vendor/symfony/polyfill-iconv/bootstrap.php b/plugins/vendor/symfony/polyfill-iconv/bootstrap.php
deleted file mode 100644
index e629531f..00000000
--- a/plugins/vendor/symfony/polyfill-iconv/bootstrap.php
+++ /dev/null
@@ -1,84 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Symfony\Polyfill\Iconv as p;
-
-if (extension_loaded('iconv')) {
- return;
-}
-
-if (\PHP_VERSION_ID >= 80000) {
- return require __DIR__.'/bootstrap80.php';
-}
-
-if (!defined('ICONV_IMPL')) {
- define('ICONV_IMPL', 'Symfony');
-}
-if (!defined('ICONV_VERSION')) {
- define('ICONV_VERSION', '1.0');
-}
-if (!defined('ICONV_MIME_DECODE_STRICT')) {
- define('ICONV_MIME_DECODE_STRICT', 1);
-}
-if (!defined('ICONV_MIME_DECODE_CONTINUE_ON_ERROR')) {
- define('ICONV_MIME_DECODE_CONTINUE_ON_ERROR', 2);
-}
-
-if (!function_exists('iconv')) {
- function iconv($from_encoding, $to_encoding, $string) { return p\Iconv::iconv($from_encoding, $to_encoding, $string); }
-}
-if (!function_exists('iconv_get_encoding')) {
- function iconv_get_encoding($type = 'all') { return p\Iconv::iconv_get_encoding($type); }
-}
-if (!function_exists('iconv_set_encoding')) {
- function iconv_set_encoding($type, $encoding) { return p\Iconv::iconv_set_encoding($type, $encoding); }
-}
-if (!function_exists('iconv_mime_encode')) {
- function iconv_mime_encode($field_name, $field_value, $options = []) { return p\Iconv::iconv_mime_encode($field_name, $field_value, $options); }
-}
-if (!function_exists('iconv_mime_decode_headers')) {
- function iconv_mime_decode_headers($headers, $mode = 0, $encoding = null) { return p\Iconv::iconv_mime_decode_headers($headers, $mode, $encoding); }
-}
-
-if (extension_loaded('mbstring')) {
- if (!function_exists('iconv_strlen')) {
- function iconv_strlen($string, $encoding = null) { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strlen($string, $encoding); }
- }
- if (!function_exists('iconv_strpos')) {
- function iconv_strpos($haystack, $needle, $offset = 0, $encoding = null) { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strpos($haystack, $needle, $offset, $encoding); }
- }
- if (!function_exists('iconv_strrpos')) {
- function iconv_strrpos($haystack, $needle, $encoding = null) { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strrpos($haystack, $needle, 0, $encoding); }
- }
- if (!function_exists('iconv_substr')) {
- function iconv_substr($string, $offset, $length = 2147483647, $encoding = null) { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_substr($string, $offset, $length, $encoding); }
- }
- if (!function_exists('iconv_mime_decode')) {
- function iconv_mime_decode($string, $mode = 0, $encoding = null) { $currentMbEncoding = mb_internal_encoding(); null === $encoding && $encoding = p\Iconv::$internalEncoding; mb_internal_encoding($encoding); $decoded = mb_decode_mimeheader($string); mb_internal_encoding($currentMbEncoding); return $decoded; }
- }
-} else {
- if (!function_exists('iconv_strlen')) {
- function iconv_strlen($string, $encoding = null) { return p\Iconv::iconv_strlen($string, $encoding); }
- }
-
- if (!function_exists('iconv_strpos')) {
- function iconv_strpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Iconv::iconv_strpos($haystack, $needle, $offset, $encoding); }
- }
- if (!function_exists('iconv_strrpos')) {
- function iconv_strrpos($haystack, $needle, $encoding = null) { return p\Iconv::iconv_strrpos($haystack, $needle, $encoding); }
- }
- if (!function_exists('iconv_substr')) {
- function iconv_substr($string, $offset, $length = 2147483647, $encoding = null) { return p\Iconv::iconv_substr($string, $offset, $length, $encoding); }
- }
- if (!function_exists('iconv_mime_decode')) {
- function iconv_mime_decode($string, $mode = 0, $encoding = null) { return p\Iconv::iconv_mime_decode($string, $mode, $encoding); }
- }
-}
diff --git a/plugins/vendor/symfony/polyfill-iconv/bootstrap80.php b/plugins/vendor/symfony/polyfill-iconv/bootstrap80.php
deleted file mode 100644
index 2d0f12fd..00000000
--- a/plugins/vendor/symfony/polyfill-iconv/bootstrap80.php
+++ /dev/null
@@ -1,76 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Symfony\Polyfill\Iconv as p;
-
-if (!defined('ICONV_IMPL')) {
- define('ICONV_IMPL', 'Symfony');
-}
-if (!defined('ICONV_VERSION')) {
- define('ICONV_VERSION', '1.0');
-}
-if (!defined('ICONV_MIME_DECODE_STRICT')) {
- define('ICONV_MIME_DECODE_STRICT', 1);
-}
-if (!defined('ICONV_MIME_DECODE_CONTINUE_ON_ERROR')) {
- define('ICONV_MIME_DECODE_CONTINUE_ON_ERROR', 2);
-}
-
-if (!function_exists('iconv')) {
- function iconv(?string $from_encoding, ?string $to_encoding, ?string $string): string|false { return p\Iconv::iconv((string) $from_encoding, (string) $to_encoding, (string) $string); }
-}
-if (!function_exists('iconv_get_encoding')) {
- function iconv_get_encoding(?string $type = 'all'): array|string|false { return p\Iconv::iconv_get_encoding((string) $type); }
-}
-if (!function_exists('iconv_set_encoding')) {
- function iconv_set_encoding(?string $type, ?string $encoding): bool { return p\Iconv::iconv_set_encoding((string) $type, (string) $encoding); }
-}
-if (!function_exists('iconv_mime_encode')) {
- function iconv_mime_encode(?string $field_name, ?string $field_value, ?array $options = []): string|false { return p\Iconv::iconv_mime_encode((string) $field_name, (string) $field_value, (array) $options); }
-}
-if (!function_exists('iconv_mime_decode_headers')) {
- function iconv_mime_decode_headers(?string $headers, ?int $mode = 0, ?string $encoding = null): array|false { return p\Iconv::iconv_mime_decode_headers((string) $headers, (int) $mode, $encoding); }
-}
-
-if (extension_loaded('mbstring')) {
- if (!function_exists('iconv_strlen')) {
- function iconv_strlen(?string $string, ?string $encoding = null): int|false { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strlen((string) $string, $encoding); }
- }
- if (!function_exists('iconv_strpos')) {
- function iconv_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
- }
- if (!function_exists('iconv_strrpos')) {
- function iconv_strrpos(?string $haystack, ?string $needle, ?string $encoding = null): int|false { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_strrpos((string) $haystack, (string) $needle, 0, $encoding); }
- }
- if (!function_exists('iconv_substr')) {
- function iconv_substr(?string $string, ?int $offset, ?int $length = null, ?string $encoding = null): string|false { null === $encoding && $encoding = p\Iconv::$internalEncoding; return mb_substr((string) $string, (int) $offset, $length, $encoding); }
- }
- if (!function_exists('iconv_mime_decode')) {
- function iconv_mime_decode($string, $mode = 0, $encoding = null) { $currentMbEncoding = mb_internal_encoding(); null === $encoding && $encoding = p\Iconv::$internalEncoding; mb_internal_encoding($encoding); $decoded = mb_decode_mimeheader($string); mb_internal_encoding($currentMbEncoding); return $decoded; }
- }
-} else {
- if (!function_exists('iconv_strlen')) {
- function iconv_strlen(?string $string, ?string $encoding = null): int|false { return p\Iconv::iconv_strlen((string) $string, $encoding); }
- }
-
- if (!function_exists('iconv_strpos')) {
- function iconv_strpos(?string $haystack, ?string $needle, ?int $offset = 0, ?string $encoding = null): int|false { return p\Iconv::iconv_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); }
- }
- if (!function_exists('iconv_strrpos')) {
- function iconv_strrpos(?string $haystack, ?string $needle, ?string $encoding = null): int|false { return p\Iconv::iconv_strrpos((string) $haystack, (string) $needle, $encoding); }
- }
- if (!function_exists('iconv_substr')) {
- function iconv_substr(?string $string, ?int $offset, ?int $length = null, ?string $encoding = null): string|false { return p\Iconv::iconv_substr((string) $string, (string) $offset, $length, $encoding); }
- }
- if (!function_exists('iconv_mime_decode')) {
- function iconv_mime_decode(?string $string, ?int $mode = 0, ?string $encoding = null): string|false { return p\Iconv::iconv_mime_decode((string) $string, (int) $mode, $encoding); }
- }
-}
diff --git a/plugins/vendor/symfony/polyfill-iconv/composer.json b/plugins/vendor/symfony/polyfill-iconv/composer.json
deleted file mode 100644
index af0b1739..00000000
--- a/plugins/vendor/symfony/polyfill-iconv/composer.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "symfony/polyfill-iconv",
- "type": "library",
- "description": "Symfony polyfill for the Iconv extension",
- "keywords": ["polyfill", "shim", "compatibility", "portable", "iconv"],
- "homepage": "https://symfony.com",
- "license": "MIT",
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "require": {
- "php": ">=7.2"
- },
- "provide": {
- "ext-iconv": "*"
- },
- "autoload": {
- "psr-4": { "Symfony\\Polyfill\\Iconv\\": "" },
- "files": [ "bootstrap.php" ]
- },
- "suggest": {
- "ext-iconv": "For best performance"
- },
- "minimum-stability": "dev",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- }
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Idn.php b/plugins/vendor/symfony/polyfill-intl-idn/Idn.php
deleted file mode 100644
index 448f74ce..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Idn.php
+++ /dev/null
@@ -1,941 +0,0 @@
- and Trevor Rowbotham
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Polyfill\Intl\Idn;
-
-use Symfony\Polyfill\Intl\Idn\Resources\unidata\DisallowedRanges;
-use Symfony\Polyfill\Intl\Idn\Resources\unidata\Regex;
-
-/**
- * @see https://www.unicode.org/reports/tr46/
- *
- * @internal
- */
-final class Idn
-{
- public const ERROR_EMPTY_LABEL = 1;
- public const ERROR_LABEL_TOO_LONG = 2;
- public const ERROR_DOMAIN_NAME_TOO_LONG = 4;
- public const ERROR_LEADING_HYPHEN = 8;
- public const ERROR_TRAILING_HYPHEN = 0x10;
- public const ERROR_HYPHEN_3_4 = 0x20;
- public const ERROR_LEADING_COMBINING_MARK = 0x40;
- public const ERROR_DISALLOWED = 0x80;
- public const ERROR_PUNYCODE = 0x100;
- public const ERROR_LABEL_HAS_DOT = 0x200;
- public const ERROR_INVALID_ACE_LABEL = 0x400;
- public const ERROR_BIDI = 0x800;
- public const ERROR_CONTEXTJ = 0x1000;
- public const ERROR_CONTEXTO_PUNCTUATION = 0x2000;
- public const ERROR_CONTEXTO_DIGITS = 0x4000;
-
- public const INTL_IDNA_VARIANT_2003 = 0;
- public const INTL_IDNA_VARIANT_UTS46 = 1;
-
- public const IDNA_DEFAULT = 0;
- public const IDNA_ALLOW_UNASSIGNED = 1;
- public const IDNA_USE_STD3_RULES = 2;
- public const IDNA_CHECK_BIDI = 4;
- public const IDNA_CHECK_CONTEXTJ = 8;
- public const IDNA_NONTRANSITIONAL_TO_ASCII = 16;
- public const IDNA_NONTRANSITIONAL_TO_UNICODE = 32;
-
- public const MAX_DOMAIN_SIZE = 253;
- public const MAX_LABEL_SIZE = 63;
-
- public const BASE = 36;
- public const TMIN = 1;
- public const TMAX = 26;
- public const SKEW = 38;
- public const DAMP = 700;
- public const INITIAL_BIAS = 72;
- public const INITIAL_N = 128;
- public const DELIMITER = '-';
- public const MAX_INT = 2147483647;
-
- /**
- * Contains the numeric value of a basic code point (for use in representing integers) in the
- * range 0 to BASE-1, or -1 if b is does not represent a value.
- *
- * @var array
- */
- private static $basicToDigit = [
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
-
- -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-
- -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- ];
-
- /**
- * @var array
- */
- private static $virama;
-
- /**
- * @var array
- */
- private static $mapped;
-
- /**
- * @var array
- */
- private static $ignored;
-
- /**
- * @var array
- */
- private static $deviation;
-
- /**
- * @var array
- */
- private static $disallowed;
-
- /**
- * @var array
- */
- private static $disallowed_STD3_mapped;
-
- /**
- * @var array
- */
- private static $disallowed_STD3_valid;
-
- /**
- * @var bool
- */
- private static $mappingTableLoaded = false;
-
- /**
- * @see https://www.unicode.org/reports/tr46/#ToASCII
- *
- * @param string $domainName
- * @param int $options
- * @param int $variant
- * @param array $idna_info
- *
- * @return string|false
- */
- public static function idn_to_ascii($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = [])
- {
- if (\PHP_VERSION_ID > 80400 && '' === $domainName) {
- throw new \ValueError('idn_to_ascii(): Argument #1 ($domain) cannot be empty');
- }
-
- if (self::INTL_IDNA_VARIANT_2003 === $variant) {
- @trigger_error('idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated', \E_USER_DEPRECATED);
- }
-
- $options = [
- 'CheckHyphens' => true,
- 'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI),
- 'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ),
- 'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES),
- 'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_ASCII),
- 'VerifyDnsLength' => true,
- ];
- $info = new Info();
- $labels = self::process((string) $domainName, $options, $info);
-
- foreach ($labels as $i => $label) {
- // Only convert labels to punycode that contain non-ASCII code points
- if (1 === preg_match('/[^\x00-\x7F]/', $label)) {
- try {
- $label = 'xn--'.self::punycodeEncode($label);
- } catch (\Exception $e) {
- $info->errors |= self::ERROR_PUNYCODE;
- }
-
- $labels[$i] = $label;
- }
- }
-
- if ($options['VerifyDnsLength']) {
- self::validateDomainAndLabelLength($labels, $info);
- }
-
- $idna_info = [
- 'result' => implode('.', $labels),
- 'isTransitionalDifferent' => $info->transitionalDifferent,
- 'errors' => $info->errors,
- ];
-
- return 0 === $info->errors ? $idna_info['result'] : false;
- }
-
- /**
- * @see https://www.unicode.org/reports/tr46/#ToUnicode
- *
- * @param string $domainName
- * @param int $options
- * @param int $variant
- * @param array $idna_info
- *
- * @return string|false
- */
- public static function idn_to_utf8($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = [])
- {
- if (\PHP_VERSION_ID > 80400 && '' === $domainName) {
- throw new \ValueError('idn_to_utf8(): Argument #1 ($domain) cannot be empty');
- }
-
- if (self::INTL_IDNA_VARIANT_2003 === $variant) {
- @trigger_error('idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated', \E_USER_DEPRECATED);
- }
-
- $info = new Info();
- $labels = self::process((string) $domainName, [
- 'CheckHyphens' => true,
- 'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI),
- 'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ),
- 'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES),
- 'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_UNICODE),
- ], $info);
- $idna_info = [
- 'result' => implode('.', $labels),
- 'isTransitionalDifferent' => $info->transitionalDifferent,
- 'errors' => $info->errors,
- ];
-
- return 0 === $info->errors ? $idna_info['result'] : false;
- }
-
- /**
- * @param string $label
- *
- * @return bool
- */
- private static function isValidContextJ(array $codePoints, $label)
- {
- if (!isset(self::$virama)) {
- self::$virama = require __DIR__.\DIRECTORY_SEPARATOR.'Resources'.\DIRECTORY_SEPARATOR.'unidata'.\DIRECTORY_SEPARATOR.'virama.php';
- }
-
- $offset = 0;
-
- foreach ($codePoints as $i => $codePoint) {
- if (0x200C !== $codePoint && 0x200D !== $codePoint) {
- continue;
- }
-
- if (!isset($codePoints[$i - 1])) {
- return false;
- }
-
- // If Canonical_Combining_Class(Before(cp)) .eq. Virama Then True;
- if (isset(self::$virama[$codePoints[$i - 1]])) {
- continue;
- }
-
- // If RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*\u200C(Joining_Type:T)*(Joining_Type:{R,D})) Then
- // True;
- // Generated RegExp = ([Joining_Type:{L,D}][Joining_Type:T]*\u200C[Joining_Type:T]*)[Joining_Type:{R,D}]
- if (0x200C === $codePoint && 1 === preg_match(Regex::ZWNJ, $label, $matches, \PREG_OFFSET_CAPTURE, $offset)) {
- $offset += \strlen($matches[1][0]);
-
- continue;
- }
-
- return false;
- }
-
- return true;
- }
-
- /**
- * @see https://www.unicode.org/reports/tr46/#ProcessingStepMap
- *
- * @param string $input
- * @param array $options
- *
- * @return string
- */
- private static function mapCodePoints($input, array $options, Info $info)
- {
- $str = '';
- $useSTD3ASCIIRules = $options['UseSTD3ASCIIRules'];
- $transitional = $options['Transitional_Processing'];
-
- foreach (self::utf8Decode($input) as $codePoint) {
- $data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules);
-
- switch ($data['status']) {
- case 'disallowed':
- case 'valid':
- $str .= mb_chr($codePoint, 'utf-8');
-
- break;
-
- case 'ignored':
- // Do nothing.
- break;
-
- case 'mapped':
- $str .= $transitional && 0x1E9E === $codePoint ? 'ss' : $data['mapping'];
-
- break;
-
- case 'deviation':
- $info->transitionalDifferent = true;
- $str .= ($transitional ? $data['mapping'] : mb_chr($codePoint, 'utf-8'));
-
- break;
- }
- }
-
- return $str;
- }
-
- /**
- * @see https://www.unicode.org/reports/tr46/#Processing
- *
- * @param string $domain
- * @param array $options
- *
- * @return array
- */
- private static function process($domain, array $options, Info $info)
- {
- // If VerifyDnsLength is not set, we are doing ToUnicode otherwise we are doing ToASCII and
- // we need to respect the VerifyDnsLength option.
- $checkForEmptyLabels = !isset($options['VerifyDnsLength']) || $options['VerifyDnsLength'];
-
- if ($checkForEmptyLabels && '' === $domain) {
- $info->errors |= self::ERROR_EMPTY_LABEL;
-
- return [$domain];
- }
-
- // Step 1. Map each code point in the domain name string
- $domain = self::mapCodePoints($domain, $options, $info);
-
- // Step 2. Normalize the domain name string to Unicode Normalization Form C.
- if (!\Normalizer::isNormalized($domain, \Normalizer::FORM_C)) {
- $domain = \Normalizer::normalize($domain, \Normalizer::FORM_C);
- }
-
- // Step 3. Break the string into labels at U+002E (.) FULL STOP.
- $labels = explode('.', $domain);
- $lastLabelIndex = \count($labels) - 1;
-
- // Step 4. Convert and validate each label in the domain name string.
- foreach ($labels as $i => $label) {
- $validationOptions = $options;
-
- if ('xn--' === substr($label, 0, 4)) {
- // Step 4.1. If the label contains any non-ASCII code point (i.e., a code point greater than U+007F),
- // record that there was an error, and continue with the next label.
- if (preg_match('/[^\x00-\x7F]/', $label)) {
- $info->errors |= self::ERROR_PUNYCODE;
-
- continue;
- }
-
- // Step 4.2. Attempt to convert the rest of the label to Unicode according to Punycode [RFC3492]. If
- // that conversion fails, record that there was an error, and continue
- // with the next label. Otherwise replace the original label in the string by the results of the
- // conversion.
- try {
- $label = self::punycodeDecode(substr($label, 4));
- } catch (\Exception $e) {
- $info->errors |= self::ERROR_PUNYCODE;
-
- continue;
- }
-
- $validationOptions['Transitional_Processing'] = false;
- $labels[$i] = $label;
- }
-
- self::validateLabel($label, $info, $validationOptions, $i > 0 && $i === $lastLabelIndex);
- }
-
- if ($info->bidiDomain && !$info->validBidiDomain) {
- $info->errors |= self::ERROR_BIDI;
- }
-
- // Any input domain name string that does not record an error has been successfully
- // processed according to this specification. Conversely, if an input domain_name string
- // causes an error, then the processing of the input domain_name string fails. Determining
- // what to do with error input is up to the caller, and not in the scope of this document.
- return $labels;
- }
-
- /**
- * @see https://tools.ietf.org/html/rfc5893#section-2
- *
- * @param string $label
- */
- private static function validateBidiLabel($label, Info $info)
- {
- if (1 === preg_match(Regex::RTL_LABEL, $label)) {
- $info->bidiDomain = true;
-
- // Step 1. The first character must be a character with Bidi property L, R, or AL.
- // If it has the R or AL property, it is an RTL label
- if (1 !== preg_match(Regex::BIDI_STEP_1_RTL, $label)) {
- $info->validBidiDomain = false;
-
- return;
- }
-
- // Step 2. In an RTL label, only characters with the Bidi properties R, AL, AN, EN, ES,
- // CS, ET, ON, BN, or NSM are allowed.
- if (1 === preg_match(Regex::BIDI_STEP_2, $label)) {
- $info->validBidiDomain = false;
-
- return;
- }
-
- // Step 3. In an RTL label, the end of the label must be a character with Bidi property
- // R, AL, EN, or AN, followed by zero or more characters with Bidi property NSM.
- if (1 !== preg_match(Regex::BIDI_STEP_3, $label)) {
- $info->validBidiDomain = false;
-
- return;
- }
-
- // Step 4. In an RTL label, if an EN is present, no AN may be present, and vice versa.
- if (1 === preg_match(Regex::BIDI_STEP_4_AN, $label) && 1 === preg_match(Regex::BIDI_STEP_4_EN, $label)) {
- $info->validBidiDomain = false;
-
- return;
- }
-
- return;
- }
-
- // We are a LTR label
- // Step 1. The first character must be a character with Bidi property L, R, or AL.
- // If it has the L property, it is an LTR label.
- if (1 !== preg_match(Regex::BIDI_STEP_1_LTR, $label)) {
- $info->validBidiDomain = false;
-
- return;
- }
-
- // Step 5. In an LTR label, only characters with the Bidi properties L, EN,
- // ES, CS, ET, ON, BN, or NSM are allowed.
- if (1 === preg_match(Regex::BIDI_STEP_5, $label)) {
- $info->validBidiDomain = false;
-
- return;
- }
-
- // Step 6.In an LTR label, the end of the label must be a character with Bidi property L or
- // EN, followed by zero or more characters with Bidi property NSM.
- if (1 !== preg_match(Regex::BIDI_STEP_6, $label)) {
- $info->validBidiDomain = false;
-
- return;
- }
- }
-
- /**
- * @param array $labels
- */
- private static function validateDomainAndLabelLength(array $labels, Info $info)
- {
- $maxDomainSize = self::MAX_DOMAIN_SIZE;
- $length = \count($labels);
-
- // Number of "." delimiters.
- $domainLength = $length - 1;
-
- // If the last label is empty and it is not the first label, then it is the root label.
- // Increase the max size by 1, making it 254, to account for the root label's "."
- // delimiter. This also means we don't need to check the last label's length for being too
- // long.
- if ($length > 1 && '' === $labels[$length - 1]) {
- ++$maxDomainSize;
- --$length;
- }
-
- for ($i = 0; $i < $length; ++$i) {
- $bytes = \strlen($labels[$i]);
- $domainLength += $bytes;
-
- if ($bytes > self::MAX_LABEL_SIZE) {
- $info->errors |= self::ERROR_LABEL_TOO_LONG;
- }
- }
-
- if ($domainLength > $maxDomainSize) {
- $info->errors |= self::ERROR_DOMAIN_NAME_TOO_LONG;
- }
- }
-
- /**
- * @see https://www.unicode.org/reports/tr46/#Validity_Criteria
- *
- * @param string $label
- * @param array $options
- * @param bool $canBeEmpty
- */
- private static function validateLabel($label, Info $info, array $options, $canBeEmpty)
- {
- if ('' === $label) {
- if (!$canBeEmpty && (!isset($options['VerifyDnsLength']) || $options['VerifyDnsLength'])) {
- $info->errors |= self::ERROR_EMPTY_LABEL;
- }
-
- return;
- }
-
- // Step 1. The label must be in Unicode Normalization Form C.
- if (!\Normalizer::isNormalized($label, \Normalizer::FORM_C)) {
- $info->errors |= self::ERROR_INVALID_ACE_LABEL;
- }
-
- $codePoints = self::utf8Decode($label);
-
- if ($options['CheckHyphens']) {
- // Step 2. If CheckHyphens, the label must not contain a U+002D HYPHEN-MINUS character
- // in both the thrid and fourth positions.
- if (isset($codePoints[2], $codePoints[3]) && 0x002D === $codePoints[2] && 0x002D === $codePoints[3]) {
- $info->errors |= self::ERROR_HYPHEN_3_4;
- }
-
- // Step 3. If CheckHyphens, the label must neither begin nor end with a U+002D
- // HYPHEN-MINUS character.
- if ('-' === substr($label, 0, 1)) {
- $info->errors |= self::ERROR_LEADING_HYPHEN;
- }
-
- if ('-' === substr($label, -1, 1)) {
- $info->errors |= self::ERROR_TRAILING_HYPHEN;
- }
- } elseif ('xn--' === substr($label, 0, 4)) {
- $info->errors |= self::ERROR_PUNYCODE;
- }
-
- // Step 4. The label must not contain a U+002E (.) FULL STOP.
- if (false !== strpos($label, '.')) {
- $info->errors |= self::ERROR_LABEL_HAS_DOT;
- }
-
- // Step 5. The label must not begin with a combining mark, that is: General_Category=Mark.
- if (1 === preg_match(Regex::COMBINING_MARK, $label)) {
- $info->errors |= self::ERROR_LEADING_COMBINING_MARK;
- }
-
- // Step 6. Each code point in the label must only have certain status values according to
- // Section 5, IDNA Mapping Table:
- $transitional = $options['Transitional_Processing'];
- $useSTD3ASCIIRules = $options['UseSTD3ASCIIRules'];
-
- foreach ($codePoints as $codePoint) {
- $data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules);
- $status = $data['status'];
-
- if ('valid' === $status || (!$transitional && 'deviation' === $status)) {
- continue;
- }
-
- $info->errors |= self::ERROR_DISALLOWED;
-
- break;
- }
-
- // Step 7. If CheckJoiners, the label must satisify the ContextJ rules from Appendix A, in
- // The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)
- // [IDNA2008].
- if ($options['CheckJoiners'] && !self::isValidContextJ($codePoints, $label)) {
- $info->errors |= self::ERROR_CONTEXTJ;
- }
-
- // Step 8. If CheckBidi, and if the domain name is a Bidi domain name, then the label must
- // satisfy all six of the numbered conditions in [IDNA2008] RFC 5893, Section 2.
- if ($options['CheckBidi'] && (!$info->bidiDomain || $info->validBidiDomain)) {
- self::validateBidiLabel($label, $info);
- }
- }
-
- /**
- * @see https://tools.ietf.org/html/rfc3492#section-6.2
- *
- * @param string $input
- *
- * @return string
- */
- private static function punycodeDecode($input)
- {
- $n = self::INITIAL_N;
- $out = 0;
- $i = 0;
- $bias = self::INITIAL_BIAS;
- $lastDelimIndex = strrpos($input, self::DELIMITER);
- $b = false === $lastDelimIndex ? 0 : $lastDelimIndex;
- $inputLength = \strlen($input);
- $output = [];
- $bytes = array_map('ord', str_split($input));
-
- for ($j = 0; $j < $b; ++$j) {
- if ($bytes[$j] > 0x7F) {
- throw new \Exception('Invalid input');
- }
-
- $output[$out++] = $input[$j];
- }
-
- if ($b > 0) {
- ++$b;
- }
-
- for ($in = $b; $in < $inputLength; ++$out) {
- $oldi = $i;
- $w = 1;
-
- for ($k = self::BASE; /* no condition */; $k += self::BASE) {
- if ($in >= $inputLength) {
- throw new \Exception('Invalid input');
- }
-
- $digit = self::$basicToDigit[$bytes[$in++] & 0xFF];
-
- if ($digit < 0) {
- throw new \Exception('Invalid input');
- }
-
- if ($digit > intdiv(self::MAX_INT - $i, $w)) {
- throw new \Exception('Integer overflow');
- }
-
- $i += $digit * $w;
-
- if ($k <= $bias) {
- $t = self::TMIN;
- } elseif ($k >= $bias + self::TMAX) {
- $t = self::TMAX;
- } else {
- $t = $k - $bias;
- }
-
- if ($digit < $t) {
- break;
- }
-
- $baseMinusT = self::BASE - $t;
-
- if ($w > intdiv(self::MAX_INT, $baseMinusT)) {
- throw new \Exception('Integer overflow');
- }
-
- $w *= $baseMinusT;
- }
-
- $outPlusOne = $out + 1;
- $bias = self::adaptBias($i - $oldi, $outPlusOne, 0 === $oldi);
-
- if (intdiv($i, $outPlusOne) > self::MAX_INT - $n) {
- throw new \Exception('Integer overflow');
- }
-
- $n += intdiv($i, $outPlusOne);
- $i %= $outPlusOne;
- array_splice($output, $i++, 0, [mb_chr($n, 'utf-8')]);
- }
-
- return implode('', $output);
- }
-
- /**
- * @see https://tools.ietf.org/html/rfc3492#section-6.3
- *
- * @param string $input
- *
- * @return string
- */
- private static function punycodeEncode($input)
- {
- $n = self::INITIAL_N;
- $delta = 0;
- $out = 0;
- $bias = self::INITIAL_BIAS;
- $inputLength = 0;
- $output = '';
- $iter = self::utf8Decode($input);
-
- foreach ($iter as $codePoint) {
- ++$inputLength;
-
- if ($codePoint < 0x80) {
- $output .= \chr($codePoint);
- ++$out;
- }
- }
-
- $h = $out;
- $b = $out;
-
- if ($b > 0) {
- $output .= self::DELIMITER;
- ++$out;
- }
-
- while ($h < $inputLength) {
- $m = self::MAX_INT;
-
- foreach ($iter as $codePoint) {
- if ($codePoint >= $n && $codePoint < $m) {
- $m = $codePoint;
- }
- }
-
- if ($m - $n > intdiv(self::MAX_INT - $delta, $h + 1)) {
- throw new \Exception('Integer overflow');
- }
-
- $delta += ($m - $n) * ($h + 1);
- $n = $m;
-
- foreach ($iter as $codePoint) {
- if ($codePoint < $n && 0 === ++$delta) {
- throw new \Exception('Integer overflow');
- }
-
- if ($codePoint === $n) {
- $q = $delta;
-
- for ($k = self::BASE; /* no condition */; $k += self::BASE) {
- if ($k <= $bias) {
- $t = self::TMIN;
- } elseif ($k >= $bias + self::TMAX) {
- $t = self::TMAX;
- } else {
- $t = $k - $bias;
- }
-
- if ($q < $t) {
- break;
- }
-
- $qMinusT = $q - $t;
- $baseMinusT = self::BASE - $t;
- $output .= self::encodeDigit($t + $qMinusT % $baseMinusT, false);
- ++$out;
- $q = intdiv($qMinusT, $baseMinusT);
- }
-
- $output .= self::encodeDigit($q, false);
- ++$out;
- $bias = self::adaptBias($delta, $h + 1, $h === $b);
- $delta = 0;
- ++$h;
- }
- }
-
- ++$delta;
- ++$n;
- }
-
- return $output;
- }
-
- /**
- * @see https://tools.ietf.org/html/rfc3492#section-6.1
- *
- * @param int $delta
- * @param int $numPoints
- * @param bool $firstTime
- *
- * @return int
- */
- private static function adaptBias($delta, $numPoints, $firstTime)
- {
- // xxx >> 1 is a faster way of doing intdiv(xxx, 2)
- $delta = $firstTime ? intdiv($delta, self::DAMP) : $delta >> 1;
- $delta += intdiv($delta, $numPoints);
- $k = 0;
-
- while ($delta > ((self::BASE - self::TMIN) * self::TMAX) >> 1) {
- $delta = intdiv($delta, self::BASE - self::TMIN);
- $k += self::BASE;
- }
-
- return $k + intdiv((self::BASE - self::TMIN + 1) * $delta, $delta + self::SKEW);
- }
-
- /**
- * @param int $d
- * @param bool $flag
- *
- * @return string
- */
- private static function encodeDigit($d, $flag)
- {
- return \chr($d + 22 + 75 * ($d < 26 ? 1 : 0) - (($flag ? 1 : 0) << 5));
- }
-
- /**
- * Takes a UTF-8 encoded string and converts it into a series of integer code points. Any
- * invalid byte sequences will be replaced by a U+FFFD replacement code point.
- *
- * @see https://encoding.spec.whatwg.org/#utf-8-decoder
- *
- * @param string $input
- *
- * @return array
- */
- private static function utf8Decode($input)
- {
- $bytesSeen = 0;
- $bytesNeeded = 0;
- $lowerBoundary = 0x80;
- $upperBoundary = 0xBF;
- $codePoint = 0;
- $codePoints = [];
- $length = \strlen($input);
-
- for ($i = 0; $i < $length; ++$i) {
- $byte = \ord($input[$i]);
-
- if (0 === $bytesNeeded) {
- if ($byte >= 0x00 && $byte <= 0x7F) {
- $codePoints[] = $byte;
-
- continue;
- }
-
- if ($byte >= 0xC2 && $byte <= 0xDF) {
- $bytesNeeded = 1;
- $codePoint = $byte & 0x1F;
- } elseif ($byte >= 0xE0 && $byte <= 0xEF) {
- if (0xE0 === $byte) {
- $lowerBoundary = 0xA0;
- } elseif (0xED === $byte) {
- $upperBoundary = 0x9F;
- }
-
- $bytesNeeded = 2;
- $codePoint = $byte & 0xF;
- } elseif ($byte >= 0xF0 && $byte <= 0xF4) {
- if (0xF0 === $byte) {
- $lowerBoundary = 0x90;
- } elseif (0xF4 === $byte) {
- $upperBoundary = 0x8F;
- }
-
- $bytesNeeded = 3;
- $codePoint = $byte & 0x7;
- } else {
- $codePoints[] = 0xFFFD;
- }
-
- continue;
- }
-
- if ($byte < $lowerBoundary || $byte > $upperBoundary) {
- $codePoint = 0;
- $bytesNeeded = 0;
- $bytesSeen = 0;
- $lowerBoundary = 0x80;
- $upperBoundary = 0xBF;
- --$i;
- $codePoints[] = 0xFFFD;
-
- continue;
- }
-
- $lowerBoundary = 0x80;
- $upperBoundary = 0xBF;
- $codePoint = ($codePoint << 6) | ($byte & 0x3F);
-
- if (++$bytesSeen !== $bytesNeeded) {
- continue;
- }
-
- $codePoints[] = $codePoint;
- $codePoint = 0;
- $bytesNeeded = 0;
- $bytesSeen = 0;
- }
-
- // String unexpectedly ended, so append a U+FFFD code point.
- if (0 !== $bytesNeeded) {
- $codePoints[] = 0xFFFD;
- }
-
- return $codePoints;
- }
-
- /**
- * @param int $codePoint
- * @param bool $useSTD3ASCIIRules
- *
- * @return array{status: string, mapping?: string}
- */
- private static function lookupCodePointStatus($codePoint, $useSTD3ASCIIRules)
- {
- if (!self::$mappingTableLoaded) {
- self::$mappingTableLoaded = true;
- self::$mapped = require __DIR__.'/Resources/unidata/mapped.php';
- self::$ignored = require __DIR__.'/Resources/unidata/ignored.php';
- self::$deviation = require __DIR__.'/Resources/unidata/deviation.php';
- self::$disallowed = require __DIR__.'/Resources/unidata/disallowed.php';
- self::$disallowed_STD3_mapped = require __DIR__.'/Resources/unidata/disallowed_STD3_mapped.php';
- self::$disallowed_STD3_valid = require __DIR__.'/Resources/unidata/disallowed_STD3_valid.php';
- }
-
- if (isset(self::$mapped[$codePoint])) {
- return ['status' => 'mapped', 'mapping' => self::$mapped[$codePoint]];
- }
-
- if (isset(self::$ignored[$codePoint])) {
- return ['status' => 'ignored'];
- }
-
- if (isset(self::$deviation[$codePoint])) {
- return ['status' => 'deviation', 'mapping' => self::$deviation[$codePoint]];
- }
-
- if (isset(self::$disallowed[$codePoint]) || DisallowedRanges::inRange($codePoint)) {
- return ['status' => 'disallowed'];
- }
-
- $isDisallowedMapped = isset(self::$disallowed_STD3_mapped[$codePoint]);
-
- if ($isDisallowedMapped || isset(self::$disallowed_STD3_valid[$codePoint])) {
- $status = 'disallowed';
-
- if (!$useSTD3ASCIIRules) {
- $status = $isDisallowedMapped ? 'mapped' : 'valid';
- }
-
- if ($isDisallowedMapped) {
- return ['status' => $status, 'mapping' => self::$disallowed_STD3_mapped[$codePoint]];
- }
-
- return ['status' => $status];
- }
-
- return ['status' => 'valid'];
- }
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Info.php b/plugins/vendor/symfony/polyfill-intl-idn/Info.php
deleted file mode 100644
index 25c3582b..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Info.php
+++ /dev/null
@@ -1,23 +0,0 @@
- and Trevor Rowbotham
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Polyfill\Intl\Idn;
-
-/**
- * @internal
- */
-class Info
-{
- public $bidiDomain = false;
- public $errors = 0;
- public $validBidiDomain = true;
- public $transitionalDifferent = false;
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/LICENSE b/plugins/vendor/symfony/polyfill-intl-idn/LICENSE
deleted file mode 100644
index fd0a0626..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2018-present Fabien Potencier and Trevor Rowbotham
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/README.md b/plugins/vendor/symfony/polyfill-intl-idn/README.md
deleted file mode 100644
index cae55170..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-Symfony Polyfill / Intl: Idn
-============================
-
-This component provides [`idn_to_ascii`](https://php.net/idn-to-ascii) and [`idn_to_utf8`](https://php.net/idn-to-utf8) functions to users who run php versions without the [Intl](https://php.net/intl) extension.
-
-More information can be found in the
-[main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
-
-License
-=======
-
-This library is released under the [MIT license](LICENSE).
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php b/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php
deleted file mode 100644
index d285acd1..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php
+++ /dev/null
@@ -1,384 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Polyfill\Intl\Idn\Resources\unidata;
-
-/**
- * @internal
- */
-final class DisallowedRanges
-{
- /**
- * @param int $codePoint
- *
- * @return bool
- */
- public static function inRange($codePoint)
- {
- if ($codePoint >= 128 && $codePoint <= 159) {
- return true;
- }
-
- if ($codePoint >= 2155 && $codePoint <= 2207) {
- return true;
- }
-
- if ($codePoint >= 3676 && $codePoint <= 3712) {
- return true;
- }
-
- if ($codePoint >= 3808 && $codePoint <= 3839) {
- return true;
- }
-
- if ($codePoint >= 4059 && $codePoint <= 4095) {
- return true;
- }
-
- if ($codePoint >= 4256 && $codePoint <= 4293) {
- return true;
- }
-
- if ($codePoint >= 6849 && $codePoint <= 6911) {
- return true;
- }
-
- if ($codePoint >= 11859 && $codePoint <= 11903) {
- return true;
- }
-
- if ($codePoint >= 42955 && $codePoint <= 42996) {
- return true;
- }
-
- if ($codePoint >= 55296 && $codePoint <= 57343) {
- return true;
- }
-
- if ($codePoint >= 57344 && $codePoint <= 63743) {
- return true;
- }
-
- if ($codePoint >= 64218 && $codePoint <= 64255) {
- return true;
- }
-
- if ($codePoint >= 64976 && $codePoint <= 65007) {
- return true;
- }
-
- if ($codePoint >= 65630 && $codePoint <= 65663) {
- return true;
- }
-
- if ($codePoint >= 65953 && $codePoint <= 65999) {
- return true;
- }
-
- if ($codePoint >= 66046 && $codePoint <= 66175) {
- return true;
- }
-
- if ($codePoint >= 66518 && $codePoint <= 66559) {
- return true;
- }
-
- if ($codePoint >= 66928 && $codePoint <= 67071) {
- return true;
- }
-
- if ($codePoint >= 67432 && $codePoint <= 67583) {
- return true;
- }
-
- if ($codePoint >= 67760 && $codePoint <= 67807) {
- return true;
- }
-
- if ($codePoint >= 67904 && $codePoint <= 67967) {
- return true;
- }
-
- if ($codePoint >= 68256 && $codePoint <= 68287) {
- return true;
- }
-
- if ($codePoint >= 68528 && $codePoint <= 68607) {
- return true;
- }
-
- if ($codePoint >= 68681 && $codePoint <= 68735) {
- return true;
- }
-
- if ($codePoint >= 68922 && $codePoint <= 69215) {
- return true;
- }
-
- if ($codePoint >= 69298 && $codePoint <= 69375) {
- return true;
- }
-
- if ($codePoint >= 69466 && $codePoint <= 69551) {
- return true;
- }
-
- if ($codePoint >= 70207 && $codePoint <= 70271) {
- return true;
- }
-
- if ($codePoint >= 70517 && $codePoint <= 70655) {
- return true;
- }
-
- if ($codePoint >= 70874 && $codePoint <= 71039) {
- return true;
- }
-
- if ($codePoint >= 71134 && $codePoint <= 71167) {
- return true;
- }
-
- if ($codePoint >= 71370 && $codePoint <= 71423) {
- return true;
- }
-
- if ($codePoint >= 71488 && $codePoint <= 71679) {
- return true;
- }
-
- if ($codePoint >= 71740 && $codePoint <= 71839) {
- return true;
- }
-
- if ($codePoint >= 72026 && $codePoint <= 72095) {
- return true;
- }
-
- if ($codePoint >= 72441 && $codePoint <= 72703) {
- return true;
- }
-
- if ($codePoint >= 72887 && $codePoint <= 72959) {
- return true;
- }
-
- if ($codePoint >= 73130 && $codePoint <= 73439) {
- return true;
- }
-
- if ($codePoint >= 73465 && $codePoint <= 73647) {
- return true;
- }
-
- if ($codePoint >= 74650 && $codePoint <= 74751) {
- return true;
- }
-
- if ($codePoint >= 75076 && $codePoint <= 77823) {
- return true;
- }
-
- if ($codePoint >= 78905 && $codePoint <= 82943) {
- return true;
- }
-
- if ($codePoint >= 83527 && $codePoint <= 92159) {
- return true;
- }
-
- if ($codePoint >= 92784 && $codePoint <= 92879) {
- return true;
- }
-
- if ($codePoint >= 93072 && $codePoint <= 93759) {
- return true;
- }
-
- if ($codePoint >= 93851 && $codePoint <= 93951) {
- return true;
- }
-
- if ($codePoint >= 94112 && $codePoint <= 94175) {
- return true;
- }
-
- if ($codePoint >= 101590 && $codePoint <= 101631) {
- return true;
- }
-
- if ($codePoint >= 101641 && $codePoint <= 110591) {
- return true;
- }
-
- if ($codePoint >= 110879 && $codePoint <= 110927) {
- return true;
- }
-
- if ($codePoint >= 111356 && $codePoint <= 113663) {
- return true;
- }
-
- if ($codePoint >= 113828 && $codePoint <= 118783) {
- return true;
- }
-
- if ($codePoint >= 119366 && $codePoint <= 119519) {
- return true;
- }
-
- if ($codePoint >= 119673 && $codePoint <= 119807) {
- return true;
- }
-
- if ($codePoint >= 121520 && $codePoint <= 122879) {
- return true;
- }
-
- if ($codePoint >= 122923 && $codePoint <= 123135) {
- return true;
- }
-
- if ($codePoint >= 123216 && $codePoint <= 123583) {
- return true;
- }
-
- if ($codePoint >= 123648 && $codePoint <= 124927) {
- return true;
- }
-
- if ($codePoint >= 125143 && $codePoint <= 125183) {
- return true;
- }
-
- if ($codePoint >= 125280 && $codePoint <= 126064) {
- return true;
- }
-
- if ($codePoint >= 126133 && $codePoint <= 126208) {
- return true;
- }
-
- if ($codePoint >= 126270 && $codePoint <= 126463) {
- return true;
- }
-
- if ($codePoint >= 126652 && $codePoint <= 126703) {
- return true;
- }
-
- if ($codePoint >= 126706 && $codePoint <= 126975) {
- return true;
- }
-
- if ($codePoint >= 127406 && $codePoint <= 127461) {
- return true;
- }
-
- if ($codePoint >= 127590 && $codePoint <= 127743) {
- return true;
- }
-
- if ($codePoint >= 129202 && $codePoint <= 129279) {
- return true;
- }
-
- if ($codePoint >= 129751 && $codePoint <= 129791) {
- return true;
- }
-
- if ($codePoint >= 129995 && $codePoint <= 130031) {
- return true;
- }
-
- if ($codePoint >= 130042 && $codePoint <= 131069) {
- return true;
- }
-
- if ($codePoint >= 173790 && $codePoint <= 173823) {
- return true;
- }
-
- if ($codePoint >= 191457 && $codePoint <= 194559) {
- return true;
- }
-
- if ($codePoint >= 195102 && $codePoint <= 196605) {
- return true;
- }
-
- if ($codePoint >= 201547 && $codePoint <= 262141) {
- return true;
- }
-
- if ($codePoint >= 262144 && $codePoint <= 327677) {
- return true;
- }
-
- if ($codePoint >= 327680 && $codePoint <= 393213) {
- return true;
- }
-
- if ($codePoint >= 393216 && $codePoint <= 458749) {
- return true;
- }
-
- if ($codePoint >= 458752 && $codePoint <= 524285) {
- return true;
- }
-
- if ($codePoint >= 524288 && $codePoint <= 589821) {
- return true;
- }
-
- if ($codePoint >= 589824 && $codePoint <= 655357) {
- return true;
- }
-
- if ($codePoint >= 655360 && $codePoint <= 720893) {
- return true;
- }
-
- if ($codePoint >= 720896 && $codePoint <= 786429) {
- return true;
- }
-
- if ($codePoint >= 786432 && $codePoint <= 851965) {
- return true;
- }
-
- if ($codePoint >= 851968 && $codePoint <= 917501) {
- return true;
- }
-
- if ($codePoint >= 917536 && $codePoint <= 917631) {
- return true;
- }
-
- if ($codePoint >= 917632 && $codePoint <= 917759) {
- return true;
- }
-
- if ($codePoint >= 918000 && $codePoint <= 983037) {
- return true;
- }
-
- if ($codePoint >= 983040 && $codePoint <= 1048573) {
- return true;
- }
-
- if ($codePoint >= 1048576 && $codePoint <= 1114109) {
- return true;
- }
-
- return false;
- }
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php b/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php
deleted file mode 100644
index 3c6af0c1..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php
+++ /dev/null
@@ -1,33 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Polyfill\Intl\Idn\Resources\unidata;
-
-/**
- * @internal
- */
-final class Regex
-{
- const COMBINING_MARK = '/^[\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{0903}\x{093A}\x{093B}\x{093C}\x{093E}-\x{0940}\x{0941}-\x{0948}\x{0949}-\x{094C}\x{094D}\x{094E}-\x{094F}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{0982}-\x{0983}\x{09BC}\x{09BE}-\x{09C0}\x{09C1}-\x{09C4}\x{09C7}-\x{09C8}\x{09CB}-\x{09CC}\x{09CD}\x{09D7}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A03}\x{0A3C}\x{0A3E}-\x{0A40}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0A83}\x{0ABC}\x{0ABE}-\x{0AC0}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0AC9}\x{0ACB}-\x{0ACC}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B02}-\x{0B03}\x{0B3C}\x{0B3E}\x{0B3F}\x{0B40}\x{0B41}-\x{0B44}\x{0B47}-\x{0B48}\x{0B4B}-\x{0B4C}\x{0B4D}\x{0B55}-\x{0B56}\x{0B57}\x{0B62}-\x{0B63}\x{0B82}\x{0BBE}-\x{0BBF}\x{0BC0}\x{0BC1}-\x{0BC2}\x{0BC6}-\x{0BC8}\x{0BCA}-\x{0BCC}\x{0BCD}\x{0BD7}\x{0C00}\x{0C01}-\x{0C03}\x{0C04}\x{0C3E}-\x{0C40}\x{0C41}-\x{0C44}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0C82}-\x{0C83}\x{0CBC}\x{0CBE}\x{0CBF}\x{0CC0}-\x{0CC4}\x{0CC6}\x{0CC7}-\x{0CC8}\x{0CCA}-\x{0CCB}\x{0CCC}-\x{0CCD}\x{0CD5}-\x{0CD6}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D02}-\x{0D03}\x{0D3B}-\x{0D3C}\x{0D3E}-\x{0D40}\x{0D41}-\x{0D44}\x{0D46}-\x{0D48}\x{0D4A}-\x{0D4C}\x{0D4D}\x{0D57}\x{0D62}-\x{0D63}\x{0D81}\x{0D82}-\x{0D83}\x{0DCA}\x{0DCF}-\x{0DD1}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0DD8}-\x{0DDF}\x{0DF2}-\x{0DF3}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F3E}-\x{0F3F}\x{0F71}-\x{0F7E}\x{0F7F}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102B}-\x{102C}\x{102D}-\x{1030}\x{1031}\x{1032}-\x{1037}\x{1038}\x{1039}-\x{103A}\x{103B}-\x{103C}\x{103D}-\x{103E}\x{1056}-\x{1057}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1062}-\x{1064}\x{1067}-\x{106D}\x{1071}-\x{1074}\x{1082}\x{1083}-\x{1084}\x{1085}-\x{1086}\x{1087}-\x{108C}\x{108D}\x{108F}\x{109A}-\x{109C}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B6}\x{17B7}-\x{17BD}\x{17BE}-\x{17C5}\x{17C6}\x{17C7}-\x{17C8}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1923}-\x{1926}\x{1927}-\x{1928}\x{1929}-\x{192B}\x{1930}-\x{1931}\x{1932}\x{1933}-\x{1938}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A19}-\x{1A1A}\x{1A1B}\x{1A55}\x{1A56}\x{1A57}\x{1A58}-\x{1A5E}\x{1A60}\x{1A61}\x{1A62}\x{1A63}-\x{1A64}\x{1A65}-\x{1A6C}\x{1A6D}-\x{1A72}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B04}\x{1B34}\x{1B35}\x{1B36}-\x{1B3A}\x{1B3B}\x{1B3C}\x{1B3D}-\x{1B41}\x{1B42}\x{1B43}-\x{1B44}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1B82}\x{1BA1}\x{1BA2}-\x{1BA5}\x{1BA6}-\x{1BA7}\x{1BA8}-\x{1BA9}\x{1BAA}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE7}\x{1BE8}-\x{1BE9}\x{1BEA}-\x{1BEC}\x{1BED}\x{1BEE}\x{1BEF}-\x{1BF1}\x{1BF2}-\x{1BF3}\x{1C24}-\x{1C2B}\x{1C2C}-\x{1C33}\x{1C34}-\x{1C35}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE1}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF7}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{302E}-\x{302F}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A823}-\x{A824}\x{A825}-\x{A826}\x{A827}\x{A82C}\x{A880}-\x{A881}\x{A8B4}-\x{A8C3}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A952}-\x{A953}\x{A980}-\x{A982}\x{A983}\x{A9B3}\x{A9B4}-\x{A9B5}\x{A9B6}-\x{A9B9}\x{A9BA}-\x{A9BB}\x{A9BC}-\x{A9BD}\x{A9BE}-\x{A9C0}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA2F}-\x{AA30}\x{AA31}-\x{AA32}\x{AA33}-\x{AA34}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA4D}\x{AA7B}\x{AA7C}\x{AA7D}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEB}\x{AAEC}-\x{AAED}\x{AAEE}-\x{AAEF}\x{AAF5}\x{AAF6}\x{ABE3}-\x{ABE4}\x{ABE5}\x{ABE6}-\x{ABE7}\x{ABE8}\x{ABE9}-\x{ABEA}\x{ABEC}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11000}\x{11001}\x{11002}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{11082}\x{110B0}-\x{110B2}\x{110B3}-\x{110B6}\x{110B7}-\x{110B8}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112C}\x{1112D}-\x{11134}\x{11145}-\x{11146}\x{11173}\x{11180}-\x{11181}\x{11182}\x{111B3}-\x{111B5}\x{111B6}-\x{111BE}\x{111BF}-\x{111C0}\x{111C9}-\x{111CC}\x{111CE}\x{111CF}\x{1122C}-\x{1122E}\x{1122F}-\x{11231}\x{11232}-\x{11233}\x{11234}\x{11235}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E0}-\x{112E2}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{11302}-\x{11303}\x{1133B}-\x{1133C}\x{1133E}-\x{1133F}\x{11340}\x{11341}-\x{11344}\x{11347}-\x{11348}\x{1134B}-\x{1134D}\x{11357}\x{11362}-\x{11363}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11435}-\x{11437}\x{11438}-\x{1143F}\x{11440}-\x{11441}\x{11442}-\x{11444}\x{11445}\x{11446}\x{1145E}\x{114B0}-\x{114B2}\x{114B3}-\x{114B8}\x{114B9}\x{114BA}\x{114BB}-\x{114BE}\x{114BF}-\x{114C0}\x{114C1}\x{114C2}-\x{114C3}\x{115AF}-\x{115B1}\x{115B2}-\x{115B5}\x{115B8}-\x{115BB}\x{115BC}-\x{115BD}\x{115BE}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11630}-\x{11632}\x{11633}-\x{1163A}\x{1163B}-\x{1163C}\x{1163D}\x{1163E}\x{1163F}-\x{11640}\x{116AB}\x{116AC}\x{116AD}\x{116AE}-\x{116AF}\x{116B0}-\x{116B5}\x{116B6}\x{116B7}\x{1171D}-\x{1171F}\x{11720}-\x{11721}\x{11722}-\x{11725}\x{11726}\x{11727}-\x{1172B}\x{1182C}-\x{1182E}\x{1182F}-\x{11837}\x{11838}\x{11839}-\x{1183A}\x{11930}-\x{11935}\x{11937}-\x{11938}\x{1193B}-\x{1193C}\x{1193D}\x{1193E}\x{11940}\x{11942}\x{11943}\x{119D1}-\x{119D3}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119DC}-\x{119DF}\x{119E0}\x{119E4}\x{11A01}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A39}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A57}-\x{11A58}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A97}\x{11A98}-\x{11A99}\x{11C2F}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C3E}\x{11C3F}\x{11C92}-\x{11CA7}\x{11CA9}\x{11CAA}-\x{11CB0}\x{11CB1}\x{11CB2}-\x{11CB3}\x{11CB4}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D8A}-\x{11D8E}\x{11D90}-\x{11D91}\x{11D93}-\x{11D94}\x{11D95}\x{11D96}\x{11D97}\x{11EF3}-\x{11EF4}\x{11EF5}-\x{11EF6}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F51}-\x{16F87}\x{16F8F}-\x{16F92}\x{16FE4}\x{16FF0}-\x{16FF1}\x{1BC9D}-\x{1BC9E}\x{1D165}-\x{1D166}\x{1D167}-\x{1D169}\x{1D16D}-\x{1D172}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{E0100}-\x{E01EF}]/u';
-
- const RTL_LABEL = '/[\x{0590}\x{05BE}\x{05C0}\x{05C3}\x{05C6}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0608}\x{060B}\x{060D}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{0660}-\x{0669}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06DD}\x{06E5}-\x{06E6}\x{06EE}-\x{06EF}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0712}-\x{072F}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07F4}-\x{07F5}\x{07FA}\x{07FB}-\x{07FC}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{081A}\x{0824}\x{0828}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08E2}\x{200F}\x{FB1D}\x{FB1F}-\x{FB28}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFE}-\x{FDFF}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A04}\x{10A07}-\x{10A0B}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A3B}-\x{10A3E}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}]/u';
-
- const BIDI_STEP_1_LTR = '/^[^\x{0000}-\x{0008}\x{0009}\x{000A}\x{000B}\x{000C}\x{000D}\x{000E}-\x{001B}\x{001C}-\x{001E}\x{001F}\x{0020}\x{0021}-\x{0022}\x{0023}\x{0024}\x{0025}\x{0026}-\x{0027}\x{0028}\x{0029}\x{002A}\x{002B}\x{002C}\x{002D}\x{002E}-\x{002F}\x{0030}-\x{0039}\x{003A}\x{003B}\x{003C}-\x{003E}\x{003F}-\x{0040}\x{005B}\x{005C}\x{005D}\x{005E}\x{005F}\x{0060}\x{007B}\x{007C}\x{007D}\x{007E}\x{007F}-\x{0084}\x{0085}\x{0086}-\x{009F}\x{00A0}\x{00A1}\x{00A2}-\x{00A5}\x{00A6}\x{00A7}\x{00A8}\x{00A9}\x{00AB}\x{00AC}\x{00AD}\x{00AE}\x{00AF}\x{00B0}\x{00B1}\x{00B2}-\x{00B3}\x{00B4}\x{00B6}-\x{00B7}\x{00B8}\x{00B9}\x{00BB}\x{00BC}-\x{00BE}\x{00BF}\x{00D7}\x{00F7}\x{02B9}-\x{02BA}\x{02C2}-\x{02C5}\x{02C6}-\x{02CF}\x{02D2}-\x{02DF}\x{02E5}-\x{02EB}\x{02EC}\x{02ED}\x{02EF}-\x{02FF}\x{0300}-\x{036F}\x{0374}\x{0375}\x{037E}\x{0384}-\x{0385}\x{0387}\x{03F6}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{058A}\x{058D}-\x{058E}\x{058F}\x{0590}\x{0591}-\x{05BD}\x{05BE}\x{05BF}\x{05C0}\x{05C1}-\x{05C2}\x{05C3}\x{05C4}-\x{05C5}\x{05C6}\x{05C7}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0606}-\x{0607}\x{0608}\x{0609}-\x{060A}\x{060B}\x{060C}\x{060D}\x{060E}-\x{060F}\x{0610}-\x{061A}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{064B}-\x{065F}\x{0660}-\x{0669}\x{066A}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0670}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06D6}-\x{06DC}\x{06DD}\x{06DE}\x{06DF}-\x{06E4}\x{06E5}-\x{06E6}\x{06E7}-\x{06E8}\x{06E9}\x{06EA}-\x{06ED}\x{06EE}-\x{06EF}\x{06F0}-\x{06F9}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0711}\x{0712}-\x{072F}\x{0730}-\x{074A}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07A6}-\x{07B0}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07EB}-\x{07F3}\x{07F4}-\x{07F5}\x{07F6}\x{07F7}-\x{07F9}\x{07FA}\x{07FB}-\x{07FC}\x{07FD}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{0816}-\x{0819}\x{081A}\x{081B}-\x{0823}\x{0824}\x{0825}-\x{0827}\x{0828}\x{0829}-\x{082D}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{0859}-\x{085B}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08D3}-\x{08E1}\x{08E2}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09F2}-\x{09F3}\x{09FB}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AF1}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0BF3}-\x{0BF8}\x{0BF9}\x{0BFA}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C78}-\x{0C7E}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E3F}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F3A}\x{0F3B}\x{0F3C}\x{0F3D}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1390}-\x{1399}\x{1400}\x{1680}\x{169B}\x{169C}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DB}\x{17DD}\x{17F0}-\x{17F9}\x{1800}-\x{1805}\x{1806}\x{1807}-\x{180A}\x{180B}-\x{180D}\x{180E}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1940}\x{1944}-\x{1945}\x{19DE}-\x{19FF}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{1FBD}\x{1FBF}-\x{1FC1}\x{1FCD}-\x{1FCF}\x{1FDD}-\x{1FDF}\x{1FED}-\x{1FEF}\x{1FFD}-\x{1FFE}\x{2000}-\x{200A}\x{200B}-\x{200D}\x{200F}\x{2010}-\x{2015}\x{2016}-\x{2017}\x{2018}\x{2019}\x{201A}\x{201B}-\x{201C}\x{201D}\x{201E}\x{201F}\x{2020}-\x{2027}\x{2028}\x{2029}\x{202A}\x{202B}\x{202C}\x{202D}\x{202E}\x{202F}\x{2030}-\x{2034}\x{2035}-\x{2038}\x{2039}\x{203A}\x{203B}-\x{203E}\x{203F}-\x{2040}\x{2041}-\x{2043}\x{2044}\x{2045}\x{2046}\x{2047}-\x{2051}\x{2052}\x{2053}\x{2054}\x{2055}-\x{205E}\x{205F}\x{2060}-\x{2064}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}\x{206A}-\x{206F}\x{2070}\x{2074}-\x{2079}\x{207A}-\x{207B}\x{207C}\x{207D}\x{207E}\x{2080}-\x{2089}\x{208A}-\x{208B}\x{208C}\x{208D}\x{208E}\x{20A0}-\x{20BF}\x{20C0}-\x{20CF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2100}-\x{2101}\x{2103}-\x{2106}\x{2108}-\x{2109}\x{2114}\x{2116}-\x{2117}\x{2118}\x{211E}-\x{2123}\x{2125}\x{2127}\x{2129}\x{212E}\x{213A}-\x{213B}\x{2140}-\x{2144}\x{214A}\x{214B}\x{214C}-\x{214D}\x{2150}-\x{215F}\x{2189}\x{218A}-\x{218B}\x{2190}-\x{2194}\x{2195}-\x{2199}\x{219A}-\x{219B}\x{219C}-\x{219F}\x{21A0}\x{21A1}-\x{21A2}\x{21A3}\x{21A4}-\x{21A5}\x{21A6}\x{21A7}-\x{21AD}\x{21AE}\x{21AF}-\x{21CD}\x{21CE}-\x{21CF}\x{21D0}-\x{21D1}\x{21D2}\x{21D3}\x{21D4}\x{21D5}-\x{21F3}\x{21F4}-\x{2211}\x{2212}\x{2213}\x{2214}-\x{22FF}\x{2300}-\x{2307}\x{2308}\x{2309}\x{230A}\x{230B}\x{230C}-\x{231F}\x{2320}-\x{2321}\x{2322}-\x{2328}\x{2329}\x{232A}\x{232B}-\x{2335}\x{237B}\x{237C}\x{237D}-\x{2394}\x{2396}-\x{239A}\x{239B}-\x{23B3}\x{23B4}-\x{23DB}\x{23DC}-\x{23E1}\x{23E2}-\x{2426}\x{2440}-\x{244A}\x{2460}-\x{2487}\x{2488}-\x{249B}\x{24EA}-\x{24FF}\x{2500}-\x{25B6}\x{25B7}\x{25B8}-\x{25C0}\x{25C1}\x{25C2}-\x{25F7}\x{25F8}-\x{25FF}\x{2600}-\x{266E}\x{266F}\x{2670}-\x{26AB}\x{26AD}-\x{2767}\x{2768}\x{2769}\x{276A}\x{276B}\x{276C}\x{276D}\x{276E}\x{276F}\x{2770}\x{2771}\x{2772}\x{2773}\x{2774}\x{2775}\x{2776}-\x{2793}\x{2794}-\x{27BF}\x{27C0}-\x{27C4}\x{27C5}\x{27C6}\x{27C7}-\x{27E5}\x{27E6}\x{27E7}\x{27E8}\x{27E9}\x{27EA}\x{27EB}\x{27EC}\x{27ED}\x{27EE}\x{27EF}\x{27F0}-\x{27FF}\x{2900}-\x{2982}\x{2983}\x{2984}\x{2985}\x{2986}\x{2987}\x{2988}\x{2989}\x{298A}\x{298B}\x{298C}\x{298D}\x{298E}\x{298F}\x{2990}\x{2991}\x{2992}\x{2993}\x{2994}\x{2995}\x{2996}\x{2997}\x{2998}\x{2999}-\x{29D7}\x{29D8}\x{29D9}\x{29DA}\x{29DB}\x{29DC}-\x{29FB}\x{29FC}\x{29FD}\x{29FE}-\x{2AFF}\x{2B00}-\x{2B2F}\x{2B30}-\x{2B44}\x{2B45}-\x{2B46}\x{2B47}-\x{2B4C}\x{2B4D}-\x{2B73}\x{2B76}-\x{2B95}\x{2B97}-\x{2BFF}\x{2CE5}-\x{2CEA}\x{2CEF}-\x{2CF1}\x{2CF9}-\x{2CFC}\x{2CFD}\x{2CFE}-\x{2CFF}\x{2D7F}\x{2DE0}-\x{2DFF}\x{2E00}-\x{2E01}\x{2E02}\x{2E03}\x{2E04}\x{2E05}\x{2E06}-\x{2E08}\x{2E09}\x{2E0A}\x{2E0B}\x{2E0C}\x{2E0D}\x{2E0E}-\x{2E16}\x{2E17}\x{2E18}-\x{2E19}\x{2E1A}\x{2E1B}\x{2E1C}\x{2E1D}\x{2E1E}-\x{2E1F}\x{2E20}\x{2E21}\x{2E22}\x{2E23}\x{2E24}\x{2E25}\x{2E26}\x{2E27}\x{2E28}\x{2E29}\x{2E2A}-\x{2E2E}\x{2E2F}\x{2E30}-\x{2E39}\x{2E3A}-\x{2E3B}\x{2E3C}-\x{2E3F}\x{2E40}\x{2E41}\x{2E42}\x{2E43}-\x{2E4F}\x{2E50}-\x{2E51}\x{2E52}\x{2E80}-\x{2E99}\x{2E9B}-\x{2EF3}\x{2F00}-\x{2FD5}\x{2FF0}-\x{2FFB}\x{3000}\x{3001}-\x{3003}\x{3004}\x{3008}\x{3009}\x{300A}\x{300B}\x{300C}\x{300D}\x{300E}\x{300F}\x{3010}\x{3011}\x{3012}-\x{3013}\x{3014}\x{3015}\x{3016}\x{3017}\x{3018}\x{3019}\x{301A}\x{301B}\x{301C}\x{301D}\x{301E}-\x{301F}\x{3020}\x{302A}-\x{302D}\x{3030}\x{3036}-\x{3037}\x{303D}\x{303E}-\x{303F}\x{3099}-\x{309A}\x{309B}-\x{309C}\x{30A0}\x{30FB}\x{31C0}-\x{31E3}\x{321D}-\x{321E}\x{3250}\x{3251}-\x{325F}\x{327C}-\x{327E}\x{32B1}-\x{32BF}\x{32CC}-\x{32CF}\x{3377}-\x{337A}\x{33DE}-\x{33DF}\x{33FF}\x{4DC0}-\x{4DFF}\x{A490}-\x{A4C6}\x{A60D}-\x{A60F}\x{A66F}\x{A670}-\x{A672}\x{A673}\x{A674}-\x{A67D}\x{A67E}\x{A67F}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A700}-\x{A716}\x{A717}-\x{A71F}\x{A720}-\x{A721}\x{A788}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A828}-\x{A82B}\x{A82C}\x{A838}\x{A839}\x{A874}-\x{A877}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{AB6A}-\x{AB6B}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1D}\x{FB1E}\x{FB1F}-\x{FB28}\x{FB29}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD3E}\x{FD3F}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDD0}-\x{FDEF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFD}\x{FDFE}-\x{FDFF}\x{FE00}-\x{FE0F}\x{FE10}-\x{FE16}\x{FE17}\x{FE18}\x{FE19}\x{FE20}-\x{FE2F}\x{FE30}\x{FE31}-\x{FE32}\x{FE33}-\x{FE34}\x{FE35}\x{FE36}\x{FE37}\x{FE38}\x{FE39}\x{FE3A}\x{FE3B}\x{FE3C}\x{FE3D}\x{FE3E}\x{FE3F}\x{FE40}\x{FE41}\x{FE42}\x{FE43}\x{FE44}\x{FE45}-\x{FE46}\x{FE47}\x{FE48}\x{FE49}-\x{FE4C}\x{FE4D}-\x{FE4F}\x{FE50}\x{FE51}\x{FE52}\x{FE54}\x{FE55}\x{FE56}-\x{FE57}\x{FE58}\x{FE59}\x{FE5A}\x{FE5B}\x{FE5C}\x{FE5D}\x{FE5E}\x{FE5F}\x{FE60}-\x{FE61}\x{FE62}\x{FE63}\x{FE64}-\x{FE66}\x{FE68}\x{FE69}\x{FE6A}\x{FE6B}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{FEFF}\x{FF01}-\x{FF02}\x{FF03}\x{FF04}\x{FF05}\x{FF06}-\x{FF07}\x{FF08}\x{FF09}\x{FF0A}\x{FF0B}\x{FF0C}\x{FF0D}\x{FF0E}-\x{FF0F}\x{FF10}-\x{FF19}\x{FF1A}\x{FF1B}\x{FF1C}-\x{FF1E}\x{FF1F}-\x{FF20}\x{FF3B}\x{FF3C}\x{FF3D}\x{FF3E}\x{FF3F}\x{FF40}\x{FF5B}\x{FF5C}\x{FF5D}\x{FF5E}\x{FF5F}\x{FF60}\x{FF61}\x{FF62}\x{FF63}\x{FF64}-\x{FF65}\x{FFE0}-\x{FFE1}\x{FFE2}\x{FFE3}\x{FFE4}\x{FFE5}-\x{FFE6}\x{FFE8}\x{FFE9}-\x{FFEC}\x{FFED}-\x{FFEE}\x{FFF0}-\x{FFF8}\x{FFF9}-\x{FFFB}\x{FFFC}-\x{FFFD}\x{FFFE}-\x{FFFF}\x{10101}\x{10140}-\x{10174}\x{10175}-\x{10178}\x{10179}-\x{10189}\x{1018A}-\x{1018B}\x{1018C}\x{10190}-\x{1019C}\x{101A0}\x{101FD}\x{102E0}\x{102E1}-\x{102FB}\x{10376}-\x{1037A}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{1091F}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A01}-\x{10A03}\x{10A04}\x{10A05}-\x{10A06}\x{10A07}-\x{10A0B}\x{10A0C}-\x{10A0F}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A38}-\x{10A3A}\x{10A3B}-\x{10A3E}\x{10A3F}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE5}-\x{10AE6}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B39}-\x{10B3F}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D24}-\x{10D27}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAB}-\x{10EAC}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F46}-\x{10F50}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{11001}\x{11038}-\x{11046}\x{11052}-\x{11065}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{11660}-\x{1166C}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{11FD5}-\x{11FDC}\x{11FDD}-\x{11FE0}\x{11FE1}-\x{11FF1}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE2}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D200}-\x{1D241}\x{1D242}-\x{1D244}\x{1D245}\x{1D300}-\x{1D356}\x{1D6DB}\x{1D715}\x{1D74F}\x{1D789}\x{1D7C3}\x{1D7CE}-\x{1D7FF}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E2FF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D0}-\x{1E8D6}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E944}-\x{1E94A}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF0}-\x{1EEF1}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}\x{1F000}-\x{1F02B}\x{1F030}-\x{1F093}\x{1F0A0}-\x{1F0AE}\x{1F0B1}-\x{1F0BF}\x{1F0C1}-\x{1F0CF}\x{1F0D1}-\x{1F0F5}\x{1F100}-\x{1F10A}\x{1F10B}-\x{1F10C}\x{1F10D}-\x{1F10F}\x{1F12F}\x{1F16A}-\x{1F16F}\x{1F1AD}\x{1F260}-\x{1F265}\x{1F300}-\x{1F3FA}\x{1F3FB}-\x{1F3FF}\x{1F400}-\x{1F6D7}\x{1F6E0}-\x{1F6EC}\x{1F6F0}-\x{1F6FC}\x{1F700}-\x{1F773}\x{1F780}-\x{1F7D8}\x{1F7E0}-\x{1F7EB}\x{1F800}-\x{1F80B}\x{1F810}-\x{1F847}\x{1F850}-\x{1F859}\x{1F860}-\x{1F887}\x{1F890}-\x{1F8AD}\x{1F8B0}-\x{1F8B1}\x{1F900}-\x{1F978}\x{1F97A}-\x{1F9CB}\x{1F9CD}-\x{1FA53}\x{1FA60}-\x{1FA6D}\x{1FA70}-\x{1FA74}\x{1FA78}-\x{1FA7A}\x{1FA80}-\x{1FA86}\x{1FA90}-\x{1FAA8}\x{1FAB0}-\x{1FAB6}\x{1FAC0}-\x{1FAC2}\x{1FAD0}-\x{1FAD6}\x{1FB00}-\x{1FB92}\x{1FB94}-\x{1FBCA}\x{1FBF0}-\x{1FBF9}\x{1FFFE}-\x{1FFFF}\x{2FFFE}-\x{2FFFF}\x{3FFFE}-\x{3FFFF}\x{4FFFE}-\x{4FFFF}\x{5FFFE}-\x{5FFFF}\x{6FFFE}-\x{6FFFF}\x{7FFFE}-\x{7FFFF}\x{8FFFE}-\x{8FFFF}\x{9FFFE}-\x{9FFFF}\x{AFFFE}-\x{AFFFF}\x{BFFFE}-\x{BFFFF}\x{CFFFE}-\x{CFFFF}\x{DFFFE}-\x{E0000}\x{E0001}\x{E0002}-\x{E001F}\x{E0020}-\x{E007F}\x{E0080}-\x{E00FF}\x{E0100}-\x{E01EF}\x{E01F0}-\x{E0FFF}\x{EFFFE}-\x{EFFFF}\x{FFFFE}-\x{FFFFF}\x{10FFFE}-\x{10FFFF}]/u';
- const BIDI_STEP_1_RTL = '/^[\x{0590}\x{05BE}\x{05C0}\x{05C3}\x{05C6}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0608}\x{060B}\x{060D}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{066D}\x{066E}-\x{066F}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06E5}-\x{06E6}\x{06EE}-\x{06EF}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0712}-\x{072F}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07F4}-\x{07F5}\x{07FA}\x{07FB}-\x{07FC}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{081A}\x{0824}\x{0828}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{200F}\x{FB1D}\x{FB1F}-\x{FB28}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFE}-\x{FDFF}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A04}\x{10A07}-\x{10A0B}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A3B}-\x{10A3E}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D28}-\x{10D2F}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}]/u';
- const BIDI_STEP_2 = '/[^\x{0000}-\x{0008}\x{000E}-\x{001B}\x{0021}-\x{0022}\x{0023}\x{0024}\x{0025}\x{0026}-\x{0027}\x{0028}\x{0029}\x{002A}\x{002B}\x{002C}\x{002D}\x{002E}-\x{002F}\x{0030}-\x{0039}\x{003A}\x{003B}\x{003C}-\x{003E}\x{003F}-\x{0040}\x{005B}\x{005C}\x{005D}\x{005E}\x{005F}\x{0060}\x{007B}\x{007C}\x{007D}\x{007E}\x{007F}-\x{0084}\x{0086}-\x{009F}\x{00A0}\x{00A1}\x{00A2}-\x{00A5}\x{00A6}\x{00A7}\x{00A8}\x{00A9}\x{00AB}\x{00AC}\x{00AD}\x{00AE}\x{00AF}\x{00B0}\x{00B1}\x{00B2}-\x{00B3}\x{00B4}\x{00B6}-\x{00B7}\x{00B8}\x{00B9}\x{00BB}\x{00BC}-\x{00BE}\x{00BF}\x{00D7}\x{00F7}\x{02B9}-\x{02BA}\x{02C2}-\x{02C5}\x{02C6}-\x{02CF}\x{02D2}-\x{02DF}\x{02E5}-\x{02EB}\x{02EC}\x{02ED}\x{02EF}-\x{02FF}\x{0300}-\x{036F}\x{0374}\x{0375}\x{037E}\x{0384}-\x{0385}\x{0387}\x{03F6}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{058A}\x{058D}-\x{058E}\x{058F}\x{0590}\x{0591}-\x{05BD}\x{05BE}\x{05BF}\x{05C0}\x{05C1}-\x{05C2}\x{05C3}\x{05C4}-\x{05C5}\x{05C6}\x{05C7}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0606}-\x{0607}\x{0608}\x{0609}-\x{060A}\x{060B}\x{060C}\x{060D}\x{060E}-\x{060F}\x{0610}-\x{061A}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{064B}-\x{065F}\x{0660}-\x{0669}\x{066A}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0670}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06D6}-\x{06DC}\x{06DD}\x{06DE}\x{06DF}-\x{06E4}\x{06E5}-\x{06E6}\x{06E7}-\x{06E8}\x{06E9}\x{06EA}-\x{06ED}\x{06EE}-\x{06EF}\x{06F0}-\x{06F9}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0711}\x{0712}-\x{072F}\x{0730}-\x{074A}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07A6}-\x{07B0}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07EB}-\x{07F3}\x{07F4}-\x{07F5}\x{07F6}\x{07F7}-\x{07F9}\x{07FA}\x{07FB}-\x{07FC}\x{07FD}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{0816}-\x{0819}\x{081A}\x{081B}-\x{0823}\x{0824}\x{0825}-\x{0827}\x{0828}\x{0829}-\x{082D}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{0859}-\x{085B}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08D3}-\x{08E1}\x{08E2}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09F2}-\x{09F3}\x{09FB}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AF1}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0BF3}-\x{0BF8}\x{0BF9}\x{0BFA}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C78}-\x{0C7E}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E3F}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F3A}\x{0F3B}\x{0F3C}\x{0F3D}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1390}-\x{1399}\x{1400}\x{169B}\x{169C}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DB}\x{17DD}\x{17F0}-\x{17F9}\x{1800}-\x{1805}\x{1806}\x{1807}-\x{180A}\x{180B}-\x{180D}\x{180E}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1940}\x{1944}-\x{1945}\x{19DE}-\x{19FF}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{1FBD}\x{1FBF}-\x{1FC1}\x{1FCD}-\x{1FCF}\x{1FDD}-\x{1FDF}\x{1FED}-\x{1FEF}\x{1FFD}-\x{1FFE}\x{200B}-\x{200D}\x{200F}\x{2010}-\x{2015}\x{2016}-\x{2017}\x{2018}\x{2019}\x{201A}\x{201B}-\x{201C}\x{201D}\x{201E}\x{201F}\x{2020}-\x{2027}\x{202F}\x{2030}-\x{2034}\x{2035}-\x{2038}\x{2039}\x{203A}\x{203B}-\x{203E}\x{203F}-\x{2040}\x{2041}-\x{2043}\x{2044}\x{2045}\x{2046}\x{2047}-\x{2051}\x{2052}\x{2053}\x{2054}\x{2055}-\x{205E}\x{2060}-\x{2064}\x{2065}\x{206A}-\x{206F}\x{2070}\x{2074}-\x{2079}\x{207A}-\x{207B}\x{207C}\x{207D}\x{207E}\x{2080}-\x{2089}\x{208A}-\x{208B}\x{208C}\x{208D}\x{208E}\x{20A0}-\x{20BF}\x{20C0}-\x{20CF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2100}-\x{2101}\x{2103}-\x{2106}\x{2108}-\x{2109}\x{2114}\x{2116}-\x{2117}\x{2118}\x{211E}-\x{2123}\x{2125}\x{2127}\x{2129}\x{212E}\x{213A}-\x{213B}\x{2140}-\x{2144}\x{214A}\x{214B}\x{214C}-\x{214D}\x{2150}-\x{215F}\x{2189}\x{218A}-\x{218B}\x{2190}-\x{2194}\x{2195}-\x{2199}\x{219A}-\x{219B}\x{219C}-\x{219F}\x{21A0}\x{21A1}-\x{21A2}\x{21A3}\x{21A4}-\x{21A5}\x{21A6}\x{21A7}-\x{21AD}\x{21AE}\x{21AF}-\x{21CD}\x{21CE}-\x{21CF}\x{21D0}-\x{21D1}\x{21D2}\x{21D3}\x{21D4}\x{21D5}-\x{21F3}\x{21F4}-\x{2211}\x{2212}\x{2213}\x{2214}-\x{22FF}\x{2300}-\x{2307}\x{2308}\x{2309}\x{230A}\x{230B}\x{230C}-\x{231F}\x{2320}-\x{2321}\x{2322}-\x{2328}\x{2329}\x{232A}\x{232B}-\x{2335}\x{237B}\x{237C}\x{237D}-\x{2394}\x{2396}-\x{239A}\x{239B}-\x{23B3}\x{23B4}-\x{23DB}\x{23DC}-\x{23E1}\x{23E2}-\x{2426}\x{2440}-\x{244A}\x{2460}-\x{2487}\x{2488}-\x{249B}\x{24EA}-\x{24FF}\x{2500}-\x{25B6}\x{25B7}\x{25B8}-\x{25C0}\x{25C1}\x{25C2}-\x{25F7}\x{25F8}-\x{25FF}\x{2600}-\x{266E}\x{266F}\x{2670}-\x{26AB}\x{26AD}-\x{2767}\x{2768}\x{2769}\x{276A}\x{276B}\x{276C}\x{276D}\x{276E}\x{276F}\x{2770}\x{2771}\x{2772}\x{2773}\x{2774}\x{2775}\x{2776}-\x{2793}\x{2794}-\x{27BF}\x{27C0}-\x{27C4}\x{27C5}\x{27C6}\x{27C7}-\x{27E5}\x{27E6}\x{27E7}\x{27E8}\x{27E9}\x{27EA}\x{27EB}\x{27EC}\x{27ED}\x{27EE}\x{27EF}\x{27F0}-\x{27FF}\x{2900}-\x{2982}\x{2983}\x{2984}\x{2985}\x{2986}\x{2987}\x{2988}\x{2989}\x{298A}\x{298B}\x{298C}\x{298D}\x{298E}\x{298F}\x{2990}\x{2991}\x{2992}\x{2993}\x{2994}\x{2995}\x{2996}\x{2997}\x{2998}\x{2999}-\x{29D7}\x{29D8}\x{29D9}\x{29DA}\x{29DB}\x{29DC}-\x{29FB}\x{29FC}\x{29FD}\x{29FE}-\x{2AFF}\x{2B00}-\x{2B2F}\x{2B30}-\x{2B44}\x{2B45}-\x{2B46}\x{2B47}-\x{2B4C}\x{2B4D}-\x{2B73}\x{2B76}-\x{2B95}\x{2B97}-\x{2BFF}\x{2CE5}-\x{2CEA}\x{2CEF}-\x{2CF1}\x{2CF9}-\x{2CFC}\x{2CFD}\x{2CFE}-\x{2CFF}\x{2D7F}\x{2DE0}-\x{2DFF}\x{2E00}-\x{2E01}\x{2E02}\x{2E03}\x{2E04}\x{2E05}\x{2E06}-\x{2E08}\x{2E09}\x{2E0A}\x{2E0B}\x{2E0C}\x{2E0D}\x{2E0E}-\x{2E16}\x{2E17}\x{2E18}-\x{2E19}\x{2E1A}\x{2E1B}\x{2E1C}\x{2E1D}\x{2E1E}-\x{2E1F}\x{2E20}\x{2E21}\x{2E22}\x{2E23}\x{2E24}\x{2E25}\x{2E26}\x{2E27}\x{2E28}\x{2E29}\x{2E2A}-\x{2E2E}\x{2E2F}\x{2E30}-\x{2E39}\x{2E3A}-\x{2E3B}\x{2E3C}-\x{2E3F}\x{2E40}\x{2E41}\x{2E42}\x{2E43}-\x{2E4F}\x{2E50}-\x{2E51}\x{2E52}\x{2E80}-\x{2E99}\x{2E9B}-\x{2EF3}\x{2F00}-\x{2FD5}\x{2FF0}-\x{2FFB}\x{3001}-\x{3003}\x{3004}\x{3008}\x{3009}\x{300A}\x{300B}\x{300C}\x{300D}\x{300E}\x{300F}\x{3010}\x{3011}\x{3012}-\x{3013}\x{3014}\x{3015}\x{3016}\x{3017}\x{3018}\x{3019}\x{301A}\x{301B}\x{301C}\x{301D}\x{301E}-\x{301F}\x{3020}\x{302A}-\x{302D}\x{3030}\x{3036}-\x{3037}\x{303D}\x{303E}-\x{303F}\x{3099}-\x{309A}\x{309B}-\x{309C}\x{30A0}\x{30FB}\x{31C0}-\x{31E3}\x{321D}-\x{321E}\x{3250}\x{3251}-\x{325F}\x{327C}-\x{327E}\x{32B1}-\x{32BF}\x{32CC}-\x{32CF}\x{3377}-\x{337A}\x{33DE}-\x{33DF}\x{33FF}\x{4DC0}-\x{4DFF}\x{A490}-\x{A4C6}\x{A60D}-\x{A60F}\x{A66F}\x{A670}-\x{A672}\x{A673}\x{A674}-\x{A67D}\x{A67E}\x{A67F}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A700}-\x{A716}\x{A717}-\x{A71F}\x{A720}-\x{A721}\x{A788}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A828}-\x{A82B}\x{A82C}\x{A838}\x{A839}\x{A874}-\x{A877}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{AB6A}-\x{AB6B}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1D}\x{FB1E}\x{FB1F}-\x{FB28}\x{FB29}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD3E}\x{FD3F}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDD0}-\x{FDEF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFD}\x{FDFE}-\x{FDFF}\x{FE00}-\x{FE0F}\x{FE10}-\x{FE16}\x{FE17}\x{FE18}\x{FE19}\x{FE20}-\x{FE2F}\x{FE30}\x{FE31}-\x{FE32}\x{FE33}-\x{FE34}\x{FE35}\x{FE36}\x{FE37}\x{FE38}\x{FE39}\x{FE3A}\x{FE3B}\x{FE3C}\x{FE3D}\x{FE3E}\x{FE3F}\x{FE40}\x{FE41}\x{FE42}\x{FE43}\x{FE44}\x{FE45}-\x{FE46}\x{FE47}\x{FE48}\x{FE49}-\x{FE4C}\x{FE4D}-\x{FE4F}\x{FE50}\x{FE51}\x{FE52}\x{FE54}\x{FE55}\x{FE56}-\x{FE57}\x{FE58}\x{FE59}\x{FE5A}\x{FE5B}\x{FE5C}\x{FE5D}\x{FE5E}\x{FE5F}\x{FE60}-\x{FE61}\x{FE62}\x{FE63}\x{FE64}-\x{FE66}\x{FE68}\x{FE69}\x{FE6A}\x{FE6B}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{FEFF}\x{FF01}-\x{FF02}\x{FF03}\x{FF04}\x{FF05}\x{FF06}-\x{FF07}\x{FF08}\x{FF09}\x{FF0A}\x{FF0B}\x{FF0C}\x{FF0D}\x{FF0E}-\x{FF0F}\x{FF10}-\x{FF19}\x{FF1A}\x{FF1B}\x{FF1C}-\x{FF1E}\x{FF1F}-\x{FF20}\x{FF3B}\x{FF3C}\x{FF3D}\x{FF3E}\x{FF3F}\x{FF40}\x{FF5B}\x{FF5C}\x{FF5D}\x{FF5E}\x{FF5F}\x{FF60}\x{FF61}\x{FF62}\x{FF63}\x{FF64}-\x{FF65}\x{FFE0}-\x{FFE1}\x{FFE2}\x{FFE3}\x{FFE4}\x{FFE5}-\x{FFE6}\x{FFE8}\x{FFE9}-\x{FFEC}\x{FFED}-\x{FFEE}\x{FFF0}-\x{FFF8}\x{FFF9}-\x{FFFB}\x{FFFC}-\x{FFFD}\x{FFFE}-\x{FFFF}\x{10101}\x{10140}-\x{10174}\x{10175}-\x{10178}\x{10179}-\x{10189}\x{1018A}-\x{1018B}\x{1018C}\x{10190}-\x{1019C}\x{101A0}\x{101FD}\x{102E0}\x{102E1}-\x{102FB}\x{10376}-\x{1037A}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{1091F}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A01}-\x{10A03}\x{10A04}\x{10A05}-\x{10A06}\x{10A07}-\x{10A0B}\x{10A0C}-\x{10A0F}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A38}-\x{10A3A}\x{10A3B}-\x{10A3E}\x{10A3F}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE5}-\x{10AE6}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B39}-\x{10B3F}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D24}-\x{10D27}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAB}-\x{10EAC}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F46}-\x{10F50}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{11001}\x{11038}-\x{11046}\x{11052}-\x{11065}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{11660}-\x{1166C}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{11FD5}-\x{11FDC}\x{11FDD}-\x{11FE0}\x{11FE1}-\x{11FF1}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE2}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D200}-\x{1D241}\x{1D242}-\x{1D244}\x{1D245}\x{1D300}-\x{1D356}\x{1D6DB}\x{1D715}\x{1D74F}\x{1D789}\x{1D7C3}\x{1D7CE}-\x{1D7FF}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E2FF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D0}-\x{1E8D6}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E944}-\x{1E94A}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF0}-\x{1EEF1}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}\x{1F000}-\x{1F02B}\x{1F030}-\x{1F093}\x{1F0A0}-\x{1F0AE}\x{1F0B1}-\x{1F0BF}\x{1F0C1}-\x{1F0CF}\x{1F0D1}-\x{1F0F5}\x{1F100}-\x{1F10A}\x{1F10B}-\x{1F10C}\x{1F10D}-\x{1F10F}\x{1F12F}\x{1F16A}-\x{1F16F}\x{1F1AD}\x{1F260}-\x{1F265}\x{1F300}-\x{1F3FA}\x{1F3FB}-\x{1F3FF}\x{1F400}-\x{1F6D7}\x{1F6E0}-\x{1F6EC}\x{1F6F0}-\x{1F6FC}\x{1F700}-\x{1F773}\x{1F780}-\x{1F7D8}\x{1F7E0}-\x{1F7EB}\x{1F800}-\x{1F80B}\x{1F810}-\x{1F847}\x{1F850}-\x{1F859}\x{1F860}-\x{1F887}\x{1F890}-\x{1F8AD}\x{1F8B0}-\x{1F8B1}\x{1F900}-\x{1F978}\x{1F97A}-\x{1F9CB}\x{1F9CD}-\x{1FA53}\x{1FA60}-\x{1FA6D}\x{1FA70}-\x{1FA74}\x{1FA78}-\x{1FA7A}\x{1FA80}-\x{1FA86}\x{1FA90}-\x{1FAA8}\x{1FAB0}-\x{1FAB6}\x{1FAC0}-\x{1FAC2}\x{1FAD0}-\x{1FAD6}\x{1FB00}-\x{1FB92}\x{1FB94}-\x{1FBCA}\x{1FBF0}-\x{1FBF9}\x{1FFFE}-\x{1FFFF}\x{2FFFE}-\x{2FFFF}\x{3FFFE}-\x{3FFFF}\x{4FFFE}-\x{4FFFF}\x{5FFFE}-\x{5FFFF}\x{6FFFE}-\x{6FFFF}\x{7FFFE}-\x{7FFFF}\x{8FFFE}-\x{8FFFF}\x{9FFFE}-\x{9FFFF}\x{AFFFE}-\x{AFFFF}\x{BFFFE}-\x{BFFFF}\x{CFFFE}-\x{CFFFF}\x{DFFFE}-\x{E0000}\x{E0001}\x{E0002}-\x{E001F}\x{E0020}-\x{E007F}\x{E0080}-\x{E00FF}\x{E0100}-\x{E01EF}\x{E01F0}-\x{E0FFF}\x{EFFFE}-\x{EFFFF}\x{FFFFE}-\x{FFFFF}\x{10FFFE}-\x{10FFFF}]/u';
- const BIDI_STEP_3 = '/[\x{0030}-\x{0039}\x{00B2}-\x{00B3}\x{00B9}\x{0590}\x{05BE}\x{05C0}\x{05C3}\x{05C6}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0608}\x{060B}\x{060D}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{0660}-\x{0669}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06DD}\x{06E5}-\x{06E6}\x{06EE}-\x{06EF}\x{06F0}-\x{06F9}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0712}-\x{072F}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07F4}-\x{07F5}\x{07FA}\x{07FB}-\x{07FC}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{081A}\x{0824}\x{0828}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08E2}\x{200F}\x{2070}\x{2074}-\x{2079}\x{2080}-\x{2089}\x{2488}-\x{249B}\x{FB1D}\x{FB1F}-\x{FB28}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFE}-\x{FDFF}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{FF10}-\x{FF19}\x{102E1}-\x{102FB}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A04}\x{10A07}-\x{10A0B}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A3B}-\x{10A3E}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{1D7CE}-\x{1D7FF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}\x{1F100}-\x{1F10A}\x{1FBF0}-\x{1FBF9}][\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A82C}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1D167}-\x{1D169}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{E0100}-\x{E01EF}]*$/u';
- const BIDI_STEP_4_AN = '/[\x{0600}-\x{0605}\x{0660}-\x{0669}\x{066B}-\x{066C}\x{06DD}\x{08E2}\x{10D30}-\x{10D39}\x{10E60}-\x{10E7E}]/u';
- const BIDI_STEP_4_EN = '/[\x{0030}-\x{0039}\x{00B2}-\x{00B3}\x{00B9}\x{06F0}-\x{06F9}\x{2070}\x{2074}-\x{2079}\x{2080}-\x{2089}\x{2488}-\x{249B}\x{FF10}-\x{FF19}\x{102E1}-\x{102FB}\x{1D7CE}-\x{1D7FF}\x{1F100}-\x{1F10A}\x{1FBF0}-\x{1FBF9}]/u';
- const BIDI_STEP_5 = '/[\x{0009}\x{000A}\x{000B}\x{000C}\x{000D}\x{001C}-\x{001E}\x{001F}\x{0020}\x{0085}\x{0590}\x{05BE}\x{05C0}\x{05C3}\x{05C6}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0608}\x{060B}\x{060D}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{0660}-\x{0669}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06DD}\x{06E5}-\x{06E6}\x{06EE}-\x{06EF}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0712}-\x{072F}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07F4}-\x{07F5}\x{07FA}\x{07FB}-\x{07FC}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{081A}\x{0824}\x{0828}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08E2}\x{1680}\x{2000}-\x{200A}\x{200F}\x{2028}\x{2029}\x{202A}\x{202B}\x{202C}\x{202D}\x{202E}\x{205F}\x{2066}\x{2067}\x{2068}\x{2069}\x{3000}\x{FB1D}\x{FB1F}-\x{FB28}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFE}-\x{FDFF}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A04}\x{10A07}-\x{10A0B}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A3B}-\x{10A3E}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}]/u';
- const BIDI_STEP_6 = '/[^\x{0000}-\x{0008}\x{0009}\x{000A}\x{000B}\x{000C}\x{000D}\x{000E}-\x{001B}\x{001C}-\x{001E}\x{001F}\x{0020}\x{0021}-\x{0022}\x{0023}\x{0024}\x{0025}\x{0026}-\x{0027}\x{0028}\x{0029}\x{002A}\x{002B}\x{002C}\x{002D}\x{002E}-\x{002F}\x{003A}\x{003B}\x{003C}-\x{003E}\x{003F}-\x{0040}\x{005B}\x{005C}\x{005D}\x{005E}\x{005F}\x{0060}\x{007B}\x{007C}\x{007D}\x{007E}\x{007F}-\x{0084}\x{0085}\x{0086}-\x{009F}\x{00A0}\x{00A1}\x{00A2}-\x{00A5}\x{00A6}\x{00A7}\x{00A8}\x{00A9}\x{00AB}\x{00AC}\x{00AD}\x{00AE}\x{00AF}\x{00B0}\x{00B1}\x{00B4}\x{00B6}-\x{00B7}\x{00B8}\x{00BB}\x{00BC}-\x{00BE}\x{00BF}\x{00D7}\x{00F7}\x{02B9}-\x{02BA}\x{02C2}-\x{02C5}\x{02C6}-\x{02CF}\x{02D2}-\x{02DF}\x{02E5}-\x{02EB}\x{02EC}\x{02ED}\x{02EF}-\x{02FF}\x{0300}-\x{036F}\x{0374}\x{0375}\x{037E}\x{0384}-\x{0385}\x{0387}\x{03F6}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{058A}\x{058D}-\x{058E}\x{058F}\x{0590}\x{0591}-\x{05BD}\x{05BE}\x{05BF}\x{05C0}\x{05C1}-\x{05C2}\x{05C3}\x{05C4}-\x{05C5}\x{05C6}\x{05C7}\x{05C8}-\x{05CF}\x{05D0}-\x{05EA}\x{05EB}-\x{05EE}\x{05EF}-\x{05F2}\x{05F3}-\x{05F4}\x{05F5}-\x{05FF}\x{0600}-\x{0605}\x{0606}-\x{0607}\x{0608}\x{0609}-\x{060A}\x{060B}\x{060C}\x{060D}\x{060E}-\x{060F}\x{0610}-\x{061A}\x{061B}\x{061C}\x{061D}\x{061E}-\x{061F}\x{0620}-\x{063F}\x{0640}\x{0641}-\x{064A}\x{064B}-\x{065F}\x{0660}-\x{0669}\x{066A}\x{066B}-\x{066C}\x{066D}\x{066E}-\x{066F}\x{0670}\x{0671}-\x{06D3}\x{06D4}\x{06D5}\x{06D6}-\x{06DC}\x{06DD}\x{06DE}\x{06DF}-\x{06E4}\x{06E5}-\x{06E6}\x{06E7}-\x{06E8}\x{06E9}\x{06EA}-\x{06ED}\x{06EE}-\x{06EF}\x{06FA}-\x{06FC}\x{06FD}-\x{06FE}\x{06FF}\x{0700}-\x{070D}\x{070E}\x{070F}\x{0710}\x{0711}\x{0712}-\x{072F}\x{0730}-\x{074A}\x{074B}-\x{074C}\x{074D}-\x{07A5}\x{07A6}-\x{07B0}\x{07B1}\x{07B2}-\x{07BF}\x{07C0}-\x{07C9}\x{07CA}-\x{07EA}\x{07EB}-\x{07F3}\x{07F4}-\x{07F5}\x{07F6}\x{07F7}-\x{07F9}\x{07FA}\x{07FB}-\x{07FC}\x{07FD}\x{07FE}-\x{07FF}\x{0800}-\x{0815}\x{0816}-\x{0819}\x{081A}\x{081B}-\x{0823}\x{0824}\x{0825}-\x{0827}\x{0828}\x{0829}-\x{082D}\x{082E}-\x{082F}\x{0830}-\x{083E}\x{083F}\x{0840}-\x{0858}\x{0859}-\x{085B}\x{085C}-\x{085D}\x{085E}\x{085F}\x{0860}-\x{086A}\x{086B}-\x{086F}\x{0870}-\x{089F}\x{08A0}-\x{08B4}\x{08B5}\x{08B6}-\x{08C7}\x{08C8}-\x{08D2}\x{08D3}-\x{08E1}\x{08E2}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09F2}-\x{09F3}\x{09FB}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AF1}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0BF3}-\x{0BF8}\x{0BF9}\x{0BFA}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C78}-\x{0C7E}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E3F}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F3A}\x{0F3B}\x{0F3C}\x{0F3D}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1390}-\x{1399}\x{1400}\x{1680}\x{169B}\x{169C}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DB}\x{17DD}\x{17F0}-\x{17F9}\x{1800}-\x{1805}\x{1806}\x{1807}-\x{180A}\x{180B}-\x{180D}\x{180E}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1940}\x{1944}-\x{1945}\x{19DE}-\x{19FF}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{1FBD}\x{1FBF}-\x{1FC1}\x{1FCD}-\x{1FCF}\x{1FDD}-\x{1FDF}\x{1FED}-\x{1FEF}\x{1FFD}-\x{1FFE}\x{2000}-\x{200A}\x{200B}-\x{200D}\x{200F}\x{2010}-\x{2015}\x{2016}-\x{2017}\x{2018}\x{2019}\x{201A}\x{201B}-\x{201C}\x{201D}\x{201E}\x{201F}\x{2020}-\x{2027}\x{2028}\x{2029}\x{202A}\x{202B}\x{202C}\x{202D}\x{202E}\x{202F}\x{2030}-\x{2034}\x{2035}-\x{2038}\x{2039}\x{203A}\x{203B}-\x{203E}\x{203F}-\x{2040}\x{2041}-\x{2043}\x{2044}\x{2045}\x{2046}\x{2047}-\x{2051}\x{2052}\x{2053}\x{2054}\x{2055}-\x{205E}\x{205F}\x{2060}-\x{2064}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}\x{206A}-\x{206F}\x{207A}-\x{207B}\x{207C}\x{207D}\x{207E}\x{208A}-\x{208B}\x{208C}\x{208D}\x{208E}\x{20A0}-\x{20BF}\x{20C0}-\x{20CF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2100}-\x{2101}\x{2103}-\x{2106}\x{2108}-\x{2109}\x{2114}\x{2116}-\x{2117}\x{2118}\x{211E}-\x{2123}\x{2125}\x{2127}\x{2129}\x{212E}\x{213A}-\x{213B}\x{2140}-\x{2144}\x{214A}\x{214B}\x{214C}-\x{214D}\x{2150}-\x{215F}\x{2189}\x{218A}-\x{218B}\x{2190}-\x{2194}\x{2195}-\x{2199}\x{219A}-\x{219B}\x{219C}-\x{219F}\x{21A0}\x{21A1}-\x{21A2}\x{21A3}\x{21A4}-\x{21A5}\x{21A6}\x{21A7}-\x{21AD}\x{21AE}\x{21AF}-\x{21CD}\x{21CE}-\x{21CF}\x{21D0}-\x{21D1}\x{21D2}\x{21D3}\x{21D4}\x{21D5}-\x{21F3}\x{21F4}-\x{2211}\x{2212}\x{2213}\x{2214}-\x{22FF}\x{2300}-\x{2307}\x{2308}\x{2309}\x{230A}\x{230B}\x{230C}-\x{231F}\x{2320}-\x{2321}\x{2322}-\x{2328}\x{2329}\x{232A}\x{232B}-\x{2335}\x{237B}\x{237C}\x{237D}-\x{2394}\x{2396}-\x{239A}\x{239B}-\x{23B3}\x{23B4}-\x{23DB}\x{23DC}-\x{23E1}\x{23E2}-\x{2426}\x{2440}-\x{244A}\x{2460}-\x{2487}\x{24EA}-\x{24FF}\x{2500}-\x{25B6}\x{25B7}\x{25B8}-\x{25C0}\x{25C1}\x{25C2}-\x{25F7}\x{25F8}-\x{25FF}\x{2600}-\x{266E}\x{266F}\x{2670}-\x{26AB}\x{26AD}-\x{2767}\x{2768}\x{2769}\x{276A}\x{276B}\x{276C}\x{276D}\x{276E}\x{276F}\x{2770}\x{2771}\x{2772}\x{2773}\x{2774}\x{2775}\x{2776}-\x{2793}\x{2794}-\x{27BF}\x{27C0}-\x{27C4}\x{27C5}\x{27C6}\x{27C7}-\x{27E5}\x{27E6}\x{27E7}\x{27E8}\x{27E9}\x{27EA}\x{27EB}\x{27EC}\x{27ED}\x{27EE}\x{27EF}\x{27F0}-\x{27FF}\x{2900}-\x{2982}\x{2983}\x{2984}\x{2985}\x{2986}\x{2987}\x{2988}\x{2989}\x{298A}\x{298B}\x{298C}\x{298D}\x{298E}\x{298F}\x{2990}\x{2991}\x{2992}\x{2993}\x{2994}\x{2995}\x{2996}\x{2997}\x{2998}\x{2999}-\x{29D7}\x{29D8}\x{29D9}\x{29DA}\x{29DB}\x{29DC}-\x{29FB}\x{29FC}\x{29FD}\x{29FE}-\x{2AFF}\x{2B00}-\x{2B2F}\x{2B30}-\x{2B44}\x{2B45}-\x{2B46}\x{2B47}-\x{2B4C}\x{2B4D}-\x{2B73}\x{2B76}-\x{2B95}\x{2B97}-\x{2BFF}\x{2CE5}-\x{2CEA}\x{2CEF}-\x{2CF1}\x{2CF9}-\x{2CFC}\x{2CFD}\x{2CFE}-\x{2CFF}\x{2D7F}\x{2DE0}-\x{2DFF}\x{2E00}-\x{2E01}\x{2E02}\x{2E03}\x{2E04}\x{2E05}\x{2E06}-\x{2E08}\x{2E09}\x{2E0A}\x{2E0B}\x{2E0C}\x{2E0D}\x{2E0E}-\x{2E16}\x{2E17}\x{2E18}-\x{2E19}\x{2E1A}\x{2E1B}\x{2E1C}\x{2E1D}\x{2E1E}-\x{2E1F}\x{2E20}\x{2E21}\x{2E22}\x{2E23}\x{2E24}\x{2E25}\x{2E26}\x{2E27}\x{2E28}\x{2E29}\x{2E2A}-\x{2E2E}\x{2E2F}\x{2E30}-\x{2E39}\x{2E3A}-\x{2E3B}\x{2E3C}-\x{2E3F}\x{2E40}\x{2E41}\x{2E42}\x{2E43}-\x{2E4F}\x{2E50}-\x{2E51}\x{2E52}\x{2E80}-\x{2E99}\x{2E9B}-\x{2EF3}\x{2F00}-\x{2FD5}\x{2FF0}-\x{2FFB}\x{3000}\x{3001}-\x{3003}\x{3004}\x{3008}\x{3009}\x{300A}\x{300B}\x{300C}\x{300D}\x{300E}\x{300F}\x{3010}\x{3011}\x{3012}-\x{3013}\x{3014}\x{3015}\x{3016}\x{3017}\x{3018}\x{3019}\x{301A}\x{301B}\x{301C}\x{301D}\x{301E}-\x{301F}\x{3020}\x{302A}-\x{302D}\x{3030}\x{3036}-\x{3037}\x{303D}\x{303E}-\x{303F}\x{3099}-\x{309A}\x{309B}-\x{309C}\x{30A0}\x{30FB}\x{31C0}-\x{31E3}\x{321D}-\x{321E}\x{3250}\x{3251}-\x{325F}\x{327C}-\x{327E}\x{32B1}-\x{32BF}\x{32CC}-\x{32CF}\x{3377}-\x{337A}\x{33DE}-\x{33DF}\x{33FF}\x{4DC0}-\x{4DFF}\x{A490}-\x{A4C6}\x{A60D}-\x{A60F}\x{A66F}\x{A670}-\x{A672}\x{A673}\x{A674}-\x{A67D}\x{A67E}\x{A67F}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A700}-\x{A716}\x{A717}-\x{A71F}\x{A720}-\x{A721}\x{A788}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A828}-\x{A82B}\x{A82C}\x{A838}\x{A839}\x{A874}-\x{A877}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{AB6A}-\x{AB6B}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1D}\x{FB1E}\x{FB1F}-\x{FB28}\x{FB29}\x{FB2A}-\x{FB36}\x{FB37}\x{FB38}-\x{FB3C}\x{FB3D}\x{FB3E}\x{FB3F}\x{FB40}-\x{FB41}\x{FB42}\x{FB43}-\x{FB44}\x{FB45}\x{FB46}-\x{FB4F}\x{FB50}-\x{FBB1}\x{FBB2}-\x{FBC1}\x{FBC2}-\x{FBD2}\x{FBD3}-\x{FD3D}\x{FD3E}\x{FD3F}\x{FD40}-\x{FD4F}\x{FD50}-\x{FD8F}\x{FD90}-\x{FD91}\x{FD92}-\x{FDC7}\x{FDC8}-\x{FDCF}\x{FDD0}-\x{FDEF}\x{FDF0}-\x{FDFB}\x{FDFC}\x{FDFD}\x{FDFE}-\x{FDFF}\x{FE00}-\x{FE0F}\x{FE10}-\x{FE16}\x{FE17}\x{FE18}\x{FE19}\x{FE20}-\x{FE2F}\x{FE30}\x{FE31}-\x{FE32}\x{FE33}-\x{FE34}\x{FE35}\x{FE36}\x{FE37}\x{FE38}\x{FE39}\x{FE3A}\x{FE3B}\x{FE3C}\x{FE3D}\x{FE3E}\x{FE3F}\x{FE40}\x{FE41}\x{FE42}\x{FE43}\x{FE44}\x{FE45}-\x{FE46}\x{FE47}\x{FE48}\x{FE49}-\x{FE4C}\x{FE4D}-\x{FE4F}\x{FE50}\x{FE51}\x{FE52}\x{FE54}\x{FE55}\x{FE56}-\x{FE57}\x{FE58}\x{FE59}\x{FE5A}\x{FE5B}\x{FE5C}\x{FE5D}\x{FE5E}\x{FE5F}\x{FE60}-\x{FE61}\x{FE62}\x{FE63}\x{FE64}-\x{FE66}\x{FE68}\x{FE69}\x{FE6A}\x{FE6B}\x{FE70}-\x{FE74}\x{FE75}\x{FE76}-\x{FEFC}\x{FEFD}-\x{FEFE}\x{FEFF}\x{FF01}-\x{FF02}\x{FF03}\x{FF04}\x{FF05}\x{FF06}-\x{FF07}\x{FF08}\x{FF09}\x{FF0A}\x{FF0B}\x{FF0C}\x{FF0D}\x{FF0E}-\x{FF0F}\x{FF1A}\x{FF1B}\x{FF1C}-\x{FF1E}\x{FF1F}-\x{FF20}\x{FF3B}\x{FF3C}\x{FF3D}\x{FF3E}\x{FF3F}\x{FF40}\x{FF5B}\x{FF5C}\x{FF5D}\x{FF5E}\x{FF5F}\x{FF60}\x{FF61}\x{FF62}\x{FF63}\x{FF64}-\x{FF65}\x{FFE0}-\x{FFE1}\x{FFE2}\x{FFE3}\x{FFE4}\x{FFE5}-\x{FFE6}\x{FFE8}\x{FFE9}-\x{FFEC}\x{FFED}-\x{FFEE}\x{FFF0}-\x{FFF8}\x{FFF9}-\x{FFFB}\x{FFFC}-\x{FFFD}\x{FFFE}-\x{FFFF}\x{10101}\x{10140}-\x{10174}\x{10175}-\x{10178}\x{10179}-\x{10189}\x{1018A}-\x{1018B}\x{1018C}\x{10190}-\x{1019C}\x{101A0}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10800}-\x{10805}\x{10806}-\x{10807}\x{10808}\x{10809}\x{1080A}-\x{10835}\x{10836}\x{10837}-\x{10838}\x{10839}-\x{1083B}\x{1083C}\x{1083D}-\x{1083E}\x{1083F}-\x{10855}\x{10856}\x{10857}\x{10858}-\x{1085F}\x{10860}-\x{10876}\x{10877}-\x{10878}\x{10879}-\x{1087F}\x{10880}-\x{1089E}\x{1089F}-\x{108A6}\x{108A7}-\x{108AF}\x{108B0}-\x{108DF}\x{108E0}-\x{108F2}\x{108F3}\x{108F4}-\x{108F5}\x{108F6}-\x{108FA}\x{108FB}-\x{108FF}\x{10900}-\x{10915}\x{10916}-\x{1091B}\x{1091C}-\x{1091E}\x{1091F}\x{10920}-\x{10939}\x{1093A}-\x{1093E}\x{1093F}\x{10940}-\x{1097F}\x{10980}-\x{109B7}\x{109B8}-\x{109BB}\x{109BC}-\x{109BD}\x{109BE}-\x{109BF}\x{109C0}-\x{109CF}\x{109D0}-\x{109D1}\x{109D2}-\x{109FF}\x{10A00}\x{10A01}-\x{10A03}\x{10A04}\x{10A05}-\x{10A06}\x{10A07}-\x{10A0B}\x{10A0C}-\x{10A0F}\x{10A10}-\x{10A13}\x{10A14}\x{10A15}-\x{10A17}\x{10A18}\x{10A19}-\x{10A35}\x{10A36}-\x{10A37}\x{10A38}-\x{10A3A}\x{10A3B}-\x{10A3E}\x{10A3F}\x{10A40}-\x{10A48}\x{10A49}-\x{10A4F}\x{10A50}-\x{10A58}\x{10A59}-\x{10A5F}\x{10A60}-\x{10A7C}\x{10A7D}-\x{10A7E}\x{10A7F}\x{10A80}-\x{10A9C}\x{10A9D}-\x{10A9F}\x{10AA0}-\x{10ABF}\x{10AC0}-\x{10AC7}\x{10AC8}\x{10AC9}-\x{10AE4}\x{10AE5}-\x{10AE6}\x{10AE7}-\x{10AEA}\x{10AEB}-\x{10AEF}\x{10AF0}-\x{10AF6}\x{10AF7}-\x{10AFF}\x{10B00}-\x{10B35}\x{10B36}-\x{10B38}\x{10B39}-\x{10B3F}\x{10B40}-\x{10B55}\x{10B56}-\x{10B57}\x{10B58}-\x{10B5F}\x{10B60}-\x{10B72}\x{10B73}-\x{10B77}\x{10B78}-\x{10B7F}\x{10B80}-\x{10B91}\x{10B92}-\x{10B98}\x{10B99}-\x{10B9C}\x{10B9D}-\x{10BA8}\x{10BA9}-\x{10BAF}\x{10BB0}-\x{10BFF}\x{10C00}-\x{10C48}\x{10C49}-\x{10C7F}\x{10C80}-\x{10CB2}\x{10CB3}-\x{10CBF}\x{10CC0}-\x{10CF2}\x{10CF3}-\x{10CF9}\x{10CFA}-\x{10CFF}\x{10D00}-\x{10D23}\x{10D24}-\x{10D27}\x{10D28}-\x{10D2F}\x{10D30}-\x{10D39}\x{10D3A}-\x{10D3F}\x{10D40}-\x{10E5F}\x{10E60}-\x{10E7E}\x{10E7F}\x{10E80}-\x{10EA9}\x{10EAA}\x{10EAB}-\x{10EAC}\x{10EAD}\x{10EAE}-\x{10EAF}\x{10EB0}-\x{10EB1}\x{10EB2}-\x{10EFF}\x{10F00}-\x{10F1C}\x{10F1D}-\x{10F26}\x{10F27}\x{10F28}-\x{10F2F}\x{10F30}-\x{10F45}\x{10F46}-\x{10F50}\x{10F51}-\x{10F54}\x{10F55}-\x{10F59}\x{10F5A}-\x{10F6F}\x{10F70}-\x{10FAF}\x{10FB0}-\x{10FC4}\x{10FC5}-\x{10FCB}\x{10FCC}-\x{10FDF}\x{10FE0}-\x{10FF6}\x{10FF7}-\x{10FFF}\x{11001}\x{11038}-\x{11046}\x{11052}-\x{11065}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{11660}-\x{1166C}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{11FD5}-\x{11FDC}\x{11FDD}-\x{11FE0}\x{11FE1}-\x{11FF1}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE2}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D200}-\x{1D241}\x{1D242}-\x{1D244}\x{1D245}\x{1D300}-\x{1D356}\x{1D6DB}\x{1D715}\x{1D74F}\x{1D789}\x{1D7C3}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E2FF}\x{1E800}-\x{1E8C4}\x{1E8C5}-\x{1E8C6}\x{1E8C7}-\x{1E8CF}\x{1E8D0}-\x{1E8D6}\x{1E8D7}-\x{1E8FF}\x{1E900}-\x{1E943}\x{1E944}-\x{1E94A}\x{1E94B}\x{1E94C}-\x{1E94F}\x{1E950}-\x{1E959}\x{1E95A}-\x{1E95D}\x{1E95E}-\x{1E95F}\x{1E960}-\x{1EC6F}\x{1EC70}\x{1EC71}-\x{1ECAB}\x{1ECAC}\x{1ECAD}-\x{1ECAF}\x{1ECB0}\x{1ECB1}-\x{1ECB4}\x{1ECB5}-\x{1ECBF}\x{1ECC0}-\x{1ECFF}\x{1ED00}\x{1ED01}-\x{1ED2D}\x{1ED2E}\x{1ED2F}-\x{1ED3D}\x{1ED3E}-\x{1ED4F}\x{1ED50}-\x{1EDFF}\x{1EE00}-\x{1EE03}\x{1EE04}\x{1EE05}-\x{1EE1F}\x{1EE20}\x{1EE21}-\x{1EE22}\x{1EE23}\x{1EE24}\x{1EE25}-\x{1EE26}\x{1EE27}\x{1EE28}\x{1EE29}-\x{1EE32}\x{1EE33}\x{1EE34}-\x{1EE37}\x{1EE38}\x{1EE39}\x{1EE3A}\x{1EE3B}\x{1EE3C}-\x{1EE41}\x{1EE42}\x{1EE43}-\x{1EE46}\x{1EE47}\x{1EE48}\x{1EE49}\x{1EE4A}\x{1EE4B}\x{1EE4C}\x{1EE4D}-\x{1EE4F}\x{1EE50}\x{1EE51}-\x{1EE52}\x{1EE53}\x{1EE54}\x{1EE55}-\x{1EE56}\x{1EE57}\x{1EE58}\x{1EE59}\x{1EE5A}\x{1EE5B}\x{1EE5C}\x{1EE5D}\x{1EE5E}\x{1EE5F}\x{1EE60}\x{1EE61}-\x{1EE62}\x{1EE63}\x{1EE64}\x{1EE65}-\x{1EE66}\x{1EE67}-\x{1EE6A}\x{1EE6B}\x{1EE6C}-\x{1EE72}\x{1EE73}\x{1EE74}-\x{1EE77}\x{1EE78}\x{1EE79}-\x{1EE7C}\x{1EE7D}\x{1EE7E}\x{1EE7F}\x{1EE80}-\x{1EE89}\x{1EE8A}\x{1EE8B}-\x{1EE9B}\x{1EE9C}-\x{1EEA0}\x{1EEA1}-\x{1EEA3}\x{1EEA4}\x{1EEA5}-\x{1EEA9}\x{1EEAA}\x{1EEAB}-\x{1EEBB}\x{1EEBC}-\x{1EEEF}\x{1EEF0}-\x{1EEF1}\x{1EEF2}-\x{1EEFF}\x{1EF00}-\x{1EFFF}\x{1F000}-\x{1F02B}\x{1F030}-\x{1F093}\x{1F0A0}-\x{1F0AE}\x{1F0B1}-\x{1F0BF}\x{1F0C1}-\x{1F0CF}\x{1F0D1}-\x{1F0F5}\x{1F10B}-\x{1F10C}\x{1F10D}-\x{1F10F}\x{1F12F}\x{1F16A}-\x{1F16F}\x{1F1AD}\x{1F260}-\x{1F265}\x{1F300}-\x{1F3FA}\x{1F3FB}-\x{1F3FF}\x{1F400}-\x{1F6D7}\x{1F6E0}-\x{1F6EC}\x{1F6F0}-\x{1F6FC}\x{1F700}-\x{1F773}\x{1F780}-\x{1F7D8}\x{1F7E0}-\x{1F7EB}\x{1F800}-\x{1F80B}\x{1F810}-\x{1F847}\x{1F850}-\x{1F859}\x{1F860}-\x{1F887}\x{1F890}-\x{1F8AD}\x{1F8B0}-\x{1F8B1}\x{1F900}-\x{1F978}\x{1F97A}-\x{1F9CB}\x{1F9CD}-\x{1FA53}\x{1FA60}-\x{1FA6D}\x{1FA70}-\x{1FA74}\x{1FA78}-\x{1FA7A}\x{1FA80}-\x{1FA86}\x{1FA90}-\x{1FAA8}\x{1FAB0}-\x{1FAB6}\x{1FAC0}-\x{1FAC2}\x{1FAD0}-\x{1FAD6}\x{1FB00}-\x{1FB92}\x{1FB94}-\x{1FBCA}\x{1FFFE}-\x{1FFFF}\x{2FFFE}-\x{2FFFF}\x{3FFFE}-\x{3FFFF}\x{4FFFE}-\x{4FFFF}\x{5FFFE}-\x{5FFFF}\x{6FFFE}-\x{6FFFF}\x{7FFFE}-\x{7FFFF}\x{8FFFE}-\x{8FFFF}\x{9FFFE}-\x{9FFFF}\x{AFFFE}-\x{AFFFF}\x{BFFFE}-\x{BFFFF}\x{CFFFE}-\x{CFFFF}\x{DFFFE}-\x{E0000}\x{E0001}\x{E0002}-\x{E001F}\x{E0020}-\x{E007F}\x{E0080}-\x{E00FF}\x{E0100}-\x{E01EF}\x{E01F0}-\x{E0FFF}\x{EFFFE}-\x{EFFFF}\x{FFFFE}-\x{FFFFF}\x{10FFFE}-\x{10FFFF}][\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A82C}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A06}\x{11A09}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1D167}-\x{1D169}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{E0100}-\x{E01EF}]*$/u';
-
- const ZWNJ = '/([\x{A872}\x{10ACD}\x{10AD7}\x{10D00}\x{10FCB}\x{0620}\x{0626}\x{0628}\x{062A}-\x{062E}\x{0633}-\x{063F}\x{0641}-\x{0647}\x{0649}-\x{064A}\x{066E}-\x{066F}\x{0678}-\x{0687}\x{069A}-\x{06BF}\x{06C1}-\x{06C2}\x{06CC}\x{06CE}\x{06D0}-\x{06D1}\x{06FA}-\x{06FC}\x{06FF}\x{0712}-\x{0714}\x{071A}-\x{071D}\x{071F}-\x{0727}\x{0729}\x{072B}\x{072D}-\x{072E}\x{074E}-\x{0758}\x{075C}-\x{076A}\x{076D}-\x{0770}\x{0772}\x{0775}-\x{0777}\x{077A}-\x{077F}\x{07CA}-\x{07EA}\x{0841}-\x{0845}\x{0848}\x{084A}-\x{0853}\x{0855}\x{0860}\x{0862}-\x{0865}\x{0868}\x{08A0}-\x{08A9}\x{08AF}-\x{08B0}\x{08B3}-\x{08B4}\x{08B6}-\x{08B8}\x{08BA}-\x{08C7}\x{1807}\x{1820}-\x{1842}\x{1843}\x{1844}-\x{1878}\x{1887}-\x{18A8}\x{18AA}\x{A840}-\x{A871}\x{10AC0}-\x{10AC4}\x{10AD3}-\x{10AD6}\x{10AD8}-\x{10ADC}\x{10ADE}-\x{10AE0}\x{10AEB}-\x{10AEE}\x{10B80}\x{10B82}\x{10B86}-\x{10B88}\x{10B8A}-\x{10B8B}\x{10B8D}\x{10B90}\x{10BAD}-\x{10BAE}\x{10D01}-\x{10D21}\x{10D23}\x{10F30}-\x{10F32}\x{10F34}-\x{10F44}\x{10F51}-\x{10F53}\x{10FB0}\x{10FB2}-\x{10FB3}\x{10FB8}\x{10FBB}-\x{10FBC}\x{10FBE}-\x{10FBF}\x{10FC1}\x{10FC4}\x{10FCA}\x{1E900}-\x{1E943}][\x{00AD}\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{061C}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{070F}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CBF}\x{0CC6}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{200B}\x{200E}-\x{200F}\x{202A}-\x{202E}\x{2060}-\x{2064}\x{206A}-\x{206F}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A82C}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{FEFF}\x{FFF9}-\x{FFFB}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C3F}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{13430}-\x{13438}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{1E94B}\x{E0001}\x{E0020}-\x{E007F}\x{E0100}-\x{E01EF}]*\x{200C}[\x{00AD}\x{0300}-\x{036F}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{0610}-\x{061A}\x{061C}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DF}-\x{06E4}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{070F}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07FD}\x{0816}-\x{0819}\x{081B}-\x{0823}\x{0825}-\x{0827}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B55}-\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CBF}\x{0CC6}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0D81}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EBC}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17DD}\x{180B}-\x{180D}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1ABF}-\x{1AC0}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{200B}\x{200E}-\x{200F}\x{202A}-\x{202E}\x{2060}-\x{2064}\x{206A}-\x{206F}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2CEF}-\x{2CF1}\x{2D7F}\x{2DE0}-\x{2DFF}\x{302A}-\x{302D}\x{3099}-\x{309A}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A82C}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}-\x{A9BD}\x{A9E5}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AAEC}-\x{AAED}\x{AAF6}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FE00}-\x{FE0F}\x{FE20}-\x{FE2F}\x{FEFF}\x{FFF9}-\x{FFFB}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10EAB}-\x{10EAC}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{111CF}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{1193B}-\x{1193C}\x{1193E}\x{11943}\x{119D4}-\x{119D7}\x{119DA}-\x{119DB}\x{119E0}\x{11A01}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C3F}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{13430}-\x{13438}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16F4F}\x{16F8F}-\x{16F92}\x{16FE4}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E130}-\x{1E136}\x{1E2EC}-\x{1E2EF}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{1E94B}\x{E0001}\x{E0020}-\x{E007F}\x{E0100}-\x{E01EF}]*)[\x{0622}-\x{0625}\x{0627}\x{0629}\x{062F}-\x{0632}\x{0648}\x{0671}-\x{0673}\x{0675}-\x{0677}\x{0688}-\x{0699}\x{06C0}\x{06C3}-\x{06CB}\x{06CD}\x{06CF}\x{06D2}-\x{06D3}\x{06D5}\x{06EE}-\x{06EF}\x{0710}\x{0715}-\x{0719}\x{071E}\x{0728}\x{072A}\x{072C}\x{072F}\x{074D}\x{0759}-\x{075B}\x{076B}-\x{076C}\x{0771}\x{0773}-\x{0774}\x{0778}-\x{0779}\x{0840}\x{0846}-\x{0847}\x{0849}\x{0854}\x{0856}-\x{0858}\x{0867}\x{0869}-\x{086A}\x{08AA}-\x{08AC}\x{08AE}\x{08B1}-\x{08B2}\x{08B9}\x{10AC5}\x{10AC7}\x{10AC9}-\x{10ACA}\x{10ACE}-\x{10AD2}\x{10ADD}\x{10AE1}\x{10AE4}\x{10AEF}\x{10B81}\x{10B83}-\x{10B85}\x{10B89}\x{10B8C}\x{10B8E}-\x{10B8F}\x{10B91}\x{10BA9}-\x{10BAC}\x{10D22}\x{10F33}\x{10F54}\x{10FB4}-\x{10FB6}\x{10FB9}-\x{10FBA}\x{10FBD}\x{10FC2}-\x{10FC3}\x{10FC9}\x{0620}\x{0626}\x{0628}\x{062A}-\x{062E}\x{0633}-\x{063F}\x{0641}-\x{0647}\x{0649}-\x{064A}\x{066E}-\x{066F}\x{0678}-\x{0687}\x{069A}-\x{06BF}\x{06C1}-\x{06C2}\x{06CC}\x{06CE}\x{06D0}-\x{06D1}\x{06FA}-\x{06FC}\x{06FF}\x{0712}-\x{0714}\x{071A}-\x{071D}\x{071F}-\x{0727}\x{0729}\x{072B}\x{072D}-\x{072E}\x{074E}-\x{0758}\x{075C}-\x{076A}\x{076D}-\x{0770}\x{0772}\x{0775}-\x{0777}\x{077A}-\x{077F}\x{07CA}-\x{07EA}\x{0841}-\x{0845}\x{0848}\x{084A}-\x{0853}\x{0855}\x{0860}\x{0862}-\x{0865}\x{0868}\x{08A0}-\x{08A9}\x{08AF}-\x{08B0}\x{08B3}-\x{08B4}\x{08B6}-\x{08B8}\x{08BA}-\x{08C7}\x{1807}\x{1820}-\x{1842}\x{1843}\x{1844}-\x{1878}\x{1887}-\x{18A8}\x{18AA}\x{A840}-\x{A871}\x{10AC0}-\x{10AC4}\x{10AD3}-\x{10AD6}\x{10AD8}-\x{10ADC}\x{10ADE}-\x{10AE0}\x{10AEB}-\x{10AEE}\x{10B80}\x{10B82}\x{10B86}-\x{10B88}\x{10B8A}-\x{10B8B}\x{10B8D}\x{10B90}\x{10BAD}-\x{10BAE}\x{10D01}-\x{10D21}\x{10D23}\x{10F30}-\x{10F32}\x{10F34}-\x{10F44}\x{10F51}-\x{10F53}\x{10FB0}\x{10FB2}-\x{10FB3}\x{10FB8}\x{10FBB}-\x{10FBC}\x{10FBE}-\x{10FBF}\x{10FC1}\x{10FC4}\x{10FCA}\x{1E900}-\x{1E943}]/u';
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/deviation.php b/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/deviation.php
deleted file mode 100644
index 0bbd3356..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/deviation.php
+++ /dev/null
@@ -1,8 +0,0 @@
- 'ss',
- 962 => 'σ',
- 8204 => '',
- 8205 => '',
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php b/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php
deleted file mode 100644
index 25a5f564..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php
+++ /dev/null
@@ -1,2638 +0,0 @@
- true,
- 889 => true,
- 896 => true,
- 897 => true,
- 898 => true,
- 899 => true,
- 907 => true,
- 909 => true,
- 930 => true,
- 1216 => true,
- 1328 => true,
- 1367 => true,
- 1368 => true,
- 1419 => true,
- 1420 => true,
- 1424 => true,
- 1480 => true,
- 1481 => true,
- 1482 => true,
- 1483 => true,
- 1484 => true,
- 1485 => true,
- 1486 => true,
- 1487 => true,
- 1515 => true,
- 1516 => true,
- 1517 => true,
- 1518 => true,
- 1525 => true,
- 1526 => true,
- 1527 => true,
- 1528 => true,
- 1529 => true,
- 1530 => true,
- 1531 => true,
- 1532 => true,
- 1533 => true,
- 1534 => true,
- 1535 => true,
- 1536 => true,
- 1537 => true,
- 1538 => true,
- 1539 => true,
- 1540 => true,
- 1541 => true,
- 1564 => true,
- 1565 => true,
- 1757 => true,
- 1806 => true,
- 1807 => true,
- 1867 => true,
- 1868 => true,
- 1970 => true,
- 1971 => true,
- 1972 => true,
- 1973 => true,
- 1974 => true,
- 1975 => true,
- 1976 => true,
- 1977 => true,
- 1978 => true,
- 1979 => true,
- 1980 => true,
- 1981 => true,
- 1982 => true,
- 1983 => true,
- 2043 => true,
- 2044 => true,
- 2094 => true,
- 2095 => true,
- 2111 => true,
- 2140 => true,
- 2141 => true,
- 2143 => true,
- 2229 => true,
- 2248 => true,
- 2249 => true,
- 2250 => true,
- 2251 => true,
- 2252 => true,
- 2253 => true,
- 2254 => true,
- 2255 => true,
- 2256 => true,
- 2257 => true,
- 2258 => true,
- 2274 => true,
- 2436 => true,
- 2445 => true,
- 2446 => true,
- 2449 => true,
- 2450 => true,
- 2473 => true,
- 2481 => true,
- 2483 => true,
- 2484 => true,
- 2485 => true,
- 2490 => true,
- 2491 => true,
- 2501 => true,
- 2502 => true,
- 2505 => true,
- 2506 => true,
- 2511 => true,
- 2512 => true,
- 2513 => true,
- 2514 => true,
- 2515 => true,
- 2516 => true,
- 2517 => true,
- 2518 => true,
- 2520 => true,
- 2521 => true,
- 2522 => true,
- 2523 => true,
- 2526 => true,
- 2532 => true,
- 2533 => true,
- 2559 => true,
- 2560 => true,
- 2564 => true,
- 2571 => true,
- 2572 => true,
- 2573 => true,
- 2574 => true,
- 2577 => true,
- 2578 => true,
- 2601 => true,
- 2609 => true,
- 2612 => true,
- 2615 => true,
- 2618 => true,
- 2619 => true,
- 2621 => true,
- 2627 => true,
- 2628 => true,
- 2629 => true,
- 2630 => true,
- 2633 => true,
- 2634 => true,
- 2638 => true,
- 2639 => true,
- 2640 => true,
- 2642 => true,
- 2643 => true,
- 2644 => true,
- 2645 => true,
- 2646 => true,
- 2647 => true,
- 2648 => true,
- 2653 => true,
- 2655 => true,
- 2656 => true,
- 2657 => true,
- 2658 => true,
- 2659 => true,
- 2660 => true,
- 2661 => true,
- 2679 => true,
- 2680 => true,
- 2681 => true,
- 2682 => true,
- 2683 => true,
- 2684 => true,
- 2685 => true,
- 2686 => true,
- 2687 => true,
- 2688 => true,
- 2692 => true,
- 2702 => true,
- 2706 => true,
- 2729 => true,
- 2737 => true,
- 2740 => true,
- 2746 => true,
- 2747 => true,
- 2758 => true,
- 2762 => true,
- 2766 => true,
- 2767 => true,
- 2769 => true,
- 2770 => true,
- 2771 => true,
- 2772 => true,
- 2773 => true,
- 2774 => true,
- 2775 => true,
- 2776 => true,
- 2777 => true,
- 2778 => true,
- 2779 => true,
- 2780 => true,
- 2781 => true,
- 2782 => true,
- 2783 => true,
- 2788 => true,
- 2789 => true,
- 2802 => true,
- 2803 => true,
- 2804 => true,
- 2805 => true,
- 2806 => true,
- 2807 => true,
- 2808 => true,
- 2816 => true,
- 2820 => true,
- 2829 => true,
- 2830 => true,
- 2833 => true,
- 2834 => true,
- 2857 => true,
- 2865 => true,
- 2868 => true,
- 2874 => true,
- 2875 => true,
- 2885 => true,
- 2886 => true,
- 2889 => true,
- 2890 => true,
- 2894 => true,
- 2895 => true,
- 2896 => true,
- 2897 => true,
- 2898 => true,
- 2899 => true,
- 2900 => true,
- 2904 => true,
- 2905 => true,
- 2906 => true,
- 2907 => true,
- 2910 => true,
- 2916 => true,
- 2917 => true,
- 2936 => true,
- 2937 => true,
- 2938 => true,
- 2939 => true,
- 2940 => true,
- 2941 => true,
- 2942 => true,
- 2943 => true,
- 2944 => true,
- 2945 => true,
- 2948 => true,
- 2955 => true,
- 2956 => true,
- 2957 => true,
- 2961 => true,
- 2966 => true,
- 2967 => true,
- 2968 => true,
- 2971 => true,
- 2973 => true,
- 2976 => true,
- 2977 => true,
- 2978 => true,
- 2981 => true,
- 2982 => true,
- 2983 => true,
- 2987 => true,
- 2988 => true,
- 2989 => true,
- 3002 => true,
- 3003 => true,
- 3004 => true,
- 3005 => true,
- 3011 => true,
- 3012 => true,
- 3013 => true,
- 3017 => true,
- 3022 => true,
- 3023 => true,
- 3025 => true,
- 3026 => true,
- 3027 => true,
- 3028 => true,
- 3029 => true,
- 3030 => true,
- 3032 => true,
- 3033 => true,
- 3034 => true,
- 3035 => true,
- 3036 => true,
- 3037 => true,
- 3038 => true,
- 3039 => true,
- 3040 => true,
- 3041 => true,
- 3042 => true,
- 3043 => true,
- 3044 => true,
- 3045 => true,
- 3067 => true,
- 3068 => true,
- 3069 => true,
- 3070 => true,
- 3071 => true,
- 3085 => true,
- 3089 => true,
- 3113 => true,
- 3130 => true,
- 3131 => true,
- 3132 => true,
- 3141 => true,
- 3145 => true,
- 3150 => true,
- 3151 => true,
- 3152 => true,
- 3153 => true,
- 3154 => true,
- 3155 => true,
- 3156 => true,
- 3159 => true,
- 3163 => true,
- 3164 => true,
- 3165 => true,
- 3166 => true,
- 3167 => true,
- 3172 => true,
- 3173 => true,
- 3184 => true,
- 3185 => true,
- 3186 => true,
- 3187 => true,
- 3188 => true,
- 3189 => true,
- 3190 => true,
- 3213 => true,
- 3217 => true,
- 3241 => true,
- 3252 => true,
- 3258 => true,
- 3259 => true,
- 3269 => true,
- 3273 => true,
- 3278 => true,
- 3279 => true,
- 3280 => true,
- 3281 => true,
- 3282 => true,
- 3283 => true,
- 3284 => true,
- 3287 => true,
- 3288 => true,
- 3289 => true,
- 3290 => true,
- 3291 => true,
- 3292 => true,
- 3293 => true,
- 3295 => true,
- 3300 => true,
- 3301 => true,
- 3312 => true,
- 3315 => true,
- 3316 => true,
- 3317 => true,
- 3318 => true,
- 3319 => true,
- 3320 => true,
- 3321 => true,
- 3322 => true,
- 3323 => true,
- 3324 => true,
- 3325 => true,
- 3326 => true,
- 3327 => true,
- 3341 => true,
- 3345 => true,
- 3397 => true,
- 3401 => true,
- 3408 => true,
- 3409 => true,
- 3410 => true,
- 3411 => true,
- 3428 => true,
- 3429 => true,
- 3456 => true,
- 3460 => true,
- 3479 => true,
- 3480 => true,
- 3481 => true,
- 3506 => true,
- 3516 => true,
- 3518 => true,
- 3519 => true,
- 3527 => true,
- 3528 => true,
- 3529 => true,
- 3531 => true,
- 3532 => true,
- 3533 => true,
- 3534 => true,
- 3541 => true,
- 3543 => true,
- 3552 => true,
- 3553 => true,
- 3554 => true,
- 3555 => true,
- 3556 => true,
- 3557 => true,
- 3568 => true,
- 3569 => true,
- 3573 => true,
- 3574 => true,
- 3575 => true,
- 3576 => true,
- 3577 => true,
- 3578 => true,
- 3579 => true,
- 3580 => true,
- 3581 => true,
- 3582 => true,
- 3583 => true,
- 3584 => true,
- 3643 => true,
- 3644 => true,
- 3645 => true,
- 3646 => true,
- 3715 => true,
- 3717 => true,
- 3723 => true,
- 3748 => true,
- 3750 => true,
- 3774 => true,
- 3775 => true,
- 3781 => true,
- 3783 => true,
- 3790 => true,
- 3791 => true,
- 3802 => true,
- 3803 => true,
- 3912 => true,
- 3949 => true,
- 3950 => true,
- 3951 => true,
- 3952 => true,
- 3992 => true,
- 4029 => true,
- 4045 => true,
- 4294 => true,
- 4296 => true,
- 4297 => true,
- 4298 => true,
- 4299 => true,
- 4300 => true,
- 4302 => true,
- 4303 => true,
- 4447 => true,
- 4448 => true,
- 4681 => true,
- 4686 => true,
- 4687 => true,
- 4695 => true,
- 4697 => true,
- 4702 => true,
- 4703 => true,
- 4745 => true,
- 4750 => true,
- 4751 => true,
- 4785 => true,
- 4790 => true,
- 4791 => true,
- 4799 => true,
- 4801 => true,
- 4806 => true,
- 4807 => true,
- 4823 => true,
- 4881 => true,
- 4886 => true,
- 4887 => true,
- 4955 => true,
- 4956 => true,
- 4989 => true,
- 4990 => true,
- 4991 => true,
- 5018 => true,
- 5019 => true,
- 5020 => true,
- 5021 => true,
- 5022 => true,
- 5023 => true,
- 5110 => true,
- 5111 => true,
- 5118 => true,
- 5119 => true,
- 5760 => true,
- 5789 => true,
- 5790 => true,
- 5791 => true,
- 5881 => true,
- 5882 => true,
- 5883 => true,
- 5884 => true,
- 5885 => true,
- 5886 => true,
- 5887 => true,
- 5901 => true,
- 5909 => true,
- 5910 => true,
- 5911 => true,
- 5912 => true,
- 5913 => true,
- 5914 => true,
- 5915 => true,
- 5916 => true,
- 5917 => true,
- 5918 => true,
- 5919 => true,
- 5943 => true,
- 5944 => true,
- 5945 => true,
- 5946 => true,
- 5947 => true,
- 5948 => true,
- 5949 => true,
- 5950 => true,
- 5951 => true,
- 5972 => true,
- 5973 => true,
- 5974 => true,
- 5975 => true,
- 5976 => true,
- 5977 => true,
- 5978 => true,
- 5979 => true,
- 5980 => true,
- 5981 => true,
- 5982 => true,
- 5983 => true,
- 5997 => true,
- 6001 => true,
- 6004 => true,
- 6005 => true,
- 6006 => true,
- 6007 => true,
- 6008 => true,
- 6009 => true,
- 6010 => true,
- 6011 => true,
- 6012 => true,
- 6013 => true,
- 6014 => true,
- 6015 => true,
- 6068 => true,
- 6069 => true,
- 6110 => true,
- 6111 => true,
- 6122 => true,
- 6123 => true,
- 6124 => true,
- 6125 => true,
- 6126 => true,
- 6127 => true,
- 6138 => true,
- 6139 => true,
- 6140 => true,
- 6141 => true,
- 6142 => true,
- 6143 => true,
- 6150 => true,
- 6158 => true,
- 6159 => true,
- 6170 => true,
- 6171 => true,
- 6172 => true,
- 6173 => true,
- 6174 => true,
- 6175 => true,
- 6265 => true,
- 6266 => true,
- 6267 => true,
- 6268 => true,
- 6269 => true,
- 6270 => true,
- 6271 => true,
- 6315 => true,
- 6316 => true,
- 6317 => true,
- 6318 => true,
- 6319 => true,
- 6390 => true,
- 6391 => true,
- 6392 => true,
- 6393 => true,
- 6394 => true,
- 6395 => true,
- 6396 => true,
- 6397 => true,
- 6398 => true,
- 6399 => true,
- 6431 => true,
- 6444 => true,
- 6445 => true,
- 6446 => true,
- 6447 => true,
- 6460 => true,
- 6461 => true,
- 6462 => true,
- 6463 => true,
- 6465 => true,
- 6466 => true,
- 6467 => true,
- 6510 => true,
- 6511 => true,
- 6517 => true,
- 6518 => true,
- 6519 => true,
- 6520 => true,
- 6521 => true,
- 6522 => true,
- 6523 => true,
- 6524 => true,
- 6525 => true,
- 6526 => true,
- 6527 => true,
- 6572 => true,
- 6573 => true,
- 6574 => true,
- 6575 => true,
- 6602 => true,
- 6603 => true,
- 6604 => true,
- 6605 => true,
- 6606 => true,
- 6607 => true,
- 6619 => true,
- 6620 => true,
- 6621 => true,
- 6684 => true,
- 6685 => true,
- 6751 => true,
- 6781 => true,
- 6782 => true,
- 6794 => true,
- 6795 => true,
- 6796 => true,
- 6797 => true,
- 6798 => true,
- 6799 => true,
- 6810 => true,
- 6811 => true,
- 6812 => true,
- 6813 => true,
- 6814 => true,
- 6815 => true,
- 6830 => true,
- 6831 => true,
- 6988 => true,
- 6989 => true,
- 6990 => true,
- 6991 => true,
- 7037 => true,
- 7038 => true,
- 7039 => true,
- 7156 => true,
- 7157 => true,
- 7158 => true,
- 7159 => true,
- 7160 => true,
- 7161 => true,
- 7162 => true,
- 7163 => true,
- 7224 => true,
- 7225 => true,
- 7226 => true,
- 7242 => true,
- 7243 => true,
- 7244 => true,
- 7305 => true,
- 7306 => true,
- 7307 => true,
- 7308 => true,
- 7309 => true,
- 7310 => true,
- 7311 => true,
- 7355 => true,
- 7356 => true,
- 7368 => true,
- 7369 => true,
- 7370 => true,
- 7371 => true,
- 7372 => true,
- 7373 => true,
- 7374 => true,
- 7375 => true,
- 7419 => true,
- 7420 => true,
- 7421 => true,
- 7422 => true,
- 7423 => true,
- 7674 => true,
- 7958 => true,
- 7959 => true,
- 7966 => true,
- 7967 => true,
- 8006 => true,
- 8007 => true,
- 8014 => true,
- 8015 => true,
- 8024 => true,
- 8026 => true,
- 8028 => true,
- 8030 => true,
- 8062 => true,
- 8063 => true,
- 8117 => true,
- 8133 => true,
- 8148 => true,
- 8149 => true,
- 8156 => true,
- 8176 => true,
- 8177 => true,
- 8181 => true,
- 8191 => true,
- 8206 => true,
- 8207 => true,
- 8228 => true,
- 8229 => true,
- 8230 => true,
- 8232 => true,
- 8233 => true,
- 8234 => true,
- 8235 => true,
- 8236 => true,
- 8237 => true,
- 8238 => true,
- 8289 => true,
- 8290 => true,
- 8291 => true,
- 8293 => true,
- 8294 => true,
- 8295 => true,
- 8296 => true,
- 8297 => true,
- 8298 => true,
- 8299 => true,
- 8300 => true,
- 8301 => true,
- 8302 => true,
- 8303 => true,
- 8306 => true,
- 8307 => true,
- 8335 => true,
- 8349 => true,
- 8350 => true,
- 8351 => true,
- 8384 => true,
- 8385 => true,
- 8386 => true,
- 8387 => true,
- 8388 => true,
- 8389 => true,
- 8390 => true,
- 8391 => true,
- 8392 => true,
- 8393 => true,
- 8394 => true,
- 8395 => true,
- 8396 => true,
- 8397 => true,
- 8398 => true,
- 8399 => true,
- 8433 => true,
- 8434 => true,
- 8435 => true,
- 8436 => true,
- 8437 => true,
- 8438 => true,
- 8439 => true,
- 8440 => true,
- 8441 => true,
- 8442 => true,
- 8443 => true,
- 8444 => true,
- 8445 => true,
- 8446 => true,
- 8447 => true,
- 8498 => true,
- 8579 => true,
- 8588 => true,
- 8589 => true,
- 8590 => true,
- 8591 => true,
- 9255 => true,
- 9256 => true,
- 9257 => true,
- 9258 => true,
- 9259 => true,
- 9260 => true,
- 9261 => true,
- 9262 => true,
- 9263 => true,
- 9264 => true,
- 9265 => true,
- 9266 => true,
- 9267 => true,
- 9268 => true,
- 9269 => true,
- 9270 => true,
- 9271 => true,
- 9272 => true,
- 9273 => true,
- 9274 => true,
- 9275 => true,
- 9276 => true,
- 9277 => true,
- 9278 => true,
- 9279 => true,
- 9291 => true,
- 9292 => true,
- 9293 => true,
- 9294 => true,
- 9295 => true,
- 9296 => true,
- 9297 => true,
- 9298 => true,
- 9299 => true,
- 9300 => true,
- 9301 => true,
- 9302 => true,
- 9303 => true,
- 9304 => true,
- 9305 => true,
- 9306 => true,
- 9307 => true,
- 9308 => true,
- 9309 => true,
- 9310 => true,
- 9311 => true,
- 9352 => true,
- 9353 => true,
- 9354 => true,
- 9355 => true,
- 9356 => true,
- 9357 => true,
- 9358 => true,
- 9359 => true,
- 9360 => true,
- 9361 => true,
- 9362 => true,
- 9363 => true,
- 9364 => true,
- 9365 => true,
- 9366 => true,
- 9367 => true,
- 9368 => true,
- 9369 => true,
- 9370 => true,
- 9371 => true,
- 11124 => true,
- 11125 => true,
- 11158 => true,
- 11311 => true,
- 11359 => true,
- 11508 => true,
- 11509 => true,
- 11510 => true,
- 11511 => true,
- 11512 => true,
- 11558 => true,
- 11560 => true,
- 11561 => true,
- 11562 => true,
- 11563 => true,
- 11564 => true,
- 11566 => true,
- 11567 => true,
- 11624 => true,
- 11625 => true,
- 11626 => true,
- 11627 => true,
- 11628 => true,
- 11629 => true,
- 11630 => true,
- 11633 => true,
- 11634 => true,
- 11635 => true,
- 11636 => true,
- 11637 => true,
- 11638 => true,
- 11639 => true,
- 11640 => true,
- 11641 => true,
- 11642 => true,
- 11643 => true,
- 11644 => true,
- 11645 => true,
- 11646 => true,
- 11671 => true,
- 11672 => true,
- 11673 => true,
- 11674 => true,
- 11675 => true,
- 11676 => true,
- 11677 => true,
- 11678 => true,
- 11679 => true,
- 11687 => true,
- 11695 => true,
- 11703 => true,
- 11711 => true,
- 11719 => true,
- 11727 => true,
- 11735 => true,
- 11743 => true,
- 11930 => true,
- 12020 => true,
- 12021 => true,
- 12022 => true,
- 12023 => true,
- 12024 => true,
- 12025 => true,
- 12026 => true,
- 12027 => true,
- 12028 => true,
- 12029 => true,
- 12030 => true,
- 12031 => true,
- 12246 => true,
- 12247 => true,
- 12248 => true,
- 12249 => true,
- 12250 => true,
- 12251 => true,
- 12252 => true,
- 12253 => true,
- 12254 => true,
- 12255 => true,
- 12256 => true,
- 12257 => true,
- 12258 => true,
- 12259 => true,
- 12260 => true,
- 12261 => true,
- 12262 => true,
- 12263 => true,
- 12264 => true,
- 12265 => true,
- 12266 => true,
- 12267 => true,
- 12268 => true,
- 12269 => true,
- 12270 => true,
- 12271 => true,
- 12272 => true,
- 12273 => true,
- 12274 => true,
- 12275 => true,
- 12276 => true,
- 12277 => true,
- 12278 => true,
- 12279 => true,
- 12280 => true,
- 12281 => true,
- 12282 => true,
- 12283 => true,
- 12284 => true,
- 12285 => true,
- 12286 => true,
- 12287 => true,
- 12352 => true,
- 12439 => true,
- 12440 => true,
- 12544 => true,
- 12545 => true,
- 12546 => true,
- 12547 => true,
- 12548 => true,
- 12592 => true,
- 12644 => true,
- 12687 => true,
- 12772 => true,
- 12773 => true,
- 12774 => true,
- 12775 => true,
- 12776 => true,
- 12777 => true,
- 12778 => true,
- 12779 => true,
- 12780 => true,
- 12781 => true,
- 12782 => true,
- 12783 => true,
- 12831 => true,
- 13250 => true,
- 13255 => true,
- 13272 => true,
- 40957 => true,
- 40958 => true,
- 40959 => true,
- 42125 => true,
- 42126 => true,
- 42127 => true,
- 42183 => true,
- 42184 => true,
- 42185 => true,
- 42186 => true,
- 42187 => true,
- 42188 => true,
- 42189 => true,
- 42190 => true,
- 42191 => true,
- 42540 => true,
- 42541 => true,
- 42542 => true,
- 42543 => true,
- 42544 => true,
- 42545 => true,
- 42546 => true,
- 42547 => true,
- 42548 => true,
- 42549 => true,
- 42550 => true,
- 42551 => true,
- 42552 => true,
- 42553 => true,
- 42554 => true,
- 42555 => true,
- 42556 => true,
- 42557 => true,
- 42558 => true,
- 42559 => true,
- 42744 => true,
- 42745 => true,
- 42746 => true,
- 42747 => true,
- 42748 => true,
- 42749 => true,
- 42750 => true,
- 42751 => true,
- 42944 => true,
- 42945 => true,
- 43053 => true,
- 43054 => true,
- 43055 => true,
- 43066 => true,
- 43067 => true,
- 43068 => true,
- 43069 => true,
- 43070 => true,
- 43071 => true,
- 43128 => true,
- 43129 => true,
- 43130 => true,
- 43131 => true,
- 43132 => true,
- 43133 => true,
- 43134 => true,
- 43135 => true,
- 43206 => true,
- 43207 => true,
- 43208 => true,
- 43209 => true,
- 43210 => true,
- 43211 => true,
- 43212 => true,
- 43213 => true,
- 43226 => true,
- 43227 => true,
- 43228 => true,
- 43229 => true,
- 43230 => true,
- 43231 => true,
- 43348 => true,
- 43349 => true,
- 43350 => true,
- 43351 => true,
- 43352 => true,
- 43353 => true,
- 43354 => true,
- 43355 => true,
- 43356 => true,
- 43357 => true,
- 43358 => true,
- 43389 => true,
- 43390 => true,
- 43391 => true,
- 43470 => true,
- 43482 => true,
- 43483 => true,
- 43484 => true,
- 43485 => true,
- 43519 => true,
- 43575 => true,
- 43576 => true,
- 43577 => true,
- 43578 => true,
- 43579 => true,
- 43580 => true,
- 43581 => true,
- 43582 => true,
- 43583 => true,
- 43598 => true,
- 43599 => true,
- 43610 => true,
- 43611 => true,
- 43715 => true,
- 43716 => true,
- 43717 => true,
- 43718 => true,
- 43719 => true,
- 43720 => true,
- 43721 => true,
- 43722 => true,
- 43723 => true,
- 43724 => true,
- 43725 => true,
- 43726 => true,
- 43727 => true,
- 43728 => true,
- 43729 => true,
- 43730 => true,
- 43731 => true,
- 43732 => true,
- 43733 => true,
- 43734 => true,
- 43735 => true,
- 43736 => true,
- 43737 => true,
- 43738 => true,
- 43767 => true,
- 43768 => true,
- 43769 => true,
- 43770 => true,
- 43771 => true,
- 43772 => true,
- 43773 => true,
- 43774 => true,
- 43775 => true,
- 43776 => true,
- 43783 => true,
- 43784 => true,
- 43791 => true,
- 43792 => true,
- 43799 => true,
- 43800 => true,
- 43801 => true,
- 43802 => true,
- 43803 => true,
- 43804 => true,
- 43805 => true,
- 43806 => true,
- 43807 => true,
- 43815 => true,
- 43823 => true,
- 43884 => true,
- 43885 => true,
- 43886 => true,
- 43887 => true,
- 44014 => true,
- 44015 => true,
- 44026 => true,
- 44027 => true,
- 44028 => true,
- 44029 => true,
- 44030 => true,
- 44031 => true,
- 55204 => true,
- 55205 => true,
- 55206 => true,
- 55207 => true,
- 55208 => true,
- 55209 => true,
- 55210 => true,
- 55211 => true,
- 55212 => true,
- 55213 => true,
- 55214 => true,
- 55215 => true,
- 55239 => true,
- 55240 => true,
- 55241 => true,
- 55242 => true,
- 55292 => true,
- 55293 => true,
- 55294 => true,
- 55295 => true,
- 64110 => true,
- 64111 => true,
- 64263 => true,
- 64264 => true,
- 64265 => true,
- 64266 => true,
- 64267 => true,
- 64268 => true,
- 64269 => true,
- 64270 => true,
- 64271 => true,
- 64272 => true,
- 64273 => true,
- 64274 => true,
- 64280 => true,
- 64281 => true,
- 64282 => true,
- 64283 => true,
- 64284 => true,
- 64311 => true,
- 64317 => true,
- 64319 => true,
- 64322 => true,
- 64325 => true,
- 64450 => true,
- 64451 => true,
- 64452 => true,
- 64453 => true,
- 64454 => true,
- 64455 => true,
- 64456 => true,
- 64457 => true,
- 64458 => true,
- 64459 => true,
- 64460 => true,
- 64461 => true,
- 64462 => true,
- 64463 => true,
- 64464 => true,
- 64465 => true,
- 64466 => true,
- 64832 => true,
- 64833 => true,
- 64834 => true,
- 64835 => true,
- 64836 => true,
- 64837 => true,
- 64838 => true,
- 64839 => true,
- 64840 => true,
- 64841 => true,
- 64842 => true,
- 64843 => true,
- 64844 => true,
- 64845 => true,
- 64846 => true,
- 64847 => true,
- 64912 => true,
- 64913 => true,
- 64968 => true,
- 64969 => true,
- 64970 => true,
- 64971 => true,
- 64972 => true,
- 64973 => true,
- 64974 => true,
- 64975 => true,
- 65022 => true,
- 65023 => true,
- 65042 => true,
- 65049 => true,
- 65050 => true,
- 65051 => true,
- 65052 => true,
- 65053 => true,
- 65054 => true,
- 65055 => true,
- 65072 => true,
- 65106 => true,
- 65107 => true,
- 65127 => true,
- 65132 => true,
- 65133 => true,
- 65134 => true,
- 65135 => true,
- 65141 => true,
- 65277 => true,
- 65278 => true,
- 65280 => true,
- 65440 => true,
- 65471 => true,
- 65472 => true,
- 65473 => true,
- 65480 => true,
- 65481 => true,
- 65488 => true,
- 65489 => true,
- 65496 => true,
- 65497 => true,
- 65501 => true,
- 65502 => true,
- 65503 => true,
- 65511 => true,
- 65519 => true,
- 65520 => true,
- 65521 => true,
- 65522 => true,
- 65523 => true,
- 65524 => true,
- 65525 => true,
- 65526 => true,
- 65527 => true,
- 65528 => true,
- 65529 => true,
- 65530 => true,
- 65531 => true,
- 65532 => true,
- 65533 => true,
- 65534 => true,
- 65535 => true,
- 65548 => true,
- 65575 => true,
- 65595 => true,
- 65598 => true,
- 65614 => true,
- 65615 => true,
- 65787 => true,
- 65788 => true,
- 65789 => true,
- 65790 => true,
- 65791 => true,
- 65795 => true,
- 65796 => true,
- 65797 => true,
- 65798 => true,
- 65844 => true,
- 65845 => true,
- 65846 => true,
- 65935 => true,
- 65949 => true,
- 65950 => true,
- 65951 => true,
- 66205 => true,
- 66206 => true,
- 66207 => true,
- 66257 => true,
- 66258 => true,
- 66259 => true,
- 66260 => true,
- 66261 => true,
- 66262 => true,
- 66263 => true,
- 66264 => true,
- 66265 => true,
- 66266 => true,
- 66267 => true,
- 66268 => true,
- 66269 => true,
- 66270 => true,
- 66271 => true,
- 66300 => true,
- 66301 => true,
- 66302 => true,
- 66303 => true,
- 66340 => true,
- 66341 => true,
- 66342 => true,
- 66343 => true,
- 66344 => true,
- 66345 => true,
- 66346 => true,
- 66347 => true,
- 66348 => true,
- 66379 => true,
- 66380 => true,
- 66381 => true,
- 66382 => true,
- 66383 => true,
- 66427 => true,
- 66428 => true,
- 66429 => true,
- 66430 => true,
- 66431 => true,
- 66462 => true,
- 66500 => true,
- 66501 => true,
- 66502 => true,
- 66503 => true,
- 66718 => true,
- 66719 => true,
- 66730 => true,
- 66731 => true,
- 66732 => true,
- 66733 => true,
- 66734 => true,
- 66735 => true,
- 66772 => true,
- 66773 => true,
- 66774 => true,
- 66775 => true,
- 66812 => true,
- 66813 => true,
- 66814 => true,
- 66815 => true,
- 66856 => true,
- 66857 => true,
- 66858 => true,
- 66859 => true,
- 66860 => true,
- 66861 => true,
- 66862 => true,
- 66863 => true,
- 66916 => true,
- 66917 => true,
- 66918 => true,
- 66919 => true,
- 66920 => true,
- 66921 => true,
- 66922 => true,
- 66923 => true,
- 66924 => true,
- 66925 => true,
- 66926 => true,
- 67383 => true,
- 67384 => true,
- 67385 => true,
- 67386 => true,
- 67387 => true,
- 67388 => true,
- 67389 => true,
- 67390 => true,
- 67391 => true,
- 67414 => true,
- 67415 => true,
- 67416 => true,
- 67417 => true,
- 67418 => true,
- 67419 => true,
- 67420 => true,
- 67421 => true,
- 67422 => true,
- 67423 => true,
- 67590 => true,
- 67591 => true,
- 67593 => true,
- 67638 => true,
- 67641 => true,
- 67642 => true,
- 67643 => true,
- 67645 => true,
- 67646 => true,
- 67670 => true,
- 67743 => true,
- 67744 => true,
- 67745 => true,
- 67746 => true,
- 67747 => true,
- 67748 => true,
- 67749 => true,
- 67750 => true,
- 67827 => true,
- 67830 => true,
- 67831 => true,
- 67832 => true,
- 67833 => true,
- 67834 => true,
- 67868 => true,
- 67869 => true,
- 67870 => true,
- 67898 => true,
- 67899 => true,
- 67900 => true,
- 67901 => true,
- 67902 => true,
- 68024 => true,
- 68025 => true,
- 68026 => true,
- 68027 => true,
- 68048 => true,
- 68049 => true,
- 68100 => true,
- 68103 => true,
- 68104 => true,
- 68105 => true,
- 68106 => true,
- 68107 => true,
- 68116 => true,
- 68120 => true,
- 68150 => true,
- 68151 => true,
- 68155 => true,
- 68156 => true,
- 68157 => true,
- 68158 => true,
- 68169 => true,
- 68170 => true,
- 68171 => true,
- 68172 => true,
- 68173 => true,
- 68174 => true,
- 68175 => true,
- 68185 => true,
- 68186 => true,
- 68187 => true,
- 68188 => true,
- 68189 => true,
- 68190 => true,
- 68191 => true,
- 68327 => true,
- 68328 => true,
- 68329 => true,
- 68330 => true,
- 68343 => true,
- 68344 => true,
- 68345 => true,
- 68346 => true,
- 68347 => true,
- 68348 => true,
- 68349 => true,
- 68350 => true,
- 68351 => true,
- 68406 => true,
- 68407 => true,
- 68408 => true,
- 68438 => true,
- 68439 => true,
- 68467 => true,
- 68468 => true,
- 68469 => true,
- 68470 => true,
- 68471 => true,
- 68498 => true,
- 68499 => true,
- 68500 => true,
- 68501 => true,
- 68502 => true,
- 68503 => true,
- 68504 => true,
- 68509 => true,
- 68510 => true,
- 68511 => true,
- 68512 => true,
- 68513 => true,
- 68514 => true,
- 68515 => true,
- 68516 => true,
- 68517 => true,
- 68518 => true,
- 68519 => true,
- 68520 => true,
- 68787 => true,
- 68788 => true,
- 68789 => true,
- 68790 => true,
- 68791 => true,
- 68792 => true,
- 68793 => true,
- 68794 => true,
- 68795 => true,
- 68796 => true,
- 68797 => true,
- 68798 => true,
- 68799 => true,
- 68851 => true,
- 68852 => true,
- 68853 => true,
- 68854 => true,
- 68855 => true,
- 68856 => true,
- 68857 => true,
- 68904 => true,
- 68905 => true,
- 68906 => true,
- 68907 => true,
- 68908 => true,
- 68909 => true,
- 68910 => true,
- 68911 => true,
- 69247 => true,
- 69290 => true,
- 69294 => true,
- 69295 => true,
- 69416 => true,
- 69417 => true,
- 69418 => true,
- 69419 => true,
- 69420 => true,
- 69421 => true,
- 69422 => true,
- 69423 => true,
- 69580 => true,
- 69581 => true,
- 69582 => true,
- 69583 => true,
- 69584 => true,
- 69585 => true,
- 69586 => true,
- 69587 => true,
- 69588 => true,
- 69589 => true,
- 69590 => true,
- 69591 => true,
- 69592 => true,
- 69593 => true,
- 69594 => true,
- 69595 => true,
- 69596 => true,
- 69597 => true,
- 69598 => true,
- 69599 => true,
- 69623 => true,
- 69624 => true,
- 69625 => true,
- 69626 => true,
- 69627 => true,
- 69628 => true,
- 69629 => true,
- 69630 => true,
- 69631 => true,
- 69710 => true,
- 69711 => true,
- 69712 => true,
- 69713 => true,
- 69744 => true,
- 69745 => true,
- 69746 => true,
- 69747 => true,
- 69748 => true,
- 69749 => true,
- 69750 => true,
- 69751 => true,
- 69752 => true,
- 69753 => true,
- 69754 => true,
- 69755 => true,
- 69756 => true,
- 69757 => true,
- 69758 => true,
- 69821 => true,
- 69826 => true,
- 69827 => true,
- 69828 => true,
- 69829 => true,
- 69830 => true,
- 69831 => true,
- 69832 => true,
- 69833 => true,
- 69834 => true,
- 69835 => true,
- 69836 => true,
- 69837 => true,
- 69838 => true,
- 69839 => true,
- 69865 => true,
- 69866 => true,
- 69867 => true,
- 69868 => true,
- 69869 => true,
- 69870 => true,
- 69871 => true,
- 69882 => true,
- 69883 => true,
- 69884 => true,
- 69885 => true,
- 69886 => true,
- 69887 => true,
- 69941 => true,
- 69960 => true,
- 69961 => true,
- 69962 => true,
- 69963 => true,
- 69964 => true,
- 69965 => true,
- 69966 => true,
- 69967 => true,
- 70007 => true,
- 70008 => true,
- 70009 => true,
- 70010 => true,
- 70011 => true,
- 70012 => true,
- 70013 => true,
- 70014 => true,
- 70015 => true,
- 70112 => true,
- 70133 => true,
- 70134 => true,
- 70135 => true,
- 70136 => true,
- 70137 => true,
- 70138 => true,
- 70139 => true,
- 70140 => true,
- 70141 => true,
- 70142 => true,
- 70143 => true,
- 70162 => true,
- 70279 => true,
- 70281 => true,
- 70286 => true,
- 70302 => true,
- 70314 => true,
- 70315 => true,
- 70316 => true,
- 70317 => true,
- 70318 => true,
- 70319 => true,
- 70379 => true,
- 70380 => true,
- 70381 => true,
- 70382 => true,
- 70383 => true,
- 70394 => true,
- 70395 => true,
- 70396 => true,
- 70397 => true,
- 70398 => true,
- 70399 => true,
- 70404 => true,
- 70413 => true,
- 70414 => true,
- 70417 => true,
- 70418 => true,
- 70441 => true,
- 70449 => true,
- 70452 => true,
- 70458 => true,
- 70469 => true,
- 70470 => true,
- 70473 => true,
- 70474 => true,
- 70478 => true,
- 70479 => true,
- 70481 => true,
- 70482 => true,
- 70483 => true,
- 70484 => true,
- 70485 => true,
- 70486 => true,
- 70488 => true,
- 70489 => true,
- 70490 => true,
- 70491 => true,
- 70492 => true,
- 70500 => true,
- 70501 => true,
- 70509 => true,
- 70510 => true,
- 70511 => true,
- 70748 => true,
- 70754 => true,
- 70755 => true,
- 70756 => true,
- 70757 => true,
- 70758 => true,
- 70759 => true,
- 70760 => true,
- 70761 => true,
- 70762 => true,
- 70763 => true,
- 70764 => true,
- 70765 => true,
- 70766 => true,
- 70767 => true,
- 70768 => true,
- 70769 => true,
- 70770 => true,
- 70771 => true,
- 70772 => true,
- 70773 => true,
- 70774 => true,
- 70775 => true,
- 70776 => true,
- 70777 => true,
- 70778 => true,
- 70779 => true,
- 70780 => true,
- 70781 => true,
- 70782 => true,
- 70783 => true,
- 70856 => true,
- 70857 => true,
- 70858 => true,
- 70859 => true,
- 70860 => true,
- 70861 => true,
- 70862 => true,
- 70863 => true,
- 71094 => true,
- 71095 => true,
- 71237 => true,
- 71238 => true,
- 71239 => true,
- 71240 => true,
- 71241 => true,
- 71242 => true,
- 71243 => true,
- 71244 => true,
- 71245 => true,
- 71246 => true,
- 71247 => true,
- 71258 => true,
- 71259 => true,
- 71260 => true,
- 71261 => true,
- 71262 => true,
- 71263 => true,
- 71277 => true,
- 71278 => true,
- 71279 => true,
- 71280 => true,
- 71281 => true,
- 71282 => true,
- 71283 => true,
- 71284 => true,
- 71285 => true,
- 71286 => true,
- 71287 => true,
- 71288 => true,
- 71289 => true,
- 71290 => true,
- 71291 => true,
- 71292 => true,
- 71293 => true,
- 71294 => true,
- 71295 => true,
- 71353 => true,
- 71354 => true,
- 71355 => true,
- 71356 => true,
- 71357 => true,
- 71358 => true,
- 71359 => true,
- 71451 => true,
- 71452 => true,
- 71468 => true,
- 71469 => true,
- 71470 => true,
- 71471 => true,
- 71923 => true,
- 71924 => true,
- 71925 => true,
- 71926 => true,
- 71927 => true,
- 71928 => true,
- 71929 => true,
- 71930 => true,
- 71931 => true,
- 71932 => true,
- 71933 => true,
- 71934 => true,
- 71943 => true,
- 71944 => true,
- 71946 => true,
- 71947 => true,
- 71956 => true,
- 71959 => true,
- 71990 => true,
- 71993 => true,
- 71994 => true,
- 72007 => true,
- 72008 => true,
- 72009 => true,
- 72010 => true,
- 72011 => true,
- 72012 => true,
- 72013 => true,
- 72014 => true,
- 72015 => true,
- 72104 => true,
- 72105 => true,
- 72152 => true,
- 72153 => true,
- 72165 => true,
- 72166 => true,
- 72167 => true,
- 72168 => true,
- 72169 => true,
- 72170 => true,
- 72171 => true,
- 72172 => true,
- 72173 => true,
- 72174 => true,
- 72175 => true,
- 72176 => true,
- 72177 => true,
- 72178 => true,
- 72179 => true,
- 72180 => true,
- 72181 => true,
- 72182 => true,
- 72183 => true,
- 72184 => true,
- 72185 => true,
- 72186 => true,
- 72187 => true,
- 72188 => true,
- 72189 => true,
- 72190 => true,
- 72191 => true,
- 72264 => true,
- 72265 => true,
- 72266 => true,
- 72267 => true,
- 72268 => true,
- 72269 => true,
- 72270 => true,
- 72271 => true,
- 72355 => true,
- 72356 => true,
- 72357 => true,
- 72358 => true,
- 72359 => true,
- 72360 => true,
- 72361 => true,
- 72362 => true,
- 72363 => true,
- 72364 => true,
- 72365 => true,
- 72366 => true,
- 72367 => true,
- 72368 => true,
- 72369 => true,
- 72370 => true,
- 72371 => true,
- 72372 => true,
- 72373 => true,
- 72374 => true,
- 72375 => true,
- 72376 => true,
- 72377 => true,
- 72378 => true,
- 72379 => true,
- 72380 => true,
- 72381 => true,
- 72382 => true,
- 72383 => true,
- 72713 => true,
- 72759 => true,
- 72774 => true,
- 72775 => true,
- 72776 => true,
- 72777 => true,
- 72778 => true,
- 72779 => true,
- 72780 => true,
- 72781 => true,
- 72782 => true,
- 72783 => true,
- 72813 => true,
- 72814 => true,
- 72815 => true,
- 72848 => true,
- 72849 => true,
- 72872 => true,
- 72967 => true,
- 72970 => true,
- 73015 => true,
- 73016 => true,
- 73017 => true,
- 73019 => true,
- 73022 => true,
- 73032 => true,
- 73033 => true,
- 73034 => true,
- 73035 => true,
- 73036 => true,
- 73037 => true,
- 73038 => true,
- 73039 => true,
- 73050 => true,
- 73051 => true,
- 73052 => true,
- 73053 => true,
- 73054 => true,
- 73055 => true,
- 73062 => true,
- 73065 => true,
- 73103 => true,
- 73106 => true,
- 73113 => true,
- 73114 => true,
- 73115 => true,
- 73116 => true,
- 73117 => true,
- 73118 => true,
- 73119 => true,
- 73649 => true,
- 73650 => true,
- 73651 => true,
- 73652 => true,
- 73653 => true,
- 73654 => true,
- 73655 => true,
- 73656 => true,
- 73657 => true,
- 73658 => true,
- 73659 => true,
- 73660 => true,
- 73661 => true,
- 73662 => true,
- 73663 => true,
- 73714 => true,
- 73715 => true,
- 73716 => true,
- 73717 => true,
- 73718 => true,
- 73719 => true,
- 73720 => true,
- 73721 => true,
- 73722 => true,
- 73723 => true,
- 73724 => true,
- 73725 => true,
- 73726 => true,
- 74863 => true,
- 74869 => true,
- 74870 => true,
- 74871 => true,
- 74872 => true,
- 74873 => true,
- 74874 => true,
- 74875 => true,
- 74876 => true,
- 74877 => true,
- 74878 => true,
- 74879 => true,
- 78895 => true,
- 78896 => true,
- 78897 => true,
- 78898 => true,
- 78899 => true,
- 78900 => true,
- 78901 => true,
- 78902 => true,
- 78903 => true,
- 78904 => true,
- 92729 => true,
- 92730 => true,
- 92731 => true,
- 92732 => true,
- 92733 => true,
- 92734 => true,
- 92735 => true,
- 92767 => true,
- 92778 => true,
- 92779 => true,
- 92780 => true,
- 92781 => true,
- 92910 => true,
- 92911 => true,
- 92918 => true,
- 92919 => true,
- 92920 => true,
- 92921 => true,
- 92922 => true,
- 92923 => true,
- 92924 => true,
- 92925 => true,
- 92926 => true,
- 92927 => true,
- 92998 => true,
- 92999 => true,
- 93000 => true,
- 93001 => true,
- 93002 => true,
- 93003 => true,
- 93004 => true,
- 93005 => true,
- 93006 => true,
- 93007 => true,
- 93018 => true,
- 93026 => true,
- 93048 => true,
- 93049 => true,
- 93050 => true,
- 93051 => true,
- 93052 => true,
- 94027 => true,
- 94028 => true,
- 94029 => true,
- 94030 => true,
- 94088 => true,
- 94089 => true,
- 94090 => true,
- 94091 => true,
- 94092 => true,
- 94093 => true,
- 94094 => true,
- 94181 => true,
- 94182 => true,
- 94183 => true,
- 94184 => true,
- 94185 => true,
- 94186 => true,
- 94187 => true,
- 94188 => true,
- 94189 => true,
- 94190 => true,
- 94191 => true,
- 94194 => true,
- 94195 => true,
- 94196 => true,
- 94197 => true,
- 94198 => true,
- 94199 => true,
- 94200 => true,
- 94201 => true,
- 94202 => true,
- 94203 => true,
- 94204 => true,
- 94205 => true,
- 94206 => true,
- 94207 => true,
- 100344 => true,
- 100345 => true,
- 100346 => true,
- 100347 => true,
- 100348 => true,
- 100349 => true,
- 100350 => true,
- 100351 => true,
- 110931 => true,
- 110932 => true,
- 110933 => true,
- 110934 => true,
- 110935 => true,
- 110936 => true,
- 110937 => true,
- 110938 => true,
- 110939 => true,
- 110940 => true,
- 110941 => true,
- 110942 => true,
- 110943 => true,
- 110944 => true,
- 110945 => true,
- 110946 => true,
- 110947 => true,
- 110952 => true,
- 110953 => true,
- 110954 => true,
- 110955 => true,
- 110956 => true,
- 110957 => true,
- 110958 => true,
- 110959 => true,
- 113771 => true,
- 113772 => true,
- 113773 => true,
- 113774 => true,
- 113775 => true,
- 113789 => true,
- 113790 => true,
- 113791 => true,
- 113801 => true,
- 113802 => true,
- 113803 => true,
- 113804 => true,
- 113805 => true,
- 113806 => true,
- 113807 => true,
- 113818 => true,
- 113819 => true,
- 119030 => true,
- 119031 => true,
- 119032 => true,
- 119033 => true,
- 119034 => true,
- 119035 => true,
- 119036 => true,
- 119037 => true,
- 119038 => true,
- 119039 => true,
- 119079 => true,
- 119080 => true,
- 119155 => true,
- 119156 => true,
- 119157 => true,
- 119158 => true,
- 119159 => true,
- 119160 => true,
- 119161 => true,
- 119162 => true,
- 119273 => true,
- 119274 => true,
- 119275 => true,
- 119276 => true,
- 119277 => true,
- 119278 => true,
- 119279 => true,
- 119280 => true,
- 119281 => true,
- 119282 => true,
- 119283 => true,
- 119284 => true,
- 119285 => true,
- 119286 => true,
- 119287 => true,
- 119288 => true,
- 119289 => true,
- 119290 => true,
- 119291 => true,
- 119292 => true,
- 119293 => true,
- 119294 => true,
- 119295 => true,
- 119540 => true,
- 119541 => true,
- 119542 => true,
- 119543 => true,
- 119544 => true,
- 119545 => true,
- 119546 => true,
- 119547 => true,
- 119548 => true,
- 119549 => true,
- 119550 => true,
- 119551 => true,
- 119639 => true,
- 119640 => true,
- 119641 => true,
- 119642 => true,
- 119643 => true,
- 119644 => true,
- 119645 => true,
- 119646 => true,
- 119647 => true,
- 119893 => true,
- 119965 => true,
- 119968 => true,
- 119969 => true,
- 119971 => true,
- 119972 => true,
- 119975 => true,
- 119976 => true,
- 119981 => true,
- 119994 => true,
- 119996 => true,
- 120004 => true,
- 120070 => true,
- 120075 => true,
- 120076 => true,
- 120085 => true,
- 120093 => true,
- 120122 => true,
- 120127 => true,
- 120133 => true,
- 120135 => true,
- 120136 => true,
- 120137 => true,
- 120145 => true,
- 120486 => true,
- 120487 => true,
- 120780 => true,
- 120781 => true,
- 121484 => true,
- 121485 => true,
- 121486 => true,
- 121487 => true,
- 121488 => true,
- 121489 => true,
- 121490 => true,
- 121491 => true,
- 121492 => true,
- 121493 => true,
- 121494 => true,
- 121495 => true,
- 121496 => true,
- 121497 => true,
- 121498 => true,
- 121504 => true,
- 122887 => true,
- 122905 => true,
- 122906 => true,
- 122914 => true,
- 122917 => true,
- 123181 => true,
- 123182 => true,
- 123183 => true,
- 123198 => true,
- 123199 => true,
- 123210 => true,
- 123211 => true,
- 123212 => true,
- 123213 => true,
- 123642 => true,
- 123643 => true,
- 123644 => true,
- 123645 => true,
- 123646 => true,
- 125125 => true,
- 125126 => true,
- 125260 => true,
- 125261 => true,
- 125262 => true,
- 125263 => true,
- 125274 => true,
- 125275 => true,
- 125276 => true,
- 125277 => true,
- 126468 => true,
- 126496 => true,
- 126499 => true,
- 126501 => true,
- 126502 => true,
- 126504 => true,
- 126515 => true,
- 126520 => true,
- 126522 => true,
- 126524 => true,
- 126525 => true,
- 126526 => true,
- 126527 => true,
- 126528 => true,
- 126529 => true,
- 126531 => true,
- 126532 => true,
- 126533 => true,
- 126534 => true,
- 126536 => true,
- 126538 => true,
- 126540 => true,
- 126544 => true,
- 126547 => true,
- 126549 => true,
- 126550 => true,
- 126552 => true,
- 126554 => true,
- 126556 => true,
- 126558 => true,
- 126560 => true,
- 126563 => true,
- 126565 => true,
- 126566 => true,
- 126571 => true,
- 126579 => true,
- 126584 => true,
- 126589 => true,
- 126591 => true,
- 126602 => true,
- 126620 => true,
- 126621 => true,
- 126622 => true,
- 126623 => true,
- 126624 => true,
- 126628 => true,
- 126634 => true,
- 127020 => true,
- 127021 => true,
- 127022 => true,
- 127023 => true,
- 127124 => true,
- 127125 => true,
- 127126 => true,
- 127127 => true,
- 127128 => true,
- 127129 => true,
- 127130 => true,
- 127131 => true,
- 127132 => true,
- 127133 => true,
- 127134 => true,
- 127135 => true,
- 127151 => true,
- 127152 => true,
- 127168 => true,
- 127184 => true,
- 127222 => true,
- 127223 => true,
- 127224 => true,
- 127225 => true,
- 127226 => true,
- 127227 => true,
- 127228 => true,
- 127229 => true,
- 127230 => true,
- 127231 => true,
- 127232 => true,
- 127491 => true,
- 127492 => true,
- 127493 => true,
- 127494 => true,
- 127495 => true,
- 127496 => true,
- 127497 => true,
- 127498 => true,
- 127499 => true,
- 127500 => true,
- 127501 => true,
- 127502 => true,
- 127503 => true,
- 127548 => true,
- 127549 => true,
- 127550 => true,
- 127551 => true,
- 127561 => true,
- 127562 => true,
- 127563 => true,
- 127564 => true,
- 127565 => true,
- 127566 => true,
- 127567 => true,
- 127570 => true,
- 127571 => true,
- 127572 => true,
- 127573 => true,
- 127574 => true,
- 127575 => true,
- 127576 => true,
- 127577 => true,
- 127578 => true,
- 127579 => true,
- 127580 => true,
- 127581 => true,
- 127582 => true,
- 127583 => true,
- 128728 => true,
- 128729 => true,
- 128730 => true,
- 128731 => true,
- 128732 => true,
- 128733 => true,
- 128734 => true,
- 128735 => true,
- 128749 => true,
- 128750 => true,
- 128751 => true,
- 128765 => true,
- 128766 => true,
- 128767 => true,
- 128884 => true,
- 128885 => true,
- 128886 => true,
- 128887 => true,
- 128888 => true,
- 128889 => true,
- 128890 => true,
- 128891 => true,
- 128892 => true,
- 128893 => true,
- 128894 => true,
- 128895 => true,
- 128985 => true,
- 128986 => true,
- 128987 => true,
- 128988 => true,
- 128989 => true,
- 128990 => true,
- 128991 => true,
- 129004 => true,
- 129005 => true,
- 129006 => true,
- 129007 => true,
- 129008 => true,
- 129009 => true,
- 129010 => true,
- 129011 => true,
- 129012 => true,
- 129013 => true,
- 129014 => true,
- 129015 => true,
- 129016 => true,
- 129017 => true,
- 129018 => true,
- 129019 => true,
- 129020 => true,
- 129021 => true,
- 129022 => true,
- 129023 => true,
- 129036 => true,
- 129037 => true,
- 129038 => true,
- 129039 => true,
- 129096 => true,
- 129097 => true,
- 129098 => true,
- 129099 => true,
- 129100 => true,
- 129101 => true,
- 129102 => true,
- 129103 => true,
- 129114 => true,
- 129115 => true,
- 129116 => true,
- 129117 => true,
- 129118 => true,
- 129119 => true,
- 129160 => true,
- 129161 => true,
- 129162 => true,
- 129163 => true,
- 129164 => true,
- 129165 => true,
- 129166 => true,
- 129167 => true,
- 129198 => true,
- 129199 => true,
- 129401 => true,
- 129484 => true,
- 129620 => true,
- 129621 => true,
- 129622 => true,
- 129623 => true,
- 129624 => true,
- 129625 => true,
- 129626 => true,
- 129627 => true,
- 129628 => true,
- 129629 => true,
- 129630 => true,
- 129631 => true,
- 129646 => true,
- 129647 => true,
- 129653 => true,
- 129654 => true,
- 129655 => true,
- 129659 => true,
- 129660 => true,
- 129661 => true,
- 129662 => true,
- 129663 => true,
- 129671 => true,
- 129672 => true,
- 129673 => true,
- 129674 => true,
- 129675 => true,
- 129676 => true,
- 129677 => true,
- 129678 => true,
- 129679 => true,
- 129705 => true,
- 129706 => true,
- 129707 => true,
- 129708 => true,
- 129709 => true,
- 129710 => true,
- 129711 => true,
- 129719 => true,
- 129720 => true,
- 129721 => true,
- 129722 => true,
- 129723 => true,
- 129724 => true,
- 129725 => true,
- 129726 => true,
- 129727 => true,
- 129731 => true,
- 129732 => true,
- 129733 => true,
- 129734 => true,
- 129735 => true,
- 129736 => true,
- 129737 => true,
- 129738 => true,
- 129739 => true,
- 129740 => true,
- 129741 => true,
- 129742 => true,
- 129743 => true,
- 129939 => true,
- 131070 => true,
- 131071 => true,
- 177973 => true,
- 177974 => true,
- 177975 => true,
- 177976 => true,
- 177977 => true,
- 177978 => true,
- 177979 => true,
- 177980 => true,
- 177981 => true,
- 177982 => true,
- 177983 => true,
- 178206 => true,
- 178207 => true,
- 183970 => true,
- 183971 => true,
- 183972 => true,
- 183973 => true,
- 183974 => true,
- 183975 => true,
- 183976 => true,
- 183977 => true,
- 183978 => true,
- 183979 => true,
- 183980 => true,
- 183981 => true,
- 183982 => true,
- 183983 => true,
- 194664 => true,
- 194676 => true,
- 194847 => true,
- 194911 => true,
- 195007 => true,
- 196606 => true,
- 196607 => true,
- 262142 => true,
- 262143 => true,
- 327678 => true,
- 327679 => true,
- 393214 => true,
- 393215 => true,
- 458750 => true,
- 458751 => true,
- 524286 => true,
- 524287 => true,
- 589822 => true,
- 589823 => true,
- 655358 => true,
- 655359 => true,
- 720894 => true,
- 720895 => true,
- 786430 => true,
- 786431 => true,
- 851966 => true,
- 851967 => true,
- 917502 => true,
- 917503 => true,
- 917504 => true,
- 917505 => true,
- 917506 => true,
- 917507 => true,
- 917508 => true,
- 917509 => true,
- 917510 => true,
- 917511 => true,
- 917512 => true,
- 917513 => true,
- 917514 => true,
- 917515 => true,
- 917516 => true,
- 917517 => true,
- 917518 => true,
- 917519 => true,
- 917520 => true,
- 917521 => true,
- 917522 => true,
- 917523 => true,
- 917524 => true,
- 917525 => true,
- 917526 => true,
- 917527 => true,
- 917528 => true,
- 917529 => true,
- 917530 => true,
- 917531 => true,
- 917532 => true,
- 917533 => true,
- 917534 => true,
- 917535 => true,
- 983038 => true,
- 983039 => true,
- 1048574 => true,
- 1048575 => true,
- 1114110 => true,
- 1114111 => true,
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php b/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php
deleted file mode 100644
index 54f21cc0..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_mapped.php
+++ /dev/null
@@ -1,308 +0,0 @@
- ' ',
- 168 => ' ̈',
- 175 => ' ̄',
- 180 => ' ́',
- 184 => ' ̧',
- 728 => ' ̆',
- 729 => ' ̇',
- 730 => ' ̊',
- 731 => ' ̨',
- 732 => ' ̃',
- 733 => ' ̋',
- 890 => ' ι',
- 894 => ';',
- 900 => ' ́',
- 901 => ' ̈́',
- 8125 => ' ̓',
- 8127 => ' ̓',
- 8128 => ' ͂',
- 8129 => ' ̈͂',
- 8141 => ' ̓̀',
- 8142 => ' ̓́',
- 8143 => ' ̓͂',
- 8157 => ' ̔̀',
- 8158 => ' ̔́',
- 8159 => ' ̔͂',
- 8173 => ' ̈̀',
- 8174 => ' ̈́',
- 8175 => '`',
- 8189 => ' ́',
- 8190 => ' ̔',
- 8192 => ' ',
- 8193 => ' ',
- 8194 => ' ',
- 8195 => ' ',
- 8196 => ' ',
- 8197 => ' ',
- 8198 => ' ',
- 8199 => ' ',
- 8200 => ' ',
- 8201 => ' ',
- 8202 => ' ',
- 8215 => ' ̳',
- 8239 => ' ',
- 8252 => '!!',
- 8254 => ' ̅',
- 8263 => '??',
- 8264 => '?!',
- 8265 => '!?',
- 8287 => ' ',
- 8314 => '+',
- 8316 => '=',
- 8317 => '(',
- 8318 => ')',
- 8330 => '+',
- 8332 => '=',
- 8333 => '(',
- 8334 => ')',
- 8448 => 'a/c',
- 8449 => 'a/s',
- 8453 => 'c/o',
- 8454 => 'c/u',
- 9332 => '(1)',
- 9333 => '(2)',
- 9334 => '(3)',
- 9335 => '(4)',
- 9336 => '(5)',
- 9337 => '(6)',
- 9338 => '(7)',
- 9339 => '(8)',
- 9340 => '(9)',
- 9341 => '(10)',
- 9342 => '(11)',
- 9343 => '(12)',
- 9344 => '(13)',
- 9345 => '(14)',
- 9346 => '(15)',
- 9347 => '(16)',
- 9348 => '(17)',
- 9349 => '(18)',
- 9350 => '(19)',
- 9351 => '(20)',
- 9372 => '(a)',
- 9373 => '(b)',
- 9374 => '(c)',
- 9375 => '(d)',
- 9376 => '(e)',
- 9377 => '(f)',
- 9378 => '(g)',
- 9379 => '(h)',
- 9380 => '(i)',
- 9381 => '(j)',
- 9382 => '(k)',
- 9383 => '(l)',
- 9384 => '(m)',
- 9385 => '(n)',
- 9386 => '(o)',
- 9387 => '(p)',
- 9388 => '(q)',
- 9389 => '(r)',
- 9390 => '(s)',
- 9391 => '(t)',
- 9392 => '(u)',
- 9393 => '(v)',
- 9394 => '(w)',
- 9395 => '(x)',
- 9396 => '(y)',
- 9397 => '(z)',
- 10868 => '::=',
- 10869 => '==',
- 10870 => '===',
- 12288 => ' ',
- 12443 => ' ゙',
- 12444 => ' ゚',
- 12800 => '(ᄀ)',
- 12801 => '(ᄂ)',
- 12802 => '(ᄃ)',
- 12803 => '(ᄅ)',
- 12804 => '(ᄆ)',
- 12805 => '(ᄇ)',
- 12806 => '(ᄉ)',
- 12807 => '(ᄋ)',
- 12808 => '(ᄌ)',
- 12809 => '(ᄎ)',
- 12810 => '(ᄏ)',
- 12811 => '(ᄐ)',
- 12812 => '(ᄑ)',
- 12813 => '(ᄒ)',
- 12814 => '(가)',
- 12815 => '(나)',
- 12816 => '(다)',
- 12817 => '(라)',
- 12818 => '(마)',
- 12819 => '(바)',
- 12820 => '(사)',
- 12821 => '(아)',
- 12822 => '(자)',
- 12823 => '(차)',
- 12824 => '(카)',
- 12825 => '(타)',
- 12826 => '(파)',
- 12827 => '(하)',
- 12828 => '(주)',
- 12829 => '(오전)',
- 12830 => '(오후)',
- 12832 => '(一)',
- 12833 => '(二)',
- 12834 => '(三)',
- 12835 => '(四)',
- 12836 => '(五)',
- 12837 => '(六)',
- 12838 => '(七)',
- 12839 => '(八)',
- 12840 => '(九)',
- 12841 => '(十)',
- 12842 => '(月)',
- 12843 => '(火)',
- 12844 => '(水)',
- 12845 => '(木)',
- 12846 => '(金)',
- 12847 => '(土)',
- 12848 => '(日)',
- 12849 => '(株)',
- 12850 => '(有)',
- 12851 => '(社)',
- 12852 => '(名)',
- 12853 => '(特)',
- 12854 => '(財)',
- 12855 => '(祝)',
- 12856 => '(労)',
- 12857 => '(代)',
- 12858 => '(呼)',
- 12859 => '(学)',
- 12860 => '(監)',
- 12861 => '(企)',
- 12862 => '(資)',
- 12863 => '(協)',
- 12864 => '(祭)',
- 12865 => '(休)',
- 12866 => '(自)',
- 12867 => '(至)',
- 64297 => '+',
- 64606 => ' ٌّ',
- 64607 => ' ٍّ',
- 64608 => ' َّ',
- 64609 => ' ُّ',
- 64610 => ' ِّ',
- 64611 => ' ّٰ',
- 65018 => 'صلى الله عليه وسلم',
- 65019 => 'جل جلاله',
- 65040 => ',',
- 65043 => ':',
- 65044 => ';',
- 65045 => '!',
- 65046 => '?',
- 65075 => '_',
- 65076 => '_',
- 65077 => '(',
- 65078 => ')',
- 65079 => '{',
- 65080 => '}',
- 65095 => '[',
- 65096 => ']',
- 65097 => ' ̅',
- 65098 => ' ̅',
- 65099 => ' ̅',
- 65100 => ' ̅',
- 65101 => '_',
- 65102 => '_',
- 65103 => '_',
- 65104 => ',',
- 65108 => ';',
- 65109 => ':',
- 65110 => '?',
- 65111 => '!',
- 65113 => '(',
- 65114 => ')',
- 65115 => '{',
- 65116 => '}',
- 65119 => '#',
- 65120 => '&',
- 65121 => '*',
- 65122 => '+',
- 65124 => '<',
- 65125 => '>',
- 65126 => '=',
- 65128 => '\\',
- 65129 => '$',
- 65130 => '%',
- 65131 => '@',
- 65136 => ' ً',
- 65138 => ' ٌ',
- 65140 => ' ٍ',
- 65142 => ' َ',
- 65144 => ' ُ',
- 65146 => ' ِ',
- 65148 => ' ّ',
- 65150 => ' ْ',
- 65281 => '!',
- 65282 => '"',
- 65283 => '#',
- 65284 => '$',
- 65285 => '%',
- 65286 => '&',
- 65287 => '\'',
- 65288 => '(',
- 65289 => ')',
- 65290 => '*',
- 65291 => '+',
- 65292 => ',',
- 65295 => '/',
- 65306 => ':',
- 65307 => ';',
- 65308 => '<',
- 65309 => '=',
- 65310 => '>',
- 65311 => '?',
- 65312 => '@',
- 65339 => '[',
- 65340 => '\\',
- 65341 => ']',
- 65342 => '^',
- 65343 => '_',
- 65344 => '`',
- 65371 => '{',
- 65372 => '|',
- 65373 => '}',
- 65374 => '~',
- 65507 => ' ̄',
- 127233 => '0,',
- 127234 => '1,',
- 127235 => '2,',
- 127236 => '3,',
- 127237 => '4,',
- 127238 => '5,',
- 127239 => '6,',
- 127240 => '7,',
- 127241 => '8,',
- 127242 => '9,',
- 127248 => '(a)',
- 127249 => '(b)',
- 127250 => '(c)',
- 127251 => '(d)',
- 127252 => '(e)',
- 127253 => '(f)',
- 127254 => '(g)',
- 127255 => '(h)',
- 127256 => '(i)',
- 127257 => '(j)',
- 127258 => '(k)',
- 127259 => '(l)',
- 127260 => '(m)',
- 127261 => '(n)',
- 127262 => '(o)',
- 127263 => '(p)',
- 127264 => '(q)',
- 127265 => '(r)',
- 127266 => '(s)',
- 127267 => '(t)',
- 127268 => '(u)',
- 127269 => '(v)',
- 127270 => '(w)',
- 127271 => '(x)',
- 127272 => '(y)',
- 127273 => '(z)',
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php b/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php
deleted file mode 100644
index 223396ec..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php
+++ /dev/null
@@ -1,71 +0,0 @@
- true,
- 1 => true,
- 2 => true,
- 3 => true,
- 4 => true,
- 5 => true,
- 6 => true,
- 7 => true,
- 8 => true,
- 9 => true,
- 10 => true,
- 11 => true,
- 12 => true,
- 13 => true,
- 14 => true,
- 15 => true,
- 16 => true,
- 17 => true,
- 18 => true,
- 19 => true,
- 20 => true,
- 21 => true,
- 22 => true,
- 23 => true,
- 24 => true,
- 25 => true,
- 26 => true,
- 27 => true,
- 28 => true,
- 29 => true,
- 30 => true,
- 31 => true,
- 32 => true,
- 33 => true,
- 34 => true,
- 35 => true,
- 36 => true,
- 37 => true,
- 38 => true,
- 39 => true,
- 40 => true,
- 41 => true,
- 42 => true,
- 43 => true,
- 44 => true,
- 47 => true,
- 58 => true,
- 59 => true,
- 60 => true,
- 61 => true,
- 62 => true,
- 63 => true,
- 64 => true,
- 91 => true,
- 92 => true,
- 93 => true,
- 94 => true,
- 95 => true,
- 96 => true,
- 123 => true,
- 124 => true,
- 125 => true,
- 126 => true,
- 127 => true,
- 8800 => true,
- 8814 => true,
- 8815 => true,
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php b/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php
deleted file mode 100644
index b3778441..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php
+++ /dev/null
@@ -1,273 +0,0 @@
- true,
- 847 => true,
- 6155 => true,
- 6156 => true,
- 6157 => true,
- 8203 => true,
- 8288 => true,
- 8292 => true,
- 65024 => true,
- 65025 => true,
- 65026 => true,
- 65027 => true,
- 65028 => true,
- 65029 => true,
- 65030 => true,
- 65031 => true,
- 65032 => true,
- 65033 => true,
- 65034 => true,
- 65035 => true,
- 65036 => true,
- 65037 => true,
- 65038 => true,
- 65039 => true,
- 65279 => true,
- 113824 => true,
- 113825 => true,
- 113826 => true,
- 113827 => true,
- 917760 => true,
- 917761 => true,
- 917762 => true,
- 917763 => true,
- 917764 => true,
- 917765 => true,
- 917766 => true,
- 917767 => true,
- 917768 => true,
- 917769 => true,
- 917770 => true,
- 917771 => true,
- 917772 => true,
- 917773 => true,
- 917774 => true,
- 917775 => true,
- 917776 => true,
- 917777 => true,
- 917778 => true,
- 917779 => true,
- 917780 => true,
- 917781 => true,
- 917782 => true,
- 917783 => true,
- 917784 => true,
- 917785 => true,
- 917786 => true,
- 917787 => true,
- 917788 => true,
- 917789 => true,
- 917790 => true,
- 917791 => true,
- 917792 => true,
- 917793 => true,
- 917794 => true,
- 917795 => true,
- 917796 => true,
- 917797 => true,
- 917798 => true,
- 917799 => true,
- 917800 => true,
- 917801 => true,
- 917802 => true,
- 917803 => true,
- 917804 => true,
- 917805 => true,
- 917806 => true,
- 917807 => true,
- 917808 => true,
- 917809 => true,
- 917810 => true,
- 917811 => true,
- 917812 => true,
- 917813 => true,
- 917814 => true,
- 917815 => true,
- 917816 => true,
- 917817 => true,
- 917818 => true,
- 917819 => true,
- 917820 => true,
- 917821 => true,
- 917822 => true,
- 917823 => true,
- 917824 => true,
- 917825 => true,
- 917826 => true,
- 917827 => true,
- 917828 => true,
- 917829 => true,
- 917830 => true,
- 917831 => true,
- 917832 => true,
- 917833 => true,
- 917834 => true,
- 917835 => true,
- 917836 => true,
- 917837 => true,
- 917838 => true,
- 917839 => true,
- 917840 => true,
- 917841 => true,
- 917842 => true,
- 917843 => true,
- 917844 => true,
- 917845 => true,
- 917846 => true,
- 917847 => true,
- 917848 => true,
- 917849 => true,
- 917850 => true,
- 917851 => true,
- 917852 => true,
- 917853 => true,
- 917854 => true,
- 917855 => true,
- 917856 => true,
- 917857 => true,
- 917858 => true,
- 917859 => true,
- 917860 => true,
- 917861 => true,
- 917862 => true,
- 917863 => true,
- 917864 => true,
- 917865 => true,
- 917866 => true,
- 917867 => true,
- 917868 => true,
- 917869 => true,
- 917870 => true,
- 917871 => true,
- 917872 => true,
- 917873 => true,
- 917874 => true,
- 917875 => true,
- 917876 => true,
- 917877 => true,
- 917878 => true,
- 917879 => true,
- 917880 => true,
- 917881 => true,
- 917882 => true,
- 917883 => true,
- 917884 => true,
- 917885 => true,
- 917886 => true,
- 917887 => true,
- 917888 => true,
- 917889 => true,
- 917890 => true,
- 917891 => true,
- 917892 => true,
- 917893 => true,
- 917894 => true,
- 917895 => true,
- 917896 => true,
- 917897 => true,
- 917898 => true,
- 917899 => true,
- 917900 => true,
- 917901 => true,
- 917902 => true,
- 917903 => true,
- 917904 => true,
- 917905 => true,
- 917906 => true,
- 917907 => true,
- 917908 => true,
- 917909 => true,
- 917910 => true,
- 917911 => true,
- 917912 => true,
- 917913 => true,
- 917914 => true,
- 917915 => true,
- 917916 => true,
- 917917 => true,
- 917918 => true,
- 917919 => true,
- 917920 => true,
- 917921 => true,
- 917922 => true,
- 917923 => true,
- 917924 => true,
- 917925 => true,
- 917926 => true,
- 917927 => true,
- 917928 => true,
- 917929 => true,
- 917930 => true,
- 917931 => true,
- 917932 => true,
- 917933 => true,
- 917934 => true,
- 917935 => true,
- 917936 => true,
- 917937 => true,
- 917938 => true,
- 917939 => true,
- 917940 => true,
- 917941 => true,
- 917942 => true,
- 917943 => true,
- 917944 => true,
- 917945 => true,
- 917946 => true,
- 917947 => true,
- 917948 => true,
- 917949 => true,
- 917950 => true,
- 917951 => true,
- 917952 => true,
- 917953 => true,
- 917954 => true,
- 917955 => true,
- 917956 => true,
- 917957 => true,
- 917958 => true,
- 917959 => true,
- 917960 => true,
- 917961 => true,
- 917962 => true,
- 917963 => true,
- 917964 => true,
- 917965 => true,
- 917966 => true,
- 917967 => true,
- 917968 => true,
- 917969 => true,
- 917970 => true,
- 917971 => true,
- 917972 => true,
- 917973 => true,
- 917974 => true,
- 917975 => true,
- 917976 => true,
- 917977 => true,
- 917978 => true,
- 917979 => true,
- 917980 => true,
- 917981 => true,
- 917982 => true,
- 917983 => true,
- 917984 => true,
- 917985 => true,
- 917986 => true,
- 917987 => true,
- 917988 => true,
- 917989 => true,
- 917990 => true,
- 917991 => true,
- 917992 => true,
- 917993 => true,
- 917994 => true,
- 917995 => true,
- 917996 => true,
- 917997 => true,
- 917998 => true,
- 917999 => true,
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php b/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php
deleted file mode 100644
index 9b85fe9d..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php
+++ /dev/null
@@ -1,5778 +0,0 @@
- 'a',
- 66 => 'b',
- 67 => 'c',
- 68 => 'd',
- 69 => 'e',
- 70 => 'f',
- 71 => 'g',
- 72 => 'h',
- 73 => 'i',
- 74 => 'j',
- 75 => 'k',
- 76 => 'l',
- 77 => 'm',
- 78 => 'n',
- 79 => 'o',
- 80 => 'p',
- 81 => 'q',
- 82 => 'r',
- 83 => 's',
- 84 => 't',
- 85 => 'u',
- 86 => 'v',
- 87 => 'w',
- 88 => 'x',
- 89 => 'y',
- 90 => 'z',
- 170 => 'a',
- 178 => '2',
- 179 => '3',
- 181 => 'μ',
- 185 => '1',
- 186 => 'o',
- 188 => '1⁄4',
- 189 => '1⁄2',
- 190 => '3⁄4',
- 192 => 'à',
- 193 => 'á',
- 194 => 'â',
- 195 => 'ã',
- 196 => 'ä',
- 197 => 'å',
- 198 => 'æ',
- 199 => 'ç',
- 200 => 'è',
- 201 => 'é',
- 202 => 'ê',
- 203 => 'ë',
- 204 => 'ì',
- 205 => 'í',
- 206 => 'î',
- 207 => 'ï',
- 208 => 'ð',
- 209 => 'ñ',
- 210 => 'ò',
- 211 => 'ó',
- 212 => 'ô',
- 213 => 'õ',
- 214 => 'ö',
- 216 => 'ø',
- 217 => 'ù',
- 218 => 'ú',
- 219 => 'û',
- 220 => 'ü',
- 221 => 'ý',
- 222 => 'þ',
- 256 => 'ā',
- 258 => 'ă',
- 260 => 'ą',
- 262 => 'ć',
- 264 => 'ĉ',
- 266 => 'ċ',
- 268 => 'č',
- 270 => 'ď',
- 272 => 'đ',
- 274 => 'ē',
- 276 => 'ĕ',
- 278 => 'ė',
- 280 => 'ę',
- 282 => 'ě',
- 284 => 'ĝ',
- 286 => 'ğ',
- 288 => 'ġ',
- 290 => 'ģ',
- 292 => 'ĥ',
- 294 => 'ħ',
- 296 => 'ĩ',
- 298 => 'ī',
- 300 => 'ĭ',
- 302 => 'į',
- 304 => 'i̇',
- 306 => 'ij',
- 307 => 'ij',
- 308 => 'ĵ',
- 310 => 'ķ',
- 313 => 'ĺ',
- 315 => 'ļ',
- 317 => 'ľ',
- 319 => 'l·',
- 320 => 'l·',
- 321 => 'ł',
- 323 => 'ń',
- 325 => 'ņ',
- 327 => 'ň',
- 329 => 'ʼn',
- 330 => 'ŋ',
- 332 => 'ō',
- 334 => 'ŏ',
- 336 => 'ő',
- 338 => 'œ',
- 340 => 'ŕ',
- 342 => 'ŗ',
- 344 => 'ř',
- 346 => 'ś',
- 348 => 'ŝ',
- 350 => 'ş',
- 352 => 'š',
- 354 => 'ţ',
- 356 => 'ť',
- 358 => 'ŧ',
- 360 => 'ũ',
- 362 => 'ū',
- 364 => 'ŭ',
- 366 => 'ů',
- 368 => 'ű',
- 370 => 'ų',
- 372 => 'ŵ',
- 374 => 'ŷ',
- 376 => 'ÿ',
- 377 => 'ź',
- 379 => 'ż',
- 381 => 'ž',
- 383 => 's',
- 385 => 'ɓ',
- 386 => 'ƃ',
- 388 => 'ƅ',
- 390 => 'ɔ',
- 391 => 'ƈ',
- 393 => 'ɖ',
- 394 => 'ɗ',
- 395 => 'ƌ',
- 398 => 'ǝ',
- 399 => 'ə',
- 400 => 'ɛ',
- 401 => 'ƒ',
- 403 => 'ɠ',
- 404 => 'ɣ',
- 406 => 'ɩ',
- 407 => 'ɨ',
- 408 => 'ƙ',
- 412 => 'ɯ',
- 413 => 'ɲ',
- 415 => 'ɵ',
- 416 => 'ơ',
- 418 => 'ƣ',
- 420 => 'ƥ',
- 422 => 'ʀ',
- 423 => 'ƨ',
- 425 => 'ʃ',
- 428 => 'ƭ',
- 430 => 'ʈ',
- 431 => 'ư',
- 433 => 'ʊ',
- 434 => 'ʋ',
- 435 => 'ƴ',
- 437 => 'ƶ',
- 439 => 'ʒ',
- 440 => 'ƹ',
- 444 => 'ƽ',
- 452 => 'dž',
- 453 => 'dž',
- 454 => 'dž',
- 455 => 'lj',
- 456 => 'lj',
- 457 => 'lj',
- 458 => 'nj',
- 459 => 'nj',
- 460 => 'nj',
- 461 => 'ǎ',
- 463 => 'ǐ',
- 465 => 'ǒ',
- 467 => 'ǔ',
- 469 => 'ǖ',
- 471 => 'ǘ',
- 473 => 'ǚ',
- 475 => 'ǜ',
- 478 => 'ǟ',
- 480 => 'ǡ',
- 482 => 'ǣ',
- 484 => 'ǥ',
- 486 => 'ǧ',
- 488 => 'ǩ',
- 490 => 'ǫ',
- 492 => 'ǭ',
- 494 => 'ǯ',
- 497 => 'dz',
- 498 => 'dz',
- 499 => 'dz',
- 500 => 'ǵ',
- 502 => 'ƕ',
- 503 => 'ƿ',
- 504 => 'ǹ',
- 506 => 'ǻ',
- 508 => 'ǽ',
- 510 => 'ǿ',
- 512 => 'ȁ',
- 514 => 'ȃ',
- 516 => 'ȅ',
- 518 => 'ȇ',
- 520 => 'ȉ',
- 522 => 'ȋ',
- 524 => 'ȍ',
- 526 => 'ȏ',
- 528 => 'ȑ',
- 530 => 'ȓ',
- 532 => 'ȕ',
- 534 => 'ȗ',
- 536 => 'ș',
- 538 => 'ț',
- 540 => 'ȝ',
- 542 => 'ȟ',
- 544 => 'ƞ',
- 546 => 'ȣ',
- 548 => 'ȥ',
- 550 => 'ȧ',
- 552 => 'ȩ',
- 554 => 'ȫ',
- 556 => 'ȭ',
- 558 => 'ȯ',
- 560 => 'ȱ',
- 562 => 'ȳ',
- 570 => 'ⱥ',
- 571 => 'ȼ',
- 573 => 'ƚ',
- 574 => 'ⱦ',
- 577 => 'ɂ',
- 579 => 'ƀ',
- 580 => 'ʉ',
- 581 => 'ʌ',
- 582 => 'ɇ',
- 584 => 'ɉ',
- 586 => 'ɋ',
- 588 => 'ɍ',
- 590 => 'ɏ',
- 688 => 'h',
- 689 => 'ɦ',
- 690 => 'j',
- 691 => 'r',
- 692 => 'ɹ',
- 693 => 'ɻ',
- 694 => 'ʁ',
- 695 => 'w',
- 696 => 'y',
- 736 => 'ɣ',
- 737 => 'l',
- 738 => 's',
- 739 => 'x',
- 740 => 'ʕ',
- 832 => '̀',
- 833 => '́',
- 835 => '̓',
- 836 => '̈́',
- 837 => 'ι',
- 880 => 'ͱ',
- 882 => 'ͳ',
- 884 => 'ʹ',
- 886 => 'ͷ',
- 895 => 'ϳ',
- 902 => 'ά',
- 903 => '·',
- 904 => 'έ',
- 905 => 'ή',
- 906 => 'ί',
- 908 => 'ό',
- 910 => 'ύ',
- 911 => 'ώ',
- 913 => 'α',
- 914 => 'β',
- 915 => 'γ',
- 916 => 'δ',
- 917 => 'ε',
- 918 => 'ζ',
- 919 => 'η',
- 920 => 'θ',
- 921 => 'ι',
- 922 => 'κ',
- 923 => 'λ',
- 924 => 'μ',
- 925 => 'ν',
- 926 => 'ξ',
- 927 => 'ο',
- 928 => 'π',
- 929 => 'ρ',
- 931 => 'σ',
- 932 => 'τ',
- 933 => 'υ',
- 934 => 'φ',
- 935 => 'χ',
- 936 => 'ψ',
- 937 => 'ω',
- 938 => 'ϊ',
- 939 => 'ϋ',
- 975 => 'ϗ',
- 976 => 'β',
- 977 => 'θ',
- 978 => 'υ',
- 979 => 'ύ',
- 980 => 'ϋ',
- 981 => 'φ',
- 982 => 'π',
- 984 => 'ϙ',
- 986 => 'ϛ',
- 988 => 'ϝ',
- 990 => 'ϟ',
- 992 => 'ϡ',
- 994 => 'ϣ',
- 996 => 'ϥ',
- 998 => 'ϧ',
- 1000 => 'ϩ',
- 1002 => 'ϫ',
- 1004 => 'ϭ',
- 1006 => 'ϯ',
- 1008 => 'κ',
- 1009 => 'ρ',
- 1010 => 'σ',
- 1012 => 'θ',
- 1013 => 'ε',
- 1015 => 'ϸ',
- 1017 => 'σ',
- 1018 => 'ϻ',
- 1021 => 'ͻ',
- 1022 => 'ͼ',
- 1023 => 'ͽ',
- 1024 => 'ѐ',
- 1025 => 'ё',
- 1026 => 'ђ',
- 1027 => 'ѓ',
- 1028 => 'є',
- 1029 => 'ѕ',
- 1030 => 'і',
- 1031 => 'ї',
- 1032 => 'ј',
- 1033 => 'љ',
- 1034 => 'њ',
- 1035 => 'ћ',
- 1036 => 'ќ',
- 1037 => 'ѝ',
- 1038 => 'ў',
- 1039 => 'џ',
- 1040 => 'а',
- 1041 => 'б',
- 1042 => 'в',
- 1043 => 'г',
- 1044 => 'д',
- 1045 => 'е',
- 1046 => 'ж',
- 1047 => 'з',
- 1048 => 'и',
- 1049 => 'й',
- 1050 => 'к',
- 1051 => 'л',
- 1052 => 'м',
- 1053 => 'н',
- 1054 => 'о',
- 1055 => 'п',
- 1056 => 'р',
- 1057 => 'с',
- 1058 => 'т',
- 1059 => 'у',
- 1060 => 'ф',
- 1061 => 'х',
- 1062 => 'ц',
- 1063 => 'ч',
- 1064 => 'ш',
- 1065 => 'щ',
- 1066 => 'ъ',
- 1067 => 'ы',
- 1068 => 'ь',
- 1069 => 'э',
- 1070 => 'ю',
- 1071 => 'я',
- 1120 => 'ѡ',
- 1122 => 'ѣ',
- 1124 => 'ѥ',
- 1126 => 'ѧ',
- 1128 => 'ѩ',
- 1130 => 'ѫ',
- 1132 => 'ѭ',
- 1134 => 'ѯ',
- 1136 => 'ѱ',
- 1138 => 'ѳ',
- 1140 => 'ѵ',
- 1142 => 'ѷ',
- 1144 => 'ѹ',
- 1146 => 'ѻ',
- 1148 => 'ѽ',
- 1150 => 'ѿ',
- 1152 => 'ҁ',
- 1162 => 'ҋ',
- 1164 => 'ҍ',
- 1166 => 'ҏ',
- 1168 => 'ґ',
- 1170 => 'ғ',
- 1172 => 'ҕ',
- 1174 => 'җ',
- 1176 => 'ҙ',
- 1178 => 'қ',
- 1180 => 'ҝ',
- 1182 => 'ҟ',
- 1184 => 'ҡ',
- 1186 => 'ң',
- 1188 => 'ҥ',
- 1190 => 'ҧ',
- 1192 => 'ҩ',
- 1194 => 'ҫ',
- 1196 => 'ҭ',
- 1198 => 'ү',
- 1200 => 'ұ',
- 1202 => 'ҳ',
- 1204 => 'ҵ',
- 1206 => 'ҷ',
- 1208 => 'ҹ',
- 1210 => 'һ',
- 1212 => 'ҽ',
- 1214 => 'ҿ',
- 1217 => 'ӂ',
- 1219 => 'ӄ',
- 1221 => 'ӆ',
- 1223 => 'ӈ',
- 1225 => 'ӊ',
- 1227 => 'ӌ',
- 1229 => 'ӎ',
- 1232 => 'ӑ',
- 1234 => 'ӓ',
- 1236 => 'ӕ',
- 1238 => 'ӗ',
- 1240 => 'ә',
- 1242 => 'ӛ',
- 1244 => 'ӝ',
- 1246 => 'ӟ',
- 1248 => 'ӡ',
- 1250 => 'ӣ',
- 1252 => 'ӥ',
- 1254 => 'ӧ',
- 1256 => 'ө',
- 1258 => 'ӫ',
- 1260 => 'ӭ',
- 1262 => 'ӯ',
- 1264 => 'ӱ',
- 1266 => 'ӳ',
- 1268 => 'ӵ',
- 1270 => 'ӷ',
- 1272 => 'ӹ',
- 1274 => 'ӻ',
- 1276 => 'ӽ',
- 1278 => 'ӿ',
- 1280 => 'ԁ',
- 1282 => 'ԃ',
- 1284 => 'ԅ',
- 1286 => 'ԇ',
- 1288 => 'ԉ',
- 1290 => 'ԋ',
- 1292 => 'ԍ',
- 1294 => 'ԏ',
- 1296 => 'ԑ',
- 1298 => 'ԓ',
- 1300 => 'ԕ',
- 1302 => 'ԗ',
- 1304 => 'ԙ',
- 1306 => 'ԛ',
- 1308 => 'ԝ',
- 1310 => 'ԟ',
- 1312 => 'ԡ',
- 1314 => 'ԣ',
- 1316 => 'ԥ',
- 1318 => 'ԧ',
- 1320 => 'ԩ',
- 1322 => 'ԫ',
- 1324 => 'ԭ',
- 1326 => 'ԯ',
- 1329 => 'ա',
- 1330 => 'բ',
- 1331 => 'գ',
- 1332 => 'դ',
- 1333 => 'ե',
- 1334 => 'զ',
- 1335 => 'է',
- 1336 => 'ը',
- 1337 => 'թ',
- 1338 => 'ժ',
- 1339 => 'ի',
- 1340 => 'լ',
- 1341 => 'խ',
- 1342 => 'ծ',
- 1343 => 'կ',
- 1344 => 'հ',
- 1345 => 'ձ',
- 1346 => 'ղ',
- 1347 => 'ճ',
- 1348 => 'մ',
- 1349 => 'յ',
- 1350 => 'ն',
- 1351 => 'շ',
- 1352 => 'ո',
- 1353 => 'չ',
- 1354 => 'պ',
- 1355 => 'ջ',
- 1356 => 'ռ',
- 1357 => 'ս',
- 1358 => 'վ',
- 1359 => 'տ',
- 1360 => 'ր',
- 1361 => 'ց',
- 1362 => 'ւ',
- 1363 => 'փ',
- 1364 => 'ք',
- 1365 => 'օ',
- 1366 => 'ֆ',
- 1415 => 'եւ',
- 1653 => 'اٴ',
- 1654 => 'وٴ',
- 1655 => 'ۇٴ',
- 1656 => 'يٴ',
- 2392 => 'क़',
- 2393 => 'ख़',
- 2394 => 'ग़',
- 2395 => 'ज़',
- 2396 => 'ड़',
- 2397 => 'ढ़',
- 2398 => 'फ़',
- 2399 => 'य़',
- 2524 => 'ড়',
- 2525 => 'ঢ়',
- 2527 => 'য়',
- 2611 => 'ਲ਼',
- 2614 => 'ਸ਼',
- 2649 => 'ਖ਼',
- 2650 => 'ਗ਼',
- 2651 => 'ਜ਼',
- 2654 => 'ਫ਼',
- 2908 => 'ଡ଼',
- 2909 => 'ଢ଼',
- 3635 => 'ํา',
- 3763 => 'ໍາ',
- 3804 => 'ຫນ',
- 3805 => 'ຫມ',
- 3852 => '་',
- 3907 => 'གྷ',
- 3917 => 'ཌྷ',
- 3922 => 'དྷ',
- 3927 => 'བྷ',
- 3932 => 'ཛྷ',
- 3945 => 'ཀྵ',
- 3955 => 'ཱི',
- 3957 => 'ཱུ',
- 3958 => 'ྲྀ',
- 3959 => 'ྲཱྀ',
- 3960 => 'ླྀ',
- 3961 => 'ླཱྀ',
- 3969 => 'ཱྀ',
- 3987 => 'ྒྷ',
- 3997 => 'ྜྷ',
- 4002 => 'ྡྷ',
- 4007 => 'ྦྷ',
- 4012 => 'ྫྷ',
- 4025 => 'ྐྵ',
- 4295 => 'ⴧ',
- 4301 => 'ⴭ',
- 4348 => 'ნ',
- 5112 => 'Ᏸ',
- 5113 => 'Ᏹ',
- 5114 => 'Ᏺ',
- 5115 => 'Ᏻ',
- 5116 => 'Ᏼ',
- 5117 => 'Ᏽ',
- 7296 => 'в',
- 7297 => 'д',
- 7298 => 'о',
- 7299 => 'с',
- 7300 => 'т',
- 7301 => 'т',
- 7302 => 'ъ',
- 7303 => 'ѣ',
- 7304 => 'ꙋ',
- 7312 => 'ა',
- 7313 => 'ბ',
- 7314 => 'გ',
- 7315 => 'დ',
- 7316 => 'ე',
- 7317 => 'ვ',
- 7318 => 'ზ',
- 7319 => 'თ',
- 7320 => 'ი',
- 7321 => 'კ',
- 7322 => 'ლ',
- 7323 => 'მ',
- 7324 => 'ნ',
- 7325 => 'ო',
- 7326 => 'პ',
- 7327 => 'ჟ',
- 7328 => 'რ',
- 7329 => 'ს',
- 7330 => 'ტ',
- 7331 => 'უ',
- 7332 => 'ფ',
- 7333 => 'ქ',
- 7334 => 'ღ',
- 7335 => 'ყ',
- 7336 => 'შ',
- 7337 => 'ჩ',
- 7338 => 'ც',
- 7339 => 'ძ',
- 7340 => 'წ',
- 7341 => 'ჭ',
- 7342 => 'ხ',
- 7343 => 'ჯ',
- 7344 => 'ჰ',
- 7345 => 'ჱ',
- 7346 => 'ჲ',
- 7347 => 'ჳ',
- 7348 => 'ჴ',
- 7349 => 'ჵ',
- 7350 => 'ჶ',
- 7351 => 'ჷ',
- 7352 => 'ჸ',
- 7353 => 'ჹ',
- 7354 => 'ჺ',
- 7357 => 'ჽ',
- 7358 => 'ჾ',
- 7359 => 'ჿ',
- 7468 => 'a',
- 7469 => 'æ',
- 7470 => 'b',
- 7472 => 'd',
- 7473 => 'e',
- 7474 => 'ǝ',
- 7475 => 'g',
- 7476 => 'h',
- 7477 => 'i',
- 7478 => 'j',
- 7479 => 'k',
- 7480 => 'l',
- 7481 => 'm',
- 7482 => 'n',
- 7484 => 'o',
- 7485 => 'ȣ',
- 7486 => 'p',
- 7487 => 'r',
- 7488 => 't',
- 7489 => 'u',
- 7490 => 'w',
- 7491 => 'a',
- 7492 => 'ɐ',
- 7493 => 'ɑ',
- 7494 => 'ᴂ',
- 7495 => 'b',
- 7496 => 'd',
- 7497 => 'e',
- 7498 => 'ə',
- 7499 => 'ɛ',
- 7500 => 'ɜ',
- 7501 => 'g',
- 7503 => 'k',
- 7504 => 'm',
- 7505 => 'ŋ',
- 7506 => 'o',
- 7507 => 'ɔ',
- 7508 => 'ᴖ',
- 7509 => 'ᴗ',
- 7510 => 'p',
- 7511 => 't',
- 7512 => 'u',
- 7513 => 'ᴝ',
- 7514 => 'ɯ',
- 7515 => 'v',
- 7516 => 'ᴥ',
- 7517 => 'β',
- 7518 => 'γ',
- 7519 => 'δ',
- 7520 => 'φ',
- 7521 => 'χ',
- 7522 => 'i',
- 7523 => 'r',
- 7524 => 'u',
- 7525 => 'v',
- 7526 => 'β',
- 7527 => 'γ',
- 7528 => 'ρ',
- 7529 => 'φ',
- 7530 => 'χ',
- 7544 => 'н',
- 7579 => 'ɒ',
- 7580 => 'c',
- 7581 => 'ɕ',
- 7582 => 'ð',
- 7583 => 'ɜ',
- 7584 => 'f',
- 7585 => 'ɟ',
- 7586 => 'ɡ',
- 7587 => 'ɥ',
- 7588 => 'ɨ',
- 7589 => 'ɩ',
- 7590 => 'ɪ',
- 7591 => 'ᵻ',
- 7592 => 'ʝ',
- 7593 => 'ɭ',
- 7594 => 'ᶅ',
- 7595 => 'ʟ',
- 7596 => 'ɱ',
- 7597 => 'ɰ',
- 7598 => 'ɲ',
- 7599 => 'ɳ',
- 7600 => 'ɴ',
- 7601 => 'ɵ',
- 7602 => 'ɸ',
- 7603 => 'ʂ',
- 7604 => 'ʃ',
- 7605 => 'ƫ',
- 7606 => 'ʉ',
- 7607 => 'ʊ',
- 7608 => 'ᴜ',
- 7609 => 'ʋ',
- 7610 => 'ʌ',
- 7611 => 'z',
- 7612 => 'ʐ',
- 7613 => 'ʑ',
- 7614 => 'ʒ',
- 7615 => 'θ',
- 7680 => 'ḁ',
- 7682 => 'ḃ',
- 7684 => 'ḅ',
- 7686 => 'ḇ',
- 7688 => 'ḉ',
- 7690 => 'ḋ',
- 7692 => 'ḍ',
- 7694 => 'ḏ',
- 7696 => 'ḑ',
- 7698 => 'ḓ',
- 7700 => 'ḕ',
- 7702 => 'ḗ',
- 7704 => 'ḙ',
- 7706 => 'ḛ',
- 7708 => 'ḝ',
- 7710 => 'ḟ',
- 7712 => 'ḡ',
- 7714 => 'ḣ',
- 7716 => 'ḥ',
- 7718 => 'ḧ',
- 7720 => 'ḩ',
- 7722 => 'ḫ',
- 7724 => 'ḭ',
- 7726 => 'ḯ',
- 7728 => 'ḱ',
- 7730 => 'ḳ',
- 7732 => 'ḵ',
- 7734 => 'ḷ',
- 7736 => 'ḹ',
- 7738 => 'ḻ',
- 7740 => 'ḽ',
- 7742 => 'ḿ',
- 7744 => 'ṁ',
- 7746 => 'ṃ',
- 7748 => 'ṅ',
- 7750 => 'ṇ',
- 7752 => 'ṉ',
- 7754 => 'ṋ',
- 7756 => 'ṍ',
- 7758 => 'ṏ',
- 7760 => 'ṑ',
- 7762 => 'ṓ',
- 7764 => 'ṕ',
- 7766 => 'ṗ',
- 7768 => 'ṙ',
- 7770 => 'ṛ',
- 7772 => 'ṝ',
- 7774 => 'ṟ',
- 7776 => 'ṡ',
- 7778 => 'ṣ',
- 7780 => 'ṥ',
- 7782 => 'ṧ',
- 7784 => 'ṩ',
- 7786 => 'ṫ',
- 7788 => 'ṭ',
- 7790 => 'ṯ',
- 7792 => 'ṱ',
- 7794 => 'ṳ',
- 7796 => 'ṵ',
- 7798 => 'ṷ',
- 7800 => 'ṹ',
- 7802 => 'ṻ',
- 7804 => 'ṽ',
- 7806 => 'ṿ',
- 7808 => 'ẁ',
- 7810 => 'ẃ',
- 7812 => 'ẅ',
- 7814 => 'ẇ',
- 7816 => 'ẉ',
- 7818 => 'ẋ',
- 7820 => 'ẍ',
- 7822 => 'ẏ',
- 7824 => 'ẑ',
- 7826 => 'ẓ',
- 7828 => 'ẕ',
- 7834 => 'aʾ',
- 7835 => 'ṡ',
- 7838 => 'ss',
- 7840 => 'ạ',
- 7842 => 'ả',
- 7844 => 'ấ',
- 7846 => 'ầ',
- 7848 => 'ẩ',
- 7850 => 'ẫ',
- 7852 => 'ậ',
- 7854 => 'ắ',
- 7856 => 'ằ',
- 7858 => 'ẳ',
- 7860 => 'ẵ',
- 7862 => 'ặ',
- 7864 => 'ẹ',
- 7866 => 'ẻ',
- 7868 => 'ẽ',
- 7870 => 'ế',
- 7872 => 'ề',
- 7874 => 'ể',
- 7876 => 'ễ',
- 7878 => 'ệ',
- 7880 => 'ỉ',
- 7882 => 'ị',
- 7884 => 'ọ',
- 7886 => 'ỏ',
- 7888 => 'ố',
- 7890 => 'ồ',
- 7892 => 'ổ',
- 7894 => 'ỗ',
- 7896 => 'ộ',
- 7898 => 'ớ',
- 7900 => 'ờ',
- 7902 => 'ở',
- 7904 => 'ỡ',
- 7906 => 'ợ',
- 7908 => 'ụ',
- 7910 => 'ủ',
- 7912 => 'ứ',
- 7914 => 'ừ',
- 7916 => 'ử',
- 7918 => 'ữ',
- 7920 => 'ự',
- 7922 => 'ỳ',
- 7924 => 'ỵ',
- 7926 => 'ỷ',
- 7928 => 'ỹ',
- 7930 => 'ỻ',
- 7932 => 'ỽ',
- 7934 => 'ỿ',
- 7944 => 'ἀ',
- 7945 => 'ἁ',
- 7946 => 'ἂ',
- 7947 => 'ἃ',
- 7948 => 'ἄ',
- 7949 => 'ἅ',
- 7950 => 'ἆ',
- 7951 => 'ἇ',
- 7960 => 'ἐ',
- 7961 => 'ἑ',
- 7962 => 'ἒ',
- 7963 => 'ἓ',
- 7964 => 'ἔ',
- 7965 => 'ἕ',
- 7976 => 'ἠ',
- 7977 => 'ἡ',
- 7978 => 'ἢ',
- 7979 => 'ἣ',
- 7980 => 'ἤ',
- 7981 => 'ἥ',
- 7982 => 'ἦ',
- 7983 => 'ἧ',
- 7992 => 'ἰ',
- 7993 => 'ἱ',
- 7994 => 'ἲ',
- 7995 => 'ἳ',
- 7996 => 'ἴ',
- 7997 => 'ἵ',
- 7998 => 'ἶ',
- 7999 => 'ἷ',
- 8008 => 'ὀ',
- 8009 => 'ὁ',
- 8010 => 'ὂ',
- 8011 => 'ὃ',
- 8012 => 'ὄ',
- 8013 => 'ὅ',
- 8025 => 'ὑ',
- 8027 => 'ὓ',
- 8029 => 'ὕ',
- 8031 => 'ὗ',
- 8040 => 'ὠ',
- 8041 => 'ὡ',
- 8042 => 'ὢ',
- 8043 => 'ὣ',
- 8044 => 'ὤ',
- 8045 => 'ὥ',
- 8046 => 'ὦ',
- 8047 => 'ὧ',
- 8049 => 'ά',
- 8051 => 'έ',
- 8053 => 'ή',
- 8055 => 'ί',
- 8057 => 'ό',
- 8059 => 'ύ',
- 8061 => 'ώ',
- 8064 => 'ἀι',
- 8065 => 'ἁι',
- 8066 => 'ἂι',
- 8067 => 'ἃι',
- 8068 => 'ἄι',
- 8069 => 'ἅι',
- 8070 => 'ἆι',
- 8071 => 'ἇι',
- 8072 => 'ἀι',
- 8073 => 'ἁι',
- 8074 => 'ἂι',
- 8075 => 'ἃι',
- 8076 => 'ἄι',
- 8077 => 'ἅι',
- 8078 => 'ἆι',
- 8079 => 'ἇι',
- 8080 => 'ἠι',
- 8081 => 'ἡι',
- 8082 => 'ἢι',
- 8083 => 'ἣι',
- 8084 => 'ἤι',
- 8085 => 'ἥι',
- 8086 => 'ἦι',
- 8087 => 'ἧι',
- 8088 => 'ἠι',
- 8089 => 'ἡι',
- 8090 => 'ἢι',
- 8091 => 'ἣι',
- 8092 => 'ἤι',
- 8093 => 'ἥι',
- 8094 => 'ἦι',
- 8095 => 'ἧι',
- 8096 => 'ὠι',
- 8097 => 'ὡι',
- 8098 => 'ὢι',
- 8099 => 'ὣι',
- 8100 => 'ὤι',
- 8101 => 'ὥι',
- 8102 => 'ὦι',
- 8103 => 'ὧι',
- 8104 => 'ὠι',
- 8105 => 'ὡι',
- 8106 => 'ὢι',
- 8107 => 'ὣι',
- 8108 => 'ὤι',
- 8109 => 'ὥι',
- 8110 => 'ὦι',
- 8111 => 'ὧι',
- 8114 => 'ὰι',
- 8115 => 'αι',
- 8116 => 'άι',
- 8119 => 'ᾶι',
- 8120 => 'ᾰ',
- 8121 => 'ᾱ',
- 8122 => 'ὰ',
- 8123 => 'ά',
- 8124 => 'αι',
- 8126 => 'ι',
- 8130 => 'ὴι',
- 8131 => 'ηι',
- 8132 => 'ήι',
- 8135 => 'ῆι',
- 8136 => 'ὲ',
- 8137 => 'έ',
- 8138 => 'ὴ',
- 8139 => 'ή',
- 8140 => 'ηι',
- 8147 => 'ΐ',
- 8152 => 'ῐ',
- 8153 => 'ῑ',
- 8154 => 'ὶ',
- 8155 => 'ί',
- 8163 => 'ΰ',
- 8168 => 'ῠ',
- 8169 => 'ῡ',
- 8170 => 'ὺ',
- 8171 => 'ύ',
- 8172 => 'ῥ',
- 8178 => 'ὼι',
- 8179 => 'ωι',
- 8180 => 'ώι',
- 8183 => 'ῶι',
- 8184 => 'ὸ',
- 8185 => 'ό',
- 8186 => 'ὼ',
- 8187 => 'ώ',
- 8188 => 'ωι',
- 8209 => '‐',
- 8243 => '′′',
- 8244 => '′′′',
- 8246 => '‵‵',
- 8247 => '‵‵‵',
- 8279 => '′′′′',
- 8304 => '0',
- 8305 => 'i',
- 8308 => '4',
- 8309 => '5',
- 8310 => '6',
- 8311 => '7',
- 8312 => '8',
- 8313 => '9',
- 8315 => '−',
- 8319 => 'n',
- 8320 => '0',
- 8321 => '1',
- 8322 => '2',
- 8323 => '3',
- 8324 => '4',
- 8325 => '5',
- 8326 => '6',
- 8327 => '7',
- 8328 => '8',
- 8329 => '9',
- 8331 => '−',
- 8336 => 'a',
- 8337 => 'e',
- 8338 => 'o',
- 8339 => 'x',
- 8340 => 'ə',
- 8341 => 'h',
- 8342 => 'k',
- 8343 => 'l',
- 8344 => 'm',
- 8345 => 'n',
- 8346 => 'p',
- 8347 => 's',
- 8348 => 't',
- 8360 => 'rs',
- 8450 => 'c',
- 8451 => '°c',
- 8455 => 'ɛ',
- 8457 => '°f',
- 8458 => 'g',
- 8459 => 'h',
- 8460 => 'h',
- 8461 => 'h',
- 8462 => 'h',
- 8463 => 'ħ',
- 8464 => 'i',
- 8465 => 'i',
- 8466 => 'l',
- 8467 => 'l',
- 8469 => 'n',
- 8470 => 'no',
- 8473 => 'p',
- 8474 => 'q',
- 8475 => 'r',
- 8476 => 'r',
- 8477 => 'r',
- 8480 => 'sm',
- 8481 => 'tel',
- 8482 => 'tm',
- 8484 => 'z',
- 8486 => 'ω',
- 8488 => 'z',
- 8490 => 'k',
- 8491 => 'å',
- 8492 => 'b',
- 8493 => 'c',
- 8495 => 'e',
- 8496 => 'e',
- 8497 => 'f',
- 8499 => 'm',
- 8500 => 'o',
- 8501 => 'א',
- 8502 => 'ב',
- 8503 => 'ג',
- 8504 => 'ד',
- 8505 => 'i',
- 8507 => 'fax',
- 8508 => 'π',
- 8509 => 'γ',
- 8510 => 'γ',
- 8511 => 'π',
- 8512 => '∑',
- 8517 => 'd',
- 8518 => 'd',
- 8519 => 'e',
- 8520 => 'i',
- 8521 => 'j',
- 8528 => '1⁄7',
- 8529 => '1⁄9',
- 8530 => '1⁄10',
- 8531 => '1⁄3',
- 8532 => '2⁄3',
- 8533 => '1⁄5',
- 8534 => '2⁄5',
- 8535 => '3⁄5',
- 8536 => '4⁄5',
- 8537 => '1⁄6',
- 8538 => '5⁄6',
- 8539 => '1⁄8',
- 8540 => '3⁄8',
- 8541 => '5⁄8',
- 8542 => '7⁄8',
- 8543 => '1⁄',
- 8544 => 'i',
- 8545 => 'ii',
- 8546 => 'iii',
- 8547 => 'iv',
- 8548 => 'v',
- 8549 => 'vi',
- 8550 => 'vii',
- 8551 => 'viii',
- 8552 => 'ix',
- 8553 => 'x',
- 8554 => 'xi',
- 8555 => 'xii',
- 8556 => 'l',
- 8557 => 'c',
- 8558 => 'd',
- 8559 => 'm',
- 8560 => 'i',
- 8561 => 'ii',
- 8562 => 'iii',
- 8563 => 'iv',
- 8564 => 'v',
- 8565 => 'vi',
- 8566 => 'vii',
- 8567 => 'viii',
- 8568 => 'ix',
- 8569 => 'x',
- 8570 => 'xi',
- 8571 => 'xii',
- 8572 => 'l',
- 8573 => 'c',
- 8574 => 'd',
- 8575 => 'm',
- 8585 => '0⁄3',
- 8748 => '∫∫',
- 8749 => '∫∫∫',
- 8751 => '∮∮',
- 8752 => '∮∮∮',
- 9001 => '〈',
- 9002 => '〉',
- 9312 => '1',
- 9313 => '2',
- 9314 => '3',
- 9315 => '4',
- 9316 => '5',
- 9317 => '6',
- 9318 => '7',
- 9319 => '8',
- 9320 => '9',
- 9321 => '10',
- 9322 => '11',
- 9323 => '12',
- 9324 => '13',
- 9325 => '14',
- 9326 => '15',
- 9327 => '16',
- 9328 => '17',
- 9329 => '18',
- 9330 => '19',
- 9331 => '20',
- 9398 => 'a',
- 9399 => 'b',
- 9400 => 'c',
- 9401 => 'd',
- 9402 => 'e',
- 9403 => 'f',
- 9404 => 'g',
- 9405 => 'h',
- 9406 => 'i',
- 9407 => 'j',
- 9408 => 'k',
- 9409 => 'l',
- 9410 => 'm',
- 9411 => 'n',
- 9412 => 'o',
- 9413 => 'p',
- 9414 => 'q',
- 9415 => 'r',
- 9416 => 's',
- 9417 => 't',
- 9418 => 'u',
- 9419 => 'v',
- 9420 => 'w',
- 9421 => 'x',
- 9422 => 'y',
- 9423 => 'z',
- 9424 => 'a',
- 9425 => 'b',
- 9426 => 'c',
- 9427 => 'd',
- 9428 => 'e',
- 9429 => 'f',
- 9430 => 'g',
- 9431 => 'h',
- 9432 => 'i',
- 9433 => 'j',
- 9434 => 'k',
- 9435 => 'l',
- 9436 => 'm',
- 9437 => 'n',
- 9438 => 'o',
- 9439 => 'p',
- 9440 => 'q',
- 9441 => 'r',
- 9442 => 's',
- 9443 => 't',
- 9444 => 'u',
- 9445 => 'v',
- 9446 => 'w',
- 9447 => 'x',
- 9448 => 'y',
- 9449 => 'z',
- 9450 => '0',
- 10764 => '∫∫∫∫',
- 10972 => '⫝̸',
- 11264 => 'ⰰ',
- 11265 => 'ⰱ',
- 11266 => 'ⰲ',
- 11267 => 'ⰳ',
- 11268 => 'ⰴ',
- 11269 => 'ⰵ',
- 11270 => 'ⰶ',
- 11271 => 'ⰷ',
- 11272 => 'ⰸ',
- 11273 => 'ⰹ',
- 11274 => 'ⰺ',
- 11275 => 'ⰻ',
- 11276 => 'ⰼ',
- 11277 => 'ⰽ',
- 11278 => 'ⰾ',
- 11279 => 'ⰿ',
- 11280 => 'ⱀ',
- 11281 => 'ⱁ',
- 11282 => 'ⱂ',
- 11283 => 'ⱃ',
- 11284 => 'ⱄ',
- 11285 => 'ⱅ',
- 11286 => 'ⱆ',
- 11287 => 'ⱇ',
- 11288 => 'ⱈ',
- 11289 => 'ⱉ',
- 11290 => 'ⱊ',
- 11291 => 'ⱋ',
- 11292 => 'ⱌ',
- 11293 => 'ⱍ',
- 11294 => 'ⱎ',
- 11295 => 'ⱏ',
- 11296 => 'ⱐ',
- 11297 => 'ⱑ',
- 11298 => 'ⱒ',
- 11299 => 'ⱓ',
- 11300 => 'ⱔ',
- 11301 => 'ⱕ',
- 11302 => 'ⱖ',
- 11303 => 'ⱗ',
- 11304 => 'ⱘ',
- 11305 => 'ⱙ',
- 11306 => 'ⱚ',
- 11307 => 'ⱛ',
- 11308 => 'ⱜ',
- 11309 => 'ⱝ',
- 11310 => 'ⱞ',
- 11360 => 'ⱡ',
- 11362 => 'ɫ',
- 11363 => 'ᵽ',
- 11364 => 'ɽ',
- 11367 => 'ⱨ',
- 11369 => 'ⱪ',
- 11371 => 'ⱬ',
- 11373 => 'ɑ',
- 11374 => 'ɱ',
- 11375 => 'ɐ',
- 11376 => 'ɒ',
- 11378 => 'ⱳ',
- 11381 => 'ⱶ',
- 11388 => 'j',
- 11389 => 'v',
- 11390 => 'ȿ',
- 11391 => 'ɀ',
- 11392 => 'ⲁ',
- 11394 => 'ⲃ',
- 11396 => 'ⲅ',
- 11398 => 'ⲇ',
- 11400 => 'ⲉ',
- 11402 => 'ⲋ',
- 11404 => 'ⲍ',
- 11406 => 'ⲏ',
- 11408 => 'ⲑ',
- 11410 => 'ⲓ',
- 11412 => 'ⲕ',
- 11414 => 'ⲗ',
- 11416 => 'ⲙ',
- 11418 => 'ⲛ',
- 11420 => 'ⲝ',
- 11422 => 'ⲟ',
- 11424 => 'ⲡ',
- 11426 => 'ⲣ',
- 11428 => 'ⲥ',
- 11430 => 'ⲧ',
- 11432 => 'ⲩ',
- 11434 => 'ⲫ',
- 11436 => 'ⲭ',
- 11438 => 'ⲯ',
- 11440 => 'ⲱ',
- 11442 => 'ⲳ',
- 11444 => 'ⲵ',
- 11446 => 'ⲷ',
- 11448 => 'ⲹ',
- 11450 => 'ⲻ',
- 11452 => 'ⲽ',
- 11454 => 'ⲿ',
- 11456 => 'ⳁ',
- 11458 => 'ⳃ',
- 11460 => 'ⳅ',
- 11462 => 'ⳇ',
- 11464 => 'ⳉ',
- 11466 => 'ⳋ',
- 11468 => 'ⳍ',
- 11470 => 'ⳏ',
- 11472 => 'ⳑ',
- 11474 => 'ⳓ',
- 11476 => 'ⳕ',
- 11478 => 'ⳗ',
- 11480 => 'ⳙ',
- 11482 => 'ⳛ',
- 11484 => 'ⳝ',
- 11486 => 'ⳟ',
- 11488 => 'ⳡ',
- 11490 => 'ⳣ',
- 11499 => 'ⳬ',
- 11501 => 'ⳮ',
- 11506 => 'ⳳ',
- 11631 => 'ⵡ',
- 11935 => '母',
- 12019 => '龟',
- 12032 => '一',
- 12033 => '丨',
- 12034 => '丶',
- 12035 => '丿',
- 12036 => '乙',
- 12037 => '亅',
- 12038 => '二',
- 12039 => '亠',
- 12040 => '人',
- 12041 => '儿',
- 12042 => '入',
- 12043 => '八',
- 12044 => '冂',
- 12045 => '冖',
- 12046 => '冫',
- 12047 => '几',
- 12048 => '凵',
- 12049 => '刀',
- 12050 => '力',
- 12051 => '勹',
- 12052 => '匕',
- 12053 => '匚',
- 12054 => '匸',
- 12055 => '十',
- 12056 => '卜',
- 12057 => '卩',
- 12058 => '厂',
- 12059 => '厶',
- 12060 => '又',
- 12061 => '口',
- 12062 => '囗',
- 12063 => '土',
- 12064 => '士',
- 12065 => '夂',
- 12066 => '夊',
- 12067 => '夕',
- 12068 => '大',
- 12069 => '女',
- 12070 => '子',
- 12071 => '宀',
- 12072 => '寸',
- 12073 => '小',
- 12074 => '尢',
- 12075 => '尸',
- 12076 => '屮',
- 12077 => '山',
- 12078 => '巛',
- 12079 => '工',
- 12080 => '己',
- 12081 => '巾',
- 12082 => '干',
- 12083 => '幺',
- 12084 => '广',
- 12085 => '廴',
- 12086 => '廾',
- 12087 => '弋',
- 12088 => '弓',
- 12089 => '彐',
- 12090 => '彡',
- 12091 => '彳',
- 12092 => '心',
- 12093 => '戈',
- 12094 => '戶',
- 12095 => '手',
- 12096 => '支',
- 12097 => '攴',
- 12098 => '文',
- 12099 => '斗',
- 12100 => '斤',
- 12101 => '方',
- 12102 => '无',
- 12103 => '日',
- 12104 => '曰',
- 12105 => '月',
- 12106 => '木',
- 12107 => '欠',
- 12108 => '止',
- 12109 => '歹',
- 12110 => '殳',
- 12111 => '毋',
- 12112 => '比',
- 12113 => '毛',
- 12114 => '氏',
- 12115 => '气',
- 12116 => '水',
- 12117 => '火',
- 12118 => '爪',
- 12119 => '父',
- 12120 => '爻',
- 12121 => '爿',
- 12122 => '片',
- 12123 => '牙',
- 12124 => '牛',
- 12125 => '犬',
- 12126 => '玄',
- 12127 => '玉',
- 12128 => '瓜',
- 12129 => '瓦',
- 12130 => '甘',
- 12131 => '生',
- 12132 => '用',
- 12133 => '田',
- 12134 => '疋',
- 12135 => '疒',
- 12136 => '癶',
- 12137 => '白',
- 12138 => '皮',
- 12139 => '皿',
- 12140 => '目',
- 12141 => '矛',
- 12142 => '矢',
- 12143 => '石',
- 12144 => '示',
- 12145 => '禸',
- 12146 => '禾',
- 12147 => '穴',
- 12148 => '立',
- 12149 => '竹',
- 12150 => '米',
- 12151 => '糸',
- 12152 => '缶',
- 12153 => '网',
- 12154 => '羊',
- 12155 => '羽',
- 12156 => '老',
- 12157 => '而',
- 12158 => '耒',
- 12159 => '耳',
- 12160 => '聿',
- 12161 => '肉',
- 12162 => '臣',
- 12163 => '自',
- 12164 => '至',
- 12165 => '臼',
- 12166 => '舌',
- 12167 => '舛',
- 12168 => '舟',
- 12169 => '艮',
- 12170 => '色',
- 12171 => '艸',
- 12172 => '虍',
- 12173 => '虫',
- 12174 => '血',
- 12175 => '行',
- 12176 => '衣',
- 12177 => '襾',
- 12178 => '見',
- 12179 => '角',
- 12180 => '言',
- 12181 => '谷',
- 12182 => '豆',
- 12183 => '豕',
- 12184 => '豸',
- 12185 => '貝',
- 12186 => '赤',
- 12187 => '走',
- 12188 => '足',
- 12189 => '身',
- 12190 => '車',
- 12191 => '辛',
- 12192 => '辰',
- 12193 => '辵',
- 12194 => '邑',
- 12195 => '酉',
- 12196 => '釆',
- 12197 => '里',
- 12198 => '金',
- 12199 => '長',
- 12200 => '門',
- 12201 => '阜',
- 12202 => '隶',
- 12203 => '隹',
- 12204 => '雨',
- 12205 => '靑',
- 12206 => '非',
- 12207 => '面',
- 12208 => '革',
- 12209 => '韋',
- 12210 => '韭',
- 12211 => '音',
- 12212 => '頁',
- 12213 => '風',
- 12214 => '飛',
- 12215 => '食',
- 12216 => '首',
- 12217 => '香',
- 12218 => '馬',
- 12219 => '骨',
- 12220 => '高',
- 12221 => '髟',
- 12222 => '鬥',
- 12223 => '鬯',
- 12224 => '鬲',
- 12225 => '鬼',
- 12226 => '魚',
- 12227 => '鳥',
- 12228 => '鹵',
- 12229 => '鹿',
- 12230 => '麥',
- 12231 => '麻',
- 12232 => '黃',
- 12233 => '黍',
- 12234 => '黑',
- 12235 => '黹',
- 12236 => '黽',
- 12237 => '鼎',
- 12238 => '鼓',
- 12239 => '鼠',
- 12240 => '鼻',
- 12241 => '齊',
- 12242 => '齒',
- 12243 => '龍',
- 12244 => '龜',
- 12245 => '龠',
- 12290 => '.',
- 12342 => '〒',
- 12344 => '十',
- 12345 => '卄',
- 12346 => '卅',
- 12447 => 'より',
- 12543 => 'コト',
- 12593 => 'ᄀ',
- 12594 => 'ᄁ',
- 12595 => 'ᆪ',
- 12596 => 'ᄂ',
- 12597 => 'ᆬ',
- 12598 => 'ᆭ',
- 12599 => 'ᄃ',
- 12600 => 'ᄄ',
- 12601 => 'ᄅ',
- 12602 => 'ᆰ',
- 12603 => 'ᆱ',
- 12604 => 'ᆲ',
- 12605 => 'ᆳ',
- 12606 => 'ᆴ',
- 12607 => 'ᆵ',
- 12608 => 'ᄚ',
- 12609 => 'ᄆ',
- 12610 => 'ᄇ',
- 12611 => 'ᄈ',
- 12612 => 'ᄡ',
- 12613 => 'ᄉ',
- 12614 => 'ᄊ',
- 12615 => 'ᄋ',
- 12616 => 'ᄌ',
- 12617 => 'ᄍ',
- 12618 => 'ᄎ',
- 12619 => 'ᄏ',
- 12620 => 'ᄐ',
- 12621 => 'ᄑ',
- 12622 => 'ᄒ',
- 12623 => 'ᅡ',
- 12624 => 'ᅢ',
- 12625 => 'ᅣ',
- 12626 => 'ᅤ',
- 12627 => 'ᅥ',
- 12628 => 'ᅦ',
- 12629 => 'ᅧ',
- 12630 => 'ᅨ',
- 12631 => 'ᅩ',
- 12632 => 'ᅪ',
- 12633 => 'ᅫ',
- 12634 => 'ᅬ',
- 12635 => 'ᅭ',
- 12636 => 'ᅮ',
- 12637 => 'ᅯ',
- 12638 => 'ᅰ',
- 12639 => 'ᅱ',
- 12640 => 'ᅲ',
- 12641 => 'ᅳ',
- 12642 => 'ᅴ',
- 12643 => 'ᅵ',
- 12645 => 'ᄔ',
- 12646 => 'ᄕ',
- 12647 => 'ᇇ',
- 12648 => 'ᇈ',
- 12649 => 'ᇌ',
- 12650 => 'ᇎ',
- 12651 => 'ᇓ',
- 12652 => 'ᇗ',
- 12653 => 'ᇙ',
- 12654 => 'ᄜ',
- 12655 => 'ᇝ',
- 12656 => 'ᇟ',
- 12657 => 'ᄝ',
- 12658 => 'ᄞ',
- 12659 => 'ᄠ',
- 12660 => 'ᄢ',
- 12661 => 'ᄣ',
- 12662 => 'ᄧ',
- 12663 => 'ᄩ',
- 12664 => 'ᄫ',
- 12665 => 'ᄬ',
- 12666 => 'ᄭ',
- 12667 => 'ᄮ',
- 12668 => 'ᄯ',
- 12669 => 'ᄲ',
- 12670 => 'ᄶ',
- 12671 => 'ᅀ',
- 12672 => 'ᅇ',
- 12673 => 'ᅌ',
- 12674 => 'ᇱ',
- 12675 => 'ᇲ',
- 12676 => 'ᅗ',
- 12677 => 'ᅘ',
- 12678 => 'ᅙ',
- 12679 => 'ᆄ',
- 12680 => 'ᆅ',
- 12681 => 'ᆈ',
- 12682 => 'ᆑ',
- 12683 => 'ᆒ',
- 12684 => 'ᆔ',
- 12685 => 'ᆞ',
- 12686 => 'ᆡ',
- 12690 => '一',
- 12691 => '二',
- 12692 => '三',
- 12693 => '四',
- 12694 => '上',
- 12695 => '中',
- 12696 => '下',
- 12697 => '甲',
- 12698 => '乙',
- 12699 => '丙',
- 12700 => '丁',
- 12701 => '天',
- 12702 => '地',
- 12703 => '人',
- 12868 => '問',
- 12869 => '幼',
- 12870 => '文',
- 12871 => '箏',
- 12880 => 'pte',
- 12881 => '21',
- 12882 => '22',
- 12883 => '23',
- 12884 => '24',
- 12885 => '25',
- 12886 => '26',
- 12887 => '27',
- 12888 => '28',
- 12889 => '29',
- 12890 => '30',
- 12891 => '31',
- 12892 => '32',
- 12893 => '33',
- 12894 => '34',
- 12895 => '35',
- 12896 => 'ᄀ',
- 12897 => 'ᄂ',
- 12898 => 'ᄃ',
- 12899 => 'ᄅ',
- 12900 => 'ᄆ',
- 12901 => 'ᄇ',
- 12902 => 'ᄉ',
- 12903 => 'ᄋ',
- 12904 => 'ᄌ',
- 12905 => 'ᄎ',
- 12906 => 'ᄏ',
- 12907 => 'ᄐ',
- 12908 => 'ᄑ',
- 12909 => 'ᄒ',
- 12910 => '가',
- 12911 => '나',
- 12912 => '다',
- 12913 => '라',
- 12914 => '마',
- 12915 => '바',
- 12916 => '사',
- 12917 => '아',
- 12918 => '자',
- 12919 => '차',
- 12920 => '카',
- 12921 => '타',
- 12922 => '파',
- 12923 => '하',
- 12924 => '참고',
- 12925 => '주의',
- 12926 => '우',
- 12928 => '一',
- 12929 => '二',
- 12930 => '三',
- 12931 => '四',
- 12932 => '五',
- 12933 => '六',
- 12934 => '七',
- 12935 => '八',
- 12936 => '九',
- 12937 => '十',
- 12938 => '月',
- 12939 => '火',
- 12940 => '水',
- 12941 => '木',
- 12942 => '金',
- 12943 => '土',
- 12944 => '日',
- 12945 => '株',
- 12946 => '有',
- 12947 => '社',
- 12948 => '名',
- 12949 => '特',
- 12950 => '財',
- 12951 => '祝',
- 12952 => '労',
- 12953 => '秘',
- 12954 => '男',
- 12955 => '女',
- 12956 => '適',
- 12957 => '優',
- 12958 => '印',
- 12959 => '注',
- 12960 => '項',
- 12961 => '休',
- 12962 => '写',
- 12963 => '正',
- 12964 => '上',
- 12965 => '中',
- 12966 => '下',
- 12967 => '左',
- 12968 => '右',
- 12969 => '医',
- 12970 => '宗',
- 12971 => '学',
- 12972 => '監',
- 12973 => '企',
- 12974 => '資',
- 12975 => '協',
- 12976 => '夜',
- 12977 => '36',
- 12978 => '37',
- 12979 => '38',
- 12980 => '39',
- 12981 => '40',
- 12982 => '41',
- 12983 => '42',
- 12984 => '43',
- 12985 => '44',
- 12986 => '45',
- 12987 => '46',
- 12988 => '47',
- 12989 => '48',
- 12990 => '49',
- 12991 => '50',
- 12992 => '1月',
- 12993 => '2月',
- 12994 => '3月',
- 12995 => '4月',
- 12996 => '5月',
- 12997 => '6月',
- 12998 => '7月',
- 12999 => '8月',
- 13000 => '9月',
- 13001 => '10月',
- 13002 => '11月',
- 13003 => '12月',
- 13004 => 'hg',
- 13005 => 'erg',
- 13006 => 'ev',
- 13007 => 'ltd',
- 13008 => 'ア',
- 13009 => 'イ',
- 13010 => 'ウ',
- 13011 => 'エ',
- 13012 => 'オ',
- 13013 => 'カ',
- 13014 => 'キ',
- 13015 => 'ク',
- 13016 => 'ケ',
- 13017 => 'コ',
- 13018 => 'サ',
- 13019 => 'シ',
- 13020 => 'ス',
- 13021 => 'セ',
- 13022 => 'ソ',
- 13023 => 'タ',
- 13024 => 'チ',
- 13025 => 'ツ',
- 13026 => 'テ',
- 13027 => 'ト',
- 13028 => 'ナ',
- 13029 => 'ニ',
- 13030 => 'ヌ',
- 13031 => 'ネ',
- 13032 => 'ノ',
- 13033 => 'ハ',
- 13034 => 'ヒ',
- 13035 => 'フ',
- 13036 => 'ヘ',
- 13037 => 'ホ',
- 13038 => 'マ',
- 13039 => 'ミ',
- 13040 => 'ム',
- 13041 => 'メ',
- 13042 => 'モ',
- 13043 => 'ヤ',
- 13044 => 'ユ',
- 13045 => 'ヨ',
- 13046 => 'ラ',
- 13047 => 'リ',
- 13048 => 'ル',
- 13049 => 'レ',
- 13050 => 'ロ',
- 13051 => 'ワ',
- 13052 => 'ヰ',
- 13053 => 'ヱ',
- 13054 => 'ヲ',
- 13055 => '令和',
- 13056 => 'アパート',
- 13057 => 'アルファ',
- 13058 => 'アンペア',
- 13059 => 'アール',
- 13060 => 'イニング',
- 13061 => 'インチ',
- 13062 => 'ウォン',
- 13063 => 'エスクード',
- 13064 => 'エーカー',
- 13065 => 'オンス',
- 13066 => 'オーム',
- 13067 => 'カイリ',
- 13068 => 'カラット',
- 13069 => 'カロリー',
- 13070 => 'ガロン',
- 13071 => 'ガンマ',
- 13072 => 'ギガ',
- 13073 => 'ギニー',
- 13074 => 'キュリー',
- 13075 => 'ギルダー',
- 13076 => 'キロ',
- 13077 => 'キログラム',
- 13078 => 'キロメートル',
- 13079 => 'キロワット',
- 13080 => 'グラム',
- 13081 => 'グラムトン',
- 13082 => 'クルゼイロ',
- 13083 => 'クローネ',
- 13084 => 'ケース',
- 13085 => 'コルナ',
- 13086 => 'コーポ',
- 13087 => 'サイクル',
- 13088 => 'サンチーム',
- 13089 => 'シリング',
- 13090 => 'センチ',
- 13091 => 'セント',
- 13092 => 'ダース',
- 13093 => 'デシ',
- 13094 => 'ドル',
- 13095 => 'トン',
- 13096 => 'ナノ',
- 13097 => 'ノット',
- 13098 => 'ハイツ',
- 13099 => 'パーセント',
- 13100 => 'パーツ',
- 13101 => 'バーレル',
- 13102 => 'ピアストル',
- 13103 => 'ピクル',
- 13104 => 'ピコ',
- 13105 => 'ビル',
- 13106 => 'ファラッド',
- 13107 => 'フィート',
- 13108 => 'ブッシェル',
- 13109 => 'フラン',
- 13110 => 'ヘクタール',
- 13111 => 'ペソ',
- 13112 => 'ペニヒ',
- 13113 => 'ヘルツ',
- 13114 => 'ペンス',
- 13115 => 'ページ',
- 13116 => 'ベータ',
- 13117 => 'ポイント',
- 13118 => 'ボルト',
- 13119 => 'ホン',
- 13120 => 'ポンド',
- 13121 => 'ホール',
- 13122 => 'ホーン',
- 13123 => 'マイクロ',
- 13124 => 'マイル',
- 13125 => 'マッハ',
- 13126 => 'マルク',
- 13127 => 'マンション',
- 13128 => 'ミクロン',
- 13129 => 'ミリ',
- 13130 => 'ミリバール',
- 13131 => 'メガ',
- 13132 => 'メガトン',
- 13133 => 'メートル',
- 13134 => 'ヤード',
- 13135 => 'ヤール',
- 13136 => 'ユアン',
- 13137 => 'リットル',
- 13138 => 'リラ',
- 13139 => 'ルピー',
- 13140 => 'ルーブル',
- 13141 => 'レム',
- 13142 => 'レントゲン',
- 13143 => 'ワット',
- 13144 => '0点',
- 13145 => '1点',
- 13146 => '2点',
- 13147 => '3点',
- 13148 => '4点',
- 13149 => '5点',
- 13150 => '6点',
- 13151 => '7点',
- 13152 => '8点',
- 13153 => '9点',
- 13154 => '10点',
- 13155 => '11点',
- 13156 => '12点',
- 13157 => '13点',
- 13158 => '14点',
- 13159 => '15点',
- 13160 => '16点',
- 13161 => '17点',
- 13162 => '18点',
- 13163 => '19点',
- 13164 => '20点',
- 13165 => '21点',
- 13166 => '22点',
- 13167 => '23点',
- 13168 => '24点',
- 13169 => 'hpa',
- 13170 => 'da',
- 13171 => 'au',
- 13172 => 'bar',
- 13173 => 'ov',
- 13174 => 'pc',
- 13175 => 'dm',
- 13176 => 'dm2',
- 13177 => 'dm3',
- 13178 => 'iu',
- 13179 => '平成',
- 13180 => '昭和',
- 13181 => '大正',
- 13182 => '明治',
- 13183 => '株式会社',
- 13184 => 'pa',
- 13185 => 'na',
- 13186 => 'μa',
- 13187 => 'ma',
- 13188 => 'ka',
- 13189 => 'kb',
- 13190 => 'mb',
- 13191 => 'gb',
- 13192 => 'cal',
- 13193 => 'kcal',
- 13194 => 'pf',
- 13195 => 'nf',
- 13196 => 'μf',
- 13197 => 'μg',
- 13198 => 'mg',
- 13199 => 'kg',
- 13200 => 'hz',
- 13201 => 'khz',
- 13202 => 'mhz',
- 13203 => 'ghz',
- 13204 => 'thz',
- 13205 => 'μl',
- 13206 => 'ml',
- 13207 => 'dl',
- 13208 => 'kl',
- 13209 => 'fm',
- 13210 => 'nm',
- 13211 => 'μm',
- 13212 => 'mm',
- 13213 => 'cm',
- 13214 => 'km',
- 13215 => 'mm2',
- 13216 => 'cm2',
- 13217 => 'm2',
- 13218 => 'km2',
- 13219 => 'mm3',
- 13220 => 'cm3',
- 13221 => 'm3',
- 13222 => 'km3',
- 13223 => 'm∕s',
- 13224 => 'm∕s2',
- 13225 => 'pa',
- 13226 => 'kpa',
- 13227 => 'mpa',
- 13228 => 'gpa',
- 13229 => 'rad',
- 13230 => 'rad∕s',
- 13231 => 'rad∕s2',
- 13232 => 'ps',
- 13233 => 'ns',
- 13234 => 'μs',
- 13235 => 'ms',
- 13236 => 'pv',
- 13237 => 'nv',
- 13238 => 'μv',
- 13239 => 'mv',
- 13240 => 'kv',
- 13241 => 'mv',
- 13242 => 'pw',
- 13243 => 'nw',
- 13244 => 'μw',
- 13245 => 'mw',
- 13246 => 'kw',
- 13247 => 'mw',
- 13248 => 'kω',
- 13249 => 'mω',
- 13251 => 'bq',
- 13252 => 'cc',
- 13253 => 'cd',
- 13254 => 'c∕kg',
- 13256 => 'db',
- 13257 => 'gy',
- 13258 => 'ha',
- 13259 => 'hp',
- 13260 => 'in',
- 13261 => 'kk',
- 13262 => 'km',
- 13263 => 'kt',
- 13264 => 'lm',
- 13265 => 'ln',
- 13266 => 'log',
- 13267 => 'lx',
- 13268 => 'mb',
- 13269 => 'mil',
- 13270 => 'mol',
- 13271 => 'ph',
- 13273 => 'ppm',
- 13274 => 'pr',
- 13275 => 'sr',
- 13276 => 'sv',
- 13277 => 'wb',
- 13278 => 'v∕m',
- 13279 => 'a∕m',
- 13280 => '1日',
- 13281 => '2日',
- 13282 => '3日',
- 13283 => '4日',
- 13284 => '5日',
- 13285 => '6日',
- 13286 => '7日',
- 13287 => '8日',
- 13288 => '9日',
- 13289 => '10日',
- 13290 => '11日',
- 13291 => '12日',
- 13292 => '13日',
- 13293 => '14日',
- 13294 => '15日',
- 13295 => '16日',
- 13296 => '17日',
- 13297 => '18日',
- 13298 => '19日',
- 13299 => '20日',
- 13300 => '21日',
- 13301 => '22日',
- 13302 => '23日',
- 13303 => '24日',
- 13304 => '25日',
- 13305 => '26日',
- 13306 => '27日',
- 13307 => '28日',
- 13308 => '29日',
- 13309 => '30日',
- 13310 => '31日',
- 13311 => 'gal',
- 42560 => 'ꙁ',
- 42562 => 'ꙃ',
- 42564 => 'ꙅ',
- 42566 => 'ꙇ',
- 42568 => 'ꙉ',
- 42570 => 'ꙋ',
- 42572 => 'ꙍ',
- 42574 => 'ꙏ',
- 42576 => 'ꙑ',
- 42578 => 'ꙓ',
- 42580 => 'ꙕ',
- 42582 => 'ꙗ',
- 42584 => 'ꙙ',
- 42586 => 'ꙛ',
- 42588 => 'ꙝ',
- 42590 => 'ꙟ',
- 42592 => 'ꙡ',
- 42594 => 'ꙣ',
- 42596 => 'ꙥ',
- 42598 => 'ꙧ',
- 42600 => 'ꙩ',
- 42602 => 'ꙫ',
- 42604 => 'ꙭ',
- 42624 => 'ꚁ',
- 42626 => 'ꚃ',
- 42628 => 'ꚅ',
- 42630 => 'ꚇ',
- 42632 => 'ꚉ',
- 42634 => 'ꚋ',
- 42636 => 'ꚍ',
- 42638 => 'ꚏ',
- 42640 => 'ꚑ',
- 42642 => 'ꚓ',
- 42644 => 'ꚕ',
- 42646 => 'ꚗ',
- 42648 => 'ꚙ',
- 42650 => 'ꚛ',
- 42652 => 'ъ',
- 42653 => 'ь',
- 42786 => 'ꜣ',
- 42788 => 'ꜥ',
- 42790 => 'ꜧ',
- 42792 => 'ꜩ',
- 42794 => 'ꜫ',
- 42796 => 'ꜭ',
- 42798 => 'ꜯ',
- 42802 => 'ꜳ',
- 42804 => 'ꜵ',
- 42806 => 'ꜷ',
- 42808 => 'ꜹ',
- 42810 => 'ꜻ',
- 42812 => 'ꜽ',
- 42814 => 'ꜿ',
- 42816 => 'ꝁ',
- 42818 => 'ꝃ',
- 42820 => 'ꝅ',
- 42822 => 'ꝇ',
- 42824 => 'ꝉ',
- 42826 => 'ꝋ',
- 42828 => 'ꝍ',
- 42830 => 'ꝏ',
- 42832 => 'ꝑ',
- 42834 => 'ꝓ',
- 42836 => 'ꝕ',
- 42838 => 'ꝗ',
- 42840 => 'ꝙ',
- 42842 => 'ꝛ',
- 42844 => 'ꝝ',
- 42846 => 'ꝟ',
- 42848 => 'ꝡ',
- 42850 => 'ꝣ',
- 42852 => 'ꝥ',
- 42854 => 'ꝧ',
- 42856 => 'ꝩ',
- 42858 => 'ꝫ',
- 42860 => 'ꝭ',
- 42862 => 'ꝯ',
- 42864 => 'ꝯ',
- 42873 => 'ꝺ',
- 42875 => 'ꝼ',
- 42877 => 'ᵹ',
- 42878 => 'ꝿ',
- 42880 => 'ꞁ',
- 42882 => 'ꞃ',
- 42884 => 'ꞅ',
- 42886 => 'ꞇ',
- 42891 => 'ꞌ',
- 42893 => 'ɥ',
- 42896 => 'ꞑ',
- 42898 => 'ꞓ',
- 42902 => 'ꞗ',
- 42904 => 'ꞙ',
- 42906 => 'ꞛ',
- 42908 => 'ꞝ',
- 42910 => 'ꞟ',
- 42912 => 'ꞡ',
- 42914 => 'ꞣ',
- 42916 => 'ꞥ',
- 42918 => 'ꞧ',
- 42920 => 'ꞩ',
- 42922 => 'ɦ',
- 42923 => 'ɜ',
- 42924 => 'ɡ',
- 42925 => 'ɬ',
- 42926 => 'ɪ',
- 42928 => 'ʞ',
- 42929 => 'ʇ',
- 42930 => 'ʝ',
- 42931 => 'ꭓ',
- 42932 => 'ꞵ',
- 42934 => 'ꞷ',
- 42936 => 'ꞹ',
- 42938 => 'ꞻ',
- 42940 => 'ꞽ',
- 42942 => 'ꞿ',
- 42946 => 'ꟃ',
- 42948 => 'ꞔ',
- 42949 => 'ʂ',
- 42950 => 'ᶎ',
- 42951 => 'ꟈ',
- 42953 => 'ꟊ',
- 42997 => 'ꟶ',
- 43000 => 'ħ',
- 43001 => 'œ',
- 43868 => 'ꜧ',
- 43869 => 'ꬷ',
- 43870 => 'ɫ',
- 43871 => 'ꭒ',
- 43881 => 'ʍ',
- 43888 => 'Ꭰ',
- 43889 => 'Ꭱ',
- 43890 => 'Ꭲ',
- 43891 => 'Ꭳ',
- 43892 => 'Ꭴ',
- 43893 => 'Ꭵ',
- 43894 => 'Ꭶ',
- 43895 => 'Ꭷ',
- 43896 => 'Ꭸ',
- 43897 => 'Ꭹ',
- 43898 => 'Ꭺ',
- 43899 => 'Ꭻ',
- 43900 => 'Ꭼ',
- 43901 => 'Ꭽ',
- 43902 => 'Ꭾ',
- 43903 => 'Ꭿ',
- 43904 => 'Ꮀ',
- 43905 => 'Ꮁ',
- 43906 => 'Ꮂ',
- 43907 => 'Ꮃ',
- 43908 => 'Ꮄ',
- 43909 => 'Ꮅ',
- 43910 => 'Ꮆ',
- 43911 => 'Ꮇ',
- 43912 => 'Ꮈ',
- 43913 => 'Ꮉ',
- 43914 => 'Ꮊ',
- 43915 => 'Ꮋ',
- 43916 => 'Ꮌ',
- 43917 => 'Ꮍ',
- 43918 => 'Ꮎ',
- 43919 => 'Ꮏ',
- 43920 => 'Ꮐ',
- 43921 => 'Ꮑ',
- 43922 => 'Ꮒ',
- 43923 => 'Ꮓ',
- 43924 => 'Ꮔ',
- 43925 => 'Ꮕ',
- 43926 => 'Ꮖ',
- 43927 => 'Ꮗ',
- 43928 => 'Ꮘ',
- 43929 => 'Ꮙ',
- 43930 => 'Ꮚ',
- 43931 => 'Ꮛ',
- 43932 => 'Ꮜ',
- 43933 => 'Ꮝ',
- 43934 => 'Ꮞ',
- 43935 => 'Ꮟ',
- 43936 => 'Ꮠ',
- 43937 => 'Ꮡ',
- 43938 => 'Ꮢ',
- 43939 => 'Ꮣ',
- 43940 => 'Ꮤ',
- 43941 => 'Ꮥ',
- 43942 => 'Ꮦ',
- 43943 => 'Ꮧ',
- 43944 => 'Ꮨ',
- 43945 => 'Ꮩ',
- 43946 => 'Ꮪ',
- 43947 => 'Ꮫ',
- 43948 => 'Ꮬ',
- 43949 => 'Ꮭ',
- 43950 => 'Ꮮ',
- 43951 => 'Ꮯ',
- 43952 => 'Ꮰ',
- 43953 => 'Ꮱ',
- 43954 => 'Ꮲ',
- 43955 => 'Ꮳ',
- 43956 => 'Ꮴ',
- 43957 => 'Ꮵ',
- 43958 => 'Ꮶ',
- 43959 => 'Ꮷ',
- 43960 => 'Ꮸ',
- 43961 => 'Ꮹ',
- 43962 => 'Ꮺ',
- 43963 => 'Ꮻ',
- 43964 => 'Ꮼ',
- 43965 => 'Ꮽ',
- 43966 => 'Ꮾ',
- 43967 => 'Ꮿ',
- 63744 => '豈',
- 63745 => '更',
- 63746 => '車',
- 63747 => '賈',
- 63748 => '滑',
- 63749 => '串',
- 63750 => '句',
- 63751 => '龜',
- 63752 => '龜',
- 63753 => '契',
- 63754 => '金',
- 63755 => '喇',
- 63756 => '奈',
- 63757 => '懶',
- 63758 => '癩',
- 63759 => '羅',
- 63760 => '蘿',
- 63761 => '螺',
- 63762 => '裸',
- 63763 => '邏',
- 63764 => '樂',
- 63765 => '洛',
- 63766 => '烙',
- 63767 => '珞',
- 63768 => '落',
- 63769 => '酪',
- 63770 => '駱',
- 63771 => '亂',
- 63772 => '卵',
- 63773 => '欄',
- 63774 => '爛',
- 63775 => '蘭',
- 63776 => '鸞',
- 63777 => '嵐',
- 63778 => '濫',
- 63779 => '藍',
- 63780 => '襤',
- 63781 => '拉',
- 63782 => '臘',
- 63783 => '蠟',
- 63784 => '廊',
- 63785 => '朗',
- 63786 => '浪',
- 63787 => '狼',
- 63788 => '郎',
- 63789 => '來',
- 63790 => '冷',
- 63791 => '勞',
- 63792 => '擄',
- 63793 => '櫓',
- 63794 => '爐',
- 63795 => '盧',
- 63796 => '老',
- 63797 => '蘆',
- 63798 => '虜',
- 63799 => '路',
- 63800 => '露',
- 63801 => '魯',
- 63802 => '鷺',
- 63803 => '碌',
- 63804 => '祿',
- 63805 => '綠',
- 63806 => '菉',
- 63807 => '錄',
- 63808 => '鹿',
- 63809 => '論',
- 63810 => '壟',
- 63811 => '弄',
- 63812 => '籠',
- 63813 => '聾',
- 63814 => '牢',
- 63815 => '磊',
- 63816 => '賂',
- 63817 => '雷',
- 63818 => '壘',
- 63819 => '屢',
- 63820 => '樓',
- 63821 => '淚',
- 63822 => '漏',
- 63823 => '累',
- 63824 => '縷',
- 63825 => '陋',
- 63826 => '勒',
- 63827 => '肋',
- 63828 => '凜',
- 63829 => '凌',
- 63830 => '稜',
- 63831 => '綾',
- 63832 => '菱',
- 63833 => '陵',
- 63834 => '讀',
- 63835 => '拏',
- 63836 => '樂',
- 63837 => '諾',
- 63838 => '丹',
- 63839 => '寧',
- 63840 => '怒',
- 63841 => '率',
- 63842 => '異',
- 63843 => '北',
- 63844 => '磻',
- 63845 => '便',
- 63846 => '復',
- 63847 => '不',
- 63848 => '泌',
- 63849 => '數',
- 63850 => '索',
- 63851 => '參',
- 63852 => '塞',
- 63853 => '省',
- 63854 => '葉',
- 63855 => '說',
- 63856 => '殺',
- 63857 => '辰',
- 63858 => '沈',
- 63859 => '拾',
- 63860 => '若',
- 63861 => '掠',
- 63862 => '略',
- 63863 => '亮',
- 63864 => '兩',
- 63865 => '凉',
- 63866 => '梁',
- 63867 => '糧',
- 63868 => '良',
- 63869 => '諒',
- 63870 => '量',
- 63871 => '勵',
- 63872 => '呂',
- 63873 => '女',
- 63874 => '廬',
- 63875 => '旅',
- 63876 => '濾',
- 63877 => '礪',
- 63878 => '閭',
- 63879 => '驪',
- 63880 => '麗',
- 63881 => '黎',
- 63882 => '力',
- 63883 => '曆',
- 63884 => '歷',
- 63885 => '轢',
- 63886 => '年',
- 63887 => '憐',
- 63888 => '戀',
- 63889 => '撚',
- 63890 => '漣',
- 63891 => '煉',
- 63892 => '璉',
- 63893 => '秊',
- 63894 => '練',
- 63895 => '聯',
- 63896 => '輦',
- 63897 => '蓮',
- 63898 => '連',
- 63899 => '鍊',
- 63900 => '列',
- 63901 => '劣',
- 63902 => '咽',
- 63903 => '烈',
- 63904 => '裂',
- 63905 => '說',
- 63906 => '廉',
- 63907 => '念',
- 63908 => '捻',
- 63909 => '殮',
- 63910 => '簾',
- 63911 => '獵',
- 63912 => '令',
- 63913 => '囹',
- 63914 => '寧',
- 63915 => '嶺',
- 63916 => '怜',
- 63917 => '玲',
- 63918 => '瑩',
- 63919 => '羚',
- 63920 => '聆',
- 63921 => '鈴',
- 63922 => '零',
- 63923 => '靈',
- 63924 => '領',
- 63925 => '例',
- 63926 => '禮',
- 63927 => '醴',
- 63928 => '隸',
- 63929 => '惡',
- 63930 => '了',
- 63931 => '僚',
- 63932 => '寮',
- 63933 => '尿',
- 63934 => '料',
- 63935 => '樂',
- 63936 => '燎',
- 63937 => '療',
- 63938 => '蓼',
- 63939 => '遼',
- 63940 => '龍',
- 63941 => '暈',
- 63942 => '阮',
- 63943 => '劉',
- 63944 => '杻',
- 63945 => '柳',
- 63946 => '流',
- 63947 => '溜',
- 63948 => '琉',
- 63949 => '留',
- 63950 => '硫',
- 63951 => '紐',
- 63952 => '類',
- 63953 => '六',
- 63954 => '戮',
- 63955 => '陸',
- 63956 => '倫',
- 63957 => '崙',
- 63958 => '淪',
- 63959 => '輪',
- 63960 => '律',
- 63961 => '慄',
- 63962 => '栗',
- 63963 => '率',
- 63964 => '隆',
- 63965 => '利',
- 63966 => '吏',
- 63967 => '履',
- 63968 => '易',
- 63969 => '李',
- 63970 => '梨',
- 63971 => '泥',
- 63972 => '理',
- 63973 => '痢',
- 63974 => '罹',
- 63975 => '裏',
- 63976 => '裡',
- 63977 => '里',
- 63978 => '離',
- 63979 => '匿',
- 63980 => '溺',
- 63981 => '吝',
- 63982 => '燐',
- 63983 => '璘',
- 63984 => '藺',
- 63985 => '隣',
- 63986 => '鱗',
- 63987 => '麟',
- 63988 => '林',
- 63989 => '淋',
- 63990 => '臨',
- 63991 => '立',
- 63992 => '笠',
- 63993 => '粒',
- 63994 => '狀',
- 63995 => '炙',
- 63996 => '識',
- 63997 => '什',
- 63998 => '茶',
- 63999 => '刺',
- 64000 => '切',
- 64001 => '度',
- 64002 => '拓',
- 64003 => '糖',
- 64004 => '宅',
- 64005 => '洞',
- 64006 => '暴',
- 64007 => '輻',
- 64008 => '行',
- 64009 => '降',
- 64010 => '見',
- 64011 => '廓',
- 64012 => '兀',
- 64013 => '嗀',
- 64016 => '塚',
- 64018 => '晴',
- 64021 => '凞',
- 64022 => '猪',
- 64023 => '益',
- 64024 => '礼',
- 64025 => '神',
- 64026 => '祥',
- 64027 => '福',
- 64028 => '靖',
- 64029 => '精',
- 64030 => '羽',
- 64032 => '蘒',
- 64034 => '諸',
- 64037 => '逸',
- 64038 => '都',
- 64042 => '飯',
- 64043 => '飼',
- 64044 => '館',
- 64045 => '鶴',
- 64046 => '郞',
- 64047 => '隷',
- 64048 => '侮',
- 64049 => '僧',
- 64050 => '免',
- 64051 => '勉',
- 64052 => '勤',
- 64053 => '卑',
- 64054 => '喝',
- 64055 => '嘆',
- 64056 => '器',
- 64057 => '塀',
- 64058 => '墨',
- 64059 => '層',
- 64060 => '屮',
- 64061 => '悔',
- 64062 => '慨',
- 64063 => '憎',
- 64064 => '懲',
- 64065 => '敏',
- 64066 => '既',
- 64067 => '暑',
- 64068 => '梅',
- 64069 => '海',
- 64070 => '渚',
- 64071 => '漢',
- 64072 => '煮',
- 64073 => '爫',
- 64074 => '琢',
- 64075 => '碑',
- 64076 => '社',
- 64077 => '祉',
- 64078 => '祈',
- 64079 => '祐',
- 64080 => '祖',
- 64081 => '祝',
- 64082 => '禍',
- 64083 => '禎',
- 64084 => '穀',
- 64085 => '突',
- 64086 => '節',
- 64087 => '練',
- 64088 => '縉',
- 64089 => '繁',
- 64090 => '署',
- 64091 => '者',
- 64092 => '臭',
- 64093 => '艹',
- 64094 => '艹',
- 64095 => '著',
- 64096 => '褐',
- 64097 => '視',
- 64098 => '謁',
- 64099 => '謹',
- 64100 => '賓',
- 64101 => '贈',
- 64102 => '辶',
- 64103 => '逸',
- 64104 => '難',
- 64105 => '響',
- 64106 => '頻',
- 64107 => '恵',
- 64108 => '𤋮',
- 64109 => '舘',
- 64112 => '並',
- 64113 => '况',
- 64114 => '全',
- 64115 => '侀',
- 64116 => '充',
- 64117 => '冀',
- 64118 => '勇',
- 64119 => '勺',
- 64120 => '喝',
- 64121 => '啕',
- 64122 => '喙',
- 64123 => '嗢',
- 64124 => '塚',
- 64125 => '墳',
- 64126 => '奄',
- 64127 => '奔',
- 64128 => '婢',
- 64129 => '嬨',
- 64130 => '廒',
- 64131 => '廙',
- 64132 => '彩',
- 64133 => '徭',
- 64134 => '惘',
- 64135 => '慎',
- 64136 => '愈',
- 64137 => '憎',
- 64138 => '慠',
- 64139 => '懲',
- 64140 => '戴',
- 64141 => '揄',
- 64142 => '搜',
- 64143 => '摒',
- 64144 => '敖',
- 64145 => '晴',
- 64146 => '朗',
- 64147 => '望',
- 64148 => '杖',
- 64149 => '歹',
- 64150 => '殺',
- 64151 => '流',
- 64152 => '滛',
- 64153 => '滋',
- 64154 => '漢',
- 64155 => '瀞',
- 64156 => '煮',
- 64157 => '瞧',
- 64158 => '爵',
- 64159 => '犯',
- 64160 => '猪',
- 64161 => '瑱',
- 64162 => '甆',
- 64163 => '画',
- 64164 => '瘝',
- 64165 => '瘟',
- 64166 => '益',
- 64167 => '盛',
- 64168 => '直',
- 64169 => '睊',
- 64170 => '着',
- 64171 => '磌',
- 64172 => '窱',
- 64173 => '節',
- 64174 => '类',
- 64175 => '絛',
- 64176 => '練',
- 64177 => '缾',
- 64178 => '者',
- 64179 => '荒',
- 64180 => '華',
- 64181 => '蝹',
- 64182 => '襁',
- 64183 => '覆',
- 64184 => '視',
- 64185 => '調',
- 64186 => '諸',
- 64187 => '請',
- 64188 => '謁',
- 64189 => '諾',
- 64190 => '諭',
- 64191 => '謹',
- 64192 => '變',
- 64193 => '贈',
- 64194 => '輸',
- 64195 => '遲',
- 64196 => '醙',
- 64197 => '鉶',
- 64198 => '陼',
- 64199 => '難',
- 64200 => '靖',
- 64201 => '韛',
- 64202 => '響',
- 64203 => '頋',
- 64204 => '頻',
- 64205 => '鬒',
- 64206 => '龜',
- 64207 => '𢡊',
- 64208 => '𢡄',
- 64209 => '𣏕',
- 64210 => '㮝',
- 64211 => '䀘',
- 64212 => '䀹',
- 64213 => '𥉉',
- 64214 => '𥳐',
- 64215 => '𧻓',
- 64216 => '齃',
- 64217 => '龎',
- 64256 => 'ff',
- 64257 => 'fi',
- 64258 => 'fl',
- 64259 => 'ffi',
- 64260 => 'ffl',
- 64261 => 'st',
- 64262 => 'st',
- 64275 => 'մն',
- 64276 => 'մե',
- 64277 => 'մի',
- 64278 => 'վն',
- 64279 => 'մխ',
- 64285 => 'יִ',
- 64287 => 'ײַ',
- 64288 => 'ע',
- 64289 => 'א',
- 64290 => 'ד',
- 64291 => 'ה',
- 64292 => 'כ',
- 64293 => 'ל',
- 64294 => 'ם',
- 64295 => 'ר',
- 64296 => 'ת',
- 64298 => 'שׁ',
- 64299 => 'שׂ',
- 64300 => 'שּׁ',
- 64301 => 'שּׂ',
- 64302 => 'אַ',
- 64303 => 'אָ',
- 64304 => 'אּ',
- 64305 => 'בּ',
- 64306 => 'גּ',
- 64307 => 'דּ',
- 64308 => 'הּ',
- 64309 => 'וּ',
- 64310 => 'זּ',
- 64312 => 'טּ',
- 64313 => 'יּ',
- 64314 => 'ךּ',
- 64315 => 'כּ',
- 64316 => 'לּ',
- 64318 => 'מּ',
- 64320 => 'נּ',
- 64321 => 'סּ',
- 64323 => 'ףּ',
- 64324 => 'פּ',
- 64326 => 'צּ',
- 64327 => 'קּ',
- 64328 => 'רּ',
- 64329 => 'שּ',
- 64330 => 'תּ',
- 64331 => 'וֹ',
- 64332 => 'בֿ',
- 64333 => 'כֿ',
- 64334 => 'פֿ',
- 64335 => 'אל',
- 64336 => 'ٱ',
- 64337 => 'ٱ',
- 64338 => 'ٻ',
- 64339 => 'ٻ',
- 64340 => 'ٻ',
- 64341 => 'ٻ',
- 64342 => 'پ',
- 64343 => 'پ',
- 64344 => 'پ',
- 64345 => 'پ',
- 64346 => 'ڀ',
- 64347 => 'ڀ',
- 64348 => 'ڀ',
- 64349 => 'ڀ',
- 64350 => 'ٺ',
- 64351 => 'ٺ',
- 64352 => 'ٺ',
- 64353 => 'ٺ',
- 64354 => 'ٿ',
- 64355 => 'ٿ',
- 64356 => 'ٿ',
- 64357 => 'ٿ',
- 64358 => 'ٹ',
- 64359 => 'ٹ',
- 64360 => 'ٹ',
- 64361 => 'ٹ',
- 64362 => 'ڤ',
- 64363 => 'ڤ',
- 64364 => 'ڤ',
- 64365 => 'ڤ',
- 64366 => 'ڦ',
- 64367 => 'ڦ',
- 64368 => 'ڦ',
- 64369 => 'ڦ',
- 64370 => 'ڄ',
- 64371 => 'ڄ',
- 64372 => 'ڄ',
- 64373 => 'ڄ',
- 64374 => 'ڃ',
- 64375 => 'ڃ',
- 64376 => 'ڃ',
- 64377 => 'ڃ',
- 64378 => 'چ',
- 64379 => 'چ',
- 64380 => 'چ',
- 64381 => 'چ',
- 64382 => 'ڇ',
- 64383 => 'ڇ',
- 64384 => 'ڇ',
- 64385 => 'ڇ',
- 64386 => 'ڍ',
- 64387 => 'ڍ',
- 64388 => 'ڌ',
- 64389 => 'ڌ',
- 64390 => 'ڎ',
- 64391 => 'ڎ',
- 64392 => 'ڈ',
- 64393 => 'ڈ',
- 64394 => 'ژ',
- 64395 => 'ژ',
- 64396 => 'ڑ',
- 64397 => 'ڑ',
- 64398 => 'ک',
- 64399 => 'ک',
- 64400 => 'ک',
- 64401 => 'ک',
- 64402 => 'گ',
- 64403 => 'گ',
- 64404 => 'گ',
- 64405 => 'گ',
- 64406 => 'ڳ',
- 64407 => 'ڳ',
- 64408 => 'ڳ',
- 64409 => 'ڳ',
- 64410 => 'ڱ',
- 64411 => 'ڱ',
- 64412 => 'ڱ',
- 64413 => 'ڱ',
- 64414 => 'ں',
- 64415 => 'ں',
- 64416 => 'ڻ',
- 64417 => 'ڻ',
- 64418 => 'ڻ',
- 64419 => 'ڻ',
- 64420 => 'ۀ',
- 64421 => 'ۀ',
- 64422 => 'ہ',
- 64423 => 'ہ',
- 64424 => 'ہ',
- 64425 => 'ہ',
- 64426 => 'ھ',
- 64427 => 'ھ',
- 64428 => 'ھ',
- 64429 => 'ھ',
- 64430 => 'ے',
- 64431 => 'ے',
- 64432 => 'ۓ',
- 64433 => 'ۓ',
- 64467 => 'ڭ',
- 64468 => 'ڭ',
- 64469 => 'ڭ',
- 64470 => 'ڭ',
- 64471 => 'ۇ',
- 64472 => 'ۇ',
- 64473 => 'ۆ',
- 64474 => 'ۆ',
- 64475 => 'ۈ',
- 64476 => 'ۈ',
- 64477 => 'ۇٴ',
- 64478 => 'ۋ',
- 64479 => 'ۋ',
- 64480 => 'ۅ',
- 64481 => 'ۅ',
- 64482 => 'ۉ',
- 64483 => 'ۉ',
- 64484 => 'ې',
- 64485 => 'ې',
- 64486 => 'ې',
- 64487 => 'ې',
- 64488 => 'ى',
- 64489 => 'ى',
- 64490 => 'ئا',
- 64491 => 'ئا',
- 64492 => 'ئە',
- 64493 => 'ئە',
- 64494 => 'ئو',
- 64495 => 'ئو',
- 64496 => 'ئۇ',
- 64497 => 'ئۇ',
- 64498 => 'ئۆ',
- 64499 => 'ئۆ',
- 64500 => 'ئۈ',
- 64501 => 'ئۈ',
- 64502 => 'ئې',
- 64503 => 'ئې',
- 64504 => 'ئې',
- 64505 => 'ئى',
- 64506 => 'ئى',
- 64507 => 'ئى',
- 64508 => 'ی',
- 64509 => 'ی',
- 64510 => 'ی',
- 64511 => 'ی',
- 64512 => 'ئج',
- 64513 => 'ئح',
- 64514 => 'ئم',
- 64515 => 'ئى',
- 64516 => 'ئي',
- 64517 => 'بج',
- 64518 => 'بح',
- 64519 => 'بخ',
- 64520 => 'بم',
- 64521 => 'بى',
- 64522 => 'بي',
- 64523 => 'تج',
- 64524 => 'تح',
- 64525 => 'تخ',
- 64526 => 'تم',
- 64527 => 'تى',
- 64528 => 'تي',
- 64529 => 'ثج',
- 64530 => 'ثم',
- 64531 => 'ثى',
- 64532 => 'ثي',
- 64533 => 'جح',
- 64534 => 'جم',
- 64535 => 'حج',
- 64536 => 'حم',
- 64537 => 'خج',
- 64538 => 'خح',
- 64539 => 'خم',
- 64540 => 'سج',
- 64541 => 'سح',
- 64542 => 'سخ',
- 64543 => 'سم',
- 64544 => 'صح',
- 64545 => 'صم',
- 64546 => 'ضج',
- 64547 => 'ضح',
- 64548 => 'ضخ',
- 64549 => 'ضم',
- 64550 => 'طح',
- 64551 => 'طم',
- 64552 => 'ظم',
- 64553 => 'عج',
- 64554 => 'عم',
- 64555 => 'غج',
- 64556 => 'غم',
- 64557 => 'فج',
- 64558 => 'فح',
- 64559 => 'فخ',
- 64560 => 'فم',
- 64561 => 'فى',
- 64562 => 'في',
- 64563 => 'قح',
- 64564 => 'قم',
- 64565 => 'قى',
- 64566 => 'قي',
- 64567 => 'كا',
- 64568 => 'كج',
- 64569 => 'كح',
- 64570 => 'كخ',
- 64571 => 'كل',
- 64572 => 'كم',
- 64573 => 'كى',
- 64574 => 'كي',
- 64575 => 'لج',
- 64576 => 'لح',
- 64577 => 'لخ',
- 64578 => 'لم',
- 64579 => 'لى',
- 64580 => 'لي',
- 64581 => 'مج',
- 64582 => 'مح',
- 64583 => 'مخ',
- 64584 => 'مم',
- 64585 => 'مى',
- 64586 => 'مي',
- 64587 => 'نج',
- 64588 => 'نح',
- 64589 => 'نخ',
- 64590 => 'نم',
- 64591 => 'نى',
- 64592 => 'ني',
- 64593 => 'هج',
- 64594 => 'هم',
- 64595 => 'هى',
- 64596 => 'هي',
- 64597 => 'يج',
- 64598 => 'يح',
- 64599 => 'يخ',
- 64600 => 'يم',
- 64601 => 'يى',
- 64602 => 'يي',
- 64603 => 'ذٰ',
- 64604 => 'رٰ',
- 64605 => 'ىٰ',
- 64612 => 'ئر',
- 64613 => 'ئز',
- 64614 => 'ئم',
- 64615 => 'ئن',
- 64616 => 'ئى',
- 64617 => 'ئي',
- 64618 => 'بر',
- 64619 => 'بز',
- 64620 => 'بم',
- 64621 => 'بن',
- 64622 => 'بى',
- 64623 => 'بي',
- 64624 => 'تر',
- 64625 => 'تز',
- 64626 => 'تم',
- 64627 => 'تن',
- 64628 => 'تى',
- 64629 => 'تي',
- 64630 => 'ثر',
- 64631 => 'ثز',
- 64632 => 'ثم',
- 64633 => 'ثن',
- 64634 => 'ثى',
- 64635 => 'ثي',
- 64636 => 'فى',
- 64637 => 'في',
- 64638 => 'قى',
- 64639 => 'قي',
- 64640 => 'كا',
- 64641 => 'كل',
- 64642 => 'كم',
- 64643 => 'كى',
- 64644 => 'كي',
- 64645 => 'لم',
- 64646 => 'لى',
- 64647 => 'لي',
- 64648 => 'ما',
- 64649 => 'مم',
- 64650 => 'نر',
- 64651 => 'نز',
- 64652 => 'نم',
- 64653 => 'نن',
- 64654 => 'نى',
- 64655 => 'ني',
- 64656 => 'ىٰ',
- 64657 => 'ير',
- 64658 => 'يز',
- 64659 => 'يم',
- 64660 => 'ين',
- 64661 => 'يى',
- 64662 => 'يي',
- 64663 => 'ئج',
- 64664 => 'ئح',
- 64665 => 'ئخ',
- 64666 => 'ئم',
- 64667 => 'ئه',
- 64668 => 'بج',
- 64669 => 'بح',
- 64670 => 'بخ',
- 64671 => 'بم',
- 64672 => 'به',
- 64673 => 'تج',
- 64674 => 'تح',
- 64675 => 'تخ',
- 64676 => 'تم',
- 64677 => 'ته',
- 64678 => 'ثم',
- 64679 => 'جح',
- 64680 => 'جم',
- 64681 => 'حج',
- 64682 => 'حم',
- 64683 => 'خج',
- 64684 => 'خم',
- 64685 => 'سج',
- 64686 => 'سح',
- 64687 => 'سخ',
- 64688 => 'سم',
- 64689 => 'صح',
- 64690 => 'صخ',
- 64691 => 'صم',
- 64692 => 'ضج',
- 64693 => 'ضح',
- 64694 => 'ضخ',
- 64695 => 'ضم',
- 64696 => 'طح',
- 64697 => 'ظم',
- 64698 => 'عج',
- 64699 => 'عم',
- 64700 => 'غج',
- 64701 => 'غم',
- 64702 => 'فج',
- 64703 => 'فح',
- 64704 => 'فخ',
- 64705 => 'فم',
- 64706 => 'قح',
- 64707 => 'قم',
- 64708 => 'كج',
- 64709 => 'كح',
- 64710 => 'كخ',
- 64711 => 'كل',
- 64712 => 'كم',
- 64713 => 'لج',
- 64714 => 'لح',
- 64715 => 'لخ',
- 64716 => 'لم',
- 64717 => 'له',
- 64718 => 'مج',
- 64719 => 'مح',
- 64720 => 'مخ',
- 64721 => 'مم',
- 64722 => 'نج',
- 64723 => 'نح',
- 64724 => 'نخ',
- 64725 => 'نم',
- 64726 => 'نه',
- 64727 => 'هج',
- 64728 => 'هم',
- 64729 => 'هٰ',
- 64730 => 'يج',
- 64731 => 'يح',
- 64732 => 'يخ',
- 64733 => 'يم',
- 64734 => 'يه',
- 64735 => 'ئم',
- 64736 => 'ئه',
- 64737 => 'بم',
- 64738 => 'به',
- 64739 => 'تم',
- 64740 => 'ته',
- 64741 => 'ثم',
- 64742 => 'ثه',
- 64743 => 'سم',
- 64744 => 'سه',
- 64745 => 'شم',
- 64746 => 'شه',
- 64747 => 'كل',
- 64748 => 'كم',
- 64749 => 'لم',
- 64750 => 'نم',
- 64751 => 'نه',
- 64752 => 'يم',
- 64753 => 'يه',
- 64754 => 'ـَّ',
- 64755 => 'ـُّ',
- 64756 => 'ـِّ',
- 64757 => 'طى',
- 64758 => 'طي',
- 64759 => 'عى',
- 64760 => 'عي',
- 64761 => 'غى',
- 64762 => 'غي',
- 64763 => 'سى',
- 64764 => 'سي',
- 64765 => 'شى',
- 64766 => 'شي',
- 64767 => 'حى',
- 64768 => 'حي',
- 64769 => 'جى',
- 64770 => 'جي',
- 64771 => 'خى',
- 64772 => 'خي',
- 64773 => 'صى',
- 64774 => 'صي',
- 64775 => 'ضى',
- 64776 => 'ضي',
- 64777 => 'شج',
- 64778 => 'شح',
- 64779 => 'شخ',
- 64780 => 'شم',
- 64781 => 'شر',
- 64782 => 'سر',
- 64783 => 'صر',
- 64784 => 'ضر',
- 64785 => 'طى',
- 64786 => 'طي',
- 64787 => 'عى',
- 64788 => 'عي',
- 64789 => 'غى',
- 64790 => 'غي',
- 64791 => 'سى',
- 64792 => 'سي',
- 64793 => 'شى',
- 64794 => 'شي',
- 64795 => 'حى',
- 64796 => 'حي',
- 64797 => 'جى',
- 64798 => 'جي',
- 64799 => 'خى',
- 64800 => 'خي',
- 64801 => 'صى',
- 64802 => 'صي',
- 64803 => 'ضى',
- 64804 => 'ضي',
- 64805 => 'شج',
- 64806 => 'شح',
- 64807 => 'شخ',
- 64808 => 'شم',
- 64809 => 'شر',
- 64810 => 'سر',
- 64811 => 'صر',
- 64812 => 'ضر',
- 64813 => 'شج',
- 64814 => 'شح',
- 64815 => 'شخ',
- 64816 => 'شم',
- 64817 => 'سه',
- 64818 => 'شه',
- 64819 => 'طم',
- 64820 => 'سج',
- 64821 => 'سح',
- 64822 => 'سخ',
- 64823 => 'شج',
- 64824 => 'شح',
- 64825 => 'شخ',
- 64826 => 'طم',
- 64827 => 'ظم',
- 64828 => 'اً',
- 64829 => 'اً',
- 64848 => 'تجم',
- 64849 => 'تحج',
- 64850 => 'تحج',
- 64851 => 'تحم',
- 64852 => 'تخم',
- 64853 => 'تمج',
- 64854 => 'تمح',
- 64855 => 'تمخ',
- 64856 => 'جمح',
- 64857 => 'جمح',
- 64858 => 'حمي',
- 64859 => 'حمى',
- 64860 => 'سحج',
- 64861 => 'سجح',
- 64862 => 'سجى',
- 64863 => 'سمح',
- 64864 => 'سمح',
- 64865 => 'سمج',
- 64866 => 'سمم',
- 64867 => 'سمم',
- 64868 => 'صحح',
- 64869 => 'صحح',
- 64870 => 'صمم',
- 64871 => 'شحم',
- 64872 => 'شحم',
- 64873 => 'شجي',
- 64874 => 'شمخ',
- 64875 => 'شمخ',
- 64876 => 'شمم',
- 64877 => 'شمم',
- 64878 => 'ضحى',
- 64879 => 'ضخم',
- 64880 => 'ضخم',
- 64881 => 'طمح',
- 64882 => 'طمح',
- 64883 => 'طمم',
- 64884 => 'طمي',
- 64885 => 'عجم',
- 64886 => 'عمم',
- 64887 => 'عمم',
- 64888 => 'عمى',
- 64889 => 'غمم',
- 64890 => 'غمي',
- 64891 => 'غمى',
- 64892 => 'فخم',
- 64893 => 'فخم',
- 64894 => 'قمح',
- 64895 => 'قمم',
- 64896 => 'لحم',
- 64897 => 'لحي',
- 64898 => 'لحى',
- 64899 => 'لجج',
- 64900 => 'لجج',
- 64901 => 'لخم',
- 64902 => 'لخم',
- 64903 => 'لمح',
- 64904 => 'لمح',
- 64905 => 'محج',
- 64906 => 'محم',
- 64907 => 'محي',
- 64908 => 'مجح',
- 64909 => 'مجم',
- 64910 => 'مخج',
- 64911 => 'مخم',
- 64914 => 'مجخ',
- 64915 => 'همج',
- 64916 => 'همم',
- 64917 => 'نحم',
- 64918 => 'نحى',
- 64919 => 'نجم',
- 64920 => 'نجم',
- 64921 => 'نجى',
- 64922 => 'نمي',
- 64923 => 'نمى',
- 64924 => 'يمم',
- 64925 => 'يمم',
- 64926 => 'بخي',
- 64927 => 'تجي',
- 64928 => 'تجى',
- 64929 => 'تخي',
- 64930 => 'تخى',
- 64931 => 'تمي',
- 64932 => 'تمى',
- 64933 => 'جمي',
- 64934 => 'جحى',
- 64935 => 'جمى',
- 64936 => 'سخى',
- 64937 => 'صحي',
- 64938 => 'شحي',
- 64939 => 'ضحي',
- 64940 => 'لجي',
- 64941 => 'لمي',
- 64942 => 'يحي',
- 64943 => 'يجي',
- 64944 => 'يمي',
- 64945 => 'ممي',
- 64946 => 'قمي',
- 64947 => 'نحي',
- 64948 => 'قمح',
- 64949 => 'لحم',
- 64950 => 'عمي',
- 64951 => 'كمي',
- 64952 => 'نجح',
- 64953 => 'مخي',
- 64954 => 'لجم',
- 64955 => 'كمم',
- 64956 => 'لجم',
- 64957 => 'نجح',
- 64958 => 'جحي',
- 64959 => 'حجي',
- 64960 => 'مجي',
- 64961 => 'فمي',
- 64962 => 'بحي',
- 64963 => 'كمم',
- 64964 => 'عجم',
- 64965 => 'صمم',
- 64966 => 'سخي',
- 64967 => 'نجي',
- 65008 => 'صلے',
- 65009 => 'قلے',
- 65010 => 'الله',
- 65011 => 'اكبر',
- 65012 => 'محمد',
- 65013 => 'صلعم',
- 65014 => 'رسول',
- 65015 => 'عليه',
- 65016 => 'وسلم',
- 65017 => 'صلى',
- 65020 => 'ریال',
- 65041 => '、',
- 65047 => '〖',
- 65048 => '〗',
- 65073 => '—',
- 65074 => '–',
- 65081 => '〔',
- 65082 => '〕',
- 65083 => '【',
- 65084 => '】',
- 65085 => '《',
- 65086 => '》',
- 65087 => '〈',
- 65088 => '〉',
- 65089 => '「',
- 65090 => '」',
- 65091 => '『',
- 65092 => '』',
- 65105 => '、',
- 65112 => '—',
- 65117 => '〔',
- 65118 => '〕',
- 65123 => '-',
- 65137 => 'ـً',
- 65143 => 'ـَ',
- 65145 => 'ـُ',
- 65147 => 'ـِ',
- 65149 => 'ـّ',
- 65151 => 'ـْ',
- 65152 => 'ء',
- 65153 => 'آ',
- 65154 => 'آ',
- 65155 => 'أ',
- 65156 => 'أ',
- 65157 => 'ؤ',
- 65158 => 'ؤ',
- 65159 => 'إ',
- 65160 => 'إ',
- 65161 => 'ئ',
- 65162 => 'ئ',
- 65163 => 'ئ',
- 65164 => 'ئ',
- 65165 => 'ا',
- 65166 => 'ا',
- 65167 => 'ب',
- 65168 => 'ب',
- 65169 => 'ب',
- 65170 => 'ب',
- 65171 => 'ة',
- 65172 => 'ة',
- 65173 => 'ت',
- 65174 => 'ت',
- 65175 => 'ت',
- 65176 => 'ت',
- 65177 => 'ث',
- 65178 => 'ث',
- 65179 => 'ث',
- 65180 => 'ث',
- 65181 => 'ج',
- 65182 => 'ج',
- 65183 => 'ج',
- 65184 => 'ج',
- 65185 => 'ح',
- 65186 => 'ح',
- 65187 => 'ح',
- 65188 => 'ح',
- 65189 => 'خ',
- 65190 => 'خ',
- 65191 => 'خ',
- 65192 => 'خ',
- 65193 => 'د',
- 65194 => 'د',
- 65195 => 'ذ',
- 65196 => 'ذ',
- 65197 => 'ر',
- 65198 => 'ر',
- 65199 => 'ز',
- 65200 => 'ز',
- 65201 => 'س',
- 65202 => 'س',
- 65203 => 'س',
- 65204 => 'س',
- 65205 => 'ش',
- 65206 => 'ش',
- 65207 => 'ش',
- 65208 => 'ش',
- 65209 => 'ص',
- 65210 => 'ص',
- 65211 => 'ص',
- 65212 => 'ص',
- 65213 => 'ض',
- 65214 => 'ض',
- 65215 => 'ض',
- 65216 => 'ض',
- 65217 => 'ط',
- 65218 => 'ط',
- 65219 => 'ط',
- 65220 => 'ط',
- 65221 => 'ظ',
- 65222 => 'ظ',
- 65223 => 'ظ',
- 65224 => 'ظ',
- 65225 => 'ع',
- 65226 => 'ع',
- 65227 => 'ع',
- 65228 => 'ع',
- 65229 => 'غ',
- 65230 => 'غ',
- 65231 => 'غ',
- 65232 => 'غ',
- 65233 => 'ف',
- 65234 => 'ف',
- 65235 => 'ف',
- 65236 => 'ف',
- 65237 => 'ق',
- 65238 => 'ق',
- 65239 => 'ق',
- 65240 => 'ق',
- 65241 => 'ك',
- 65242 => 'ك',
- 65243 => 'ك',
- 65244 => 'ك',
- 65245 => 'ل',
- 65246 => 'ل',
- 65247 => 'ل',
- 65248 => 'ل',
- 65249 => 'م',
- 65250 => 'م',
- 65251 => 'م',
- 65252 => 'م',
- 65253 => 'ن',
- 65254 => 'ن',
- 65255 => 'ن',
- 65256 => 'ن',
- 65257 => 'ه',
- 65258 => 'ه',
- 65259 => 'ه',
- 65260 => 'ه',
- 65261 => 'و',
- 65262 => 'و',
- 65263 => 'ى',
- 65264 => 'ى',
- 65265 => 'ي',
- 65266 => 'ي',
- 65267 => 'ي',
- 65268 => 'ي',
- 65269 => 'لآ',
- 65270 => 'لآ',
- 65271 => 'لأ',
- 65272 => 'لأ',
- 65273 => 'لإ',
- 65274 => 'لإ',
- 65275 => 'لا',
- 65276 => 'لا',
- 65293 => '-',
- 65294 => '.',
- 65296 => '0',
- 65297 => '1',
- 65298 => '2',
- 65299 => '3',
- 65300 => '4',
- 65301 => '5',
- 65302 => '6',
- 65303 => '7',
- 65304 => '8',
- 65305 => '9',
- 65313 => 'a',
- 65314 => 'b',
- 65315 => 'c',
- 65316 => 'd',
- 65317 => 'e',
- 65318 => 'f',
- 65319 => 'g',
- 65320 => 'h',
- 65321 => 'i',
- 65322 => 'j',
- 65323 => 'k',
- 65324 => 'l',
- 65325 => 'm',
- 65326 => 'n',
- 65327 => 'o',
- 65328 => 'p',
- 65329 => 'q',
- 65330 => 'r',
- 65331 => 's',
- 65332 => 't',
- 65333 => 'u',
- 65334 => 'v',
- 65335 => 'w',
- 65336 => 'x',
- 65337 => 'y',
- 65338 => 'z',
- 65345 => 'a',
- 65346 => 'b',
- 65347 => 'c',
- 65348 => 'd',
- 65349 => 'e',
- 65350 => 'f',
- 65351 => 'g',
- 65352 => 'h',
- 65353 => 'i',
- 65354 => 'j',
- 65355 => 'k',
- 65356 => 'l',
- 65357 => 'm',
- 65358 => 'n',
- 65359 => 'o',
- 65360 => 'p',
- 65361 => 'q',
- 65362 => 'r',
- 65363 => 's',
- 65364 => 't',
- 65365 => 'u',
- 65366 => 'v',
- 65367 => 'w',
- 65368 => 'x',
- 65369 => 'y',
- 65370 => 'z',
- 65375 => '⦅',
- 65376 => '⦆',
- 65377 => '.',
- 65378 => '「',
- 65379 => '」',
- 65380 => '、',
- 65381 => '・',
- 65382 => 'ヲ',
- 65383 => 'ァ',
- 65384 => 'ィ',
- 65385 => 'ゥ',
- 65386 => 'ェ',
- 65387 => 'ォ',
- 65388 => 'ャ',
- 65389 => 'ュ',
- 65390 => 'ョ',
- 65391 => 'ッ',
- 65392 => 'ー',
- 65393 => 'ア',
- 65394 => 'イ',
- 65395 => 'ウ',
- 65396 => 'エ',
- 65397 => 'オ',
- 65398 => 'カ',
- 65399 => 'キ',
- 65400 => 'ク',
- 65401 => 'ケ',
- 65402 => 'コ',
- 65403 => 'サ',
- 65404 => 'シ',
- 65405 => 'ス',
- 65406 => 'セ',
- 65407 => 'ソ',
- 65408 => 'タ',
- 65409 => 'チ',
- 65410 => 'ツ',
- 65411 => 'テ',
- 65412 => 'ト',
- 65413 => 'ナ',
- 65414 => 'ニ',
- 65415 => 'ヌ',
- 65416 => 'ネ',
- 65417 => 'ノ',
- 65418 => 'ハ',
- 65419 => 'ヒ',
- 65420 => 'フ',
- 65421 => 'ヘ',
- 65422 => 'ホ',
- 65423 => 'マ',
- 65424 => 'ミ',
- 65425 => 'ム',
- 65426 => 'メ',
- 65427 => 'モ',
- 65428 => 'ヤ',
- 65429 => 'ユ',
- 65430 => 'ヨ',
- 65431 => 'ラ',
- 65432 => 'リ',
- 65433 => 'ル',
- 65434 => 'レ',
- 65435 => 'ロ',
- 65436 => 'ワ',
- 65437 => 'ン',
- 65438 => '゙',
- 65439 => '゚',
- 65441 => 'ᄀ',
- 65442 => 'ᄁ',
- 65443 => 'ᆪ',
- 65444 => 'ᄂ',
- 65445 => 'ᆬ',
- 65446 => 'ᆭ',
- 65447 => 'ᄃ',
- 65448 => 'ᄄ',
- 65449 => 'ᄅ',
- 65450 => 'ᆰ',
- 65451 => 'ᆱ',
- 65452 => 'ᆲ',
- 65453 => 'ᆳ',
- 65454 => 'ᆴ',
- 65455 => 'ᆵ',
- 65456 => 'ᄚ',
- 65457 => 'ᄆ',
- 65458 => 'ᄇ',
- 65459 => 'ᄈ',
- 65460 => 'ᄡ',
- 65461 => 'ᄉ',
- 65462 => 'ᄊ',
- 65463 => 'ᄋ',
- 65464 => 'ᄌ',
- 65465 => 'ᄍ',
- 65466 => 'ᄎ',
- 65467 => 'ᄏ',
- 65468 => 'ᄐ',
- 65469 => 'ᄑ',
- 65470 => 'ᄒ',
- 65474 => 'ᅡ',
- 65475 => 'ᅢ',
- 65476 => 'ᅣ',
- 65477 => 'ᅤ',
- 65478 => 'ᅥ',
- 65479 => 'ᅦ',
- 65482 => 'ᅧ',
- 65483 => 'ᅨ',
- 65484 => 'ᅩ',
- 65485 => 'ᅪ',
- 65486 => 'ᅫ',
- 65487 => 'ᅬ',
- 65490 => 'ᅭ',
- 65491 => 'ᅮ',
- 65492 => 'ᅯ',
- 65493 => 'ᅰ',
- 65494 => 'ᅱ',
- 65495 => 'ᅲ',
- 65498 => 'ᅳ',
- 65499 => 'ᅴ',
- 65500 => 'ᅵ',
- 65504 => '¢',
- 65505 => '£',
- 65506 => '¬',
- 65508 => '¦',
- 65509 => '¥',
- 65510 => '₩',
- 65512 => '│',
- 65513 => '←',
- 65514 => '↑',
- 65515 => '→',
- 65516 => '↓',
- 65517 => '■',
- 65518 => '○',
- 66560 => '𐐨',
- 66561 => '𐐩',
- 66562 => '𐐪',
- 66563 => '𐐫',
- 66564 => '𐐬',
- 66565 => '𐐭',
- 66566 => '𐐮',
- 66567 => '𐐯',
- 66568 => '𐐰',
- 66569 => '𐐱',
- 66570 => '𐐲',
- 66571 => '𐐳',
- 66572 => '𐐴',
- 66573 => '𐐵',
- 66574 => '𐐶',
- 66575 => '𐐷',
- 66576 => '𐐸',
- 66577 => '𐐹',
- 66578 => '𐐺',
- 66579 => '𐐻',
- 66580 => '𐐼',
- 66581 => '𐐽',
- 66582 => '𐐾',
- 66583 => '𐐿',
- 66584 => '𐑀',
- 66585 => '𐑁',
- 66586 => '𐑂',
- 66587 => '𐑃',
- 66588 => '𐑄',
- 66589 => '𐑅',
- 66590 => '𐑆',
- 66591 => '𐑇',
- 66592 => '𐑈',
- 66593 => '𐑉',
- 66594 => '𐑊',
- 66595 => '𐑋',
- 66596 => '𐑌',
- 66597 => '𐑍',
- 66598 => '𐑎',
- 66599 => '𐑏',
- 66736 => '𐓘',
- 66737 => '𐓙',
- 66738 => '𐓚',
- 66739 => '𐓛',
- 66740 => '𐓜',
- 66741 => '𐓝',
- 66742 => '𐓞',
- 66743 => '𐓟',
- 66744 => '𐓠',
- 66745 => '𐓡',
- 66746 => '𐓢',
- 66747 => '𐓣',
- 66748 => '𐓤',
- 66749 => '𐓥',
- 66750 => '𐓦',
- 66751 => '𐓧',
- 66752 => '𐓨',
- 66753 => '𐓩',
- 66754 => '𐓪',
- 66755 => '𐓫',
- 66756 => '𐓬',
- 66757 => '𐓭',
- 66758 => '𐓮',
- 66759 => '𐓯',
- 66760 => '𐓰',
- 66761 => '𐓱',
- 66762 => '𐓲',
- 66763 => '𐓳',
- 66764 => '𐓴',
- 66765 => '𐓵',
- 66766 => '𐓶',
- 66767 => '𐓷',
- 66768 => '𐓸',
- 66769 => '𐓹',
- 66770 => '𐓺',
- 66771 => '𐓻',
- 68736 => '𐳀',
- 68737 => '𐳁',
- 68738 => '𐳂',
- 68739 => '𐳃',
- 68740 => '𐳄',
- 68741 => '𐳅',
- 68742 => '𐳆',
- 68743 => '𐳇',
- 68744 => '𐳈',
- 68745 => '𐳉',
- 68746 => '𐳊',
- 68747 => '𐳋',
- 68748 => '𐳌',
- 68749 => '𐳍',
- 68750 => '𐳎',
- 68751 => '𐳏',
- 68752 => '𐳐',
- 68753 => '𐳑',
- 68754 => '𐳒',
- 68755 => '𐳓',
- 68756 => '𐳔',
- 68757 => '𐳕',
- 68758 => '𐳖',
- 68759 => '𐳗',
- 68760 => '𐳘',
- 68761 => '𐳙',
- 68762 => '𐳚',
- 68763 => '𐳛',
- 68764 => '𐳜',
- 68765 => '𐳝',
- 68766 => '𐳞',
- 68767 => '𐳟',
- 68768 => '𐳠',
- 68769 => '𐳡',
- 68770 => '𐳢',
- 68771 => '𐳣',
- 68772 => '𐳤',
- 68773 => '𐳥',
- 68774 => '𐳦',
- 68775 => '𐳧',
- 68776 => '𐳨',
- 68777 => '𐳩',
- 68778 => '𐳪',
- 68779 => '𐳫',
- 68780 => '𐳬',
- 68781 => '𐳭',
- 68782 => '𐳮',
- 68783 => '𐳯',
- 68784 => '𐳰',
- 68785 => '𐳱',
- 68786 => '𐳲',
- 71840 => '𑣀',
- 71841 => '𑣁',
- 71842 => '𑣂',
- 71843 => '𑣃',
- 71844 => '𑣄',
- 71845 => '𑣅',
- 71846 => '𑣆',
- 71847 => '𑣇',
- 71848 => '𑣈',
- 71849 => '𑣉',
- 71850 => '𑣊',
- 71851 => '𑣋',
- 71852 => '𑣌',
- 71853 => '𑣍',
- 71854 => '𑣎',
- 71855 => '𑣏',
- 71856 => '𑣐',
- 71857 => '𑣑',
- 71858 => '𑣒',
- 71859 => '𑣓',
- 71860 => '𑣔',
- 71861 => '𑣕',
- 71862 => '𑣖',
- 71863 => '𑣗',
- 71864 => '𑣘',
- 71865 => '𑣙',
- 71866 => '𑣚',
- 71867 => '𑣛',
- 71868 => '𑣜',
- 71869 => '𑣝',
- 71870 => '𑣞',
- 71871 => '𑣟',
- 93760 => '𖹠',
- 93761 => '𖹡',
- 93762 => '𖹢',
- 93763 => '𖹣',
- 93764 => '𖹤',
- 93765 => '𖹥',
- 93766 => '𖹦',
- 93767 => '𖹧',
- 93768 => '𖹨',
- 93769 => '𖹩',
- 93770 => '𖹪',
- 93771 => '𖹫',
- 93772 => '𖹬',
- 93773 => '𖹭',
- 93774 => '𖹮',
- 93775 => '𖹯',
- 93776 => '𖹰',
- 93777 => '𖹱',
- 93778 => '𖹲',
- 93779 => '𖹳',
- 93780 => '𖹴',
- 93781 => '𖹵',
- 93782 => '𖹶',
- 93783 => '𖹷',
- 93784 => '𖹸',
- 93785 => '𖹹',
- 93786 => '𖹺',
- 93787 => '𖹻',
- 93788 => '𖹼',
- 93789 => '𖹽',
- 93790 => '𖹾',
- 93791 => '𖹿',
- 119134 => '𝅗𝅥',
- 119135 => '𝅘𝅥',
- 119136 => '𝅘𝅥𝅮',
- 119137 => '𝅘𝅥𝅯',
- 119138 => '𝅘𝅥𝅰',
- 119139 => '𝅘𝅥𝅱',
- 119140 => '𝅘𝅥𝅲',
- 119227 => '𝆹𝅥',
- 119228 => '𝆺𝅥',
- 119229 => '𝆹𝅥𝅮',
- 119230 => '𝆺𝅥𝅮',
- 119231 => '𝆹𝅥𝅯',
- 119232 => '𝆺𝅥𝅯',
- 119808 => 'a',
- 119809 => 'b',
- 119810 => 'c',
- 119811 => 'd',
- 119812 => 'e',
- 119813 => 'f',
- 119814 => 'g',
- 119815 => 'h',
- 119816 => 'i',
- 119817 => 'j',
- 119818 => 'k',
- 119819 => 'l',
- 119820 => 'm',
- 119821 => 'n',
- 119822 => 'o',
- 119823 => 'p',
- 119824 => 'q',
- 119825 => 'r',
- 119826 => 's',
- 119827 => 't',
- 119828 => 'u',
- 119829 => 'v',
- 119830 => 'w',
- 119831 => 'x',
- 119832 => 'y',
- 119833 => 'z',
- 119834 => 'a',
- 119835 => 'b',
- 119836 => 'c',
- 119837 => 'd',
- 119838 => 'e',
- 119839 => 'f',
- 119840 => 'g',
- 119841 => 'h',
- 119842 => 'i',
- 119843 => 'j',
- 119844 => 'k',
- 119845 => 'l',
- 119846 => 'm',
- 119847 => 'n',
- 119848 => 'o',
- 119849 => 'p',
- 119850 => 'q',
- 119851 => 'r',
- 119852 => 's',
- 119853 => 't',
- 119854 => 'u',
- 119855 => 'v',
- 119856 => 'w',
- 119857 => 'x',
- 119858 => 'y',
- 119859 => 'z',
- 119860 => 'a',
- 119861 => 'b',
- 119862 => 'c',
- 119863 => 'd',
- 119864 => 'e',
- 119865 => 'f',
- 119866 => 'g',
- 119867 => 'h',
- 119868 => 'i',
- 119869 => 'j',
- 119870 => 'k',
- 119871 => 'l',
- 119872 => 'm',
- 119873 => 'n',
- 119874 => 'o',
- 119875 => 'p',
- 119876 => 'q',
- 119877 => 'r',
- 119878 => 's',
- 119879 => 't',
- 119880 => 'u',
- 119881 => 'v',
- 119882 => 'w',
- 119883 => 'x',
- 119884 => 'y',
- 119885 => 'z',
- 119886 => 'a',
- 119887 => 'b',
- 119888 => 'c',
- 119889 => 'd',
- 119890 => 'e',
- 119891 => 'f',
- 119892 => 'g',
- 119894 => 'i',
- 119895 => 'j',
- 119896 => 'k',
- 119897 => 'l',
- 119898 => 'm',
- 119899 => 'n',
- 119900 => 'o',
- 119901 => 'p',
- 119902 => 'q',
- 119903 => 'r',
- 119904 => 's',
- 119905 => 't',
- 119906 => 'u',
- 119907 => 'v',
- 119908 => 'w',
- 119909 => 'x',
- 119910 => 'y',
- 119911 => 'z',
- 119912 => 'a',
- 119913 => 'b',
- 119914 => 'c',
- 119915 => 'd',
- 119916 => 'e',
- 119917 => 'f',
- 119918 => 'g',
- 119919 => 'h',
- 119920 => 'i',
- 119921 => 'j',
- 119922 => 'k',
- 119923 => 'l',
- 119924 => 'm',
- 119925 => 'n',
- 119926 => 'o',
- 119927 => 'p',
- 119928 => 'q',
- 119929 => 'r',
- 119930 => 's',
- 119931 => 't',
- 119932 => 'u',
- 119933 => 'v',
- 119934 => 'w',
- 119935 => 'x',
- 119936 => 'y',
- 119937 => 'z',
- 119938 => 'a',
- 119939 => 'b',
- 119940 => 'c',
- 119941 => 'd',
- 119942 => 'e',
- 119943 => 'f',
- 119944 => 'g',
- 119945 => 'h',
- 119946 => 'i',
- 119947 => 'j',
- 119948 => 'k',
- 119949 => 'l',
- 119950 => 'm',
- 119951 => 'n',
- 119952 => 'o',
- 119953 => 'p',
- 119954 => 'q',
- 119955 => 'r',
- 119956 => 's',
- 119957 => 't',
- 119958 => 'u',
- 119959 => 'v',
- 119960 => 'w',
- 119961 => 'x',
- 119962 => 'y',
- 119963 => 'z',
- 119964 => 'a',
- 119966 => 'c',
- 119967 => 'd',
- 119970 => 'g',
- 119973 => 'j',
- 119974 => 'k',
- 119977 => 'n',
- 119978 => 'o',
- 119979 => 'p',
- 119980 => 'q',
- 119982 => 's',
- 119983 => 't',
- 119984 => 'u',
- 119985 => 'v',
- 119986 => 'w',
- 119987 => 'x',
- 119988 => 'y',
- 119989 => 'z',
- 119990 => 'a',
- 119991 => 'b',
- 119992 => 'c',
- 119993 => 'd',
- 119995 => 'f',
- 119997 => 'h',
- 119998 => 'i',
- 119999 => 'j',
- 120000 => 'k',
- 120001 => 'l',
- 120002 => 'm',
- 120003 => 'n',
- 120005 => 'p',
- 120006 => 'q',
- 120007 => 'r',
- 120008 => 's',
- 120009 => 't',
- 120010 => 'u',
- 120011 => 'v',
- 120012 => 'w',
- 120013 => 'x',
- 120014 => 'y',
- 120015 => 'z',
- 120016 => 'a',
- 120017 => 'b',
- 120018 => 'c',
- 120019 => 'd',
- 120020 => 'e',
- 120021 => 'f',
- 120022 => 'g',
- 120023 => 'h',
- 120024 => 'i',
- 120025 => 'j',
- 120026 => 'k',
- 120027 => 'l',
- 120028 => 'm',
- 120029 => 'n',
- 120030 => 'o',
- 120031 => 'p',
- 120032 => 'q',
- 120033 => 'r',
- 120034 => 's',
- 120035 => 't',
- 120036 => 'u',
- 120037 => 'v',
- 120038 => 'w',
- 120039 => 'x',
- 120040 => 'y',
- 120041 => 'z',
- 120042 => 'a',
- 120043 => 'b',
- 120044 => 'c',
- 120045 => 'd',
- 120046 => 'e',
- 120047 => 'f',
- 120048 => 'g',
- 120049 => 'h',
- 120050 => 'i',
- 120051 => 'j',
- 120052 => 'k',
- 120053 => 'l',
- 120054 => 'm',
- 120055 => 'n',
- 120056 => 'o',
- 120057 => 'p',
- 120058 => 'q',
- 120059 => 'r',
- 120060 => 's',
- 120061 => 't',
- 120062 => 'u',
- 120063 => 'v',
- 120064 => 'w',
- 120065 => 'x',
- 120066 => 'y',
- 120067 => 'z',
- 120068 => 'a',
- 120069 => 'b',
- 120071 => 'd',
- 120072 => 'e',
- 120073 => 'f',
- 120074 => 'g',
- 120077 => 'j',
- 120078 => 'k',
- 120079 => 'l',
- 120080 => 'm',
- 120081 => 'n',
- 120082 => 'o',
- 120083 => 'p',
- 120084 => 'q',
- 120086 => 's',
- 120087 => 't',
- 120088 => 'u',
- 120089 => 'v',
- 120090 => 'w',
- 120091 => 'x',
- 120092 => 'y',
- 120094 => 'a',
- 120095 => 'b',
- 120096 => 'c',
- 120097 => 'd',
- 120098 => 'e',
- 120099 => 'f',
- 120100 => 'g',
- 120101 => 'h',
- 120102 => 'i',
- 120103 => 'j',
- 120104 => 'k',
- 120105 => 'l',
- 120106 => 'm',
- 120107 => 'n',
- 120108 => 'o',
- 120109 => 'p',
- 120110 => 'q',
- 120111 => 'r',
- 120112 => 's',
- 120113 => 't',
- 120114 => 'u',
- 120115 => 'v',
- 120116 => 'w',
- 120117 => 'x',
- 120118 => 'y',
- 120119 => 'z',
- 120120 => 'a',
- 120121 => 'b',
- 120123 => 'd',
- 120124 => 'e',
- 120125 => 'f',
- 120126 => 'g',
- 120128 => 'i',
- 120129 => 'j',
- 120130 => 'k',
- 120131 => 'l',
- 120132 => 'm',
- 120134 => 'o',
- 120138 => 's',
- 120139 => 't',
- 120140 => 'u',
- 120141 => 'v',
- 120142 => 'w',
- 120143 => 'x',
- 120144 => 'y',
- 120146 => 'a',
- 120147 => 'b',
- 120148 => 'c',
- 120149 => 'd',
- 120150 => 'e',
- 120151 => 'f',
- 120152 => 'g',
- 120153 => 'h',
- 120154 => 'i',
- 120155 => 'j',
- 120156 => 'k',
- 120157 => 'l',
- 120158 => 'm',
- 120159 => 'n',
- 120160 => 'o',
- 120161 => 'p',
- 120162 => 'q',
- 120163 => 'r',
- 120164 => 's',
- 120165 => 't',
- 120166 => 'u',
- 120167 => 'v',
- 120168 => 'w',
- 120169 => 'x',
- 120170 => 'y',
- 120171 => 'z',
- 120172 => 'a',
- 120173 => 'b',
- 120174 => 'c',
- 120175 => 'd',
- 120176 => 'e',
- 120177 => 'f',
- 120178 => 'g',
- 120179 => 'h',
- 120180 => 'i',
- 120181 => 'j',
- 120182 => 'k',
- 120183 => 'l',
- 120184 => 'm',
- 120185 => 'n',
- 120186 => 'o',
- 120187 => 'p',
- 120188 => 'q',
- 120189 => 'r',
- 120190 => 's',
- 120191 => 't',
- 120192 => 'u',
- 120193 => 'v',
- 120194 => 'w',
- 120195 => 'x',
- 120196 => 'y',
- 120197 => 'z',
- 120198 => 'a',
- 120199 => 'b',
- 120200 => 'c',
- 120201 => 'd',
- 120202 => 'e',
- 120203 => 'f',
- 120204 => 'g',
- 120205 => 'h',
- 120206 => 'i',
- 120207 => 'j',
- 120208 => 'k',
- 120209 => 'l',
- 120210 => 'm',
- 120211 => 'n',
- 120212 => 'o',
- 120213 => 'p',
- 120214 => 'q',
- 120215 => 'r',
- 120216 => 's',
- 120217 => 't',
- 120218 => 'u',
- 120219 => 'v',
- 120220 => 'w',
- 120221 => 'x',
- 120222 => 'y',
- 120223 => 'z',
- 120224 => 'a',
- 120225 => 'b',
- 120226 => 'c',
- 120227 => 'd',
- 120228 => 'e',
- 120229 => 'f',
- 120230 => 'g',
- 120231 => 'h',
- 120232 => 'i',
- 120233 => 'j',
- 120234 => 'k',
- 120235 => 'l',
- 120236 => 'm',
- 120237 => 'n',
- 120238 => 'o',
- 120239 => 'p',
- 120240 => 'q',
- 120241 => 'r',
- 120242 => 's',
- 120243 => 't',
- 120244 => 'u',
- 120245 => 'v',
- 120246 => 'w',
- 120247 => 'x',
- 120248 => 'y',
- 120249 => 'z',
- 120250 => 'a',
- 120251 => 'b',
- 120252 => 'c',
- 120253 => 'd',
- 120254 => 'e',
- 120255 => 'f',
- 120256 => 'g',
- 120257 => 'h',
- 120258 => 'i',
- 120259 => 'j',
- 120260 => 'k',
- 120261 => 'l',
- 120262 => 'm',
- 120263 => 'n',
- 120264 => 'o',
- 120265 => 'p',
- 120266 => 'q',
- 120267 => 'r',
- 120268 => 's',
- 120269 => 't',
- 120270 => 'u',
- 120271 => 'v',
- 120272 => 'w',
- 120273 => 'x',
- 120274 => 'y',
- 120275 => 'z',
- 120276 => 'a',
- 120277 => 'b',
- 120278 => 'c',
- 120279 => 'd',
- 120280 => 'e',
- 120281 => 'f',
- 120282 => 'g',
- 120283 => 'h',
- 120284 => 'i',
- 120285 => 'j',
- 120286 => 'k',
- 120287 => 'l',
- 120288 => 'm',
- 120289 => 'n',
- 120290 => 'o',
- 120291 => 'p',
- 120292 => 'q',
- 120293 => 'r',
- 120294 => 's',
- 120295 => 't',
- 120296 => 'u',
- 120297 => 'v',
- 120298 => 'w',
- 120299 => 'x',
- 120300 => 'y',
- 120301 => 'z',
- 120302 => 'a',
- 120303 => 'b',
- 120304 => 'c',
- 120305 => 'd',
- 120306 => 'e',
- 120307 => 'f',
- 120308 => 'g',
- 120309 => 'h',
- 120310 => 'i',
- 120311 => 'j',
- 120312 => 'k',
- 120313 => 'l',
- 120314 => 'm',
- 120315 => 'n',
- 120316 => 'o',
- 120317 => 'p',
- 120318 => 'q',
- 120319 => 'r',
- 120320 => 's',
- 120321 => 't',
- 120322 => 'u',
- 120323 => 'v',
- 120324 => 'w',
- 120325 => 'x',
- 120326 => 'y',
- 120327 => 'z',
- 120328 => 'a',
- 120329 => 'b',
- 120330 => 'c',
- 120331 => 'd',
- 120332 => 'e',
- 120333 => 'f',
- 120334 => 'g',
- 120335 => 'h',
- 120336 => 'i',
- 120337 => 'j',
- 120338 => 'k',
- 120339 => 'l',
- 120340 => 'm',
- 120341 => 'n',
- 120342 => 'o',
- 120343 => 'p',
- 120344 => 'q',
- 120345 => 'r',
- 120346 => 's',
- 120347 => 't',
- 120348 => 'u',
- 120349 => 'v',
- 120350 => 'w',
- 120351 => 'x',
- 120352 => 'y',
- 120353 => 'z',
- 120354 => 'a',
- 120355 => 'b',
- 120356 => 'c',
- 120357 => 'd',
- 120358 => 'e',
- 120359 => 'f',
- 120360 => 'g',
- 120361 => 'h',
- 120362 => 'i',
- 120363 => 'j',
- 120364 => 'k',
- 120365 => 'l',
- 120366 => 'm',
- 120367 => 'n',
- 120368 => 'o',
- 120369 => 'p',
- 120370 => 'q',
- 120371 => 'r',
- 120372 => 's',
- 120373 => 't',
- 120374 => 'u',
- 120375 => 'v',
- 120376 => 'w',
- 120377 => 'x',
- 120378 => 'y',
- 120379 => 'z',
- 120380 => 'a',
- 120381 => 'b',
- 120382 => 'c',
- 120383 => 'd',
- 120384 => 'e',
- 120385 => 'f',
- 120386 => 'g',
- 120387 => 'h',
- 120388 => 'i',
- 120389 => 'j',
- 120390 => 'k',
- 120391 => 'l',
- 120392 => 'm',
- 120393 => 'n',
- 120394 => 'o',
- 120395 => 'p',
- 120396 => 'q',
- 120397 => 'r',
- 120398 => 's',
- 120399 => 't',
- 120400 => 'u',
- 120401 => 'v',
- 120402 => 'w',
- 120403 => 'x',
- 120404 => 'y',
- 120405 => 'z',
- 120406 => 'a',
- 120407 => 'b',
- 120408 => 'c',
- 120409 => 'd',
- 120410 => 'e',
- 120411 => 'f',
- 120412 => 'g',
- 120413 => 'h',
- 120414 => 'i',
- 120415 => 'j',
- 120416 => 'k',
- 120417 => 'l',
- 120418 => 'm',
- 120419 => 'n',
- 120420 => 'o',
- 120421 => 'p',
- 120422 => 'q',
- 120423 => 'r',
- 120424 => 's',
- 120425 => 't',
- 120426 => 'u',
- 120427 => 'v',
- 120428 => 'w',
- 120429 => 'x',
- 120430 => 'y',
- 120431 => 'z',
- 120432 => 'a',
- 120433 => 'b',
- 120434 => 'c',
- 120435 => 'd',
- 120436 => 'e',
- 120437 => 'f',
- 120438 => 'g',
- 120439 => 'h',
- 120440 => 'i',
- 120441 => 'j',
- 120442 => 'k',
- 120443 => 'l',
- 120444 => 'm',
- 120445 => 'n',
- 120446 => 'o',
- 120447 => 'p',
- 120448 => 'q',
- 120449 => 'r',
- 120450 => 's',
- 120451 => 't',
- 120452 => 'u',
- 120453 => 'v',
- 120454 => 'w',
- 120455 => 'x',
- 120456 => 'y',
- 120457 => 'z',
- 120458 => 'a',
- 120459 => 'b',
- 120460 => 'c',
- 120461 => 'd',
- 120462 => 'e',
- 120463 => 'f',
- 120464 => 'g',
- 120465 => 'h',
- 120466 => 'i',
- 120467 => 'j',
- 120468 => 'k',
- 120469 => 'l',
- 120470 => 'm',
- 120471 => 'n',
- 120472 => 'o',
- 120473 => 'p',
- 120474 => 'q',
- 120475 => 'r',
- 120476 => 's',
- 120477 => 't',
- 120478 => 'u',
- 120479 => 'v',
- 120480 => 'w',
- 120481 => 'x',
- 120482 => 'y',
- 120483 => 'z',
- 120484 => 'ı',
- 120485 => 'ȷ',
- 120488 => 'α',
- 120489 => 'β',
- 120490 => 'γ',
- 120491 => 'δ',
- 120492 => 'ε',
- 120493 => 'ζ',
- 120494 => 'η',
- 120495 => 'θ',
- 120496 => 'ι',
- 120497 => 'κ',
- 120498 => 'λ',
- 120499 => 'μ',
- 120500 => 'ν',
- 120501 => 'ξ',
- 120502 => 'ο',
- 120503 => 'π',
- 120504 => 'ρ',
- 120505 => 'θ',
- 120506 => 'σ',
- 120507 => 'τ',
- 120508 => 'υ',
- 120509 => 'φ',
- 120510 => 'χ',
- 120511 => 'ψ',
- 120512 => 'ω',
- 120513 => '∇',
- 120514 => 'α',
- 120515 => 'β',
- 120516 => 'γ',
- 120517 => 'δ',
- 120518 => 'ε',
- 120519 => 'ζ',
- 120520 => 'η',
- 120521 => 'θ',
- 120522 => 'ι',
- 120523 => 'κ',
- 120524 => 'λ',
- 120525 => 'μ',
- 120526 => 'ν',
- 120527 => 'ξ',
- 120528 => 'ο',
- 120529 => 'π',
- 120530 => 'ρ',
- 120531 => 'σ',
- 120532 => 'σ',
- 120533 => 'τ',
- 120534 => 'υ',
- 120535 => 'φ',
- 120536 => 'χ',
- 120537 => 'ψ',
- 120538 => 'ω',
- 120539 => '∂',
- 120540 => 'ε',
- 120541 => 'θ',
- 120542 => 'κ',
- 120543 => 'φ',
- 120544 => 'ρ',
- 120545 => 'π',
- 120546 => 'α',
- 120547 => 'β',
- 120548 => 'γ',
- 120549 => 'δ',
- 120550 => 'ε',
- 120551 => 'ζ',
- 120552 => 'η',
- 120553 => 'θ',
- 120554 => 'ι',
- 120555 => 'κ',
- 120556 => 'λ',
- 120557 => 'μ',
- 120558 => 'ν',
- 120559 => 'ξ',
- 120560 => 'ο',
- 120561 => 'π',
- 120562 => 'ρ',
- 120563 => 'θ',
- 120564 => 'σ',
- 120565 => 'τ',
- 120566 => 'υ',
- 120567 => 'φ',
- 120568 => 'χ',
- 120569 => 'ψ',
- 120570 => 'ω',
- 120571 => '∇',
- 120572 => 'α',
- 120573 => 'β',
- 120574 => 'γ',
- 120575 => 'δ',
- 120576 => 'ε',
- 120577 => 'ζ',
- 120578 => 'η',
- 120579 => 'θ',
- 120580 => 'ι',
- 120581 => 'κ',
- 120582 => 'λ',
- 120583 => 'μ',
- 120584 => 'ν',
- 120585 => 'ξ',
- 120586 => 'ο',
- 120587 => 'π',
- 120588 => 'ρ',
- 120589 => 'σ',
- 120590 => 'σ',
- 120591 => 'τ',
- 120592 => 'υ',
- 120593 => 'φ',
- 120594 => 'χ',
- 120595 => 'ψ',
- 120596 => 'ω',
- 120597 => '∂',
- 120598 => 'ε',
- 120599 => 'θ',
- 120600 => 'κ',
- 120601 => 'φ',
- 120602 => 'ρ',
- 120603 => 'π',
- 120604 => 'α',
- 120605 => 'β',
- 120606 => 'γ',
- 120607 => 'δ',
- 120608 => 'ε',
- 120609 => 'ζ',
- 120610 => 'η',
- 120611 => 'θ',
- 120612 => 'ι',
- 120613 => 'κ',
- 120614 => 'λ',
- 120615 => 'μ',
- 120616 => 'ν',
- 120617 => 'ξ',
- 120618 => 'ο',
- 120619 => 'π',
- 120620 => 'ρ',
- 120621 => 'θ',
- 120622 => 'σ',
- 120623 => 'τ',
- 120624 => 'υ',
- 120625 => 'φ',
- 120626 => 'χ',
- 120627 => 'ψ',
- 120628 => 'ω',
- 120629 => '∇',
- 120630 => 'α',
- 120631 => 'β',
- 120632 => 'γ',
- 120633 => 'δ',
- 120634 => 'ε',
- 120635 => 'ζ',
- 120636 => 'η',
- 120637 => 'θ',
- 120638 => 'ι',
- 120639 => 'κ',
- 120640 => 'λ',
- 120641 => 'μ',
- 120642 => 'ν',
- 120643 => 'ξ',
- 120644 => 'ο',
- 120645 => 'π',
- 120646 => 'ρ',
- 120647 => 'σ',
- 120648 => 'σ',
- 120649 => 'τ',
- 120650 => 'υ',
- 120651 => 'φ',
- 120652 => 'χ',
- 120653 => 'ψ',
- 120654 => 'ω',
- 120655 => '∂',
- 120656 => 'ε',
- 120657 => 'θ',
- 120658 => 'κ',
- 120659 => 'φ',
- 120660 => 'ρ',
- 120661 => 'π',
- 120662 => 'α',
- 120663 => 'β',
- 120664 => 'γ',
- 120665 => 'δ',
- 120666 => 'ε',
- 120667 => 'ζ',
- 120668 => 'η',
- 120669 => 'θ',
- 120670 => 'ι',
- 120671 => 'κ',
- 120672 => 'λ',
- 120673 => 'μ',
- 120674 => 'ν',
- 120675 => 'ξ',
- 120676 => 'ο',
- 120677 => 'π',
- 120678 => 'ρ',
- 120679 => 'θ',
- 120680 => 'σ',
- 120681 => 'τ',
- 120682 => 'υ',
- 120683 => 'φ',
- 120684 => 'χ',
- 120685 => 'ψ',
- 120686 => 'ω',
- 120687 => '∇',
- 120688 => 'α',
- 120689 => 'β',
- 120690 => 'γ',
- 120691 => 'δ',
- 120692 => 'ε',
- 120693 => 'ζ',
- 120694 => 'η',
- 120695 => 'θ',
- 120696 => 'ι',
- 120697 => 'κ',
- 120698 => 'λ',
- 120699 => 'μ',
- 120700 => 'ν',
- 120701 => 'ξ',
- 120702 => 'ο',
- 120703 => 'π',
- 120704 => 'ρ',
- 120705 => 'σ',
- 120706 => 'σ',
- 120707 => 'τ',
- 120708 => 'υ',
- 120709 => 'φ',
- 120710 => 'χ',
- 120711 => 'ψ',
- 120712 => 'ω',
- 120713 => '∂',
- 120714 => 'ε',
- 120715 => 'θ',
- 120716 => 'κ',
- 120717 => 'φ',
- 120718 => 'ρ',
- 120719 => 'π',
- 120720 => 'α',
- 120721 => 'β',
- 120722 => 'γ',
- 120723 => 'δ',
- 120724 => 'ε',
- 120725 => 'ζ',
- 120726 => 'η',
- 120727 => 'θ',
- 120728 => 'ι',
- 120729 => 'κ',
- 120730 => 'λ',
- 120731 => 'μ',
- 120732 => 'ν',
- 120733 => 'ξ',
- 120734 => 'ο',
- 120735 => 'π',
- 120736 => 'ρ',
- 120737 => 'θ',
- 120738 => 'σ',
- 120739 => 'τ',
- 120740 => 'υ',
- 120741 => 'φ',
- 120742 => 'χ',
- 120743 => 'ψ',
- 120744 => 'ω',
- 120745 => '∇',
- 120746 => 'α',
- 120747 => 'β',
- 120748 => 'γ',
- 120749 => 'δ',
- 120750 => 'ε',
- 120751 => 'ζ',
- 120752 => 'η',
- 120753 => 'θ',
- 120754 => 'ι',
- 120755 => 'κ',
- 120756 => 'λ',
- 120757 => 'μ',
- 120758 => 'ν',
- 120759 => 'ξ',
- 120760 => 'ο',
- 120761 => 'π',
- 120762 => 'ρ',
- 120763 => 'σ',
- 120764 => 'σ',
- 120765 => 'τ',
- 120766 => 'υ',
- 120767 => 'φ',
- 120768 => 'χ',
- 120769 => 'ψ',
- 120770 => 'ω',
- 120771 => '∂',
- 120772 => 'ε',
- 120773 => 'θ',
- 120774 => 'κ',
- 120775 => 'φ',
- 120776 => 'ρ',
- 120777 => 'π',
- 120778 => 'ϝ',
- 120779 => 'ϝ',
- 120782 => '0',
- 120783 => '1',
- 120784 => '2',
- 120785 => '3',
- 120786 => '4',
- 120787 => '5',
- 120788 => '6',
- 120789 => '7',
- 120790 => '8',
- 120791 => '9',
- 120792 => '0',
- 120793 => '1',
- 120794 => '2',
- 120795 => '3',
- 120796 => '4',
- 120797 => '5',
- 120798 => '6',
- 120799 => '7',
- 120800 => '8',
- 120801 => '9',
- 120802 => '0',
- 120803 => '1',
- 120804 => '2',
- 120805 => '3',
- 120806 => '4',
- 120807 => '5',
- 120808 => '6',
- 120809 => '7',
- 120810 => '8',
- 120811 => '9',
- 120812 => '0',
- 120813 => '1',
- 120814 => '2',
- 120815 => '3',
- 120816 => '4',
- 120817 => '5',
- 120818 => '6',
- 120819 => '7',
- 120820 => '8',
- 120821 => '9',
- 120822 => '0',
- 120823 => '1',
- 120824 => '2',
- 120825 => '3',
- 120826 => '4',
- 120827 => '5',
- 120828 => '6',
- 120829 => '7',
- 120830 => '8',
- 120831 => '9',
- 125184 => '𞤢',
- 125185 => '𞤣',
- 125186 => '𞤤',
- 125187 => '𞤥',
- 125188 => '𞤦',
- 125189 => '𞤧',
- 125190 => '𞤨',
- 125191 => '𞤩',
- 125192 => '𞤪',
- 125193 => '𞤫',
- 125194 => '𞤬',
- 125195 => '𞤭',
- 125196 => '𞤮',
- 125197 => '𞤯',
- 125198 => '𞤰',
- 125199 => '𞤱',
- 125200 => '𞤲',
- 125201 => '𞤳',
- 125202 => '𞤴',
- 125203 => '𞤵',
- 125204 => '𞤶',
- 125205 => '𞤷',
- 125206 => '𞤸',
- 125207 => '𞤹',
- 125208 => '𞤺',
- 125209 => '𞤻',
- 125210 => '𞤼',
- 125211 => '𞤽',
- 125212 => '𞤾',
- 125213 => '𞤿',
- 125214 => '𞥀',
- 125215 => '𞥁',
- 125216 => '𞥂',
- 125217 => '𞥃',
- 126464 => 'ا',
- 126465 => 'ب',
- 126466 => 'ج',
- 126467 => 'د',
- 126469 => 'و',
- 126470 => 'ز',
- 126471 => 'ح',
- 126472 => 'ط',
- 126473 => 'ي',
- 126474 => 'ك',
- 126475 => 'ل',
- 126476 => 'م',
- 126477 => 'ن',
- 126478 => 'س',
- 126479 => 'ع',
- 126480 => 'ف',
- 126481 => 'ص',
- 126482 => 'ق',
- 126483 => 'ر',
- 126484 => 'ش',
- 126485 => 'ت',
- 126486 => 'ث',
- 126487 => 'خ',
- 126488 => 'ذ',
- 126489 => 'ض',
- 126490 => 'ظ',
- 126491 => 'غ',
- 126492 => 'ٮ',
- 126493 => 'ں',
- 126494 => 'ڡ',
- 126495 => 'ٯ',
- 126497 => 'ب',
- 126498 => 'ج',
- 126500 => 'ه',
- 126503 => 'ح',
- 126505 => 'ي',
- 126506 => 'ك',
- 126507 => 'ل',
- 126508 => 'م',
- 126509 => 'ن',
- 126510 => 'س',
- 126511 => 'ع',
- 126512 => 'ف',
- 126513 => 'ص',
- 126514 => 'ق',
- 126516 => 'ش',
- 126517 => 'ت',
- 126518 => 'ث',
- 126519 => 'خ',
- 126521 => 'ض',
- 126523 => 'غ',
- 126530 => 'ج',
- 126535 => 'ح',
- 126537 => 'ي',
- 126539 => 'ل',
- 126541 => 'ن',
- 126542 => 'س',
- 126543 => 'ع',
- 126545 => 'ص',
- 126546 => 'ق',
- 126548 => 'ش',
- 126551 => 'خ',
- 126553 => 'ض',
- 126555 => 'غ',
- 126557 => 'ں',
- 126559 => 'ٯ',
- 126561 => 'ب',
- 126562 => 'ج',
- 126564 => 'ه',
- 126567 => 'ح',
- 126568 => 'ط',
- 126569 => 'ي',
- 126570 => 'ك',
- 126572 => 'م',
- 126573 => 'ن',
- 126574 => 'س',
- 126575 => 'ع',
- 126576 => 'ف',
- 126577 => 'ص',
- 126578 => 'ق',
- 126580 => 'ش',
- 126581 => 'ت',
- 126582 => 'ث',
- 126583 => 'خ',
- 126585 => 'ض',
- 126586 => 'ظ',
- 126587 => 'غ',
- 126588 => 'ٮ',
- 126590 => 'ڡ',
- 126592 => 'ا',
- 126593 => 'ب',
- 126594 => 'ج',
- 126595 => 'د',
- 126596 => 'ه',
- 126597 => 'و',
- 126598 => 'ز',
- 126599 => 'ح',
- 126600 => 'ط',
- 126601 => 'ي',
- 126603 => 'ل',
- 126604 => 'م',
- 126605 => 'ن',
- 126606 => 'س',
- 126607 => 'ع',
- 126608 => 'ف',
- 126609 => 'ص',
- 126610 => 'ق',
- 126611 => 'ر',
- 126612 => 'ش',
- 126613 => 'ت',
- 126614 => 'ث',
- 126615 => 'خ',
- 126616 => 'ذ',
- 126617 => 'ض',
- 126618 => 'ظ',
- 126619 => 'غ',
- 126625 => 'ب',
- 126626 => 'ج',
- 126627 => 'د',
- 126629 => 'و',
- 126630 => 'ز',
- 126631 => 'ح',
- 126632 => 'ط',
- 126633 => 'ي',
- 126635 => 'ل',
- 126636 => 'م',
- 126637 => 'ن',
- 126638 => 'س',
- 126639 => 'ع',
- 126640 => 'ف',
- 126641 => 'ص',
- 126642 => 'ق',
- 126643 => 'ر',
- 126644 => 'ش',
- 126645 => 'ت',
- 126646 => 'ث',
- 126647 => 'خ',
- 126648 => 'ذ',
- 126649 => 'ض',
- 126650 => 'ظ',
- 126651 => 'غ',
- 127274 => '〔s〕',
- 127275 => 'c',
- 127276 => 'r',
- 127277 => 'cd',
- 127278 => 'wz',
- 127280 => 'a',
- 127281 => 'b',
- 127282 => 'c',
- 127283 => 'd',
- 127284 => 'e',
- 127285 => 'f',
- 127286 => 'g',
- 127287 => 'h',
- 127288 => 'i',
- 127289 => 'j',
- 127290 => 'k',
- 127291 => 'l',
- 127292 => 'm',
- 127293 => 'n',
- 127294 => 'o',
- 127295 => 'p',
- 127296 => 'q',
- 127297 => 'r',
- 127298 => 's',
- 127299 => 't',
- 127300 => 'u',
- 127301 => 'v',
- 127302 => 'w',
- 127303 => 'x',
- 127304 => 'y',
- 127305 => 'z',
- 127306 => 'hv',
- 127307 => 'mv',
- 127308 => 'sd',
- 127309 => 'ss',
- 127310 => 'ppv',
- 127311 => 'wc',
- 127338 => 'mc',
- 127339 => 'md',
- 127340 => 'mr',
- 127376 => 'dj',
- 127488 => 'ほか',
- 127489 => 'ココ',
- 127490 => 'サ',
- 127504 => '手',
- 127505 => '字',
- 127506 => '双',
- 127507 => 'デ',
- 127508 => '二',
- 127509 => '多',
- 127510 => '解',
- 127511 => '天',
- 127512 => '交',
- 127513 => '映',
- 127514 => '無',
- 127515 => '料',
- 127516 => '前',
- 127517 => '後',
- 127518 => '再',
- 127519 => '新',
- 127520 => '初',
- 127521 => '終',
- 127522 => '生',
- 127523 => '販',
- 127524 => '声',
- 127525 => '吹',
- 127526 => '演',
- 127527 => '投',
- 127528 => '捕',
- 127529 => '一',
- 127530 => '三',
- 127531 => '遊',
- 127532 => '左',
- 127533 => '中',
- 127534 => '右',
- 127535 => '指',
- 127536 => '走',
- 127537 => '打',
- 127538 => '禁',
- 127539 => '空',
- 127540 => '合',
- 127541 => '満',
- 127542 => '有',
- 127543 => '月',
- 127544 => '申',
- 127545 => '割',
- 127546 => '営',
- 127547 => '配',
- 127552 => '〔本〕',
- 127553 => '〔三〕',
- 127554 => '〔二〕',
- 127555 => '〔安〕',
- 127556 => '〔点〕',
- 127557 => '〔打〕',
- 127558 => '〔盗〕',
- 127559 => '〔勝〕',
- 127560 => '〔敗〕',
- 127568 => '得',
- 127569 => '可',
- 130032 => '0',
- 130033 => '1',
- 130034 => '2',
- 130035 => '3',
- 130036 => '4',
- 130037 => '5',
- 130038 => '6',
- 130039 => '7',
- 130040 => '8',
- 130041 => '9',
- 194560 => '丽',
- 194561 => '丸',
- 194562 => '乁',
- 194563 => '𠄢',
- 194564 => '你',
- 194565 => '侮',
- 194566 => '侻',
- 194567 => '倂',
- 194568 => '偺',
- 194569 => '備',
- 194570 => '僧',
- 194571 => '像',
- 194572 => '㒞',
- 194573 => '𠘺',
- 194574 => '免',
- 194575 => '兔',
- 194576 => '兤',
- 194577 => '具',
- 194578 => '𠔜',
- 194579 => '㒹',
- 194580 => '內',
- 194581 => '再',
- 194582 => '𠕋',
- 194583 => '冗',
- 194584 => '冤',
- 194585 => '仌',
- 194586 => '冬',
- 194587 => '况',
- 194588 => '𩇟',
- 194589 => '凵',
- 194590 => '刃',
- 194591 => '㓟',
- 194592 => '刻',
- 194593 => '剆',
- 194594 => '割',
- 194595 => '剷',
- 194596 => '㔕',
- 194597 => '勇',
- 194598 => '勉',
- 194599 => '勤',
- 194600 => '勺',
- 194601 => '包',
- 194602 => '匆',
- 194603 => '北',
- 194604 => '卉',
- 194605 => '卑',
- 194606 => '博',
- 194607 => '即',
- 194608 => '卽',
- 194609 => '卿',
- 194610 => '卿',
- 194611 => '卿',
- 194612 => '𠨬',
- 194613 => '灰',
- 194614 => '及',
- 194615 => '叟',
- 194616 => '𠭣',
- 194617 => '叫',
- 194618 => '叱',
- 194619 => '吆',
- 194620 => '咞',
- 194621 => '吸',
- 194622 => '呈',
- 194623 => '周',
- 194624 => '咢',
- 194625 => '哶',
- 194626 => '唐',
- 194627 => '啓',
- 194628 => '啣',
- 194629 => '善',
- 194630 => '善',
- 194631 => '喙',
- 194632 => '喫',
- 194633 => '喳',
- 194634 => '嗂',
- 194635 => '圖',
- 194636 => '嘆',
- 194637 => '圗',
- 194638 => '噑',
- 194639 => '噴',
- 194640 => '切',
- 194641 => '壮',
- 194642 => '城',
- 194643 => '埴',
- 194644 => '堍',
- 194645 => '型',
- 194646 => '堲',
- 194647 => '報',
- 194648 => '墬',
- 194649 => '𡓤',
- 194650 => '売',
- 194651 => '壷',
- 194652 => '夆',
- 194653 => '多',
- 194654 => '夢',
- 194655 => '奢',
- 194656 => '𡚨',
- 194657 => '𡛪',
- 194658 => '姬',
- 194659 => '娛',
- 194660 => '娧',
- 194661 => '姘',
- 194662 => '婦',
- 194663 => '㛮',
- 194665 => '嬈',
- 194666 => '嬾',
- 194667 => '嬾',
- 194668 => '𡧈',
- 194669 => '寃',
- 194670 => '寘',
- 194671 => '寧',
- 194672 => '寳',
- 194673 => '𡬘',
- 194674 => '寿',
- 194675 => '将',
- 194677 => '尢',
- 194678 => '㞁',
- 194679 => '屠',
- 194680 => '屮',
- 194681 => '峀',
- 194682 => '岍',
- 194683 => '𡷤',
- 194684 => '嵃',
- 194685 => '𡷦',
- 194686 => '嵮',
- 194687 => '嵫',
- 194688 => '嵼',
- 194689 => '巡',
- 194690 => '巢',
- 194691 => '㠯',
- 194692 => '巽',
- 194693 => '帨',
- 194694 => '帽',
- 194695 => '幩',
- 194696 => '㡢',
- 194697 => '𢆃',
- 194698 => '㡼',
- 194699 => '庰',
- 194700 => '庳',
- 194701 => '庶',
- 194702 => '廊',
- 194703 => '𪎒',
- 194704 => '廾',
- 194705 => '𢌱',
- 194706 => '𢌱',
- 194707 => '舁',
- 194708 => '弢',
- 194709 => '弢',
- 194710 => '㣇',
- 194711 => '𣊸',
- 194712 => '𦇚',
- 194713 => '形',
- 194714 => '彫',
- 194715 => '㣣',
- 194716 => '徚',
- 194717 => '忍',
- 194718 => '志',
- 194719 => '忹',
- 194720 => '悁',
- 194721 => '㤺',
- 194722 => '㤜',
- 194723 => '悔',
- 194724 => '𢛔',
- 194725 => '惇',
- 194726 => '慈',
- 194727 => '慌',
- 194728 => '慎',
- 194729 => '慌',
- 194730 => '慺',
- 194731 => '憎',
- 194732 => '憲',
- 194733 => '憤',
- 194734 => '憯',
- 194735 => '懞',
- 194736 => '懲',
- 194737 => '懶',
- 194738 => '成',
- 194739 => '戛',
- 194740 => '扝',
- 194741 => '抱',
- 194742 => '拔',
- 194743 => '捐',
- 194744 => '𢬌',
- 194745 => '挽',
- 194746 => '拼',
- 194747 => '捨',
- 194748 => '掃',
- 194749 => '揤',
- 194750 => '𢯱',
- 194751 => '搢',
- 194752 => '揅',
- 194753 => '掩',
- 194754 => '㨮',
- 194755 => '摩',
- 194756 => '摾',
- 194757 => '撝',
- 194758 => '摷',
- 194759 => '㩬',
- 194760 => '敏',
- 194761 => '敬',
- 194762 => '𣀊',
- 194763 => '旣',
- 194764 => '書',
- 194765 => '晉',
- 194766 => '㬙',
- 194767 => '暑',
- 194768 => '㬈',
- 194769 => '㫤',
- 194770 => '冒',
- 194771 => '冕',
- 194772 => '最',
- 194773 => '暜',
- 194774 => '肭',
- 194775 => '䏙',
- 194776 => '朗',
- 194777 => '望',
- 194778 => '朡',
- 194779 => '杞',
- 194780 => '杓',
- 194781 => '𣏃',
- 194782 => '㭉',
- 194783 => '柺',
- 194784 => '枅',
- 194785 => '桒',
- 194786 => '梅',
- 194787 => '𣑭',
- 194788 => '梎',
- 194789 => '栟',
- 194790 => '椔',
- 194791 => '㮝',
- 194792 => '楂',
- 194793 => '榣',
- 194794 => '槪',
- 194795 => '檨',
- 194796 => '𣚣',
- 194797 => '櫛',
- 194798 => '㰘',
- 194799 => '次',
- 194800 => '𣢧',
- 194801 => '歔',
- 194802 => '㱎',
- 194803 => '歲',
- 194804 => '殟',
- 194805 => '殺',
- 194806 => '殻',
- 194807 => '𣪍',
- 194808 => '𡴋',
- 194809 => '𣫺',
- 194810 => '汎',
- 194811 => '𣲼',
- 194812 => '沿',
- 194813 => '泍',
- 194814 => '汧',
- 194815 => '洖',
- 194816 => '派',
- 194817 => '海',
- 194818 => '流',
- 194819 => '浩',
- 194820 => '浸',
- 194821 => '涅',
- 194822 => '𣴞',
- 194823 => '洴',
- 194824 => '港',
- 194825 => '湮',
- 194826 => '㴳',
- 194827 => '滋',
- 194828 => '滇',
- 194829 => '𣻑',
- 194830 => '淹',
- 194831 => '潮',
- 194832 => '𣽞',
- 194833 => '𣾎',
- 194834 => '濆',
- 194835 => '瀹',
- 194836 => '瀞',
- 194837 => '瀛',
- 194838 => '㶖',
- 194839 => '灊',
- 194840 => '災',
- 194841 => '灷',
- 194842 => '炭',
- 194843 => '𠔥',
- 194844 => '煅',
- 194845 => '𤉣',
- 194846 => '熜',
- 194848 => '爨',
- 194849 => '爵',
- 194850 => '牐',
- 194851 => '𤘈',
- 194852 => '犀',
- 194853 => '犕',
- 194854 => '𤜵',
- 194855 => '𤠔',
- 194856 => '獺',
- 194857 => '王',
- 194858 => '㺬',
- 194859 => '玥',
- 194860 => '㺸',
- 194861 => '㺸',
- 194862 => '瑇',
- 194863 => '瑜',
- 194864 => '瑱',
- 194865 => '璅',
- 194866 => '瓊',
- 194867 => '㼛',
- 194868 => '甤',
- 194869 => '𤰶',
- 194870 => '甾',
- 194871 => '𤲒',
- 194872 => '異',
- 194873 => '𢆟',
- 194874 => '瘐',
- 194875 => '𤾡',
- 194876 => '𤾸',
- 194877 => '𥁄',
- 194878 => '㿼',
- 194879 => '䀈',
- 194880 => '直',
- 194881 => '𥃳',
- 194882 => '𥃲',
- 194883 => '𥄙',
- 194884 => '𥄳',
- 194885 => '眞',
- 194886 => '真',
- 194887 => '真',
- 194888 => '睊',
- 194889 => '䀹',
- 194890 => '瞋',
- 194891 => '䁆',
- 194892 => '䂖',
- 194893 => '𥐝',
- 194894 => '硎',
- 194895 => '碌',
- 194896 => '磌',
- 194897 => '䃣',
- 194898 => '𥘦',
- 194899 => '祖',
- 194900 => '𥚚',
- 194901 => '𥛅',
- 194902 => '福',
- 194903 => '秫',
- 194904 => '䄯',
- 194905 => '穀',
- 194906 => '穊',
- 194907 => '穏',
- 194908 => '𥥼',
- 194909 => '𥪧',
- 194910 => '𥪧',
- 194912 => '䈂',
- 194913 => '𥮫',
- 194914 => '篆',
- 194915 => '築',
- 194916 => '䈧',
- 194917 => '𥲀',
- 194918 => '糒',
- 194919 => '䊠',
- 194920 => '糨',
- 194921 => '糣',
- 194922 => '紀',
- 194923 => '𥾆',
- 194924 => '絣',
- 194925 => '䌁',
- 194926 => '緇',
- 194927 => '縂',
- 194928 => '繅',
- 194929 => '䌴',
- 194930 => '𦈨',
- 194931 => '𦉇',
- 194932 => '䍙',
- 194933 => '𦋙',
- 194934 => '罺',
- 194935 => '𦌾',
- 194936 => '羕',
- 194937 => '翺',
- 194938 => '者',
- 194939 => '𦓚',
- 194940 => '𦔣',
- 194941 => '聠',
- 194942 => '𦖨',
- 194943 => '聰',
- 194944 => '𣍟',
- 194945 => '䏕',
- 194946 => '育',
- 194947 => '脃',
- 194948 => '䐋',
- 194949 => '脾',
- 194950 => '媵',
- 194951 => '𦞧',
- 194952 => '𦞵',
- 194953 => '𣎓',
- 194954 => '𣎜',
- 194955 => '舁',
- 194956 => '舄',
- 194957 => '辞',
- 194958 => '䑫',
- 194959 => '芑',
- 194960 => '芋',
- 194961 => '芝',
- 194962 => '劳',
- 194963 => '花',
- 194964 => '芳',
- 194965 => '芽',
- 194966 => '苦',
- 194967 => '𦬼',
- 194968 => '若',
- 194969 => '茝',
- 194970 => '荣',
- 194971 => '莭',
- 194972 => '茣',
- 194973 => '莽',
- 194974 => '菧',
- 194975 => '著',
- 194976 => '荓',
- 194977 => '菊',
- 194978 => '菌',
- 194979 => '菜',
- 194980 => '𦰶',
- 194981 => '𦵫',
- 194982 => '𦳕',
- 194983 => '䔫',
- 194984 => '蓱',
- 194985 => '蓳',
- 194986 => '蔖',
- 194987 => '𧏊',
- 194988 => '蕤',
- 194989 => '𦼬',
- 194990 => '䕝',
- 194991 => '䕡',
- 194992 => '𦾱',
- 194993 => '𧃒',
- 194994 => '䕫',
- 194995 => '虐',
- 194996 => '虜',
- 194997 => '虧',
- 194998 => '虩',
- 194999 => '蚩',
- 195000 => '蚈',
- 195001 => '蜎',
- 195002 => '蛢',
- 195003 => '蝹',
- 195004 => '蜨',
- 195005 => '蝫',
- 195006 => '螆',
- 195008 => '蟡',
- 195009 => '蠁',
- 195010 => '䗹',
- 195011 => '衠',
- 195012 => '衣',
- 195013 => '𧙧',
- 195014 => '裗',
- 195015 => '裞',
- 195016 => '䘵',
- 195017 => '裺',
- 195018 => '㒻',
- 195019 => '𧢮',
- 195020 => '𧥦',
- 195021 => '䚾',
- 195022 => '䛇',
- 195023 => '誠',
- 195024 => '諭',
- 195025 => '變',
- 195026 => '豕',
- 195027 => '𧲨',
- 195028 => '貫',
- 195029 => '賁',
- 195030 => '贛',
- 195031 => '起',
- 195032 => '𧼯',
- 195033 => '𠠄',
- 195034 => '跋',
- 195035 => '趼',
- 195036 => '跰',
- 195037 => '𠣞',
- 195038 => '軔',
- 195039 => '輸',
- 195040 => '𨗒',
- 195041 => '𨗭',
- 195042 => '邔',
- 195043 => '郱',
- 195044 => '鄑',
- 195045 => '𨜮',
- 195046 => '鄛',
- 195047 => '鈸',
- 195048 => '鋗',
- 195049 => '鋘',
- 195050 => '鉼',
- 195051 => '鏹',
- 195052 => '鐕',
- 195053 => '𨯺',
- 195054 => '開',
- 195055 => '䦕',
- 195056 => '閷',
- 195057 => '𨵷',
- 195058 => '䧦',
- 195059 => '雃',
- 195060 => '嶲',
- 195061 => '霣',
- 195062 => '𩅅',
- 195063 => '𩈚',
- 195064 => '䩮',
- 195065 => '䩶',
- 195066 => '韠',
- 195067 => '𩐊',
- 195068 => '䪲',
- 195069 => '𩒖',
- 195070 => '頋',
- 195071 => '頋',
- 195072 => '頩',
- 195073 => '𩖶',
- 195074 => '飢',
- 195075 => '䬳',
- 195076 => '餩',
- 195077 => '馧',
- 195078 => '駂',
- 195079 => '駾',
- 195080 => '䯎',
- 195081 => '𩬰',
- 195082 => '鬒',
- 195083 => '鱀',
- 195084 => '鳽',
- 195085 => '䳎',
- 195086 => '䳭',
- 195087 => '鵧',
- 195088 => '𪃎',
- 195089 => '䳸',
- 195090 => '𪄅',
- 195091 => '𪈎',
- 195092 => '𪊑',
- 195093 => '麻',
- 195094 => '䵖',
- 195095 => '黹',
- 195096 => '黾',
- 195097 => '鼅',
- 195098 => '鼏',
- 195099 => '鼖',
- 195100 => '鼻',
- 195101 => '𪘀',
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php b/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php
deleted file mode 100644
index 1958e37e..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php
+++ /dev/null
@@ -1,65 +0,0 @@
- 9,
- 2509 => 9,
- 2637 => 9,
- 2765 => 9,
- 2893 => 9,
- 3021 => 9,
- 3149 => 9,
- 3277 => 9,
- 3387 => 9,
- 3388 => 9,
- 3405 => 9,
- 3530 => 9,
- 3642 => 9,
- 3770 => 9,
- 3972 => 9,
- 4153 => 9,
- 4154 => 9,
- 5908 => 9,
- 5940 => 9,
- 6098 => 9,
- 6752 => 9,
- 6980 => 9,
- 7082 => 9,
- 7083 => 9,
- 7154 => 9,
- 7155 => 9,
- 11647 => 9,
- 43014 => 9,
- 43052 => 9,
- 43204 => 9,
- 43347 => 9,
- 43456 => 9,
- 43766 => 9,
- 44013 => 9,
- 68159 => 9,
- 69702 => 9,
- 69759 => 9,
- 69817 => 9,
- 69939 => 9,
- 69940 => 9,
- 70080 => 9,
- 70197 => 9,
- 70378 => 9,
- 70477 => 9,
- 70722 => 9,
- 70850 => 9,
- 71103 => 9,
- 71231 => 9,
- 71350 => 9,
- 71467 => 9,
- 71737 => 9,
- 71997 => 9,
- 71998 => 9,
- 72160 => 9,
- 72244 => 9,
- 72263 => 9,
- 72345 => 9,
- 72767 => 9,
- 73028 => 9,
- 73029 => 9,
- 73111 => 9,
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/bootstrap.php b/plugins/vendor/symfony/polyfill-intl-idn/bootstrap.php
deleted file mode 100644
index 57c78356..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/bootstrap.php
+++ /dev/null
@@ -1,145 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Symfony\Polyfill\Intl\Idn as p;
-
-if (extension_loaded('intl')) {
- return;
-}
-
-if (\PHP_VERSION_ID >= 80000) {
- return require __DIR__.'/bootstrap80.php';
-}
-
-if (!defined('U_IDNA_PROHIBITED_ERROR')) {
- define('U_IDNA_PROHIBITED_ERROR', 66560);
-}
-if (!defined('U_IDNA_ERROR_START')) {
- define('U_IDNA_ERROR_START', 66560);
-}
-if (!defined('U_IDNA_UNASSIGNED_ERROR')) {
- define('U_IDNA_UNASSIGNED_ERROR', 66561);
-}
-if (!defined('U_IDNA_CHECK_BIDI_ERROR')) {
- define('U_IDNA_CHECK_BIDI_ERROR', 66562);
-}
-if (!defined('U_IDNA_STD3_ASCII_RULES_ERROR')) {
- define('U_IDNA_STD3_ASCII_RULES_ERROR', 66563);
-}
-if (!defined('U_IDNA_ACE_PREFIX_ERROR')) {
- define('U_IDNA_ACE_PREFIX_ERROR', 66564);
-}
-if (!defined('U_IDNA_VERIFICATION_ERROR')) {
- define('U_IDNA_VERIFICATION_ERROR', 66565);
-}
-if (!defined('U_IDNA_LABEL_TOO_LONG_ERROR')) {
- define('U_IDNA_LABEL_TOO_LONG_ERROR', 66566);
-}
-if (!defined('U_IDNA_ZERO_LENGTH_LABEL_ERROR')) {
- define('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567);
-}
-if (!defined('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR')) {
- define('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568);
-}
-if (!defined('U_IDNA_ERROR_LIMIT')) {
- define('U_IDNA_ERROR_LIMIT', 66569);
-}
-if (!defined('U_STRINGPREP_PROHIBITED_ERROR')) {
- define('U_STRINGPREP_PROHIBITED_ERROR', 66560);
-}
-if (!defined('U_STRINGPREP_UNASSIGNED_ERROR')) {
- define('U_STRINGPREP_UNASSIGNED_ERROR', 66561);
-}
-if (!defined('U_STRINGPREP_CHECK_BIDI_ERROR')) {
- define('U_STRINGPREP_CHECK_BIDI_ERROR', 66562);
-}
-if (!defined('IDNA_DEFAULT')) {
- define('IDNA_DEFAULT', 0);
-}
-if (!defined('IDNA_ALLOW_UNASSIGNED')) {
- define('IDNA_ALLOW_UNASSIGNED', 1);
-}
-if (!defined('IDNA_USE_STD3_RULES')) {
- define('IDNA_USE_STD3_RULES', 2);
-}
-if (!defined('IDNA_CHECK_BIDI')) {
- define('IDNA_CHECK_BIDI', 4);
-}
-if (!defined('IDNA_CHECK_CONTEXTJ')) {
- define('IDNA_CHECK_CONTEXTJ', 8);
-}
-if (!defined('IDNA_NONTRANSITIONAL_TO_ASCII')) {
- define('IDNA_NONTRANSITIONAL_TO_ASCII', 16);
-}
-if (!defined('IDNA_NONTRANSITIONAL_TO_UNICODE')) {
- define('IDNA_NONTRANSITIONAL_TO_UNICODE', 32);
-}
-if (!defined('INTL_IDNA_VARIANT_2003')) {
- define('INTL_IDNA_VARIANT_2003', 0);
-}
-if (!defined('INTL_IDNA_VARIANT_UTS46')) {
- define('INTL_IDNA_VARIANT_UTS46', 1);
-}
-if (!defined('IDNA_ERROR_EMPTY_LABEL')) {
- define('IDNA_ERROR_EMPTY_LABEL', 1);
-}
-if (!defined('IDNA_ERROR_LABEL_TOO_LONG')) {
- define('IDNA_ERROR_LABEL_TOO_LONG', 2);
-}
-if (!defined('IDNA_ERROR_DOMAIN_NAME_TOO_LONG')) {
- define('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4);
-}
-if (!defined('IDNA_ERROR_LEADING_HYPHEN')) {
- define('IDNA_ERROR_LEADING_HYPHEN', 8);
-}
-if (!defined('IDNA_ERROR_TRAILING_HYPHEN')) {
- define('IDNA_ERROR_TRAILING_HYPHEN', 16);
-}
-if (!defined('IDNA_ERROR_HYPHEN_3_4')) {
- define('IDNA_ERROR_HYPHEN_3_4', 32);
-}
-if (!defined('IDNA_ERROR_LEADING_COMBINING_MARK')) {
- define('IDNA_ERROR_LEADING_COMBINING_MARK', 64);
-}
-if (!defined('IDNA_ERROR_DISALLOWED')) {
- define('IDNA_ERROR_DISALLOWED', 128);
-}
-if (!defined('IDNA_ERROR_PUNYCODE')) {
- define('IDNA_ERROR_PUNYCODE', 256);
-}
-if (!defined('IDNA_ERROR_LABEL_HAS_DOT')) {
- define('IDNA_ERROR_LABEL_HAS_DOT', 512);
-}
-if (!defined('IDNA_ERROR_INVALID_ACE_LABEL')) {
- define('IDNA_ERROR_INVALID_ACE_LABEL', 1024);
-}
-if (!defined('IDNA_ERROR_BIDI')) {
- define('IDNA_ERROR_BIDI', 2048);
-}
-if (!defined('IDNA_ERROR_CONTEXTJ')) {
- define('IDNA_ERROR_CONTEXTJ', 4096);
-}
-
-if (\PHP_VERSION_ID < 70400) {
- if (!function_exists('idn_to_ascii')) {
- function idn_to_ascii($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_2003, &$idna_info = null) { return p\Idn::idn_to_ascii($domain, $flags, $variant, $idna_info); }
- }
- if (!function_exists('idn_to_utf8')) {
- function idn_to_utf8($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_2003, &$idna_info = null) { return p\Idn::idn_to_utf8($domain, $flags, $variant, $idna_info); }
- }
-} else {
- if (!function_exists('idn_to_ascii')) {
- function idn_to_ascii($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_UTS46, &$idna_info = null) { return p\Idn::idn_to_ascii($domain, $flags, $variant, $idna_info); }
- }
- if (!function_exists('idn_to_utf8')) {
- function idn_to_utf8($domain, $flags = 0, $variant = \INTL_IDNA_VARIANT_UTS46, &$idna_info = null) { return p\Idn::idn_to_utf8($domain, $flags, $variant, $idna_info); }
- }
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/bootstrap80.php b/plugins/vendor/symfony/polyfill-intl-idn/bootstrap80.php
deleted file mode 100644
index a62c2d69..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/bootstrap80.php
+++ /dev/null
@@ -1,125 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Symfony\Polyfill\Intl\Idn as p;
-
-if (!defined('U_IDNA_PROHIBITED_ERROR')) {
- define('U_IDNA_PROHIBITED_ERROR', 66560);
-}
-if (!defined('U_IDNA_ERROR_START')) {
- define('U_IDNA_ERROR_START', 66560);
-}
-if (!defined('U_IDNA_UNASSIGNED_ERROR')) {
- define('U_IDNA_UNASSIGNED_ERROR', 66561);
-}
-if (!defined('U_IDNA_CHECK_BIDI_ERROR')) {
- define('U_IDNA_CHECK_BIDI_ERROR', 66562);
-}
-if (!defined('U_IDNA_STD3_ASCII_RULES_ERROR')) {
- define('U_IDNA_STD3_ASCII_RULES_ERROR', 66563);
-}
-if (!defined('U_IDNA_ACE_PREFIX_ERROR')) {
- define('U_IDNA_ACE_PREFIX_ERROR', 66564);
-}
-if (!defined('U_IDNA_VERIFICATION_ERROR')) {
- define('U_IDNA_VERIFICATION_ERROR', 66565);
-}
-if (!defined('U_IDNA_LABEL_TOO_LONG_ERROR')) {
- define('U_IDNA_LABEL_TOO_LONG_ERROR', 66566);
-}
-if (!defined('U_IDNA_ZERO_LENGTH_LABEL_ERROR')) {
- define('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567);
-}
-if (!defined('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR')) {
- define('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568);
-}
-if (!defined('U_IDNA_ERROR_LIMIT')) {
- define('U_IDNA_ERROR_LIMIT', 66569);
-}
-if (!defined('U_STRINGPREP_PROHIBITED_ERROR')) {
- define('U_STRINGPREP_PROHIBITED_ERROR', 66560);
-}
-if (!defined('U_STRINGPREP_UNASSIGNED_ERROR')) {
- define('U_STRINGPREP_UNASSIGNED_ERROR', 66561);
-}
-if (!defined('U_STRINGPREP_CHECK_BIDI_ERROR')) {
- define('U_STRINGPREP_CHECK_BIDI_ERROR', 66562);
-}
-if (!defined('IDNA_DEFAULT')) {
- define('IDNA_DEFAULT', 0);
-}
-if (!defined('IDNA_ALLOW_UNASSIGNED')) {
- define('IDNA_ALLOW_UNASSIGNED', 1);
-}
-if (!defined('IDNA_USE_STD3_RULES')) {
- define('IDNA_USE_STD3_RULES', 2);
-}
-if (!defined('IDNA_CHECK_BIDI')) {
- define('IDNA_CHECK_BIDI', 4);
-}
-if (!defined('IDNA_CHECK_CONTEXTJ')) {
- define('IDNA_CHECK_CONTEXTJ', 8);
-}
-if (!defined('IDNA_NONTRANSITIONAL_TO_ASCII')) {
- define('IDNA_NONTRANSITIONAL_TO_ASCII', 16);
-}
-if (!defined('IDNA_NONTRANSITIONAL_TO_UNICODE')) {
- define('IDNA_NONTRANSITIONAL_TO_UNICODE', 32);
-}
-if (!defined('INTL_IDNA_VARIANT_UTS46')) {
- define('INTL_IDNA_VARIANT_UTS46', 1);
-}
-if (!defined('IDNA_ERROR_EMPTY_LABEL')) {
- define('IDNA_ERROR_EMPTY_LABEL', 1);
-}
-if (!defined('IDNA_ERROR_LABEL_TOO_LONG')) {
- define('IDNA_ERROR_LABEL_TOO_LONG', 2);
-}
-if (!defined('IDNA_ERROR_DOMAIN_NAME_TOO_LONG')) {
- define('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4);
-}
-if (!defined('IDNA_ERROR_LEADING_HYPHEN')) {
- define('IDNA_ERROR_LEADING_HYPHEN', 8);
-}
-if (!defined('IDNA_ERROR_TRAILING_HYPHEN')) {
- define('IDNA_ERROR_TRAILING_HYPHEN', 16);
-}
-if (!defined('IDNA_ERROR_HYPHEN_3_4')) {
- define('IDNA_ERROR_HYPHEN_3_4', 32);
-}
-if (!defined('IDNA_ERROR_LEADING_COMBINING_MARK')) {
- define('IDNA_ERROR_LEADING_COMBINING_MARK', 64);
-}
-if (!defined('IDNA_ERROR_DISALLOWED')) {
- define('IDNA_ERROR_DISALLOWED', 128);
-}
-if (!defined('IDNA_ERROR_PUNYCODE')) {
- define('IDNA_ERROR_PUNYCODE', 256);
-}
-if (!defined('IDNA_ERROR_LABEL_HAS_DOT')) {
- define('IDNA_ERROR_LABEL_HAS_DOT', 512);
-}
-if (!defined('IDNA_ERROR_INVALID_ACE_LABEL')) {
- define('IDNA_ERROR_INVALID_ACE_LABEL', 1024);
-}
-if (!defined('IDNA_ERROR_BIDI')) {
- define('IDNA_ERROR_BIDI', 2048);
-}
-if (!defined('IDNA_ERROR_CONTEXTJ')) {
- define('IDNA_ERROR_CONTEXTJ', 4096);
-}
-
-if (!function_exists('idn_to_ascii')) {
- function idn_to_ascii(?string $domain, ?int $flags = IDNA_DEFAULT, ?int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false { return p\Idn::idn_to_ascii((string) $domain, (int) $flags, (int) $variant, $idna_info); }
-}
-if (!function_exists('idn_to_utf8')) {
- function idn_to_utf8(?string $domain, ?int $flags = IDNA_DEFAULT, ?int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false { return p\Idn::idn_to_utf8((string) $domain, (int) $flags, (int) $variant, $idna_info); }
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-idn/composer.json b/plugins/vendor/symfony/polyfill-intl-idn/composer.json
deleted file mode 100644
index 760debcd..00000000
--- a/plugins/vendor/symfony/polyfill-intl-idn/composer.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "name": "symfony/polyfill-intl-idn",
- "type": "library",
- "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
- "keywords": ["polyfill", "shim", "compatibility", "portable", "intl", "idn"],
- "homepage": "https://symfony.com",
- "license": "MIT",
- "authors": [
- {
- "name": "Laurent Bassin",
- "email": "laurent@bassin.info"
- },
- {
- "name": "Trevor Rowbotham",
- "email": "trevor.rowbotham@pm.me"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "require": {
- "php": ">=7.2",
- "symfony/polyfill-intl-normalizer": "^1.10"
- },
- "autoload": {
- "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" },
- "files": [ "bootstrap.php" ]
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "minimum-stability": "dev",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- }
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/LICENSE b/plugins/vendor/symfony/polyfill-intl-normalizer/LICENSE
deleted file mode 100644
index 6e3afce6..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2015-present Fabien Potencier
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/Normalizer.php b/plugins/vendor/symfony/polyfill-intl-normalizer/Normalizer.php
deleted file mode 100644
index 81704ab3..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/Normalizer.php
+++ /dev/null
@@ -1,310 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Polyfill\Intl\Normalizer;
-
-/**
- * Normalizer is a PHP fallback implementation of the Normalizer class provided by the intl extension.
- *
- * It has been validated with Unicode 6.3 Normalization Conformance Test.
- * See http://www.unicode.org/reports/tr15/ for detailed info about Unicode normalizations.
- *
- * @author Nicolas Grekas
- *
- * @internal
- */
-class Normalizer
-{
- public const FORM_D = \Normalizer::FORM_D;
- public const FORM_KD = \Normalizer::FORM_KD;
- public const FORM_C = \Normalizer::FORM_C;
- public const FORM_KC = \Normalizer::FORM_KC;
- public const NFD = \Normalizer::NFD;
- public const NFKD = \Normalizer::NFKD;
- public const NFC = \Normalizer::NFC;
- public const NFKC = \Normalizer::NFKC;
-
- private static $C;
- private static $D;
- private static $KD;
- private static $cC;
- private static $ulenMask = ["\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4];
- private static $ASCII = "\x20\x65\x69\x61\x73\x6E\x74\x72\x6F\x6C\x75\x64\x5D\x5B\x63\x6D\x70\x27\x0A\x67\x7C\x68\x76\x2E\x66\x62\x2C\x3A\x3D\x2D\x71\x31\x30\x43\x32\x2A\x79\x78\x29\x28\x4C\x39\x41\x53\x2F\x50\x22\x45\x6A\x4D\x49\x6B\x33\x3E\x35\x54\x3C\x44\x34\x7D\x42\x7B\x38\x46\x77\x52\x36\x37\x55\x47\x4E\x3B\x4A\x7A\x56\x23\x48\x4F\x57\x5F\x26\x21\x4B\x3F\x58\x51\x25\x59\x5C\x09\x5A\x2B\x7E\x5E\x24\x40\x60\x7F\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F";
-
- public static function isNormalized(string $s, int $form = self::FORM_C)
- {
- if (!\in_array($form, [self::NFD, self::NFKD, self::NFC, self::NFKC])) {
- return false;
- }
- if (!isset($s[strspn($s, self::$ASCII)])) {
- return true;
- }
- if (self::NFC == $form && preg_match('//u', $s) && !preg_match('/[^\x00-\x{2FF}]/u', $s)) {
- return true;
- }
-
- return self::normalize($s, $form) === $s;
- }
-
- public static function normalize(string $s, int $form = self::FORM_C)
- {
- if (!preg_match('//u', $s)) {
- return false;
- }
-
- switch ($form) {
- case self::NFC: $C = true; $K = false; break;
- case self::NFD: $C = false; $K = false; break;
- case self::NFKC: $C = true; $K = true; break;
- case self::NFKD: $C = false; $K = true; break;
- default:
- if (\defined('Normalizer::NONE') && \Normalizer::NONE == $form) {
- return $s;
- }
-
- if (80000 > \PHP_VERSION_ID) {
- return false;
- }
-
- throw new \ValueError('normalizer_normalize(): Argument #2 ($form) must be a a valid normalization form');
- }
-
- if ('' === $s) {
- return '';
- }
-
- if ($K && null === self::$KD) {
- self::$KD = self::getData('compatibilityDecomposition');
- }
-
- if (null === self::$D) {
- self::$D = self::getData('canonicalDecomposition');
- self::$cC = self::getData('combiningClass');
- }
-
- if (null !== $mbEncoding = (2 /* MB_OVERLOAD_STRING */ & (int) \ini_get('mbstring.func_overload')) ? mb_internal_encoding() : null) {
- mb_internal_encoding('8bit');
- }
-
- $r = self::decompose($s, $K);
-
- if ($C) {
- if (null === self::$C) {
- self::$C = self::getData('canonicalComposition');
- }
-
- $r = self::recompose($r);
- }
- if (null !== $mbEncoding) {
- mb_internal_encoding($mbEncoding);
- }
-
- return $r;
- }
-
- private static function recompose($s)
- {
- $ASCII = self::$ASCII;
- $compMap = self::$C;
- $combClass = self::$cC;
- $ulenMask = self::$ulenMask;
-
- $result = $tail = '';
-
- $i = $s[0] < "\x80" ? 1 : $ulenMask[$s[0] & "\xF0"];
- $len = \strlen($s);
-
- $lastUchr = substr($s, 0, $i);
- $lastUcls = isset($combClass[$lastUchr]) ? 256 : 0;
-
- while ($i < $len) {
- if ($s[$i] < "\x80") {
- // ASCII chars
-
- if ($tail) {
- $lastUchr .= $tail;
- $tail = '';
- }
-
- if ($j = strspn($s, $ASCII, $i + 1)) {
- $lastUchr .= substr($s, $i, $j);
- $i += $j;
- }
-
- $result .= $lastUchr;
- $lastUchr = $s[$i];
- $lastUcls = 0;
- ++$i;
- continue;
- }
-
- $ulen = $ulenMask[$s[$i] & "\xF0"];
- $uchr = substr($s, $i, $ulen);
-
- if ($lastUchr < "\xE1\x84\x80" || "\xE1\x84\x92" < $lastUchr
- || $uchr < "\xE1\x85\xA1" || "\xE1\x85\xB5" < $uchr
- || $lastUcls) {
- // Table lookup and combining chars composition
-
- $ucls = $combClass[$uchr] ?? 0;
-
- if (isset($compMap[$lastUchr.$uchr]) && (!$lastUcls || $lastUcls < $ucls)) {
- $lastUchr = $compMap[$lastUchr.$uchr];
- } elseif ($lastUcls = $ucls) {
- $tail .= $uchr;
- } else {
- if ($tail) {
- $lastUchr .= $tail;
- $tail = '';
- }
-
- $result .= $lastUchr;
- $lastUchr = $uchr;
- }
- } else {
- // Hangul chars
-
- $L = \ord($lastUchr[2]) - 0x80;
- $V = \ord($uchr[2]) - 0xA1;
- $T = 0;
-
- $uchr = substr($s, $i + $ulen, 3);
-
- if ("\xE1\x86\xA7" <= $uchr && $uchr <= "\xE1\x87\x82") {
- $T = \ord($uchr[2]) - 0xA7;
- 0 > $T && $T += 0x40;
- $ulen += 3;
- }
-
- $L = 0xAC00 + ($L * 21 + $V) * 28 + $T;
- $lastUchr = \chr(0xE0 | $L >> 12).\chr(0x80 | $L >> 6 & 0x3F).\chr(0x80 | $L & 0x3F);
- }
-
- $i += $ulen;
- }
-
- return $result.$lastUchr.$tail;
- }
-
- private static function decompose($s, $c)
- {
- $result = '';
-
- $ASCII = self::$ASCII;
- $decompMap = self::$D;
- $combClass = self::$cC;
- $ulenMask = self::$ulenMask;
- if ($c) {
- $compatMap = self::$KD;
- }
-
- $c = [];
- $i = 0;
- $len = \strlen($s);
-
- while ($i < $len) {
- if ($s[$i] < "\x80") {
- // ASCII chars
-
- if ($c) {
- ksort($c);
- $result .= implode('', $c);
- $c = [];
- }
-
- $j = 1 + strspn($s, $ASCII, $i + 1);
- $result .= substr($s, $i, $j);
- $i += $j;
- continue;
- }
-
- $ulen = $ulenMask[$s[$i] & "\xF0"];
- $uchr = substr($s, $i, $ulen);
- $i += $ulen;
-
- if ($uchr < "\xEA\xB0\x80" || "\xED\x9E\xA3" < $uchr) {
- // Table lookup
-
- if ($uchr !== $j = $compatMap[$uchr] ?? ($decompMap[$uchr] ?? $uchr)) {
- $uchr = $j;
-
- $j = \strlen($uchr);
- $ulen = $uchr[0] < "\x80" ? 1 : $ulenMask[$uchr[0] & "\xF0"];
-
- if ($ulen != $j) {
- // Put trailing chars in $s
-
- $j -= $ulen;
- $i -= $j;
-
- if (0 > $i) {
- $s = str_repeat(' ', -$i).$s;
- $len -= $i;
- $i = 0;
- }
-
- while ($j--) {
- $s[$i + $j] = $uchr[$ulen + $j];
- }
-
- $uchr = substr($uchr, 0, $ulen);
- }
- }
- if (isset($combClass[$uchr])) {
- // Combining chars, for sorting
-
- if (!isset($c[$combClass[$uchr]])) {
- $c[$combClass[$uchr]] = '';
- }
- $c[$combClass[$uchr]] .= $uchr;
- continue;
- }
- } else {
- // Hangul chars
-
- $uchr = unpack('C*', $uchr);
- $j = (($uchr[1] - 224) << 12) + (($uchr[2] - 128) << 6) + $uchr[3] - 0xAC80;
-
- $uchr = "\xE1\x84".\chr(0x80 + (int) ($j / 588))
- ."\xE1\x85".\chr(0xA1 + (int) (($j % 588) / 28));
-
- if ($j %= 28) {
- $uchr .= $j < 25
- ? ("\xE1\x86".\chr(0xA7 + $j))
- : ("\xE1\x87".\chr(0x67 + $j));
- }
- }
- if ($c) {
- ksort($c);
- $result .= implode('', $c);
- $c = [];
- }
-
- $result .= $uchr;
- }
-
- if ($c) {
- ksort($c);
- $result .= implode('', $c);
- }
-
- return $result;
- }
-
- private static function getData($file)
- {
- if (file_exists($file = __DIR__.'/Resources/unidata/'.$file.'.php')) {
- return require $file;
- }
-
- return false;
- }
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/README.md b/plugins/vendor/symfony/polyfill-intl-normalizer/README.md
deleted file mode 100644
index b9b762e8..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-Symfony Polyfill / Intl: Normalizer
-===================================
-
-This component provides a fallback implementation for the
-[`Normalizer`](https://php.net/Normalizer) class provided
-by the [Intl](https://php.net/intl) extension.
-
-More information can be found in the
-[main Polyfill README](https://github.com/symfony/polyfill/blob/main/README.md).
-
-License
-=======
-
-This library is released under the [MIT license](LICENSE).
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php b/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php
deleted file mode 100644
index 0fdfc890..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php
+++ /dev/null
@@ -1,17 +0,0 @@
- 'À',
- 'Á' => 'Á',
- 'Â' => 'Â',
- 'Ã' => 'Ã',
- 'Ä' => 'Ä',
- 'Å' => 'Å',
- 'Ç' => 'Ç',
- 'È' => 'È',
- 'É' => 'É',
- 'Ê' => 'Ê',
- 'Ë' => 'Ë',
- 'Ì' => 'Ì',
- 'Í' => 'Í',
- 'Î' => 'Î',
- 'Ï' => 'Ï',
- 'Ñ' => 'Ñ',
- 'Ò' => 'Ò',
- 'Ó' => 'Ó',
- 'Ô' => 'Ô',
- 'Õ' => 'Õ',
- 'Ö' => 'Ö',
- 'Ù' => 'Ù',
- 'Ú' => 'Ú',
- 'Û' => 'Û',
- 'Ü' => 'Ü',
- 'Ý' => 'Ý',
- 'à' => 'à',
- 'á' => 'á',
- 'â' => 'â',
- 'ã' => 'ã',
- 'ä' => 'ä',
- 'å' => 'å',
- 'ç' => 'ç',
- 'è' => 'è',
- 'é' => 'é',
- 'ê' => 'ê',
- 'ë' => 'ë',
- 'ì' => 'ì',
- 'í' => 'í',
- 'î' => 'î',
- 'ï' => 'ï',
- 'ñ' => 'ñ',
- 'ò' => 'ò',
- 'ó' => 'ó',
- 'ô' => 'ô',
- 'õ' => 'õ',
- 'ö' => 'ö',
- 'ù' => 'ù',
- 'ú' => 'ú',
- 'û' => 'û',
- 'ü' => 'ü',
- 'ý' => 'ý',
- 'ÿ' => 'ÿ',
- 'Ā' => 'Ā',
- 'ā' => 'ā',
- 'Ă' => 'Ă',
- 'ă' => 'ă',
- 'Ą' => 'Ą',
- 'ą' => 'ą',
- 'Ć' => 'Ć',
- 'ć' => 'ć',
- 'Ĉ' => 'Ĉ',
- 'ĉ' => 'ĉ',
- 'Ċ' => 'Ċ',
- 'ċ' => 'ċ',
- 'Č' => 'Č',
- 'č' => 'č',
- 'Ď' => 'Ď',
- 'ď' => 'ď',
- 'Ē' => 'Ē',
- 'ē' => 'ē',
- 'Ĕ' => 'Ĕ',
- 'ĕ' => 'ĕ',
- 'Ė' => 'Ė',
- 'ė' => 'ė',
- 'Ę' => 'Ę',
- 'ę' => 'ę',
- 'Ě' => 'Ě',
- 'ě' => 'ě',
- 'Ĝ' => 'Ĝ',
- 'ĝ' => 'ĝ',
- 'Ğ' => 'Ğ',
- 'ğ' => 'ğ',
- 'Ġ' => 'Ġ',
- 'ġ' => 'ġ',
- 'Ģ' => 'Ģ',
- 'ģ' => 'ģ',
- 'Ĥ' => 'Ĥ',
- 'ĥ' => 'ĥ',
- 'Ĩ' => 'Ĩ',
- 'ĩ' => 'ĩ',
- 'Ī' => 'Ī',
- 'ī' => 'ī',
- 'Ĭ' => 'Ĭ',
- 'ĭ' => 'ĭ',
- 'Į' => 'Į',
- 'į' => 'į',
- 'İ' => 'İ',
- 'Ĵ' => 'Ĵ',
- 'ĵ' => 'ĵ',
- 'Ķ' => 'Ķ',
- 'ķ' => 'ķ',
- 'Ĺ' => 'Ĺ',
- 'ĺ' => 'ĺ',
- 'Ļ' => 'Ļ',
- 'ļ' => 'ļ',
- 'Ľ' => 'Ľ',
- 'ľ' => 'ľ',
- 'Ń' => 'Ń',
- 'ń' => 'ń',
- 'Ņ' => 'Ņ',
- 'ņ' => 'ņ',
- 'Ň' => 'Ň',
- 'ň' => 'ň',
- 'Ō' => 'Ō',
- 'ō' => 'ō',
- 'Ŏ' => 'Ŏ',
- 'ŏ' => 'ŏ',
- 'Ő' => 'Ő',
- 'ő' => 'ő',
- 'Ŕ' => 'Ŕ',
- 'ŕ' => 'ŕ',
- 'Ŗ' => 'Ŗ',
- 'ŗ' => 'ŗ',
- 'Ř' => 'Ř',
- 'ř' => 'ř',
- 'Ś' => 'Ś',
- 'ś' => 'ś',
- 'Ŝ' => 'Ŝ',
- 'ŝ' => 'ŝ',
- 'Ş' => 'Ş',
- 'ş' => 'ş',
- 'Š' => 'Š',
- 'š' => 'š',
- 'Ţ' => 'Ţ',
- 'ţ' => 'ţ',
- 'Ť' => 'Ť',
- 'ť' => 'ť',
- 'Ũ' => 'Ũ',
- 'ũ' => 'ũ',
- 'Ū' => 'Ū',
- 'ū' => 'ū',
- 'Ŭ' => 'Ŭ',
- 'ŭ' => 'ŭ',
- 'Ů' => 'Ů',
- 'ů' => 'ů',
- 'Ű' => 'Ű',
- 'ű' => 'ű',
- 'Ų' => 'Ų',
- 'ų' => 'ų',
- 'Ŵ' => 'Ŵ',
- 'ŵ' => 'ŵ',
- 'Ŷ' => 'Ŷ',
- 'ŷ' => 'ŷ',
- 'Ÿ' => 'Ÿ',
- 'Ź' => 'Ź',
- 'ź' => 'ź',
- 'Ż' => 'Ż',
- 'ż' => 'ż',
- 'Ž' => 'Ž',
- 'ž' => 'ž',
- 'Ơ' => 'Ơ',
- 'ơ' => 'ơ',
- 'Ư' => 'Ư',
- 'ư' => 'ư',
- 'Ǎ' => 'Ǎ',
- 'ǎ' => 'ǎ',
- 'Ǐ' => 'Ǐ',
- 'ǐ' => 'ǐ',
- 'Ǒ' => 'Ǒ',
- 'ǒ' => 'ǒ',
- 'Ǔ' => 'Ǔ',
- 'ǔ' => 'ǔ',
- 'Ǖ' => 'Ǖ',
- 'ǖ' => 'ǖ',
- 'Ǘ' => 'Ǘ',
- 'ǘ' => 'ǘ',
- 'Ǚ' => 'Ǚ',
- 'ǚ' => 'ǚ',
- 'Ǜ' => 'Ǜ',
- 'ǜ' => 'ǜ',
- 'Ǟ' => 'Ǟ',
- 'ǟ' => 'ǟ',
- 'Ǡ' => 'Ǡ',
- 'ǡ' => 'ǡ',
- 'Ǣ' => 'Ǣ',
- 'ǣ' => 'ǣ',
- 'Ǧ' => 'Ǧ',
- 'ǧ' => 'ǧ',
- 'Ǩ' => 'Ǩ',
- 'ǩ' => 'ǩ',
- 'Ǫ' => 'Ǫ',
- 'ǫ' => 'ǫ',
- 'Ǭ' => 'Ǭ',
- 'ǭ' => 'ǭ',
- 'Ǯ' => 'Ǯ',
- 'ǯ' => 'ǯ',
- 'ǰ' => 'ǰ',
- 'Ǵ' => 'Ǵ',
- 'ǵ' => 'ǵ',
- 'Ǹ' => 'Ǹ',
- 'ǹ' => 'ǹ',
- 'Ǻ' => 'Ǻ',
- 'ǻ' => 'ǻ',
- 'Ǽ' => 'Ǽ',
- 'ǽ' => 'ǽ',
- 'Ǿ' => 'Ǿ',
- 'ǿ' => 'ǿ',
- 'Ȁ' => 'Ȁ',
- 'ȁ' => 'ȁ',
- 'Ȃ' => 'Ȃ',
- 'ȃ' => 'ȃ',
- 'Ȅ' => 'Ȅ',
- 'ȅ' => 'ȅ',
- 'Ȇ' => 'Ȇ',
- 'ȇ' => 'ȇ',
- 'Ȉ' => 'Ȉ',
- 'ȉ' => 'ȉ',
- 'Ȋ' => 'Ȋ',
- 'ȋ' => 'ȋ',
- 'Ȍ' => 'Ȍ',
- 'ȍ' => 'ȍ',
- 'Ȏ' => 'Ȏ',
- 'ȏ' => 'ȏ',
- 'Ȑ' => 'Ȑ',
- 'ȑ' => 'ȑ',
- 'Ȓ' => 'Ȓ',
- 'ȓ' => 'ȓ',
- 'Ȕ' => 'Ȕ',
- 'ȕ' => 'ȕ',
- 'Ȗ' => 'Ȗ',
- 'ȗ' => 'ȗ',
- 'Ș' => 'Ș',
- 'ș' => 'ș',
- 'Ț' => 'Ț',
- 'ț' => 'ț',
- 'Ȟ' => 'Ȟ',
- 'ȟ' => 'ȟ',
- 'Ȧ' => 'Ȧ',
- 'ȧ' => 'ȧ',
- 'Ȩ' => 'Ȩ',
- 'ȩ' => 'ȩ',
- 'Ȫ' => 'Ȫ',
- 'ȫ' => 'ȫ',
- 'Ȭ' => 'Ȭ',
- 'ȭ' => 'ȭ',
- 'Ȯ' => 'Ȯ',
- 'ȯ' => 'ȯ',
- 'Ȱ' => 'Ȱ',
- 'ȱ' => 'ȱ',
- 'Ȳ' => 'Ȳ',
- 'ȳ' => 'ȳ',
- '΅' => '΅',
- 'Ά' => 'Ά',
- 'Έ' => 'Έ',
- 'Ή' => 'Ή',
- 'Ί' => 'Ί',
- 'Ό' => 'Ό',
- 'Ύ' => 'Ύ',
- 'Ώ' => 'Ώ',
- 'ΐ' => 'ΐ',
- 'Ϊ' => 'Ϊ',
- 'Ϋ' => 'Ϋ',
- 'ά' => 'ά',
- 'έ' => 'έ',
- 'ή' => 'ή',
- 'ί' => 'ί',
- 'ΰ' => 'ΰ',
- 'ϊ' => 'ϊ',
- 'ϋ' => 'ϋ',
- 'ό' => 'ό',
- 'ύ' => 'ύ',
- 'ώ' => 'ώ',
- 'ϓ' => 'ϓ',
- 'ϔ' => 'ϔ',
- 'Ѐ' => 'Ѐ',
- 'Ё' => 'Ё',
- 'Ѓ' => 'Ѓ',
- 'Ї' => 'Ї',
- 'Ќ' => 'Ќ',
- 'Ѝ' => 'Ѝ',
- 'Ў' => 'Ў',
- 'Й' => 'Й',
- 'й' => 'й',
- 'ѐ' => 'ѐ',
- 'ё' => 'ё',
- 'ѓ' => 'ѓ',
- 'ї' => 'ї',
- 'ќ' => 'ќ',
- 'ѝ' => 'ѝ',
- 'ў' => 'ў',
- 'Ѷ' => 'Ѷ',
- 'ѷ' => 'ѷ',
- 'Ӂ' => 'Ӂ',
- 'ӂ' => 'ӂ',
- 'Ӑ' => 'Ӑ',
- 'ӑ' => 'ӑ',
- 'Ӓ' => 'Ӓ',
- 'ӓ' => 'ӓ',
- 'Ӗ' => 'Ӗ',
- 'ӗ' => 'ӗ',
- 'Ӛ' => 'Ӛ',
- 'ӛ' => 'ӛ',
- 'Ӝ' => 'Ӝ',
- 'ӝ' => 'ӝ',
- 'Ӟ' => 'Ӟ',
- 'ӟ' => 'ӟ',
- 'Ӣ' => 'Ӣ',
- 'ӣ' => 'ӣ',
- 'Ӥ' => 'Ӥ',
- 'ӥ' => 'ӥ',
- 'Ӧ' => 'Ӧ',
- 'ӧ' => 'ӧ',
- 'Ӫ' => 'Ӫ',
- 'ӫ' => 'ӫ',
- 'Ӭ' => 'Ӭ',
- 'ӭ' => 'ӭ',
- 'Ӯ' => 'Ӯ',
- 'ӯ' => 'ӯ',
- 'Ӱ' => 'Ӱ',
- 'ӱ' => 'ӱ',
- 'Ӳ' => 'Ӳ',
- 'ӳ' => 'ӳ',
- 'Ӵ' => 'Ӵ',
- 'ӵ' => 'ӵ',
- 'Ӹ' => 'Ӹ',
- 'ӹ' => 'ӹ',
- 'آ' => 'آ',
- 'أ' => 'أ',
- 'ؤ' => 'ؤ',
- 'إ' => 'إ',
- 'ئ' => 'ئ',
- 'ۀ' => 'ۀ',
- 'ۂ' => 'ۂ',
- 'ۓ' => 'ۓ',
- 'ऩ' => 'ऩ',
- 'ऱ' => 'ऱ',
- 'ऴ' => 'ऴ',
- 'ো' => 'ো',
- 'ৌ' => 'ৌ',
- 'ୈ' => 'ୈ',
- 'ୋ' => 'ୋ',
- 'ୌ' => 'ୌ',
- 'ஔ' => 'ஔ',
- 'ொ' => 'ொ',
- 'ோ' => 'ோ',
- 'ௌ' => 'ௌ',
- 'ై' => 'ై',
- 'ೀ' => 'ೀ',
- 'ೇ' => 'ೇ',
- 'ೈ' => 'ೈ',
- 'ೊ' => 'ೊ',
- 'ೋ' => 'ೋ',
- 'ൊ' => 'ൊ',
- 'ോ' => 'ോ',
- 'ൌ' => 'ൌ',
- 'ේ' => 'ේ',
- 'ො' => 'ො',
- 'ෝ' => 'ෝ',
- 'ෞ' => 'ෞ',
- 'ဦ' => 'ဦ',
- 'ᬆ' => 'ᬆ',
- 'ᬈ' => 'ᬈ',
- 'ᬊ' => 'ᬊ',
- 'ᬌ' => 'ᬌ',
- 'ᬎ' => 'ᬎ',
- 'ᬒ' => 'ᬒ',
- 'ᬻ' => 'ᬻ',
- 'ᬽ' => 'ᬽ',
- 'ᭀ' => 'ᭀ',
- 'ᭁ' => 'ᭁ',
- 'ᭃ' => 'ᭃ',
- 'Ḁ' => 'Ḁ',
- 'ḁ' => 'ḁ',
- 'Ḃ' => 'Ḃ',
- 'ḃ' => 'ḃ',
- 'Ḅ' => 'Ḅ',
- 'ḅ' => 'ḅ',
- 'Ḇ' => 'Ḇ',
- 'ḇ' => 'ḇ',
- 'Ḉ' => 'Ḉ',
- 'ḉ' => 'ḉ',
- 'Ḋ' => 'Ḋ',
- 'ḋ' => 'ḋ',
- 'Ḍ' => 'Ḍ',
- 'ḍ' => 'ḍ',
- 'Ḏ' => 'Ḏ',
- 'ḏ' => 'ḏ',
- 'Ḑ' => 'Ḑ',
- 'ḑ' => 'ḑ',
- 'Ḓ' => 'Ḓ',
- 'ḓ' => 'ḓ',
- 'Ḕ' => 'Ḕ',
- 'ḕ' => 'ḕ',
- 'Ḗ' => 'Ḗ',
- 'ḗ' => 'ḗ',
- 'Ḙ' => 'Ḙ',
- 'ḙ' => 'ḙ',
- 'Ḛ' => 'Ḛ',
- 'ḛ' => 'ḛ',
- 'Ḝ' => 'Ḝ',
- 'ḝ' => 'ḝ',
- 'Ḟ' => 'Ḟ',
- 'ḟ' => 'ḟ',
- 'Ḡ' => 'Ḡ',
- 'ḡ' => 'ḡ',
- 'Ḣ' => 'Ḣ',
- 'ḣ' => 'ḣ',
- 'Ḥ' => 'Ḥ',
- 'ḥ' => 'ḥ',
- 'Ḧ' => 'Ḧ',
- 'ḧ' => 'ḧ',
- 'Ḩ' => 'Ḩ',
- 'ḩ' => 'ḩ',
- 'Ḫ' => 'Ḫ',
- 'ḫ' => 'ḫ',
- 'Ḭ' => 'Ḭ',
- 'ḭ' => 'ḭ',
- 'Ḯ' => 'Ḯ',
- 'ḯ' => 'ḯ',
- 'Ḱ' => 'Ḱ',
- 'ḱ' => 'ḱ',
- 'Ḳ' => 'Ḳ',
- 'ḳ' => 'ḳ',
- 'Ḵ' => 'Ḵ',
- 'ḵ' => 'ḵ',
- 'Ḷ' => 'Ḷ',
- 'ḷ' => 'ḷ',
- 'Ḹ' => 'Ḹ',
- 'ḹ' => 'ḹ',
- 'Ḻ' => 'Ḻ',
- 'ḻ' => 'ḻ',
- 'Ḽ' => 'Ḽ',
- 'ḽ' => 'ḽ',
- 'Ḿ' => 'Ḿ',
- 'ḿ' => 'ḿ',
- 'Ṁ' => 'Ṁ',
- 'ṁ' => 'ṁ',
- 'Ṃ' => 'Ṃ',
- 'ṃ' => 'ṃ',
- 'Ṅ' => 'Ṅ',
- 'ṅ' => 'ṅ',
- 'Ṇ' => 'Ṇ',
- 'ṇ' => 'ṇ',
- 'Ṉ' => 'Ṉ',
- 'ṉ' => 'ṉ',
- 'Ṋ' => 'Ṋ',
- 'ṋ' => 'ṋ',
- 'Ṍ' => 'Ṍ',
- 'ṍ' => 'ṍ',
- 'Ṏ' => 'Ṏ',
- 'ṏ' => 'ṏ',
- 'Ṑ' => 'Ṑ',
- 'ṑ' => 'ṑ',
- 'Ṓ' => 'Ṓ',
- 'ṓ' => 'ṓ',
- 'Ṕ' => 'Ṕ',
- 'ṕ' => 'ṕ',
- 'Ṗ' => 'Ṗ',
- 'ṗ' => 'ṗ',
- 'Ṙ' => 'Ṙ',
- 'ṙ' => 'ṙ',
- 'Ṛ' => 'Ṛ',
- 'ṛ' => 'ṛ',
- 'Ṝ' => 'Ṝ',
- 'ṝ' => 'ṝ',
- 'Ṟ' => 'Ṟ',
- 'ṟ' => 'ṟ',
- 'Ṡ' => 'Ṡ',
- 'ṡ' => 'ṡ',
- 'Ṣ' => 'Ṣ',
- 'ṣ' => 'ṣ',
- 'Ṥ' => 'Ṥ',
- 'ṥ' => 'ṥ',
- 'Ṧ' => 'Ṧ',
- 'ṧ' => 'ṧ',
- 'Ṩ' => 'Ṩ',
- 'ṩ' => 'ṩ',
- 'Ṫ' => 'Ṫ',
- 'ṫ' => 'ṫ',
- 'Ṭ' => 'Ṭ',
- 'ṭ' => 'ṭ',
- 'Ṯ' => 'Ṯ',
- 'ṯ' => 'ṯ',
- 'Ṱ' => 'Ṱ',
- 'ṱ' => 'ṱ',
- 'Ṳ' => 'Ṳ',
- 'ṳ' => 'ṳ',
- 'Ṵ' => 'Ṵ',
- 'ṵ' => 'ṵ',
- 'Ṷ' => 'Ṷ',
- 'ṷ' => 'ṷ',
- 'Ṹ' => 'Ṹ',
- 'ṹ' => 'ṹ',
- 'Ṻ' => 'Ṻ',
- 'ṻ' => 'ṻ',
- 'Ṽ' => 'Ṽ',
- 'ṽ' => 'ṽ',
- 'Ṿ' => 'Ṿ',
- 'ṿ' => 'ṿ',
- 'Ẁ' => 'Ẁ',
- 'ẁ' => 'ẁ',
- 'Ẃ' => 'Ẃ',
- 'ẃ' => 'ẃ',
- 'Ẅ' => 'Ẅ',
- 'ẅ' => 'ẅ',
- 'Ẇ' => 'Ẇ',
- 'ẇ' => 'ẇ',
- 'Ẉ' => 'Ẉ',
- 'ẉ' => 'ẉ',
- 'Ẋ' => 'Ẋ',
- 'ẋ' => 'ẋ',
- 'Ẍ' => 'Ẍ',
- 'ẍ' => 'ẍ',
- 'Ẏ' => 'Ẏ',
- 'ẏ' => 'ẏ',
- 'Ẑ' => 'Ẑ',
- 'ẑ' => 'ẑ',
- 'Ẓ' => 'Ẓ',
- 'ẓ' => 'ẓ',
- 'Ẕ' => 'Ẕ',
- 'ẕ' => 'ẕ',
- 'ẖ' => 'ẖ',
- 'ẗ' => 'ẗ',
- 'ẘ' => 'ẘ',
- 'ẙ' => 'ẙ',
- 'ẛ' => 'ẛ',
- 'Ạ' => 'Ạ',
- 'ạ' => 'ạ',
- 'Ả' => 'Ả',
- 'ả' => 'ả',
- 'Ấ' => 'Ấ',
- 'ấ' => 'ấ',
- 'Ầ' => 'Ầ',
- 'ầ' => 'ầ',
- 'Ẩ' => 'Ẩ',
- 'ẩ' => 'ẩ',
- 'Ẫ' => 'Ẫ',
- 'ẫ' => 'ẫ',
- 'Ậ' => 'Ậ',
- 'ậ' => 'ậ',
- 'Ắ' => 'Ắ',
- 'ắ' => 'ắ',
- 'Ằ' => 'Ằ',
- 'ằ' => 'ằ',
- 'Ẳ' => 'Ẳ',
- 'ẳ' => 'ẳ',
- 'Ẵ' => 'Ẵ',
- 'ẵ' => 'ẵ',
- 'Ặ' => 'Ặ',
- 'ặ' => 'ặ',
- 'Ẹ' => 'Ẹ',
- 'ẹ' => 'ẹ',
- 'Ẻ' => 'Ẻ',
- 'ẻ' => 'ẻ',
- 'Ẽ' => 'Ẽ',
- 'ẽ' => 'ẽ',
- 'Ế' => 'Ế',
- 'ế' => 'ế',
- 'Ề' => 'Ề',
- 'ề' => 'ề',
- 'Ể' => 'Ể',
- 'ể' => 'ể',
- 'Ễ' => 'Ễ',
- 'ễ' => 'ễ',
- 'Ệ' => 'Ệ',
- 'ệ' => 'ệ',
- 'Ỉ' => 'Ỉ',
- 'ỉ' => 'ỉ',
- 'Ị' => 'Ị',
- 'ị' => 'ị',
- 'Ọ' => 'Ọ',
- 'ọ' => 'ọ',
- 'Ỏ' => 'Ỏ',
- 'ỏ' => 'ỏ',
- 'Ố' => 'Ố',
- 'ố' => 'ố',
- 'Ồ' => 'Ồ',
- 'ồ' => 'ồ',
- 'Ổ' => 'Ổ',
- 'ổ' => 'ổ',
- 'Ỗ' => 'Ỗ',
- 'ỗ' => 'ỗ',
- 'Ộ' => 'Ộ',
- 'ộ' => 'ộ',
- 'Ớ' => 'Ớ',
- 'ớ' => 'ớ',
- 'Ờ' => 'Ờ',
- 'ờ' => 'ờ',
- 'Ở' => 'Ở',
- 'ở' => 'ở',
- 'Ỡ' => 'Ỡ',
- 'ỡ' => 'ỡ',
- 'Ợ' => 'Ợ',
- 'ợ' => 'ợ',
- 'Ụ' => 'Ụ',
- 'ụ' => 'ụ',
- 'Ủ' => 'Ủ',
- 'ủ' => 'ủ',
- 'Ứ' => 'Ứ',
- 'ứ' => 'ứ',
- 'Ừ' => 'Ừ',
- 'ừ' => 'ừ',
- 'Ử' => 'Ử',
- 'ử' => 'ử',
- 'Ữ' => 'Ữ',
- 'ữ' => 'ữ',
- 'Ự' => 'Ự',
- 'ự' => 'ự',
- 'Ỳ' => 'Ỳ',
- 'ỳ' => 'ỳ',
- 'Ỵ' => 'Ỵ',
- 'ỵ' => 'ỵ',
- 'Ỷ' => 'Ỷ',
- 'ỷ' => 'ỷ',
- 'Ỹ' => 'Ỹ',
- 'ỹ' => 'ỹ',
- 'ἀ' => 'ἀ',
- 'ἁ' => 'ἁ',
- 'ἂ' => 'ἂ',
- 'ἃ' => 'ἃ',
- 'ἄ' => 'ἄ',
- 'ἅ' => 'ἅ',
- 'ἆ' => 'ἆ',
- 'ἇ' => 'ἇ',
- 'Ἀ' => 'Ἀ',
- 'Ἁ' => 'Ἁ',
- 'Ἂ' => 'Ἂ',
- 'Ἃ' => 'Ἃ',
- 'Ἄ' => 'Ἄ',
- 'Ἅ' => 'Ἅ',
- 'Ἆ' => 'Ἆ',
- 'Ἇ' => 'Ἇ',
- 'ἐ' => 'ἐ',
- 'ἑ' => 'ἑ',
- 'ἒ' => 'ἒ',
- 'ἓ' => 'ἓ',
- 'ἔ' => 'ἔ',
- 'ἕ' => 'ἕ',
- 'Ἐ' => 'Ἐ',
- 'Ἑ' => 'Ἑ',
- 'Ἒ' => 'Ἒ',
- 'Ἓ' => 'Ἓ',
- 'Ἔ' => 'Ἔ',
- 'Ἕ' => 'Ἕ',
- 'ἠ' => 'ἠ',
- 'ἡ' => 'ἡ',
- 'ἢ' => 'ἢ',
- 'ἣ' => 'ἣ',
- 'ἤ' => 'ἤ',
- 'ἥ' => 'ἥ',
- 'ἦ' => 'ἦ',
- 'ἧ' => 'ἧ',
- 'Ἠ' => 'Ἠ',
- 'Ἡ' => 'Ἡ',
- 'Ἢ' => 'Ἢ',
- 'Ἣ' => 'Ἣ',
- 'Ἤ' => 'Ἤ',
- 'Ἥ' => 'Ἥ',
- 'Ἦ' => 'Ἦ',
- 'Ἧ' => 'Ἧ',
- 'ἰ' => 'ἰ',
- 'ἱ' => 'ἱ',
- 'ἲ' => 'ἲ',
- 'ἳ' => 'ἳ',
- 'ἴ' => 'ἴ',
- 'ἵ' => 'ἵ',
- 'ἶ' => 'ἶ',
- 'ἷ' => 'ἷ',
- 'Ἰ' => 'Ἰ',
- 'Ἱ' => 'Ἱ',
- 'Ἲ' => 'Ἲ',
- 'Ἳ' => 'Ἳ',
- 'Ἴ' => 'Ἴ',
- 'Ἵ' => 'Ἵ',
- 'Ἶ' => 'Ἶ',
- 'Ἷ' => 'Ἷ',
- 'ὀ' => 'ὀ',
- 'ὁ' => 'ὁ',
- 'ὂ' => 'ὂ',
- 'ὃ' => 'ὃ',
- 'ὄ' => 'ὄ',
- 'ὅ' => 'ὅ',
- 'Ὀ' => 'Ὀ',
- 'Ὁ' => 'Ὁ',
- 'Ὂ' => 'Ὂ',
- 'Ὃ' => 'Ὃ',
- 'Ὄ' => 'Ὄ',
- 'Ὅ' => 'Ὅ',
- 'ὐ' => 'ὐ',
- 'ὑ' => 'ὑ',
- 'ὒ' => 'ὒ',
- 'ὓ' => 'ὓ',
- 'ὔ' => 'ὔ',
- 'ὕ' => 'ὕ',
- 'ὖ' => 'ὖ',
- 'ὗ' => 'ὗ',
- 'Ὑ' => 'Ὑ',
- 'Ὓ' => 'Ὓ',
- 'Ὕ' => 'Ὕ',
- 'Ὗ' => 'Ὗ',
- 'ὠ' => 'ὠ',
- 'ὡ' => 'ὡ',
- 'ὢ' => 'ὢ',
- 'ὣ' => 'ὣ',
- 'ὤ' => 'ὤ',
- 'ὥ' => 'ὥ',
- 'ὦ' => 'ὦ',
- 'ὧ' => 'ὧ',
- 'Ὠ' => 'Ὠ',
- 'Ὡ' => 'Ὡ',
- 'Ὢ' => 'Ὢ',
- 'Ὣ' => 'Ὣ',
- 'Ὤ' => 'Ὤ',
- 'Ὥ' => 'Ὥ',
- 'Ὦ' => 'Ὦ',
- 'Ὧ' => 'Ὧ',
- 'ὰ' => 'ὰ',
- 'ὲ' => 'ὲ',
- 'ὴ' => 'ὴ',
- 'ὶ' => 'ὶ',
- 'ὸ' => 'ὸ',
- 'ὺ' => 'ὺ',
- 'ὼ' => 'ὼ',
- 'ᾀ' => 'ᾀ',
- 'ᾁ' => 'ᾁ',
- 'ᾂ' => 'ᾂ',
- 'ᾃ' => 'ᾃ',
- 'ᾄ' => 'ᾄ',
- 'ᾅ' => 'ᾅ',
- 'ᾆ' => 'ᾆ',
- 'ᾇ' => 'ᾇ',
- 'ᾈ' => 'ᾈ',
- 'ᾉ' => 'ᾉ',
- 'ᾊ' => 'ᾊ',
- 'ᾋ' => 'ᾋ',
- 'ᾌ' => 'ᾌ',
- 'ᾍ' => 'ᾍ',
- 'ᾎ' => 'ᾎ',
- 'ᾏ' => 'ᾏ',
- 'ᾐ' => 'ᾐ',
- 'ᾑ' => 'ᾑ',
- 'ᾒ' => 'ᾒ',
- 'ᾓ' => 'ᾓ',
- 'ᾔ' => 'ᾔ',
- 'ᾕ' => 'ᾕ',
- 'ᾖ' => 'ᾖ',
- 'ᾗ' => 'ᾗ',
- 'ᾘ' => 'ᾘ',
- 'ᾙ' => 'ᾙ',
- 'ᾚ' => 'ᾚ',
- 'ᾛ' => 'ᾛ',
- 'ᾜ' => 'ᾜ',
- 'ᾝ' => 'ᾝ',
- 'ᾞ' => 'ᾞ',
- 'ᾟ' => 'ᾟ',
- 'ᾠ' => 'ᾠ',
- 'ᾡ' => 'ᾡ',
- 'ᾢ' => 'ᾢ',
- 'ᾣ' => 'ᾣ',
- 'ᾤ' => 'ᾤ',
- 'ᾥ' => 'ᾥ',
- 'ᾦ' => 'ᾦ',
- 'ᾧ' => 'ᾧ',
- 'ᾨ' => 'ᾨ',
- 'ᾩ' => 'ᾩ',
- 'ᾪ' => 'ᾪ',
- 'ᾫ' => 'ᾫ',
- 'ᾬ' => 'ᾬ',
- 'ᾭ' => 'ᾭ',
- 'ᾮ' => 'ᾮ',
- 'ᾯ' => 'ᾯ',
- 'ᾰ' => 'ᾰ',
- 'ᾱ' => 'ᾱ',
- 'ᾲ' => 'ᾲ',
- 'ᾳ' => 'ᾳ',
- 'ᾴ' => 'ᾴ',
- 'ᾶ' => 'ᾶ',
- 'ᾷ' => 'ᾷ',
- 'Ᾰ' => 'Ᾰ',
- 'Ᾱ' => 'Ᾱ',
- 'Ὰ' => 'Ὰ',
- 'ᾼ' => 'ᾼ',
- '῁' => '῁',
- 'ῂ' => 'ῂ',
- 'ῃ' => 'ῃ',
- 'ῄ' => 'ῄ',
- 'ῆ' => 'ῆ',
- 'ῇ' => 'ῇ',
- 'Ὲ' => 'Ὲ',
- 'Ὴ' => 'Ὴ',
- 'ῌ' => 'ῌ',
- '῍' => '῍',
- '῎' => '῎',
- '῏' => '῏',
- 'ῐ' => 'ῐ',
- 'ῑ' => 'ῑ',
- 'ῒ' => 'ῒ',
- 'ῖ' => 'ῖ',
- 'ῗ' => 'ῗ',
- 'Ῐ' => 'Ῐ',
- 'Ῑ' => 'Ῑ',
- 'Ὶ' => 'Ὶ',
- '῝' => '῝',
- '῞' => '῞',
- '῟' => '῟',
- 'ῠ' => 'ῠ',
- 'ῡ' => 'ῡ',
- 'ῢ' => 'ῢ',
- 'ῤ' => 'ῤ',
- 'ῥ' => 'ῥ',
- 'ῦ' => 'ῦ',
- 'ῧ' => 'ῧ',
- 'Ῠ' => 'Ῠ',
- 'Ῡ' => 'Ῡ',
- 'Ὺ' => 'Ὺ',
- 'Ῥ' => 'Ῥ',
- '῭' => '῭',
- 'ῲ' => 'ῲ',
- 'ῳ' => 'ῳ',
- 'ῴ' => 'ῴ',
- 'ῶ' => 'ῶ',
- 'ῷ' => 'ῷ',
- 'Ὸ' => 'Ὸ',
- 'Ὼ' => 'Ὼ',
- 'ῼ' => 'ῼ',
- '↚' => '↚',
- '↛' => '↛',
- '↮' => '↮',
- '⇍' => '⇍',
- '⇎' => '⇎',
- '⇏' => '⇏',
- '∄' => '∄',
- '∉' => '∉',
- '∌' => '∌',
- '∤' => '∤',
- '∦' => '∦',
- '≁' => '≁',
- '≄' => '≄',
- '≇' => '≇',
- '≉' => '≉',
- '≠' => '≠',
- '≢' => '≢',
- '≭' => '≭',
- '≮' => '≮',
- '≯' => '≯',
- '≰' => '≰',
- '≱' => '≱',
- '≴' => '≴',
- '≵' => '≵',
- '≸' => '≸',
- '≹' => '≹',
- '⊀' => '⊀',
- '⊁' => '⊁',
- '⊄' => '⊄',
- '⊅' => '⊅',
- '⊈' => '⊈',
- '⊉' => '⊉',
- '⊬' => '⊬',
- '⊭' => '⊭',
- '⊮' => '⊮',
- '⊯' => '⊯',
- '⋠' => '⋠',
- '⋡' => '⋡',
- '⋢' => '⋢',
- '⋣' => '⋣',
- '⋪' => '⋪',
- '⋫' => '⋫',
- '⋬' => '⋬',
- '⋭' => '⋭',
- 'が' => 'が',
- 'ぎ' => 'ぎ',
- 'ぐ' => 'ぐ',
- 'げ' => 'げ',
- 'ご' => 'ご',
- 'ざ' => 'ざ',
- 'じ' => 'じ',
- 'ず' => 'ず',
- 'ぜ' => 'ぜ',
- 'ぞ' => 'ぞ',
- 'だ' => 'だ',
- 'ぢ' => 'ぢ',
- 'づ' => 'づ',
- 'で' => 'で',
- 'ど' => 'ど',
- 'ば' => 'ば',
- 'ぱ' => 'ぱ',
- 'び' => 'び',
- 'ぴ' => 'ぴ',
- 'ぶ' => 'ぶ',
- 'ぷ' => 'ぷ',
- 'べ' => 'べ',
- 'ぺ' => 'ぺ',
- 'ぼ' => 'ぼ',
- 'ぽ' => 'ぽ',
- 'ゔ' => 'ゔ',
- 'ゞ' => 'ゞ',
- 'ガ' => 'ガ',
- 'ギ' => 'ギ',
- 'グ' => 'グ',
- 'ゲ' => 'ゲ',
- 'ゴ' => 'ゴ',
- 'ザ' => 'ザ',
- 'ジ' => 'ジ',
- 'ズ' => 'ズ',
- 'ゼ' => 'ゼ',
- 'ゾ' => 'ゾ',
- 'ダ' => 'ダ',
- 'ヂ' => 'ヂ',
- 'ヅ' => 'ヅ',
- 'デ' => 'デ',
- 'ド' => 'ド',
- 'バ' => 'バ',
- 'パ' => 'パ',
- 'ビ' => 'ビ',
- 'ピ' => 'ピ',
- 'ブ' => 'ブ',
- 'プ' => 'プ',
- 'ベ' => 'ベ',
- 'ペ' => 'ペ',
- 'ボ' => 'ボ',
- 'ポ' => 'ポ',
- 'ヴ' => 'ヴ',
- 'ヷ' => 'ヷ',
- 'ヸ' => 'ヸ',
- 'ヹ' => 'ヹ',
- 'ヺ' => 'ヺ',
- 'ヾ' => 'ヾ',
- '𑂚' => '𑂚',
- '𑂜' => '𑂜',
- '𑂫' => '𑂫',
- '𑄮' => '𑄮',
- '𑄯' => '𑄯',
- '𑍋' => '𑍋',
- '𑍌' => '𑍌',
- '𑒻' => '𑒻',
- '𑒼' => '𑒼',
- '𑒾' => '𑒾',
- '𑖺' => '𑖺',
- '𑖻' => '𑖻',
- '𑤸' => '𑤸',
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php b/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php
deleted file mode 100644
index 5a3e8e09..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php
+++ /dev/null
@@ -1,2065 +0,0 @@
- 'À',
- 'Á' => 'Á',
- 'Â' => 'Â',
- 'Ã' => 'Ã',
- 'Ä' => 'Ä',
- 'Å' => 'Å',
- 'Ç' => 'Ç',
- 'È' => 'È',
- 'É' => 'É',
- 'Ê' => 'Ê',
- 'Ë' => 'Ë',
- 'Ì' => 'Ì',
- 'Í' => 'Í',
- 'Î' => 'Î',
- 'Ï' => 'Ï',
- 'Ñ' => 'Ñ',
- 'Ò' => 'Ò',
- 'Ó' => 'Ó',
- 'Ô' => 'Ô',
- 'Õ' => 'Õ',
- 'Ö' => 'Ö',
- 'Ù' => 'Ù',
- 'Ú' => 'Ú',
- 'Û' => 'Û',
- 'Ü' => 'Ü',
- 'Ý' => 'Ý',
- 'à' => 'à',
- 'á' => 'á',
- 'â' => 'â',
- 'ã' => 'ã',
- 'ä' => 'ä',
- 'å' => 'å',
- 'ç' => 'ç',
- 'è' => 'è',
- 'é' => 'é',
- 'ê' => 'ê',
- 'ë' => 'ë',
- 'ì' => 'ì',
- 'í' => 'í',
- 'î' => 'î',
- 'ï' => 'ï',
- 'ñ' => 'ñ',
- 'ò' => 'ò',
- 'ó' => 'ó',
- 'ô' => 'ô',
- 'õ' => 'õ',
- 'ö' => 'ö',
- 'ù' => 'ù',
- 'ú' => 'ú',
- 'û' => 'û',
- 'ü' => 'ü',
- 'ý' => 'ý',
- 'ÿ' => 'ÿ',
- 'Ā' => 'Ā',
- 'ā' => 'ā',
- 'Ă' => 'Ă',
- 'ă' => 'ă',
- 'Ą' => 'Ą',
- 'ą' => 'ą',
- 'Ć' => 'Ć',
- 'ć' => 'ć',
- 'Ĉ' => 'Ĉ',
- 'ĉ' => 'ĉ',
- 'Ċ' => 'Ċ',
- 'ċ' => 'ċ',
- 'Č' => 'Č',
- 'č' => 'č',
- 'Ď' => 'Ď',
- 'ď' => 'ď',
- 'Ē' => 'Ē',
- 'ē' => 'ē',
- 'Ĕ' => 'Ĕ',
- 'ĕ' => 'ĕ',
- 'Ė' => 'Ė',
- 'ė' => 'ė',
- 'Ę' => 'Ę',
- 'ę' => 'ę',
- 'Ě' => 'Ě',
- 'ě' => 'ě',
- 'Ĝ' => 'Ĝ',
- 'ĝ' => 'ĝ',
- 'Ğ' => 'Ğ',
- 'ğ' => 'ğ',
- 'Ġ' => 'Ġ',
- 'ġ' => 'ġ',
- 'Ģ' => 'Ģ',
- 'ģ' => 'ģ',
- 'Ĥ' => 'Ĥ',
- 'ĥ' => 'ĥ',
- 'Ĩ' => 'Ĩ',
- 'ĩ' => 'ĩ',
- 'Ī' => 'Ī',
- 'ī' => 'ī',
- 'Ĭ' => 'Ĭ',
- 'ĭ' => 'ĭ',
- 'Į' => 'Į',
- 'į' => 'į',
- 'İ' => 'İ',
- 'Ĵ' => 'Ĵ',
- 'ĵ' => 'ĵ',
- 'Ķ' => 'Ķ',
- 'ķ' => 'ķ',
- 'Ĺ' => 'Ĺ',
- 'ĺ' => 'ĺ',
- 'Ļ' => 'Ļ',
- 'ļ' => 'ļ',
- 'Ľ' => 'Ľ',
- 'ľ' => 'ľ',
- 'Ń' => 'Ń',
- 'ń' => 'ń',
- 'Ņ' => 'Ņ',
- 'ņ' => 'ņ',
- 'Ň' => 'Ň',
- 'ň' => 'ň',
- 'Ō' => 'Ō',
- 'ō' => 'ō',
- 'Ŏ' => 'Ŏ',
- 'ŏ' => 'ŏ',
- 'Ő' => 'Ő',
- 'ő' => 'ő',
- 'Ŕ' => 'Ŕ',
- 'ŕ' => 'ŕ',
- 'Ŗ' => 'Ŗ',
- 'ŗ' => 'ŗ',
- 'Ř' => 'Ř',
- 'ř' => 'ř',
- 'Ś' => 'Ś',
- 'ś' => 'ś',
- 'Ŝ' => 'Ŝ',
- 'ŝ' => 'ŝ',
- 'Ş' => 'Ş',
- 'ş' => 'ş',
- 'Š' => 'Š',
- 'š' => 'š',
- 'Ţ' => 'Ţ',
- 'ţ' => 'ţ',
- 'Ť' => 'Ť',
- 'ť' => 'ť',
- 'Ũ' => 'Ũ',
- 'ũ' => 'ũ',
- 'Ū' => 'Ū',
- 'ū' => 'ū',
- 'Ŭ' => 'Ŭ',
- 'ŭ' => 'ŭ',
- 'Ů' => 'Ů',
- 'ů' => 'ů',
- 'Ű' => 'Ű',
- 'ű' => 'ű',
- 'Ų' => 'Ų',
- 'ų' => 'ų',
- 'Ŵ' => 'Ŵ',
- 'ŵ' => 'ŵ',
- 'Ŷ' => 'Ŷ',
- 'ŷ' => 'ŷ',
- 'Ÿ' => 'Ÿ',
- 'Ź' => 'Ź',
- 'ź' => 'ź',
- 'Ż' => 'Ż',
- 'ż' => 'ż',
- 'Ž' => 'Ž',
- 'ž' => 'ž',
- 'Ơ' => 'Ơ',
- 'ơ' => 'ơ',
- 'Ư' => 'Ư',
- 'ư' => 'ư',
- 'Ǎ' => 'Ǎ',
- 'ǎ' => 'ǎ',
- 'Ǐ' => 'Ǐ',
- 'ǐ' => 'ǐ',
- 'Ǒ' => 'Ǒ',
- 'ǒ' => 'ǒ',
- 'Ǔ' => 'Ǔ',
- 'ǔ' => 'ǔ',
- 'Ǖ' => 'Ǖ',
- 'ǖ' => 'ǖ',
- 'Ǘ' => 'Ǘ',
- 'ǘ' => 'ǘ',
- 'Ǚ' => 'Ǚ',
- 'ǚ' => 'ǚ',
- 'Ǜ' => 'Ǜ',
- 'ǜ' => 'ǜ',
- 'Ǟ' => 'Ǟ',
- 'ǟ' => 'ǟ',
- 'Ǡ' => 'Ǡ',
- 'ǡ' => 'ǡ',
- 'Ǣ' => 'Ǣ',
- 'ǣ' => 'ǣ',
- 'Ǧ' => 'Ǧ',
- 'ǧ' => 'ǧ',
- 'Ǩ' => 'Ǩ',
- 'ǩ' => 'ǩ',
- 'Ǫ' => 'Ǫ',
- 'ǫ' => 'ǫ',
- 'Ǭ' => 'Ǭ',
- 'ǭ' => 'ǭ',
- 'Ǯ' => 'Ǯ',
- 'ǯ' => 'ǯ',
- 'ǰ' => 'ǰ',
- 'Ǵ' => 'Ǵ',
- 'ǵ' => 'ǵ',
- 'Ǹ' => 'Ǹ',
- 'ǹ' => 'ǹ',
- 'Ǻ' => 'Ǻ',
- 'ǻ' => 'ǻ',
- 'Ǽ' => 'Ǽ',
- 'ǽ' => 'ǽ',
- 'Ǿ' => 'Ǿ',
- 'ǿ' => 'ǿ',
- 'Ȁ' => 'Ȁ',
- 'ȁ' => 'ȁ',
- 'Ȃ' => 'Ȃ',
- 'ȃ' => 'ȃ',
- 'Ȅ' => 'Ȅ',
- 'ȅ' => 'ȅ',
- 'Ȇ' => 'Ȇ',
- 'ȇ' => 'ȇ',
- 'Ȉ' => 'Ȉ',
- 'ȉ' => 'ȉ',
- 'Ȋ' => 'Ȋ',
- 'ȋ' => 'ȋ',
- 'Ȍ' => 'Ȍ',
- 'ȍ' => 'ȍ',
- 'Ȏ' => 'Ȏ',
- 'ȏ' => 'ȏ',
- 'Ȑ' => 'Ȑ',
- 'ȑ' => 'ȑ',
- 'Ȓ' => 'Ȓ',
- 'ȓ' => 'ȓ',
- 'Ȕ' => 'Ȕ',
- 'ȕ' => 'ȕ',
- 'Ȗ' => 'Ȗ',
- 'ȗ' => 'ȗ',
- 'Ș' => 'Ș',
- 'ș' => 'ș',
- 'Ț' => 'Ț',
- 'ț' => 'ț',
- 'Ȟ' => 'Ȟ',
- 'ȟ' => 'ȟ',
- 'Ȧ' => 'Ȧ',
- 'ȧ' => 'ȧ',
- 'Ȩ' => 'Ȩ',
- 'ȩ' => 'ȩ',
- 'Ȫ' => 'Ȫ',
- 'ȫ' => 'ȫ',
- 'Ȭ' => 'Ȭ',
- 'ȭ' => 'ȭ',
- 'Ȯ' => 'Ȯ',
- 'ȯ' => 'ȯ',
- 'Ȱ' => 'Ȱ',
- 'ȱ' => 'ȱ',
- 'Ȳ' => 'Ȳ',
- 'ȳ' => 'ȳ',
- '̀' => '̀',
- '́' => '́',
- '̓' => '̓',
- '̈́' => '̈́',
- 'ʹ' => 'ʹ',
- ';' => ';',
- '΅' => '΅',
- 'Ά' => 'Ά',
- '·' => '·',
- 'Έ' => 'Έ',
- 'Ή' => 'Ή',
- 'Ί' => 'Ί',
- 'Ό' => 'Ό',
- 'Ύ' => 'Ύ',
- 'Ώ' => 'Ώ',
- 'ΐ' => 'ΐ',
- 'Ϊ' => 'Ϊ',
- 'Ϋ' => 'Ϋ',
- 'ά' => 'ά',
- 'έ' => 'έ',
- 'ή' => 'ή',
- 'ί' => 'ί',
- 'ΰ' => 'ΰ',
- 'ϊ' => 'ϊ',
- 'ϋ' => 'ϋ',
- 'ό' => 'ό',
- 'ύ' => 'ύ',
- 'ώ' => 'ώ',
- 'ϓ' => 'ϓ',
- 'ϔ' => 'ϔ',
- 'Ѐ' => 'Ѐ',
- 'Ё' => 'Ё',
- 'Ѓ' => 'Ѓ',
- 'Ї' => 'Ї',
- 'Ќ' => 'Ќ',
- 'Ѝ' => 'Ѝ',
- 'Ў' => 'Ў',
- 'Й' => 'Й',
- 'й' => 'й',
- 'ѐ' => 'ѐ',
- 'ё' => 'ё',
- 'ѓ' => 'ѓ',
- 'ї' => 'ї',
- 'ќ' => 'ќ',
- 'ѝ' => 'ѝ',
- 'ў' => 'ў',
- 'Ѷ' => 'Ѷ',
- 'ѷ' => 'ѷ',
- 'Ӂ' => 'Ӂ',
- 'ӂ' => 'ӂ',
- 'Ӑ' => 'Ӑ',
- 'ӑ' => 'ӑ',
- 'Ӓ' => 'Ӓ',
- 'ӓ' => 'ӓ',
- 'Ӗ' => 'Ӗ',
- 'ӗ' => 'ӗ',
- 'Ӛ' => 'Ӛ',
- 'ӛ' => 'ӛ',
- 'Ӝ' => 'Ӝ',
- 'ӝ' => 'ӝ',
- 'Ӟ' => 'Ӟ',
- 'ӟ' => 'ӟ',
- 'Ӣ' => 'Ӣ',
- 'ӣ' => 'ӣ',
- 'Ӥ' => 'Ӥ',
- 'ӥ' => 'ӥ',
- 'Ӧ' => 'Ӧ',
- 'ӧ' => 'ӧ',
- 'Ӫ' => 'Ӫ',
- 'ӫ' => 'ӫ',
- 'Ӭ' => 'Ӭ',
- 'ӭ' => 'ӭ',
- 'Ӯ' => 'Ӯ',
- 'ӯ' => 'ӯ',
- 'Ӱ' => 'Ӱ',
- 'ӱ' => 'ӱ',
- 'Ӳ' => 'Ӳ',
- 'ӳ' => 'ӳ',
- 'Ӵ' => 'Ӵ',
- 'ӵ' => 'ӵ',
- 'Ӹ' => 'Ӹ',
- 'ӹ' => 'ӹ',
- 'آ' => 'آ',
- 'أ' => 'أ',
- 'ؤ' => 'ؤ',
- 'إ' => 'إ',
- 'ئ' => 'ئ',
- 'ۀ' => 'ۀ',
- 'ۂ' => 'ۂ',
- 'ۓ' => 'ۓ',
- 'ऩ' => 'ऩ',
- 'ऱ' => 'ऱ',
- 'ऴ' => 'ऴ',
- 'क़' => 'क़',
- 'ख़' => 'ख़',
- 'ग़' => 'ग़',
- 'ज़' => 'ज़',
- 'ड़' => 'ड़',
- 'ढ़' => 'ढ़',
- 'फ़' => 'फ़',
- 'य़' => 'य़',
- 'ো' => 'ো',
- 'ৌ' => 'ৌ',
- 'ড়' => 'ড়',
- 'ঢ়' => 'ঢ়',
- 'য়' => 'য়',
- 'ਲ਼' => 'ਲ਼',
- 'ਸ਼' => 'ਸ਼',
- 'ਖ਼' => 'ਖ਼',
- 'ਗ਼' => 'ਗ਼',
- 'ਜ਼' => 'ਜ਼',
- 'ਫ਼' => 'ਫ਼',
- 'ୈ' => 'ୈ',
- 'ୋ' => 'ୋ',
- 'ୌ' => 'ୌ',
- 'ଡ଼' => 'ଡ଼',
- 'ଢ଼' => 'ଢ଼',
- 'ஔ' => 'ஔ',
- 'ொ' => 'ொ',
- 'ோ' => 'ோ',
- 'ௌ' => 'ௌ',
- 'ై' => 'ై',
- 'ೀ' => 'ೀ',
- 'ೇ' => 'ೇ',
- 'ೈ' => 'ೈ',
- 'ೊ' => 'ೊ',
- 'ೋ' => 'ೋ',
- 'ൊ' => 'ൊ',
- 'ോ' => 'ോ',
- 'ൌ' => 'ൌ',
- 'ේ' => 'ේ',
- 'ො' => 'ො',
- 'ෝ' => 'ෝ',
- 'ෞ' => 'ෞ',
- 'གྷ' => 'གྷ',
- 'ཌྷ' => 'ཌྷ',
- 'དྷ' => 'དྷ',
- 'བྷ' => 'བྷ',
- 'ཛྷ' => 'ཛྷ',
- 'ཀྵ' => 'ཀྵ',
- 'ཱི' => 'ཱི',
- 'ཱུ' => 'ཱུ',
- 'ྲྀ' => 'ྲྀ',
- 'ླྀ' => 'ླྀ',
- 'ཱྀ' => 'ཱྀ',
- 'ྒྷ' => 'ྒྷ',
- 'ྜྷ' => 'ྜྷ',
- 'ྡྷ' => 'ྡྷ',
- 'ྦྷ' => 'ྦྷ',
- 'ྫྷ' => 'ྫྷ',
- 'ྐྵ' => 'ྐྵ',
- 'ဦ' => 'ဦ',
- 'ᬆ' => 'ᬆ',
- 'ᬈ' => 'ᬈ',
- 'ᬊ' => 'ᬊ',
- 'ᬌ' => 'ᬌ',
- 'ᬎ' => 'ᬎ',
- 'ᬒ' => 'ᬒ',
- 'ᬻ' => 'ᬻ',
- 'ᬽ' => 'ᬽ',
- 'ᭀ' => 'ᭀ',
- 'ᭁ' => 'ᭁ',
- 'ᭃ' => 'ᭃ',
- 'Ḁ' => 'Ḁ',
- 'ḁ' => 'ḁ',
- 'Ḃ' => 'Ḃ',
- 'ḃ' => 'ḃ',
- 'Ḅ' => 'Ḅ',
- 'ḅ' => 'ḅ',
- 'Ḇ' => 'Ḇ',
- 'ḇ' => 'ḇ',
- 'Ḉ' => 'Ḉ',
- 'ḉ' => 'ḉ',
- 'Ḋ' => 'Ḋ',
- 'ḋ' => 'ḋ',
- 'Ḍ' => 'Ḍ',
- 'ḍ' => 'ḍ',
- 'Ḏ' => 'Ḏ',
- 'ḏ' => 'ḏ',
- 'Ḑ' => 'Ḑ',
- 'ḑ' => 'ḑ',
- 'Ḓ' => 'Ḓ',
- 'ḓ' => 'ḓ',
- 'Ḕ' => 'Ḕ',
- 'ḕ' => 'ḕ',
- 'Ḗ' => 'Ḗ',
- 'ḗ' => 'ḗ',
- 'Ḙ' => 'Ḙ',
- 'ḙ' => 'ḙ',
- 'Ḛ' => 'Ḛ',
- 'ḛ' => 'ḛ',
- 'Ḝ' => 'Ḝ',
- 'ḝ' => 'ḝ',
- 'Ḟ' => 'Ḟ',
- 'ḟ' => 'ḟ',
- 'Ḡ' => 'Ḡ',
- 'ḡ' => 'ḡ',
- 'Ḣ' => 'Ḣ',
- 'ḣ' => 'ḣ',
- 'Ḥ' => 'Ḥ',
- 'ḥ' => 'ḥ',
- 'Ḧ' => 'Ḧ',
- 'ḧ' => 'ḧ',
- 'Ḩ' => 'Ḩ',
- 'ḩ' => 'ḩ',
- 'Ḫ' => 'Ḫ',
- 'ḫ' => 'ḫ',
- 'Ḭ' => 'Ḭ',
- 'ḭ' => 'ḭ',
- 'Ḯ' => 'Ḯ',
- 'ḯ' => 'ḯ',
- 'Ḱ' => 'Ḱ',
- 'ḱ' => 'ḱ',
- 'Ḳ' => 'Ḳ',
- 'ḳ' => 'ḳ',
- 'Ḵ' => 'Ḵ',
- 'ḵ' => 'ḵ',
- 'Ḷ' => 'Ḷ',
- 'ḷ' => 'ḷ',
- 'Ḹ' => 'Ḹ',
- 'ḹ' => 'ḹ',
- 'Ḻ' => 'Ḻ',
- 'ḻ' => 'ḻ',
- 'Ḽ' => 'Ḽ',
- 'ḽ' => 'ḽ',
- 'Ḿ' => 'Ḿ',
- 'ḿ' => 'ḿ',
- 'Ṁ' => 'Ṁ',
- 'ṁ' => 'ṁ',
- 'Ṃ' => 'Ṃ',
- 'ṃ' => 'ṃ',
- 'Ṅ' => 'Ṅ',
- 'ṅ' => 'ṅ',
- 'Ṇ' => 'Ṇ',
- 'ṇ' => 'ṇ',
- 'Ṉ' => 'Ṉ',
- 'ṉ' => 'ṉ',
- 'Ṋ' => 'Ṋ',
- 'ṋ' => 'ṋ',
- 'Ṍ' => 'Ṍ',
- 'ṍ' => 'ṍ',
- 'Ṏ' => 'Ṏ',
- 'ṏ' => 'ṏ',
- 'Ṑ' => 'Ṑ',
- 'ṑ' => 'ṑ',
- 'Ṓ' => 'Ṓ',
- 'ṓ' => 'ṓ',
- 'Ṕ' => 'Ṕ',
- 'ṕ' => 'ṕ',
- 'Ṗ' => 'Ṗ',
- 'ṗ' => 'ṗ',
- 'Ṙ' => 'Ṙ',
- 'ṙ' => 'ṙ',
- 'Ṛ' => 'Ṛ',
- 'ṛ' => 'ṛ',
- 'Ṝ' => 'Ṝ',
- 'ṝ' => 'ṝ',
- 'Ṟ' => 'Ṟ',
- 'ṟ' => 'ṟ',
- 'Ṡ' => 'Ṡ',
- 'ṡ' => 'ṡ',
- 'Ṣ' => 'Ṣ',
- 'ṣ' => 'ṣ',
- 'Ṥ' => 'Ṥ',
- 'ṥ' => 'ṥ',
- 'Ṧ' => 'Ṧ',
- 'ṧ' => 'ṧ',
- 'Ṩ' => 'Ṩ',
- 'ṩ' => 'ṩ',
- 'Ṫ' => 'Ṫ',
- 'ṫ' => 'ṫ',
- 'Ṭ' => 'Ṭ',
- 'ṭ' => 'ṭ',
- 'Ṯ' => 'Ṯ',
- 'ṯ' => 'ṯ',
- 'Ṱ' => 'Ṱ',
- 'ṱ' => 'ṱ',
- 'Ṳ' => 'Ṳ',
- 'ṳ' => 'ṳ',
- 'Ṵ' => 'Ṵ',
- 'ṵ' => 'ṵ',
- 'Ṷ' => 'Ṷ',
- 'ṷ' => 'ṷ',
- 'Ṹ' => 'Ṹ',
- 'ṹ' => 'ṹ',
- 'Ṻ' => 'Ṻ',
- 'ṻ' => 'ṻ',
- 'Ṽ' => 'Ṽ',
- 'ṽ' => 'ṽ',
- 'Ṿ' => 'Ṿ',
- 'ṿ' => 'ṿ',
- 'Ẁ' => 'Ẁ',
- 'ẁ' => 'ẁ',
- 'Ẃ' => 'Ẃ',
- 'ẃ' => 'ẃ',
- 'Ẅ' => 'Ẅ',
- 'ẅ' => 'ẅ',
- 'Ẇ' => 'Ẇ',
- 'ẇ' => 'ẇ',
- 'Ẉ' => 'Ẉ',
- 'ẉ' => 'ẉ',
- 'Ẋ' => 'Ẋ',
- 'ẋ' => 'ẋ',
- 'Ẍ' => 'Ẍ',
- 'ẍ' => 'ẍ',
- 'Ẏ' => 'Ẏ',
- 'ẏ' => 'ẏ',
- 'Ẑ' => 'Ẑ',
- 'ẑ' => 'ẑ',
- 'Ẓ' => 'Ẓ',
- 'ẓ' => 'ẓ',
- 'Ẕ' => 'Ẕ',
- 'ẕ' => 'ẕ',
- 'ẖ' => 'ẖ',
- 'ẗ' => 'ẗ',
- 'ẘ' => 'ẘ',
- 'ẙ' => 'ẙ',
- 'ẛ' => 'ẛ',
- 'Ạ' => 'Ạ',
- 'ạ' => 'ạ',
- 'Ả' => 'Ả',
- 'ả' => 'ả',
- 'Ấ' => 'Ấ',
- 'ấ' => 'ấ',
- 'Ầ' => 'Ầ',
- 'ầ' => 'ầ',
- 'Ẩ' => 'Ẩ',
- 'ẩ' => 'ẩ',
- 'Ẫ' => 'Ẫ',
- 'ẫ' => 'ẫ',
- 'Ậ' => 'Ậ',
- 'ậ' => 'ậ',
- 'Ắ' => 'Ắ',
- 'ắ' => 'ắ',
- 'Ằ' => 'Ằ',
- 'ằ' => 'ằ',
- 'Ẳ' => 'Ẳ',
- 'ẳ' => 'ẳ',
- 'Ẵ' => 'Ẵ',
- 'ẵ' => 'ẵ',
- 'Ặ' => 'Ặ',
- 'ặ' => 'ặ',
- 'Ẹ' => 'Ẹ',
- 'ẹ' => 'ẹ',
- 'Ẻ' => 'Ẻ',
- 'ẻ' => 'ẻ',
- 'Ẽ' => 'Ẽ',
- 'ẽ' => 'ẽ',
- 'Ế' => 'Ế',
- 'ế' => 'ế',
- 'Ề' => 'Ề',
- 'ề' => 'ề',
- 'Ể' => 'Ể',
- 'ể' => 'ể',
- 'Ễ' => 'Ễ',
- 'ễ' => 'ễ',
- 'Ệ' => 'Ệ',
- 'ệ' => 'ệ',
- 'Ỉ' => 'Ỉ',
- 'ỉ' => 'ỉ',
- 'Ị' => 'Ị',
- 'ị' => 'ị',
- 'Ọ' => 'Ọ',
- 'ọ' => 'ọ',
- 'Ỏ' => 'Ỏ',
- 'ỏ' => 'ỏ',
- 'Ố' => 'Ố',
- 'ố' => 'ố',
- 'Ồ' => 'Ồ',
- 'ồ' => 'ồ',
- 'Ổ' => 'Ổ',
- 'ổ' => 'ổ',
- 'Ỗ' => 'Ỗ',
- 'ỗ' => 'ỗ',
- 'Ộ' => 'Ộ',
- 'ộ' => 'ộ',
- 'Ớ' => 'Ớ',
- 'ớ' => 'ớ',
- 'Ờ' => 'Ờ',
- 'ờ' => 'ờ',
- 'Ở' => 'Ở',
- 'ở' => 'ở',
- 'Ỡ' => 'Ỡ',
- 'ỡ' => 'ỡ',
- 'Ợ' => 'Ợ',
- 'ợ' => 'ợ',
- 'Ụ' => 'Ụ',
- 'ụ' => 'ụ',
- 'Ủ' => 'Ủ',
- 'ủ' => 'ủ',
- 'Ứ' => 'Ứ',
- 'ứ' => 'ứ',
- 'Ừ' => 'Ừ',
- 'ừ' => 'ừ',
- 'Ử' => 'Ử',
- 'ử' => 'ử',
- 'Ữ' => 'Ữ',
- 'ữ' => 'ữ',
- 'Ự' => 'Ự',
- 'ự' => 'ự',
- 'Ỳ' => 'Ỳ',
- 'ỳ' => 'ỳ',
- 'Ỵ' => 'Ỵ',
- 'ỵ' => 'ỵ',
- 'Ỷ' => 'Ỷ',
- 'ỷ' => 'ỷ',
- 'Ỹ' => 'Ỹ',
- 'ỹ' => 'ỹ',
- 'ἀ' => 'ἀ',
- 'ἁ' => 'ἁ',
- 'ἂ' => 'ἂ',
- 'ἃ' => 'ἃ',
- 'ἄ' => 'ἄ',
- 'ἅ' => 'ἅ',
- 'ἆ' => 'ἆ',
- 'ἇ' => 'ἇ',
- 'Ἀ' => 'Ἀ',
- 'Ἁ' => 'Ἁ',
- 'Ἂ' => 'Ἂ',
- 'Ἃ' => 'Ἃ',
- 'Ἄ' => 'Ἄ',
- 'Ἅ' => 'Ἅ',
- 'Ἆ' => 'Ἆ',
- 'Ἇ' => 'Ἇ',
- 'ἐ' => 'ἐ',
- 'ἑ' => 'ἑ',
- 'ἒ' => 'ἒ',
- 'ἓ' => 'ἓ',
- 'ἔ' => 'ἔ',
- 'ἕ' => 'ἕ',
- 'Ἐ' => 'Ἐ',
- 'Ἑ' => 'Ἑ',
- 'Ἒ' => 'Ἒ',
- 'Ἓ' => 'Ἓ',
- 'Ἔ' => 'Ἔ',
- 'Ἕ' => 'Ἕ',
- 'ἠ' => 'ἠ',
- 'ἡ' => 'ἡ',
- 'ἢ' => 'ἢ',
- 'ἣ' => 'ἣ',
- 'ἤ' => 'ἤ',
- 'ἥ' => 'ἥ',
- 'ἦ' => 'ἦ',
- 'ἧ' => 'ἧ',
- 'Ἠ' => 'Ἠ',
- 'Ἡ' => 'Ἡ',
- 'Ἢ' => 'Ἢ',
- 'Ἣ' => 'Ἣ',
- 'Ἤ' => 'Ἤ',
- 'Ἥ' => 'Ἥ',
- 'Ἦ' => 'Ἦ',
- 'Ἧ' => 'Ἧ',
- 'ἰ' => 'ἰ',
- 'ἱ' => 'ἱ',
- 'ἲ' => 'ἲ',
- 'ἳ' => 'ἳ',
- 'ἴ' => 'ἴ',
- 'ἵ' => 'ἵ',
- 'ἶ' => 'ἶ',
- 'ἷ' => 'ἷ',
- 'Ἰ' => 'Ἰ',
- 'Ἱ' => 'Ἱ',
- 'Ἲ' => 'Ἲ',
- 'Ἳ' => 'Ἳ',
- 'Ἴ' => 'Ἴ',
- 'Ἵ' => 'Ἵ',
- 'Ἶ' => 'Ἶ',
- 'Ἷ' => 'Ἷ',
- 'ὀ' => 'ὀ',
- 'ὁ' => 'ὁ',
- 'ὂ' => 'ὂ',
- 'ὃ' => 'ὃ',
- 'ὄ' => 'ὄ',
- 'ὅ' => 'ὅ',
- 'Ὀ' => 'Ὀ',
- 'Ὁ' => 'Ὁ',
- 'Ὂ' => 'Ὂ',
- 'Ὃ' => 'Ὃ',
- 'Ὄ' => 'Ὄ',
- 'Ὅ' => 'Ὅ',
- 'ὐ' => 'ὐ',
- 'ὑ' => 'ὑ',
- 'ὒ' => 'ὒ',
- 'ὓ' => 'ὓ',
- 'ὔ' => 'ὔ',
- 'ὕ' => 'ὕ',
- 'ὖ' => 'ὖ',
- 'ὗ' => 'ὗ',
- 'Ὑ' => 'Ὑ',
- 'Ὓ' => 'Ὓ',
- 'Ὕ' => 'Ὕ',
- 'Ὗ' => 'Ὗ',
- 'ὠ' => 'ὠ',
- 'ὡ' => 'ὡ',
- 'ὢ' => 'ὢ',
- 'ὣ' => 'ὣ',
- 'ὤ' => 'ὤ',
- 'ὥ' => 'ὥ',
- 'ὦ' => 'ὦ',
- 'ὧ' => 'ὧ',
- 'Ὠ' => 'Ὠ',
- 'Ὡ' => 'Ὡ',
- 'Ὢ' => 'Ὢ',
- 'Ὣ' => 'Ὣ',
- 'Ὤ' => 'Ὤ',
- 'Ὥ' => 'Ὥ',
- 'Ὦ' => 'Ὦ',
- 'Ὧ' => 'Ὧ',
- 'ὰ' => 'ὰ',
- 'ά' => 'ά',
- 'ὲ' => 'ὲ',
- 'έ' => 'έ',
- 'ὴ' => 'ὴ',
- 'ή' => 'ή',
- 'ὶ' => 'ὶ',
- 'ί' => 'ί',
- 'ὸ' => 'ὸ',
- 'ό' => 'ό',
- 'ὺ' => 'ὺ',
- 'ύ' => 'ύ',
- 'ὼ' => 'ὼ',
- 'ώ' => 'ώ',
- 'ᾀ' => 'ᾀ',
- 'ᾁ' => 'ᾁ',
- 'ᾂ' => 'ᾂ',
- 'ᾃ' => 'ᾃ',
- 'ᾄ' => 'ᾄ',
- 'ᾅ' => 'ᾅ',
- 'ᾆ' => 'ᾆ',
- 'ᾇ' => 'ᾇ',
- 'ᾈ' => 'ᾈ',
- 'ᾉ' => 'ᾉ',
- 'ᾊ' => 'ᾊ',
- 'ᾋ' => 'ᾋ',
- 'ᾌ' => 'ᾌ',
- 'ᾍ' => 'ᾍ',
- 'ᾎ' => 'ᾎ',
- 'ᾏ' => 'ᾏ',
- 'ᾐ' => 'ᾐ',
- 'ᾑ' => 'ᾑ',
- 'ᾒ' => 'ᾒ',
- 'ᾓ' => 'ᾓ',
- 'ᾔ' => 'ᾔ',
- 'ᾕ' => 'ᾕ',
- 'ᾖ' => 'ᾖ',
- 'ᾗ' => 'ᾗ',
- 'ᾘ' => 'ᾘ',
- 'ᾙ' => 'ᾙ',
- 'ᾚ' => 'ᾚ',
- 'ᾛ' => 'ᾛ',
- 'ᾜ' => 'ᾜ',
- 'ᾝ' => 'ᾝ',
- 'ᾞ' => 'ᾞ',
- 'ᾟ' => 'ᾟ',
- 'ᾠ' => 'ᾠ',
- 'ᾡ' => 'ᾡ',
- 'ᾢ' => 'ᾢ',
- 'ᾣ' => 'ᾣ',
- 'ᾤ' => 'ᾤ',
- 'ᾥ' => 'ᾥ',
- 'ᾦ' => 'ᾦ',
- 'ᾧ' => 'ᾧ',
- 'ᾨ' => 'ᾨ',
- 'ᾩ' => 'ᾩ',
- 'ᾪ' => 'ᾪ',
- 'ᾫ' => 'ᾫ',
- 'ᾬ' => 'ᾬ',
- 'ᾭ' => 'ᾭ',
- 'ᾮ' => 'ᾮ',
- 'ᾯ' => 'ᾯ',
- 'ᾰ' => 'ᾰ',
- 'ᾱ' => 'ᾱ',
- 'ᾲ' => 'ᾲ',
- 'ᾳ' => 'ᾳ',
- 'ᾴ' => 'ᾴ',
- 'ᾶ' => 'ᾶ',
- 'ᾷ' => 'ᾷ',
- 'Ᾰ' => 'Ᾰ',
- 'Ᾱ' => 'Ᾱ',
- 'Ὰ' => 'Ὰ',
- 'Ά' => 'Ά',
- 'ᾼ' => 'ᾼ',
- 'ι' => 'ι',
- '῁' => '῁',
- 'ῂ' => 'ῂ',
- 'ῃ' => 'ῃ',
- 'ῄ' => 'ῄ',
- 'ῆ' => 'ῆ',
- 'ῇ' => 'ῇ',
- 'Ὲ' => 'Ὲ',
- 'Έ' => 'Έ',
- 'Ὴ' => 'Ὴ',
- 'Ή' => 'Ή',
- 'ῌ' => 'ῌ',
- '῍' => '῍',
- '῎' => '῎',
- '῏' => '῏',
- 'ῐ' => 'ῐ',
- 'ῑ' => 'ῑ',
- 'ῒ' => 'ῒ',
- 'ΐ' => 'ΐ',
- 'ῖ' => 'ῖ',
- 'ῗ' => 'ῗ',
- 'Ῐ' => 'Ῐ',
- 'Ῑ' => 'Ῑ',
- 'Ὶ' => 'Ὶ',
- 'Ί' => 'Ί',
- '῝' => '῝',
- '῞' => '῞',
- '῟' => '῟',
- 'ῠ' => 'ῠ',
- 'ῡ' => 'ῡ',
- 'ῢ' => 'ῢ',
- 'ΰ' => 'ΰ',
- 'ῤ' => 'ῤ',
- 'ῥ' => 'ῥ',
- 'ῦ' => 'ῦ',
- 'ῧ' => 'ῧ',
- 'Ῠ' => 'Ῠ',
- 'Ῡ' => 'Ῡ',
- 'Ὺ' => 'Ὺ',
- 'Ύ' => 'Ύ',
- 'Ῥ' => 'Ῥ',
- '῭' => '῭',
- '΅' => '΅',
- '`' => '`',
- 'ῲ' => 'ῲ',
- 'ῳ' => 'ῳ',
- 'ῴ' => 'ῴ',
- 'ῶ' => 'ῶ',
- 'ῷ' => 'ῷ',
- 'Ὸ' => 'Ὸ',
- 'Ό' => 'Ό',
- 'Ὼ' => 'Ὼ',
- 'Ώ' => 'Ώ',
- 'ῼ' => 'ῼ',
- '´' => '´',
- ' ' => ' ',
- ' ' => ' ',
- 'Ω' => 'Ω',
- 'K' => 'K',
- 'Å' => 'Å',
- '↚' => '↚',
- '↛' => '↛',
- '↮' => '↮',
- '⇍' => '⇍',
- '⇎' => '⇎',
- '⇏' => '⇏',
- '∄' => '∄',
- '∉' => '∉',
- '∌' => '∌',
- '∤' => '∤',
- '∦' => '∦',
- '≁' => '≁',
- '≄' => '≄',
- '≇' => '≇',
- '≉' => '≉',
- '≠' => '≠',
- '≢' => '≢',
- '≭' => '≭',
- '≮' => '≮',
- '≯' => '≯',
- '≰' => '≰',
- '≱' => '≱',
- '≴' => '≴',
- '≵' => '≵',
- '≸' => '≸',
- '≹' => '≹',
- '⊀' => '⊀',
- '⊁' => '⊁',
- '⊄' => '⊄',
- '⊅' => '⊅',
- '⊈' => '⊈',
- '⊉' => '⊉',
- '⊬' => '⊬',
- '⊭' => '⊭',
- '⊮' => '⊮',
- '⊯' => '⊯',
- '⋠' => '⋠',
- '⋡' => '⋡',
- '⋢' => '⋢',
- '⋣' => '⋣',
- '⋪' => '⋪',
- '⋫' => '⋫',
- '⋬' => '⋬',
- '⋭' => '⋭',
- '〈' => '〈',
- '〉' => '〉',
- '⫝̸' => '⫝̸',
- 'が' => 'が',
- 'ぎ' => 'ぎ',
- 'ぐ' => 'ぐ',
- 'げ' => 'げ',
- 'ご' => 'ご',
- 'ざ' => 'ざ',
- 'じ' => 'じ',
- 'ず' => 'ず',
- 'ぜ' => 'ぜ',
- 'ぞ' => 'ぞ',
- 'だ' => 'だ',
- 'ぢ' => 'ぢ',
- 'づ' => 'づ',
- 'で' => 'で',
- 'ど' => 'ど',
- 'ば' => 'ば',
- 'ぱ' => 'ぱ',
- 'び' => 'び',
- 'ぴ' => 'ぴ',
- 'ぶ' => 'ぶ',
- 'ぷ' => 'ぷ',
- 'べ' => 'べ',
- 'ぺ' => 'ぺ',
- 'ぼ' => 'ぼ',
- 'ぽ' => 'ぽ',
- 'ゔ' => 'ゔ',
- 'ゞ' => 'ゞ',
- 'ガ' => 'ガ',
- 'ギ' => 'ギ',
- 'グ' => 'グ',
- 'ゲ' => 'ゲ',
- 'ゴ' => 'ゴ',
- 'ザ' => 'ザ',
- 'ジ' => 'ジ',
- 'ズ' => 'ズ',
- 'ゼ' => 'ゼ',
- 'ゾ' => 'ゾ',
- 'ダ' => 'ダ',
- 'ヂ' => 'ヂ',
- 'ヅ' => 'ヅ',
- 'デ' => 'デ',
- 'ド' => 'ド',
- 'バ' => 'バ',
- 'パ' => 'パ',
- 'ビ' => 'ビ',
- 'ピ' => 'ピ',
- 'ブ' => 'ブ',
- 'プ' => 'プ',
- 'ベ' => 'ベ',
- 'ペ' => 'ペ',
- 'ボ' => 'ボ',
- 'ポ' => 'ポ',
- 'ヴ' => 'ヴ',
- 'ヷ' => 'ヷ',
- 'ヸ' => 'ヸ',
- 'ヹ' => 'ヹ',
- 'ヺ' => 'ヺ',
- 'ヾ' => 'ヾ',
- '豈' => '豈',
- '更' => '更',
- '車' => '車',
- '賈' => '賈',
- '滑' => '滑',
- '串' => '串',
- '句' => '句',
- '龜' => '龜',
- '龜' => '龜',
- '契' => '契',
- '金' => '金',
- '喇' => '喇',
- '奈' => '奈',
- '懶' => '懶',
- '癩' => '癩',
- '羅' => '羅',
- '蘿' => '蘿',
- '螺' => '螺',
- '裸' => '裸',
- '邏' => '邏',
- '樂' => '樂',
- '洛' => '洛',
- '烙' => '烙',
- '珞' => '珞',
- '落' => '落',
- '酪' => '酪',
- '駱' => '駱',
- '亂' => '亂',
- '卵' => '卵',
- '欄' => '欄',
- '爛' => '爛',
- '蘭' => '蘭',
- '鸞' => '鸞',
- '嵐' => '嵐',
- '濫' => '濫',
- '藍' => '藍',
- '襤' => '襤',
- '拉' => '拉',
- '臘' => '臘',
- '蠟' => '蠟',
- '廊' => '廊',
- '朗' => '朗',
- '浪' => '浪',
- '狼' => '狼',
- '郎' => '郎',
- '來' => '來',
- '冷' => '冷',
- '勞' => '勞',
- '擄' => '擄',
- '櫓' => '櫓',
- '爐' => '爐',
- '盧' => '盧',
- '老' => '老',
- '蘆' => '蘆',
- '虜' => '虜',
- '路' => '路',
- '露' => '露',
- '魯' => '魯',
- '鷺' => '鷺',
- '碌' => '碌',
- '祿' => '祿',
- '綠' => '綠',
- '菉' => '菉',
- '錄' => '錄',
- '鹿' => '鹿',
- '論' => '論',
- '壟' => '壟',
- '弄' => '弄',
- '籠' => '籠',
- '聾' => '聾',
- '牢' => '牢',
- '磊' => '磊',
- '賂' => '賂',
- '雷' => '雷',
- '壘' => '壘',
- '屢' => '屢',
- '樓' => '樓',
- '淚' => '淚',
- '漏' => '漏',
- '累' => '累',
- '縷' => '縷',
- '陋' => '陋',
- '勒' => '勒',
- '肋' => '肋',
- '凜' => '凜',
- '凌' => '凌',
- '稜' => '稜',
- '綾' => '綾',
- '菱' => '菱',
- '陵' => '陵',
- '讀' => '讀',
- '拏' => '拏',
- '樂' => '樂',
- '諾' => '諾',
- '丹' => '丹',
- '寧' => '寧',
- '怒' => '怒',
- '率' => '率',
- '異' => '異',
- '北' => '北',
- '磻' => '磻',
- '便' => '便',
- '復' => '復',
- '不' => '不',
- '泌' => '泌',
- '數' => '數',
- '索' => '索',
- '參' => '參',
- '塞' => '塞',
- '省' => '省',
- '葉' => '葉',
- '說' => '說',
- '殺' => '殺',
- '辰' => '辰',
- '沈' => '沈',
- '拾' => '拾',
- '若' => '若',
- '掠' => '掠',
- '略' => '略',
- '亮' => '亮',
- '兩' => '兩',
- '凉' => '凉',
- '梁' => '梁',
- '糧' => '糧',
- '良' => '良',
- '諒' => '諒',
- '量' => '量',
- '勵' => '勵',
- '呂' => '呂',
- '女' => '女',
- '廬' => '廬',
- '旅' => '旅',
- '濾' => '濾',
- '礪' => '礪',
- '閭' => '閭',
- '驪' => '驪',
- '麗' => '麗',
- '黎' => '黎',
- '力' => '力',
- '曆' => '曆',
- '歷' => '歷',
- '轢' => '轢',
- '年' => '年',
- '憐' => '憐',
- '戀' => '戀',
- '撚' => '撚',
- '漣' => '漣',
- '煉' => '煉',
- '璉' => '璉',
- '秊' => '秊',
- '練' => '練',
- '聯' => '聯',
- '輦' => '輦',
- '蓮' => '蓮',
- '連' => '連',
- '鍊' => '鍊',
- '列' => '列',
- '劣' => '劣',
- '咽' => '咽',
- '烈' => '烈',
- '裂' => '裂',
- '說' => '說',
- '廉' => '廉',
- '念' => '念',
- '捻' => '捻',
- '殮' => '殮',
- '簾' => '簾',
- '獵' => '獵',
- '令' => '令',
- '囹' => '囹',
- '寧' => '寧',
- '嶺' => '嶺',
- '怜' => '怜',
- '玲' => '玲',
- '瑩' => '瑩',
- '羚' => '羚',
- '聆' => '聆',
- '鈴' => '鈴',
- '零' => '零',
- '靈' => '靈',
- '領' => '領',
- '例' => '例',
- '禮' => '禮',
- '醴' => '醴',
- '隸' => '隸',
- '惡' => '惡',
- '了' => '了',
- '僚' => '僚',
- '寮' => '寮',
- '尿' => '尿',
- '料' => '料',
- '樂' => '樂',
- '燎' => '燎',
- '療' => '療',
- '蓼' => '蓼',
- '遼' => '遼',
- '龍' => '龍',
- '暈' => '暈',
- '阮' => '阮',
- '劉' => '劉',
- '杻' => '杻',
- '柳' => '柳',
- '流' => '流',
- '溜' => '溜',
- '琉' => '琉',
- '留' => '留',
- '硫' => '硫',
- '紐' => '紐',
- '類' => '類',
- '六' => '六',
- '戮' => '戮',
- '陸' => '陸',
- '倫' => '倫',
- '崙' => '崙',
- '淪' => '淪',
- '輪' => '輪',
- '律' => '律',
- '慄' => '慄',
- '栗' => '栗',
- '率' => '率',
- '隆' => '隆',
- '利' => '利',
- '吏' => '吏',
- '履' => '履',
- '易' => '易',
- '李' => '李',
- '梨' => '梨',
- '泥' => '泥',
- '理' => '理',
- '痢' => '痢',
- '罹' => '罹',
- '裏' => '裏',
- '裡' => '裡',
- '里' => '里',
- '離' => '離',
- '匿' => '匿',
- '溺' => '溺',
- '吝' => '吝',
- '燐' => '燐',
- '璘' => '璘',
- '藺' => '藺',
- '隣' => '隣',
- '鱗' => '鱗',
- '麟' => '麟',
- '林' => '林',
- '淋' => '淋',
- '臨' => '臨',
- '立' => '立',
- '笠' => '笠',
- '粒' => '粒',
- '狀' => '狀',
- '炙' => '炙',
- '識' => '識',
- '什' => '什',
- '茶' => '茶',
- '刺' => '刺',
- '切' => '切',
- '度' => '度',
- '拓' => '拓',
- '糖' => '糖',
- '宅' => '宅',
- '洞' => '洞',
- '暴' => '暴',
- '輻' => '輻',
- '行' => '行',
- '降' => '降',
- '見' => '見',
- '廓' => '廓',
- '兀' => '兀',
- '嗀' => '嗀',
- '塚' => '塚',
- '晴' => '晴',
- '凞' => '凞',
- '猪' => '猪',
- '益' => '益',
- '礼' => '礼',
- '神' => '神',
- '祥' => '祥',
- '福' => '福',
- '靖' => '靖',
- '精' => '精',
- '羽' => '羽',
- '蘒' => '蘒',
- '諸' => '諸',
- '逸' => '逸',
- '都' => '都',
- '飯' => '飯',
- '飼' => '飼',
- '館' => '館',
- '鶴' => '鶴',
- '郞' => '郞',
- '隷' => '隷',
- '侮' => '侮',
- '僧' => '僧',
- '免' => '免',
- '勉' => '勉',
- '勤' => '勤',
- '卑' => '卑',
- '喝' => '喝',
- '嘆' => '嘆',
- '器' => '器',
- '塀' => '塀',
- '墨' => '墨',
- '層' => '層',
- '屮' => '屮',
- '悔' => '悔',
- '慨' => '慨',
- '憎' => '憎',
- '懲' => '懲',
- '敏' => '敏',
- '既' => '既',
- '暑' => '暑',
- '梅' => '梅',
- '海' => '海',
- '渚' => '渚',
- '漢' => '漢',
- '煮' => '煮',
- '爫' => '爫',
- '琢' => '琢',
- '碑' => '碑',
- '社' => '社',
- '祉' => '祉',
- '祈' => '祈',
- '祐' => '祐',
- '祖' => '祖',
- '祝' => '祝',
- '禍' => '禍',
- '禎' => '禎',
- '穀' => '穀',
- '突' => '突',
- '節' => '節',
- '練' => '練',
- '縉' => '縉',
- '繁' => '繁',
- '署' => '署',
- '者' => '者',
- '臭' => '臭',
- '艹' => '艹',
- '艹' => '艹',
- '著' => '著',
- '褐' => '褐',
- '視' => '視',
- '謁' => '謁',
- '謹' => '謹',
- '賓' => '賓',
- '贈' => '贈',
- '辶' => '辶',
- '逸' => '逸',
- '難' => '難',
- '響' => '響',
- '頻' => '頻',
- '恵' => '恵',
- '𤋮' => '𤋮',
- '舘' => '舘',
- '並' => '並',
- '况' => '况',
- '全' => '全',
- '侀' => '侀',
- '充' => '充',
- '冀' => '冀',
- '勇' => '勇',
- '勺' => '勺',
- '喝' => '喝',
- '啕' => '啕',
- '喙' => '喙',
- '嗢' => '嗢',
- '塚' => '塚',
- '墳' => '墳',
- '奄' => '奄',
- '奔' => '奔',
- '婢' => '婢',
- '嬨' => '嬨',
- '廒' => '廒',
- '廙' => '廙',
- '彩' => '彩',
- '徭' => '徭',
- '惘' => '惘',
- '慎' => '慎',
- '愈' => '愈',
- '憎' => '憎',
- '慠' => '慠',
- '懲' => '懲',
- '戴' => '戴',
- '揄' => '揄',
- '搜' => '搜',
- '摒' => '摒',
- '敖' => '敖',
- '晴' => '晴',
- '朗' => '朗',
- '望' => '望',
- '杖' => '杖',
- '歹' => '歹',
- '殺' => '殺',
- '流' => '流',
- '滛' => '滛',
- '滋' => '滋',
- '漢' => '漢',
- '瀞' => '瀞',
- '煮' => '煮',
- '瞧' => '瞧',
- '爵' => '爵',
- '犯' => '犯',
- '猪' => '猪',
- '瑱' => '瑱',
- '甆' => '甆',
- '画' => '画',
- '瘝' => '瘝',
- '瘟' => '瘟',
- '益' => '益',
- '盛' => '盛',
- '直' => '直',
- '睊' => '睊',
- '着' => '着',
- '磌' => '磌',
- '窱' => '窱',
- '節' => '節',
- '类' => '类',
- '絛' => '絛',
- '練' => '練',
- '缾' => '缾',
- '者' => '者',
- '荒' => '荒',
- '華' => '華',
- '蝹' => '蝹',
- '襁' => '襁',
- '覆' => '覆',
- '視' => '視',
- '調' => '調',
- '諸' => '諸',
- '請' => '請',
- '謁' => '謁',
- '諾' => '諾',
- '諭' => '諭',
- '謹' => '謹',
- '變' => '變',
- '贈' => '贈',
- '輸' => '輸',
- '遲' => '遲',
- '醙' => '醙',
- '鉶' => '鉶',
- '陼' => '陼',
- '難' => '難',
- '靖' => '靖',
- '韛' => '韛',
- '響' => '響',
- '頋' => '頋',
- '頻' => '頻',
- '鬒' => '鬒',
- '龜' => '龜',
- '𢡊' => '𢡊',
- '𢡄' => '𢡄',
- '𣏕' => '𣏕',
- '㮝' => '㮝',
- '䀘' => '䀘',
- '䀹' => '䀹',
- '𥉉' => '𥉉',
- '𥳐' => '𥳐',
- '𧻓' => '𧻓',
- '齃' => '齃',
- '龎' => '龎',
- 'יִ' => 'יִ',
- 'ײַ' => 'ײַ',
- 'שׁ' => 'שׁ',
- 'שׂ' => 'שׂ',
- 'שּׁ' => 'שּׁ',
- 'שּׂ' => 'שּׂ',
- 'אַ' => 'אַ',
- 'אָ' => 'אָ',
- 'אּ' => 'אּ',
- 'בּ' => 'בּ',
- 'גּ' => 'גּ',
- 'דּ' => 'דּ',
- 'הּ' => 'הּ',
- 'וּ' => 'וּ',
- 'זּ' => 'זּ',
- 'טּ' => 'טּ',
- 'יּ' => 'יּ',
- 'ךּ' => 'ךּ',
- 'כּ' => 'כּ',
- 'לּ' => 'לּ',
- 'מּ' => 'מּ',
- 'נּ' => 'נּ',
- 'סּ' => 'סּ',
- 'ףּ' => 'ףּ',
- 'פּ' => 'פּ',
- 'צּ' => 'צּ',
- 'קּ' => 'קּ',
- 'רּ' => 'רּ',
- 'שּ' => 'שּ',
- 'תּ' => 'תּ',
- 'וֹ' => 'וֹ',
- 'בֿ' => 'בֿ',
- 'כֿ' => 'כֿ',
- 'פֿ' => 'פֿ',
- '𑂚' => '𑂚',
- '𑂜' => '𑂜',
- '𑂫' => '𑂫',
- '𑄮' => '𑄮',
- '𑄯' => '𑄯',
- '𑍋' => '𑍋',
- '𑍌' => '𑍌',
- '𑒻' => '𑒻',
- '𑒼' => '𑒼',
- '𑒾' => '𑒾',
- '𑖺' => '𑖺',
- '𑖻' => '𑖻',
- '𑤸' => '𑤸',
- '𝅗𝅥' => '𝅗𝅥',
- '𝅘𝅥' => '𝅘𝅥',
- '𝅘𝅥𝅮' => '𝅘𝅥𝅮',
- '𝅘𝅥𝅯' => '𝅘𝅥𝅯',
- '𝅘𝅥𝅰' => '𝅘𝅥𝅰',
- '𝅘𝅥𝅱' => '𝅘𝅥𝅱',
- '𝅘𝅥𝅲' => '𝅘𝅥𝅲',
- '𝆹𝅥' => '𝆹𝅥',
- '𝆺𝅥' => '𝆺𝅥',
- '𝆹𝅥𝅮' => '𝆹𝅥𝅮',
- '𝆺𝅥𝅮' => '𝆺𝅥𝅮',
- '𝆹𝅥𝅯' => '𝆹𝅥𝅯',
- '𝆺𝅥𝅯' => '𝆺𝅥𝅯',
- '丽' => '丽',
- '丸' => '丸',
- '乁' => '乁',
- '𠄢' => '𠄢',
- '你' => '你',
- '侮' => '侮',
- '侻' => '侻',
- '倂' => '倂',
- '偺' => '偺',
- '備' => '備',
- '僧' => '僧',
- '像' => '像',
- '㒞' => '㒞',
- '𠘺' => '𠘺',
- '免' => '免',
- '兔' => '兔',
- '兤' => '兤',
- '具' => '具',
- '𠔜' => '𠔜',
- '㒹' => '㒹',
- '內' => '內',
- '再' => '再',
- '𠕋' => '𠕋',
- '冗' => '冗',
- '冤' => '冤',
- '仌' => '仌',
- '冬' => '冬',
- '况' => '况',
- '𩇟' => '𩇟',
- '凵' => '凵',
- '刃' => '刃',
- '㓟' => '㓟',
- '刻' => '刻',
- '剆' => '剆',
- '割' => '割',
- '剷' => '剷',
- '㔕' => '㔕',
- '勇' => '勇',
- '勉' => '勉',
- '勤' => '勤',
- '勺' => '勺',
- '包' => '包',
- '匆' => '匆',
- '北' => '北',
- '卉' => '卉',
- '卑' => '卑',
- '博' => '博',
- '即' => '即',
- '卽' => '卽',
- '卿' => '卿',
- '卿' => '卿',
- '卿' => '卿',
- '𠨬' => '𠨬',
- '灰' => '灰',
- '及' => '及',
- '叟' => '叟',
- '𠭣' => '𠭣',
- '叫' => '叫',
- '叱' => '叱',
- '吆' => '吆',
- '咞' => '咞',
- '吸' => '吸',
- '呈' => '呈',
- '周' => '周',
- '咢' => '咢',
- '哶' => '哶',
- '唐' => '唐',
- '啓' => '啓',
- '啣' => '啣',
- '善' => '善',
- '善' => '善',
- '喙' => '喙',
- '喫' => '喫',
- '喳' => '喳',
- '嗂' => '嗂',
- '圖' => '圖',
- '嘆' => '嘆',
- '圗' => '圗',
- '噑' => '噑',
- '噴' => '噴',
- '切' => '切',
- '壮' => '壮',
- '城' => '城',
- '埴' => '埴',
- '堍' => '堍',
- '型' => '型',
- '堲' => '堲',
- '報' => '報',
- '墬' => '墬',
- '𡓤' => '𡓤',
- '売' => '売',
- '壷' => '壷',
- '夆' => '夆',
- '多' => '多',
- '夢' => '夢',
- '奢' => '奢',
- '𡚨' => '𡚨',
- '𡛪' => '𡛪',
- '姬' => '姬',
- '娛' => '娛',
- '娧' => '娧',
- '姘' => '姘',
- '婦' => '婦',
- '㛮' => '㛮',
- '㛼' => '㛼',
- '嬈' => '嬈',
- '嬾' => '嬾',
- '嬾' => '嬾',
- '𡧈' => '𡧈',
- '寃' => '寃',
- '寘' => '寘',
- '寧' => '寧',
- '寳' => '寳',
- '𡬘' => '𡬘',
- '寿' => '寿',
- '将' => '将',
- '当' => '当',
- '尢' => '尢',
- '㞁' => '㞁',
- '屠' => '屠',
- '屮' => '屮',
- '峀' => '峀',
- '岍' => '岍',
- '𡷤' => '𡷤',
- '嵃' => '嵃',
- '𡷦' => '𡷦',
- '嵮' => '嵮',
- '嵫' => '嵫',
- '嵼' => '嵼',
- '巡' => '巡',
- '巢' => '巢',
- '㠯' => '㠯',
- '巽' => '巽',
- '帨' => '帨',
- '帽' => '帽',
- '幩' => '幩',
- '㡢' => '㡢',
- '𢆃' => '𢆃',
- '㡼' => '㡼',
- '庰' => '庰',
- '庳' => '庳',
- '庶' => '庶',
- '廊' => '廊',
- '𪎒' => '𪎒',
- '廾' => '廾',
- '𢌱' => '𢌱',
- '𢌱' => '𢌱',
- '舁' => '舁',
- '弢' => '弢',
- '弢' => '弢',
- '㣇' => '㣇',
- '𣊸' => '𣊸',
- '𦇚' => '𦇚',
- '形' => '形',
- '彫' => '彫',
- '㣣' => '㣣',
- '徚' => '徚',
- '忍' => '忍',
- '志' => '志',
- '忹' => '忹',
- '悁' => '悁',
- '㤺' => '㤺',
- '㤜' => '㤜',
- '悔' => '悔',
- '𢛔' => '𢛔',
- '惇' => '惇',
- '慈' => '慈',
- '慌' => '慌',
- '慎' => '慎',
- '慌' => '慌',
- '慺' => '慺',
- '憎' => '憎',
- '憲' => '憲',
- '憤' => '憤',
- '憯' => '憯',
- '懞' => '懞',
- '懲' => '懲',
- '懶' => '懶',
- '成' => '成',
- '戛' => '戛',
- '扝' => '扝',
- '抱' => '抱',
- '拔' => '拔',
- '捐' => '捐',
- '𢬌' => '𢬌',
- '挽' => '挽',
- '拼' => '拼',
- '捨' => '捨',
- '掃' => '掃',
- '揤' => '揤',
- '𢯱' => '𢯱',
- '搢' => '搢',
- '揅' => '揅',
- '掩' => '掩',
- '㨮' => '㨮',
- '摩' => '摩',
- '摾' => '摾',
- '撝' => '撝',
- '摷' => '摷',
- '㩬' => '㩬',
- '敏' => '敏',
- '敬' => '敬',
- '𣀊' => '𣀊',
- '旣' => '旣',
- '書' => '書',
- '晉' => '晉',
- '㬙' => '㬙',
- '暑' => '暑',
- '㬈' => '㬈',
- '㫤' => '㫤',
- '冒' => '冒',
- '冕' => '冕',
- '最' => '最',
- '暜' => '暜',
- '肭' => '肭',
- '䏙' => '䏙',
- '朗' => '朗',
- '望' => '望',
- '朡' => '朡',
- '杞' => '杞',
- '杓' => '杓',
- '𣏃' => '𣏃',
- '㭉' => '㭉',
- '柺' => '柺',
- '枅' => '枅',
- '桒' => '桒',
- '梅' => '梅',
- '𣑭' => '𣑭',
- '梎' => '梎',
- '栟' => '栟',
- '椔' => '椔',
- '㮝' => '㮝',
- '楂' => '楂',
- '榣' => '榣',
- '槪' => '槪',
- '檨' => '檨',
- '𣚣' => '𣚣',
- '櫛' => '櫛',
- '㰘' => '㰘',
- '次' => '次',
- '𣢧' => '𣢧',
- '歔' => '歔',
- '㱎' => '㱎',
- '歲' => '歲',
- '殟' => '殟',
- '殺' => '殺',
- '殻' => '殻',
- '𣪍' => '𣪍',
- '𡴋' => '𡴋',
- '𣫺' => '𣫺',
- '汎' => '汎',
- '𣲼' => '𣲼',
- '沿' => '沿',
- '泍' => '泍',
- '汧' => '汧',
- '洖' => '洖',
- '派' => '派',
- '海' => '海',
- '流' => '流',
- '浩' => '浩',
- '浸' => '浸',
- '涅' => '涅',
- '𣴞' => '𣴞',
- '洴' => '洴',
- '港' => '港',
- '湮' => '湮',
- '㴳' => '㴳',
- '滋' => '滋',
- '滇' => '滇',
- '𣻑' => '𣻑',
- '淹' => '淹',
- '潮' => '潮',
- '𣽞' => '𣽞',
- '𣾎' => '𣾎',
- '濆' => '濆',
- '瀹' => '瀹',
- '瀞' => '瀞',
- '瀛' => '瀛',
- '㶖' => '㶖',
- '灊' => '灊',
- '災' => '災',
- '灷' => '灷',
- '炭' => '炭',
- '𠔥' => '𠔥',
- '煅' => '煅',
- '𤉣' => '𤉣',
- '熜' => '熜',
- '𤎫' => '𤎫',
- '爨' => '爨',
- '爵' => '爵',
- '牐' => '牐',
- '𤘈' => '𤘈',
- '犀' => '犀',
- '犕' => '犕',
- '𤜵' => '𤜵',
- '𤠔' => '𤠔',
- '獺' => '獺',
- '王' => '王',
- '㺬' => '㺬',
- '玥' => '玥',
- '㺸' => '㺸',
- '㺸' => '㺸',
- '瑇' => '瑇',
- '瑜' => '瑜',
- '瑱' => '瑱',
- '璅' => '璅',
- '瓊' => '瓊',
- '㼛' => '㼛',
- '甤' => '甤',
- '𤰶' => '𤰶',
- '甾' => '甾',
- '𤲒' => '𤲒',
- '異' => '異',
- '𢆟' => '𢆟',
- '瘐' => '瘐',
- '𤾡' => '𤾡',
- '𤾸' => '𤾸',
- '𥁄' => '𥁄',
- '㿼' => '㿼',
- '䀈' => '䀈',
- '直' => '直',
- '𥃳' => '𥃳',
- '𥃲' => '𥃲',
- '𥄙' => '𥄙',
- '𥄳' => '𥄳',
- '眞' => '眞',
- '真' => '真',
- '真' => '真',
- '睊' => '睊',
- '䀹' => '䀹',
- '瞋' => '瞋',
- '䁆' => '䁆',
- '䂖' => '䂖',
- '𥐝' => '𥐝',
- '硎' => '硎',
- '碌' => '碌',
- '磌' => '磌',
- '䃣' => '䃣',
- '𥘦' => '𥘦',
- '祖' => '祖',
- '𥚚' => '𥚚',
- '𥛅' => '𥛅',
- '福' => '福',
- '秫' => '秫',
- '䄯' => '䄯',
- '穀' => '穀',
- '穊' => '穊',
- '穏' => '穏',
- '𥥼' => '𥥼',
- '𥪧' => '𥪧',
- '𥪧' => '𥪧',
- '竮' => '竮',
- '䈂' => '䈂',
- '𥮫' => '𥮫',
- '篆' => '篆',
- '築' => '築',
- '䈧' => '䈧',
- '𥲀' => '𥲀',
- '糒' => '糒',
- '䊠' => '䊠',
- '糨' => '糨',
- '糣' => '糣',
- '紀' => '紀',
- '𥾆' => '𥾆',
- '絣' => '絣',
- '䌁' => '䌁',
- '緇' => '緇',
- '縂' => '縂',
- '繅' => '繅',
- '䌴' => '䌴',
- '𦈨' => '𦈨',
- '𦉇' => '𦉇',
- '䍙' => '䍙',
- '𦋙' => '𦋙',
- '罺' => '罺',
- '𦌾' => '𦌾',
- '羕' => '羕',
- '翺' => '翺',
- '者' => '者',
- '𦓚' => '𦓚',
- '𦔣' => '𦔣',
- '聠' => '聠',
- '𦖨' => '𦖨',
- '聰' => '聰',
- '𣍟' => '𣍟',
- '䏕' => '䏕',
- '育' => '育',
- '脃' => '脃',
- '䐋' => '䐋',
- '脾' => '脾',
- '媵' => '媵',
- '𦞧' => '𦞧',
- '𦞵' => '𦞵',
- '𣎓' => '𣎓',
- '𣎜' => '𣎜',
- '舁' => '舁',
- '舄' => '舄',
- '辞' => '辞',
- '䑫' => '䑫',
- '芑' => '芑',
- '芋' => '芋',
- '芝' => '芝',
- '劳' => '劳',
- '花' => '花',
- '芳' => '芳',
- '芽' => '芽',
- '苦' => '苦',
- '𦬼' => '𦬼',
- '若' => '若',
- '茝' => '茝',
- '荣' => '荣',
- '莭' => '莭',
- '茣' => '茣',
- '莽' => '莽',
- '菧' => '菧',
- '著' => '著',
- '荓' => '荓',
- '菊' => '菊',
- '菌' => '菌',
- '菜' => '菜',
- '𦰶' => '𦰶',
- '𦵫' => '𦵫',
- '𦳕' => '𦳕',
- '䔫' => '䔫',
- '蓱' => '蓱',
- '蓳' => '蓳',
- '蔖' => '蔖',
- '𧏊' => '𧏊',
- '蕤' => '蕤',
- '𦼬' => '𦼬',
- '䕝' => '䕝',
- '䕡' => '䕡',
- '𦾱' => '𦾱',
- '𧃒' => '𧃒',
- '䕫' => '䕫',
- '虐' => '虐',
- '虜' => '虜',
- '虧' => '虧',
- '虩' => '虩',
- '蚩' => '蚩',
- '蚈' => '蚈',
- '蜎' => '蜎',
- '蛢' => '蛢',
- '蝹' => '蝹',
- '蜨' => '蜨',
- '蝫' => '蝫',
- '螆' => '螆',
- '䗗' => '䗗',
- '蟡' => '蟡',
- '蠁' => '蠁',
- '䗹' => '䗹',
- '衠' => '衠',
- '衣' => '衣',
- '𧙧' => '𧙧',
- '裗' => '裗',
- '裞' => '裞',
- '䘵' => '䘵',
- '裺' => '裺',
- '㒻' => '㒻',
- '𧢮' => '𧢮',
- '𧥦' => '𧥦',
- '䚾' => '䚾',
- '䛇' => '䛇',
- '誠' => '誠',
- '諭' => '諭',
- '變' => '變',
- '豕' => '豕',
- '𧲨' => '𧲨',
- '貫' => '貫',
- '賁' => '賁',
- '贛' => '贛',
- '起' => '起',
- '𧼯' => '𧼯',
- '𠠄' => '𠠄',
- '跋' => '跋',
- '趼' => '趼',
- '跰' => '跰',
- '𠣞' => '𠣞',
- '軔' => '軔',
- '輸' => '輸',
- '𨗒' => '𨗒',
- '𨗭' => '𨗭',
- '邔' => '邔',
- '郱' => '郱',
- '鄑' => '鄑',
- '𨜮' => '𨜮',
- '鄛' => '鄛',
- '鈸' => '鈸',
- '鋗' => '鋗',
- '鋘' => '鋘',
- '鉼' => '鉼',
- '鏹' => '鏹',
- '鐕' => '鐕',
- '𨯺' => '𨯺',
- '開' => '開',
- '䦕' => '䦕',
- '閷' => '閷',
- '𨵷' => '𨵷',
- '䧦' => '䧦',
- '雃' => '雃',
- '嶲' => '嶲',
- '霣' => '霣',
- '𩅅' => '𩅅',
- '𩈚' => '𩈚',
- '䩮' => '䩮',
- '䩶' => '䩶',
- '韠' => '韠',
- '𩐊' => '𩐊',
- '䪲' => '䪲',
- '𩒖' => '𩒖',
- '頋' => '頋',
- '頋' => '頋',
- '頩' => '頩',
- '𩖶' => '𩖶',
- '飢' => '飢',
- '䬳' => '䬳',
- '餩' => '餩',
- '馧' => '馧',
- '駂' => '駂',
- '駾' => '駾',
- '䯎' => '䯎',
- '𩬰' => '𩬰',
- '鬒' => '鬒',
- '鱀' => '鱀',
- '鳽' => '鳽',
- '䳎' => '䳎',
- '䳭' => '䳭',
- '鵧' => '鵧',
- '𪃎' => '𪃎',
- '䳸' => '䳸',
- '𪄅' => '𪄅',
- '𪈎' => '𪈎',
- '𪊑' => '𪊑',
- '麻' => '麻',
- '䵖' => '䵖',
- '黹' => '黹',
- '黾' => '黾',
- '鼅' => '鼅',
- '鼏' => '鼏',
- '鼖' => '鼖',
- '鼻' => '鼻',
- '𪘀' => '𪘀',
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php b/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php
deleted file mode 100644
index ec90f36e..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php
+++ /dev/null
@@ -1,876 +0,0 @@
- 230,
- '́' => 230,
- '̂' => 230,
- '̃' => 230,
- '̄' => 230,
- '̅' => 230,
- '̆' => 230,
- '̇' => 230,
- '̈' => 230,
- '̉' => 230,
- '̊' => 230,
- '̋' => 230,
- '̌' => 230,
- '̍' => 230,
- '̎' => 230,
- '̏' => 230,
- '̐' => 230,
- '̑' => 230,
- '̒' => 230,
- '̓' => 230,
- '̔' => 230,
- '̕' => 232,
- '̖' => 220,
- '̗' => 220,
- '̘' => 220,
- '̙' => 220,
- '̚' => 232,
- '̛' => 216,
- '̜' => 220,
- '̝' => 220,
- '̞' => 220,
- '̟' => 220,
- '̠' => 220,
- '̡' => 202,
- '̢' => 202,
- '̣' => 220,
- '̤' => 220,
- '̥' => 220,
- '̦' => 220,
- '̧' => 202,
- '̨' => 202,
- '̩' => 220,
- '̪' => 220,
- '̫' => 220,
- '̬' => 220,
- '̭' => 220,
- '̮' => 220,
- '̯' => 220,
- '̰' => 220,
- '̱' => 220,
- '̲' => 220,
- '̳' => 220,
- '̴' => 1,
- '̵' => 1,
- '̶' => 1,
- '̷' => 1,
- '̸' => 1,
- '̹' => 220,
- '̺' => 220,
- '̻' => 220,
- '̼' => 220,
- '̽' => 230,
- '̾' => 230,
- '̿' => 230,
- '̀' => 230,
- '́' => 230,
- '͂' => 230,
- '̓' => 230,
- '̈́' => 230,
- 'ͅ' => 240,
- '͆' => 230,
- '͇' => 220,
- '͈' => 220,
- '͉' => 220,
- '͊' => 230,
- '͋' => 230,
- '͌' => 230,
- '͍' => 220,
- '͎' => 220,
- '͐' => 230,
- '͑' => 230,
- '͒' => 230,
- '͓' => 220,
- '͔' => 220,
- '͕' => 220,
- '͖' => 220,
- '͗' => 230,
- '͘' => 232,
- '͙' => 220,
- '͚' => 220,
- '͛' => 230,
- '͜' => 233,
- '͝' => 234,
- '͞' => 234,
- '͟' => 233,
- '͠' => 234,
- '͡' => 234,
- '͢' => 233,
- 'ͣ' => 230,
- 'ͤ' => 230,
- 'ͥ' => 230,
- 'ͦ' => 230,
- 'ͧ' => 230,
- 'ͨ' => 230,
- 'ͩ' => 230,
- 'ͪ' => 230,
- 'ͫ' => 230,
- 'ͬ' => 230,
- 'ͭ' => 230,
- 'ͮ' => 230,
- 'ͯ' => 230,
- '҃' => 230,
- '҄' => 230,
- '҅' => 230,
- '҆' => 230,
- '҇' => 230,
- '֑' => 220,
- '֒' => 230,
- '֓' => 230,
- '֔' => 230,
- '֕' => 230,
- '֖' => 220,
- '֗' => 230,
- '֘' => 230,
- '֙' => 230,
- '֚' => 222,
- '֛' => 220,
- '֜' => 230,
- '֝' => 230,
- '֞' => 230,
- '֟' => 230,
- '֠' => 230,
- '֡' => 230,
- '֢' => 220,
- '֣' => 220,
- '֤' => 220,
- '֥' => 220,
- '֦' => 220,
- '֧' => 220,
- '֨' => 230,
- '֩' => 230,
- '֪' => 220,
- '֫' => 230,
- '֬' => 230,
- '֭' => 222,
- '֮' => 228,
- '֯' => 230,
- 'ְ' => 10,
- 'ֱ' => 11,
- 'ֲ' => 12,
- 'ֳ' => 13,
- 'ִ' => 14,
- 'ֵ' => 15,
- 'ֶ' => 16,
- 'ַ' => 17,
- 'ָ' => 18,
- 'ֹ' => 19,
- 'ֺ' => 19,
- 'ֻ' => 20,
- 'ּ' => 21,
- 'ֽ' => 22,
- 'ֿ' => 23,
- 'ׁ' => 24,
- 'ׂ' => 25,
- 'ׄ' => 230,
- 'ׅ' => 220,
- 'ׇ' => 18,
- 'ؐ' => 230,
- 'ؑ' => 230,
- 'ؒ' => 230,
- 'ؓ' => 230,
- 'ؔ' => 230,
- 'ؕ' => 230,
- 'ؖ' => 230,
- 'ؗ' => 230,
- 'ؘ' => 30,
- 'ؙ' => 31,
- 'ؚ' => 32,
- 'ً' => 27,
- 'ٌ' => 28,
- 'ٍ' => 29,
- 'َ' => 30,
- 'ُ' => 31,
- 'ِ' => 32,
- 'ّ' => 33,
- 'ْ' => 34,
- 'ٓ' => 230,
- 'ٔ' => 230,
- 'ٕ' => 220,
- 'ٖ' => 220,
- 'ٗ' => 230,
- '٘' => 230,
- 'ٙ' => 230,
- 'ٚ' => 230,
- 'ٛ' => 230,
- 'ٜ' => 220,
- 'ٝ' => 230,
- 'ٞ' => 230,
- 'ٟ' => 220,
- 'ٰ' => 35,
- 'ۖ' => 230,
- 'ۗ' => 230,
- 'ۘ' => 230,
- 'ۙ' => 230,
- 'ۚ' => 230,
- 'ۛ' => 230,
- 'ۜ' => 230,
- '۟' => 230,
- '۠' => 230,
- 'ۡ' => 230,
- 'ۢ' => 230,
- 'ۣ' => 220,
- 'ۤ' => 230,
- 'ۧ' => 230,
- 'ۨ' => 230,
- '۪' => 220,
- '۫' => 230,
- '۬' => 230,
- 'ۭ' => 220,
- 'ܑ' => 36,
- 'ܰ' => 230,
- 'ܱ' => 220,
- 'ܲ' => 230,
- 'ܳ' => 230,
- 'ܴ' => 220,
- 'ܵ' => 230,
- 'ܶ' => 230,
- 'ܷ' => 220,
- 'ܸ' => 220,
- 'ܹ' => 220,
- 'ܺ' => 230,
- 'ܻ' => 220,
- 'ܼ' => 220,
- 'ܽ' => 230,
- 'ܾ' => 220,
- 'ܿ' => 230,
- '݀' => 230,
- '݁' => 230,
- '݂' => 220,
- '݃' => 230,
- '݄' => 220,
- '݅' => 230,
- '݆' => 220,
- '݇' => 230,
- '݈' => 220,
- '݉' => 230,
- '݊' => 230,
- '߫' => 230,
- '߬' => 230,
- '߭' => 230,
- '߮' => 230,
- '߯' => 230,
- '߰' => 230,
- '߱' => 230,
- '߲' => 220,
- '߳' => 230,
- '߽' => 220,
- 'ࠖ' => 230,
- 'ࠗ' => 230,
- '࠘' => 230,
- '࠙' => 230,
- 'ࠛ' => 230,
- 'ࠜ' => 230,
- 'ࠝ' => 230,
- 'ࠞ' => 230,
- 'ࠟ' => 230,
- 'ࠠ' => 230,
- 'ࠡ' => 230,
- 'ࠢ' => 230,
- 'ࠣ' => 230,
- 'ࠥ' => 230,
- 'ࠦ' => 230,
- 'ࠧ' => 230,
- 'ࠩ' => 230,
- 'ࠪ' => 230,
- 'ࠫ' => 230,
- 'ࠬ' => 230,
- '࠭' => 230,
- '࡙' => 220,
- '࡚' => 220,
- '࡛' => 220,
- '࣓' => 220,
- 'ࣔ' => 230,
- 'ࣕ' => 230,
- 'ࣖ' => 230,
- 'ࣗ' => 230,
- 'ࣘ' => 230,
- 'ࣙ' => 230,
- 'ࣚ' => 230,
- 'ࣛ' => 230,
- 'ࣜ' => 230,
- 'ࣝ' => 230,
- 'ࣞ' => 230,
- 'ࣟ' => 230,
- '࣠' => 230,
- '࣡' => 230,
- 'ࣣ' => 220,
- 'ࣤ' => 230,
- 'ࣥ' => 230,
- 'ࣦ' => 220,
- 'ࣧ' => 230,
- 'ࣨ' => 230,
- 'ࣩ' => 220,
- '࣪' => 230,
- '࣫' => 230,
- '࣬' => 230,
- '࣭' => 220,
- '࣮' => 220,
- '࣯' => 220,
- 'ࣰ' => 27,
- 'ࣱ' => 28,
- 'ࣲ' => 29,
- 'ࣳ' => 230,
- 'ࣴ' => 230,
- 'ࣵ' => 230,
- 'ࣶ' => 220,
- 'ࣷ' => 230,
- 'ࣸ' => 230,
- 'ࣹ' => 220,
- 'ࣺ' => 220,
- 'ࣻ' => 230,
- 'ࣼ' => 230,
- 'ࣽ' => 230,
- 'ࣾ' => 230,
- 'ࣿ' => 230,
- '़' => 7,
- '्' => 9,
- '॑' => 230,
- '॒' => 220,
- '॓' => 230,
- '॔' => 230,
- '়' => 7,
- '্' => 9,
- '৾' => 230,
- '਼' => 7,
- '੍' => 9,
- '઼' => 7,
- '્' => 9,
- '଼' => 7,
- '୍' => 9,
- '்' => 9,
- '్' => 9,
- 'ౕ' => 84,
- 'ౖ' => 91,
- '಼' => 7,
- '್' => 9,
- '഻' => 9,
- '഼' => 9,
- '്' => 9,
- '්' => 9,
- 'ุ' => 103,
- 'ู' => 103,
- 'ฺ' => 9,
- '่' => 107,
- '้' => 107,
- '๊' => 107,
- '๋' => 107,
- 'ຸ' => 118,
- 'ູ' => 118,
- '຺' => 9,
- '່' => 122,
- '້' => 122,
- '໊' => 122,
- '໋' => 122,
- '༘' => 220,
- '༙' => 220,
- '༵' => 220,
- '༷' => 220,
- '༹' => 216,
- 'ཱ' => 129,
- 'ི' => 130,
- 'ུ' => 132,
- 'ེ' => 130,
- 'ཻ' => 130,
- 'ོ' => 130,
- 'ཽ' => 130,
- 'ྀ' => 130,
- 'ྂ' => 230,
- 'ྃ' => 230,
- '྄' => 9,
- '྆' => 230,
- '྇' => 230,
- '࿆' => 220,
- '့' => 7,
- '္' => 9,
- '်' => 9,
- 'ႍ' => 220,
- '፝' => 230,
- '፞' => 230,
- '፟' => 230,
- '᜔' => 9,
- '᜴' => 9,
- '្' => 9,
- '៝' => 230,
- 'ᢩ' => 228,
- '᤹' => 222,
- '᤺' => 230,
- '᤻' => 220,
- 'ᨗ' => 230,
- 'ᨘ' => 220,
- '᩠' => 9,
- '᩵' => 230,
- '᩶' => 230,
- '᩷' => 230,
- '᩸' => 230,
- '᩹' => 230,
- '᩺' => 230,
- '᩻' => 230,
- '᩼' => 230,
- '᩿' => 220,
- '᪰' => 230,
- '᪱' => 230,
- '᪲' => 230,
- '᪳' => 230,
- '᪴' => 230,
- '᪵' => 220,
- '᪶' => 220,
- '᪷' => 220,
- '᪸' => 220,
- '᪹' => 220,
- '᪺' => 220,
- '᪻' => 230,
- '᪼' => 230,
- '᪽' => 220,
- 'ᪿ' => 220,
- 'ᫀ' => 220,
- '᬴' => 7,
- '᭄' => 9,
- '᭫' => 230,
- '᭬' => 220,
- '᭭' => 230,
- '᭮' => 230,
- '᭯' => 230,
- '᭰' => 230,
- '᭱' => 230,
- '᭲' => 230,
- '᭳' => 230,
- '᮪' => 9,
- '᮫' => 9,
- '᯦' => 7,
- '᯲' => 9,
- '᯳' => 9,
- '᰷' => 7,
- '᳐' => 230,
- '᳑' => 230,
- '᳒' => 230,
- '᳔' => 1,
- '᳕' => 220,
- '᳖' => 220,
- '᳗' => 220,
- '᳘' => 220,
- '᳙' => 220,
- '᳚' => 230,
- '᳛' => 230,
- '᳜' => 220,
- '᳝' => 220,
- '᳞' => 220,
- '᳟' => 220,
- '᳠' => 230,
- '᳢' => 1,
- '᳣' => 1,
- '᳤' => 1,
- '᳥' => 1,
- '᳦' => 1,
- '᳧' => 1,
- '᳨' => 1,
- '᳭' => 220,
- '᳴' => 230,
- '᳸' => 230,
- '᳹' => 230,
- '᷀' => 230,
- '᷁' => 230,
- '᷂' => 220,
- '᷃' => 230,
- '᷄' => 230,
- '᷅' => 230,
- '᷆' => 230,
- '᷇' => 230,
- '᷈' => 230,
- '᷉' => 230,
- '᷊' => 220,
- '᷋' => 230,
- '᷌' => 230,
- '᷍' => 234,
- '᷎' => 214,
- '᷏' => 220,
- '᷐' => 202,
- '᷑' => 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,
- 'ᷱ' => 230,
- 'ᷲ' => 230,
- 'ᷳ' => 230,
- 'ᷴ' => 230,
- '᷵' => 230,
- '᷶' => 232,
- '᷷' => 228,
- '᷸' => 228,
- '᷹' => 220,
- '᷻' => 230,
- '᷼' => 233,
- '᷽' => 220,
- '᷾' => 230,
- '᷿' => 220,
- '⃐' => 230,
- '⃑' => 230,
- '⃒' => 1,
- '⃓' => 1,
- '⃔' => 230,
- '⃕' => 230,
- '⃖' => 230,
- '⃗' => 230,
- '⃘' => 1,
- '⃙' => 1,
- '⃚' => 1,
- '⃛' => 230,
- '⃜' => 230,
- '⃡' => 230,
- '⃥' => 1,
- '⃦' => 1,
- '⃧' => 230,
- '⃨' => 220,
- '⃩' => 230,
- '⃪' => 1,
- '⃫' => 1,
- '⃬' => 220,
- '⃭' => 220,
- '⃮' => 220,
- '⃯' => 220,
- '⃰' => 230,
- '⳯' => 230,
- '⳰' => 230,
- '⳱' => 230,
- '⵿' => 9,
- 'ⷠ' => 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,
- '〪' => 218,
- '〫' => 228,
- '〬' => 232,
- '〭' => 222,
- '〮' => 224,
- '〯' => 224,
- '゙' => 8,
- '゚' => 8,
- '꙯' => 230,
- 'ꙴ' => 230,
- 'ꙵ' => 230,
- 'ꙶ' => 230,
- 'ꙷ' => 230,
- 'ꙸ' => 230,
- 'ꙹ' => 230,
- 'ꙺ' => 230,
- 'ꙻ' => 230,
- '꙼' => 230,
- '꙽' => 230,
- 'ꚞ' => 230,
- 'ꚟ' => 230,
- '꛰' => 230,
- '꛱' => 230,
- '꠆' => 9,
- '꠬' => 9,
- '꣄' => 9,
- '꣠' => 230,
- '꣡' => 230,
- '꣢' => 230,
- '꣣' => 230,
- '꣤' => 230,
- '꣥' => 230,
- '꣦' => 230,
- '꣧' => 230,
- '꣨' => 230,
- '꣩' => 230,
- '꣪' => 230,
- '꣫' => 230,
- '꣬' => 230,
- '꣭' => 230,
- '꣮' => 230,
- '꣯' => 230,
- '꣰' => 230,
- '꣱' => 230,
- '꤫' => 220,
- '꤬' => 220,
- '꤭' => 220,
- '꥓' => 9,
- '꦳' => 7,
- '꧀' => 9,
- 'ꪰ' => 230,
- 'ꪲ' => 230,
- 'ꪳ' => 230,
- 'ꪴ' => 220,
- 'ꪷ' => 230,
- 'ꪸ' => 230,
- 'ꪾ' => 230,
- '꪿' => 230,
- '꫁' => 230,
- '꫶' => 9,
- '꯭' => 9,
- 'ﬞ' => 26,
- '︠' => 230,
- '︡' => 230,
- '︢' => 230,
- '︣' => 230,
- '︤' => 230,
- '︥' => 230,
- '︦' => 230,
- '︧' => 220,
- '︨' => 220,
- '︩' => 220,
- '︪' => 220,
- '︫' => 220,
- '︬' => 220,
- '︭' => 220,
- '︮' => 230,
- '︯' => 230,
- '𐇽' => 220,
- '𐋠' => 220,
- '𐍶' => 230,
- '𐍷' => 230,
- '𐍸' => 230,
- '𐍹' => 230,
- '𐍺' => 230,
- '𐨍' => 220,
- '𐨏' => 230,
- '𐨸' => 230,
- '𐨹' => 1,
- '𐨺' => 220,
- '𐨿' => 9,
- '𐫥' => 230,
- '𐫦' => 220,
- '𐴤' => 230,
- '𐴥' => 230,
- '𐴦' => 230,
- '𐴧' => 230,
- '𐺫' => 230,
- '𐺬' => 230,
- '𐽆' => 220,
- '𐽇' => 220,
- '𐽈' => 230,
- '𐽉' => 230,
- '𐽊' => 230,
- '𐽋' => 220,
- '𐽌' => 230,
- '𐽍' => 220,
- '𐽎' => 220,
- '𐽏' => 220,
- '𐽐' => 220,
- '𑁆' => 9,
- '𑁿' => 9,
- '𑂹' => 9,
- '𑂺' => 7,
- '𑄀' => 230,
- '𑄁' => 230,
- '𑄂' => 230,
- '𑄳' => 9,
- '𑄴' => 9,
- '𑅳' => 7,
- '𑇀' => 9,
- '𑇊' => 7,
- '𑈵' => 9,
- '𑈶' => 7,
- '𑋩' => 7,
- '𑋪' => 9,
- '𑌻' => 7,
- '𑌼' => 7,
- '𑍍' => 9,
- '𑍦' => 230,
- '𑍧' => 230,
- '𑍨' => 230,
- '𑍩' => 230,
- '𑍪' => 230,
- '𑍫' => 230,
- '𑍬' => 230,
- '𑍰' => 230,
- '𑍱' => 230,
- '𑍲' => 230,
- '𑍳' => 230,
- '𑍴' => 230,
- '𑑂' => 9,
- '𑑆' => 7,
- '𑑞' => 230,
- '𑓂' => 9,
- '𑓃' => 7,
- '𑖿' => 9,
- '𑗀' => 7,
- '𑘿' => 9,
- '𑚶' => 9,
- '𑚷' => 7,
- '𑜫' => 9,
- '𑠹' => 9,
- '𑠺' => 7,
- '𑤽' => 9,
- '𑤾' => 9,
- '𑥃' => 7,
- '𑧠' => 9,
- '𑨴' => 9,
- '𑩇' => 9,
- '𑪙' => 9,
- '𑰿' => 9,
- '𑵂' => 7,
- '𑵄' => 9,
- '𑵅' => 9,
- '𑶗' => 9,
- '𖫰' => 1,
- '𖫱' => 1,
- '𖫲' => 1,
- '𖫳' => 1,
- '𖫴' => 1,
- '𖬰' => 230,
- '𖬱' => 230,
- '𖬲' => 230,
- '𖬳' => 230,
- '𖬴' => 230,
- '𖬵' => 230,
- '𖬶' => 230,
- '𖿰' => 6,
- '𖿱' => 6,
- '𛲞' => 1,
- '𝅥' => 216,
- '𝅦' => 216,
- '𝅧' => 1,
- '𝅨' => 1,
- '𝅩' => 1,
- '𝅭' => 226,
- '𝅮' => 216,
- '𝅯' => 216,
- '𝅰' => 216,
- '𝅱' => 216,
- '𝅲' => 216,
- '𝅻' => 220,
- '𝅼' => 220,
- '𝅽' => 220,
- '𝅾' => 220,
- '𝅿' => 220,
- '𝆀' => 220,
- '𝆁' => 220,
- '𝆂' => 220,
- '𝆅' => 230,
- '𝆆' => 230,
- '𝆇' => 230,
- '𝆈' => 230,
- '𝆉' => 230,
- '𝆊' => 220,
- '𝆋' => 220,
- '𝆪' => 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,
- '𞀜' => 230,
- '𞀝' => 230,
- '𞀞' => 230,
- '𞀟' => 230,
- '𞀠' => 230,
- '𞀡' => 230,
- '𞀣' => 230,
- '𞀤' => 230,
- '𞀦' => 230,
- '𞀧' => 230,
- '𞀨' => 230,
- '𞀩' => 230,
- '𞀪' => 230,
- '𞄰' => 230,
- '𞄱' => 230,
- '𞄲' => 230,
- '𞄳' => 230,
- '𞄴' => 230,
- '𞄵' => 230,
- '𞄶' => 230,
- '𞋬' => 230,
- '𞋭' => 230,
- '𞋮' => 230,
- '𞋯' => 230,
- '𞣐' => 220,
- '𞣑' => 220,
- '𞣒' => 220,
- '𞣓' => 220,
- '𞣔' => 220,
- '𞣕' => 220,
- '𞣖' => 220,
- '𞥄' => 230,
- '𞥅' => 230,
- '𞥆' => 230,
- '𞥇' => 230,
- '𞥈' => 230,
- '𞥉' => 230,
- '𞥊' => 7,
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php b/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php
deleted file mode 100644
index 15749028..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php
+++ /dev/null
@@ -1,3695 +0,0 @@
- ' ',
- '¨' => ' ̈',
- 'ª' => 'a',
- '¯' => ' ̄',
- '²' => '2',
- '³' => '3',
- '´' => ' ́',
- 'µ' => 'μ',
- '¸' => ' ̧',
- '¹' => '1',
- 'º' => 'o',
- '¼' => '1⁄4',
- '½' => '1⁄2',
- '¾' => '3⁄4',
- 'IJ' => 'IJ',
- 'ij' => 'ij',
- 'Ŀ' => 'L·',
- 'ŀ' => 'l·',
- 'ʼn' => 'ʼn',
- 'ſ' => 's',
- 'DŽ' => 'DŽ',
- 'Dž' => 'Dž',
- 'dž' => 'dž',
- 'LJ' => 'LJ',
- 'Lj' => 'Lj',
- 'lj' => 'lj',
- 'NJ' => 'NJ',
- 'Nj' => 'Nj',
- 'nj' => 'nj',
- 'DZ' => 'DZ',
- 'Dz' => 'Dz',
- 'dz' => 'dz',
- 'ʰ' => 'h',
- 'ʱ' => 'ɦ',
- 'ʲ' => 'j',
- 'ʳ' => 'r',
- 'ʴ' => 'ɹ',
- 'ʵ' => 'ɻ',
- 'ʶ' => 'ʁ',
- 'ʷ' => 'w',
- 'ʸ' => 'y',
- '˘' => ' ̆',
- '˙' => ' ̇',
- '˚' => ' ̊',
- '˛' => ' ̨',
- '˜' => ' ̃',
- '˝' => ' ̋',
- 'ˠ' => 'ɣ',
- 'ˡ' => 'l',
- 'ˢ' => 's',
- 'ˣ' => 'x',
- 'ˤ' => 'ʕ',
- 'ͺ' => ' ͅ',
- '΄' => ' ́',
- '΅' => ' ̈́',
- 'ϐ' => 'β',
- 'ϑ' => 'θ',
- 'ϒ' => 'Υ',
- 'ϓ' => 'Ύ',
- 'ϔ' => 'Ϋ',
- 'ϕ' => 'φ',
- 'ϖ' => 'π',
- 'ϰ' => 'κ',
- 'ϱ' => 'ρ',
- 'ϲ' => 'ς',
- 'ϴ' => 'Θ',
- 'ϵ' => 'ε',
- 'Ϲ' => 'Σ',
- 'և' => 'եւ',
- 'ٵ' => 'اٴ',
- 'ٶ' => 'وٴ',
- 'ٷ' => 'ۇٴ',
- 'ٸ' => 'يٴ',
- 'ำ' => 'ํา',
- 'ຳ' => 'ໍາ',
- 'ໜ' => 'ຫນ',
- 'ໝ' => 'ຫມ',
- '༌' => '་',
- 'ཷ' => 'ྲཱྀ',
- 'ཹ' => 'ླཱྀ',
- 'ჼ' => 'ნ',
- 'ᴬ' => 'A',
- 'ᴭ' => 'Æ',
- 'ᴮ' => 'B',
- 'ᴰ' => 'D',
- 'ᴱ' => 'E',
- 'ᴲ' => 'Ǝ',
- 'ᴳ' => 'G',
- 'ᴴ' => 'H',
- 'ᴵ' => 'I',
- 'ᴶ' => 'J',
- 'ᴷ' => 'K',
- 'ᴸ' => 'L',
- 'ᴹ' => 'M',
- 'ᴺ' => 'N',
- 'ᴼ' => 'O',
- 'ᴽ' => 'Ȣ',
- 'ᴾ' => 'P',
- 'ᴿ' => 'R',
- 'ᵀ' => 'T',
- 'ᵁ' => 'U',
- 'ᵂ' => 'W',
- 'ᵃ' => 'a',
- 'ᵄ' => 'ɐ',
- 'ᵅ' => 'ɑ',
- 'ᵆ' => 'ᴂ',
- 'ᵇ' => 'b',
- 'ᵈ' => 'd',
- 'ᵉ' => 'e',
- 'ᵊ' => 'ə',
- 'ᵋ' => 'ɛ',
- 'ᵌ' => 'ɜ',
- 'ᵍ' => 'g',
- 'ᵏ' => 'k',
- 'ᵐ' => 'm',
- 'ᵑ' => 'ŋ',
- 'ᵒ' => 'o',
- 'ᵓ' => 'ɔ',
- 'ᵔ' => 'ᴖ',
- 'ᵕ' => 'ᴗ',
- 'ᵖ' => 'p',
- 'ᵗ' => 't',
- 'ᵘ' => 'u',
- 'ᵙ' => 'ᴝ',
- 'ᵚ' => 'ɯ',
- 'ᵛ' => 'v',
- 'ᵜ' => 'ᴥ',
- 'ᵝ' => 'β',
- 'ᵞ' => 'γ',
- 'ᵟ' => 'δ',
- 'ᵠ' => 'φ',
- 'ᵡ' => 'χ',
- 'ᵢ' => 'i',
- 'ᵣ' => 'r',
- 'ᵤ' => 'u',
- 'ᵥ' => 'v',
- 'ᵦ' => 'β',
- 'ᵧ' => 'γ',
- 'ᵨ' => 'ρ',
- 'ᵩ' => 'φ',
- 'ᵪ' => 'χ',
- 'ᵸ' => 'н',
- 'ᶛ' => 'ɒ',
- 'ᶜ' => 'c',
- 'ᶝ' => 'ɕ',
- 'ᶞ' => 'ð',
- 'ᶟ' => 'ɜ',
- 'ᶠ' => 'f',
- 'ᶡ' => 'ɟ',
- 'ᶢ' => 'ɡ',
- 'ᶣ' => 'ɥ',
- 'ᶤ' => 'ɨ',
- 'ᶥ' => 'ɩ',
- 'ᶦ' => 'ɪ',
- 'ᶧ' => 'ᵻ',
- 'ᶨ' => 'ʝ',
- 'ᶩ' => 'ɭ',
- 'ᶪ' => 'ᶅ',
- 'ᶫ' => 'ʟ',
- 'ᶬ' => 'ɱ',
- 'ᶭ' => 'ɰ',
- 'ᶮ' => 'ɲ',
- 'ᶯ' => 'ɳ',
- 'ᶰ' => 'ɴ',
- 'ᶱ' => 'ɵ',
- 'ᶲ' => 'ɸ',
- 'ᶳ' => 'ʂ',
- 'ᶴ' => 'ʃ',
- 'ᶵ' => 'ƫ',
- 'ᶶ' => 'ʉ',
- 'ᶷ' => 'ʊ',
- 'ᶸ' => 'ᴜ',
- 'ᶹ' => 'ʋ',
- 'ᶺ' => 'ʌ',
- 'ᶻ' => 'z',
- 'ᶼ' => 'ʐ',
- 'ᶽ' => 'ʑ',
- 'ᶾ' => 'ʒ',
- 'ᶿ' => 'θ',
- 'ẚ' => 'aʾ',
- 'ẛ' => 'ṡ',
- '᾽' => ' ̓',
- '᾿' => ' ̓',
- '῀' => ' ͂',
- '῁' => ' ̈͂',
- '῍' => ' ̓̀',
- '῎' => ' ̓́',
- '῏' => ' ̓͂',
- '῝' => ' ̔̀',
- '῞' => ' ̔́',
- '῟' => ' ̔͂',
- '῭' => ' ̈̀',
- '΅' => ' ̈́',
- '´' => ' ́',
- '῾' => ' ̔',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- ' ' => ' ',
- '‑' => '‐',
- '‗' => ' ̳',
- '․' => '.',
- '‥' => '..',
- '…' => '...',
- ' ' => ' ',
- '″' => '′′',
- '‴' => '′′′',
- '‶' => '‵‵',
- '‷' => '‵‵‵',
- '‼' => '!!',
- '‾' => ' ̅',
- '⁇' => '??',
- '⁈' => '?!',
- '⁉' => '!?',
- '⁗' => '′′′′',
- ' ' => ' ',
- '⁰' => '0',
- 'ⁱ' => 'i',
- '⁴' => '4',
- '⁵' => '5',
- '⁶' => '6',
- '⁷' => '7',
- '⁸' => '8',
- '⁹' => '9',
- '⁺' => '+',
- '⁻' => '−',
- '⁼' => '=',
- '⁽' => '(',
- '⁾' => ')',
- 'ⁿ' => 'n',
- '₀' => '0',
- '₁' => '1',
- '₂' => '2',
- '₃' => '3',
- '₄' => '4',
- '₅' => '5',
- '₆' => '6',
- '₇' => '7',
- '₈' => '8',
- '₉' => '9',
- '₊' => '+',
- '₋' => '−',
- '₌' => '=',
- '₍' => '(',
- '₎' => ')',
- 'ₐ' => 'a',
- 'ₑ' => 'e',
- 'ₒ' => 'o',
- 'ₓ' => 'x',
- 'ₔ' => 'ə',
- 'ₕ' => 'h',
- 'ₖ' => 'k',
- 'ₗ' => 'l',
- 'ₘ' => 'm',
- 'ₙ' => 'n',
- 'ₚ' => 'p',
- 'ₛ' => 's',
- 'ₜ' => 't',
- '₨' => 'Rs',
- '℀' => 'a/c',
- '℁' => 'a/s',
- 'ℂ' => 'C',
- '℃' => '°C',
- '℅' => 'c/o',
- '℆' => 'c/u',
- 'ℇ' => 'Ɛ',
- '℉' => '°F',
- 'ℊ' => 'g',
- 'ℋ' => 'H',
- 'ℌ' => 'H',
- 'ℍ' => 'H',
- 'ℎ' => 'h',
- 'ℏ' => 'ħ',
- 'ℐ' => 'I',
- 'ℑ' => 'I',
- 'ℒ' => 'L',
- 'ℓ' => 'l',
- 'ℕ' => 'N',
- '№' => 'No',
- 'ℙ' => 'P',
- 'ℚ' => 'Q',
- 'ℛ' => 'R',
- 'ℜ' => 'R',
- 'ℝ' => 'R',
- '℠' => 'SM',
- '℡' => 'TEL',
- '™' => 'TM',
- 'ℤ' => 'Z',
- 'ℨ' => 'Z',
- 'ℬ' => 'B',
- 'ℭ' => 'C',
- 'ℯ' => 'e',
- 'ℰ' => 'E',
- 'ℱ' => 'F',
- 'ℳ' => 'M',
- 'ℴ' => 'o',
- 'ℵ' => 'א',
- 'ℶ' => 'ב',
- 'ℷ' => 'ג',
- 'ℸ' => 'ד',
- 'ℹ' => 'i',
- '℻' => 'FAX',
- 'ℼ' => 'π',
- 'ℽ' => 'γ',
- 'ℾ' => 'Γ',
- 'ℿ' => 'Π',
- '⅀' => '∑',
- 'ⅅ' => 'D',
- 'ⅆ' => 'd',
- 'ⅇ' => 'e',
- 'ⅈ' => 'i',
- 'ⅉ' => 'j',
- '⅐' => '1⁄7',
- '⅑' => '1⁄9',
- '⅒' => '1⁄10',
- '⅓' => '1⁄3',
- '⅔' => '2⁄3',
- '⅕' => '1⁄5',
- '⅖' => '2⁄5',
- '⅗' => '3⁄5',
- '⅘' => '4⁄5',
- '⅙' => '1⁄6',
- '⅚' => '5⁄6',
- '⅛' => '1⁄8',
- '⅜' => '3⁄8',
- '⅝' => '5⁄8',
- '⅞' => '7⁄8',
- '⅟' => '1⁄',
- 'Ⅰ' => 'I',
- 'Ⅱ' => 'II',
- 'Ⅲ' => 'III',
- 'Ⅳ' => 'IV',
- 'Ⅴ' => 'V',
- 'Ⅵ' => 'VI',
- 'Ⅶ' => 'VII',
- 'Ⅷ' => 'VIII',
- 'Ⅸ' => 'IX',
- 'Ⅹ' => 'X',
- 'Ⅺ' => 'XI',
- 'Ⅻ' => 'XII',
- 'Ⅼ' => 'L',
- 'Ⅽ' => 'C',
- 'Ⅾ' => 'D',
- 'Ⅿ' => 'M',
- 'ⅰ' => 'i',
- 'ⅱ' => 'ii',
- 'ⅲ' => 'iii',
- 'ⅳ' => 'iv',
- 'ⅴ' => 'v',
- 'ⅵ' => 'vi',
- 'ⅶ' => 'vii',
- 'ⅷ' => 'viii',
- 'ⅸ' => 'ix',
- 'ⅹ' => 'x',
- 'ⅺ' => 'xi',
- 'ⅻ' => 'xii',
- 'ⅼ' => 'l',
- 'ⅽ' => 'c',
- 'ⅾ' => 'd',
- 'ⅿ' => 'm',
- '↉' => '0⁄3',
- '∬' => '∫∫',
- '∭' => '∫∫∫',
- '∯' => '∮∮',
- '∰' => '∮∮∮',
- '①' => '1',
- '②' => '2',
- '③' => '3',
- '④' => '4',
- '⑤' => '5',
- '⑥' => '6',
- '⑦' => '7',
- '⑧' => '8',
- '⑨' => '9',
- '⑩' => '10',
- '⑪' => '11',
- '⑫' => '12',
- '⑬' => '13',
- '⑭' => '14',
- '⑮' => '15',
- '⑯' => '16',
- '⑰' => '17',
- '⑱' => '18',
- '⑲' => '19',
- '⑳' => '20',
- '⑴' => '(1)',
- '⑵' => '(2)',
- '⑶' => '(3)',
- '⑷' => '(4)',
- '⑸' => '(5)',
- '⑹' => '(6)',
- '⑺' => '(7)',
- '⑻' => '(8)',
- '⑼' => '(9)',
- '⑽' => '(10)',
- '⑾' => '(11)',
- '⑿' => '(12)',
- '⒀' => '(13)',
- '⒁' => '(14)',
- '⒂' => '(15)',
- '⒃' => '(16)',
- '⒄' => '(17)',
- '⒅' => '(18)',
- '⒆' => '(19)',
- '⒇' => '(20)',
- '⒈' => '1.',
- '⒉' => '2.',
- '⒊' => '3.',
- '⒋' => '4.',
- '⒌' => '5.',
- '⒍' => '6.',
- '⒎' => '7.',
- '⒏' => '8.',
- '⒐' => '9.',
- '⒑' => '10.',
- '⒒' => '11.',
- '⒓' => '12.',
- '⒔' => '13.',
- '⒕' => '14.',
- '⒖' => '15.',
- '⒗' => '16.',
- '⒘' => '17.',
- '⒙' => '18.',
- '⒚' => '19.',
- '⒛' => '20.',
- '⒜' => '(a)',
- '⒝' => '(b)',
- '⒞' => '(c)',
- '⒟' => '(d)',
- '⒠' => '(e)',
- '⒡' => '(f)',
- '⒢' => '(g)',
- '⒣' => '(h)',
- '⒤' => '(i)',
- '⒥' => '(j)',
- '⒦' => '(k)',
- '⒧' => '(l)',
- '⒨' => '(m)',
- '⒩' => '(n)',
- '⒪' => '(o)',
- '⒫' => '(p)',
- '⒬' => '(q)',
- '⒭' => '(r)',
- '⒮' => '(s)',
- '⒯' => '(t)',
- '⒰' => '(u)',
- '⒱' => '(v)',
- '⒲' => '(w)',
- '⒳' => '(x)',
- '⒴' => '(y)',
- '⒵' => '(z)',
- 'Ⓐ' => 'A',
- 'Ⓑ' => 'B',
- 'Ⓒ' => 'C',
- 'Ⓓ' => 'D',
- 'Ⓔ' => 'E',
- 'Ⓕ' => 'F',
- 'Ⓖ' => 'G',
- 'Ⓗ' => 'H',
- 'Ⓘ' => 'I',
- 'Ⓙ' => 'J',
- 'Ⓚ' => 'K',
- 'Ⓛ' => 'L',
- 'Ⓜ' => 'M',
- 'Ⓝ' => 'N',
- 'Ⓞ' => 'O',
- 'Ⓟ' => 'P',
- 'Ⓠ' => 'Q',
- 'Ⓡ' => 'R',
- 'Ⓢ' => 'S',
- 'Ⓣ' => 'T',
- 'Ⓤ' => 'U',
- 'Ⓥ' => 'V',
- 'Ⓦ' => 'W',
- 'Ⓧ' => 'X',
- 'Ⓨ' => 'Y',
- 'Ⓩ' => 'Z',
- 'ⓐ' => 'a',
- 'ⓑ' => 'b',
- 'ⓒ' => 'c',
- 'ⓓ' => 'd',
- 'ⓔ' => 'e',
- 'ⓕ' => 'f',
- 'ⓖ' => 'g',
- 'ⓗ' => 'h',
- 'ⓘ' => 'i',
- 'ⓙ' => 'j',
- 'ⓚ' => 'k',
- 'ⓛ' => 'l',
- 'ⓜ' => 'm',
- 'ⓝ' => 'n',
- 'ⓞ' => 'o',
- 'ⓟ' => 'p',
- 'ⓠ' => 'q',
- 'ⓡ' => 'r',
- 'ⓢ' => 's',
- 'ⓣ' => 't',
- 'ⓤ' => 'u',
- 'ⓥ' => 'v',
- 'ⓦ' => 'w',
- 'ⓧ' => 'x',
- 'ⓨ' => 'y',
- 'ⓩ' => 'z',
- '⓪' => '0',
- '⨌' => '∫∫∫∫',
- '⩴' => '::=',
- '⩵' => '==',
- '⩶' => '===',
- 'ⱼ' => 'j',
- 'ⱽ' => 'V',
- 'ⵯ' => 'ⵡ',
- '⺟' => '母',
- '⻳' => '龟',
- '⼀' => '一',
- '⼁' => '丨',
- '⼂' => '丶',
- '⼃' => '丿',
- '⼄' => '乙',
- '⼅' => '亅',
- '⼆' => '二',
- '⼇' => '亠',
- '⼈' => '人',
- '⼉' => '儿',
- '⼊' => '入',
- '⼋' => '八',
- '⼌' => '冂',
- '⼍' => '冖',
- '⼎' => '冫',
- '⼏' => '几',
- '⼐' => '凵',
- '⼑' => '刀',
- '⼒' => '力',
- '⼓' => '勹',
- '⼔' => '匕',
- '⼕' => '匚',
- '⼖' => '匸',
- '⼗' => '十',
- '⼘' => '卜',
- '⼙' => '卩',
- '⼚' => '厂',
- '⼛' => '厶',
- '⼜' => '又',
- '⼝' => '口',
- '⼞' => '囗',
- '⼟' => '土',
- '⼠' => '士',
- '⼡' => '夂',
- '⼢' => '夊',
- '⼣' => '夕',
- '⼤' => '大',
- '⼥' => '女',
- '⼦' => '子',
- '⼧' => '宀',
- '⼨' => '寸',
- '⼩' => '小',
- '⼪' => '尢',
- '⼫' => '尸',
- '⼬' => '屮',
- '⼭' => '山',
- '⼮' => '巛',
- '⼯' => '工',
- '⼰' => '己',
- '⼱' => '巾',
- '⼲' => '干',
- '⼳' => '幺',
- '⼴' => '广',
- '⼵' => '廴',
- '⼶' => '廾',
- '⼷' => '弋',
- '⼸' => '弓',
- '⼹' => '彐',
- '⼺' => '彡',
- '⼻' => '彳',
- '⼼' => '心',
- '⼽' => '戈',
- '⼾' => '戶',
- '⼿' => '手',
- '⽀' => '支',
- '⽁' => '攴',
- '⽂' => '文',
- '⽃' => '斗',
- '⽄' => '斤',
- '⽅' => '方',
- '⽆' => '无',
- '⽇' => '日',
- '⽈' => '曰',
- '⽉' => '月',
- '⽊' => '木',
- '⽋' => '欠',
- '⽌' => '止',
- '⽍' => '歹',
- '⽎' => '殳',
- '⽏' => '毋',
- '⽐' => '比',
- '⽑' => '毛',
- '⽒' => '氏',
- '⽓' => '气',
- '⽔' => '水',
- '⽕' => '火',
- '⽖' => '爪',
- '⽗' => '父',
- '⽘' => '爻',
- '⽙' => '爿',
- '⽚' => '片',
- '⽛' => '牙',
- '⽜' => '牛',
- '⽝' => '犬',
- '⽞' => '玄',
- '⽟' => '玉',
- '⽠' => '瓜',
- '⽡' => '瓦',
- '⽢' => '甘',
- '⽣' => '生',
- '⽤' => '用',
- '⽥' => '田',
- '⽦' => '疋',
- '⽧' => '疒',
- '⽨' => '癶',
- '⽩' => '白',
- '⽪' => '皮',
- '⽫' => '皿',
- '⽬' => '目',
- '⽭' => '矛',
- '⽮' => '矢',
- '⽯' => '石',
- '⽰' => '示',
- '⽱' => '禸',
- '⽲' => '禾',
- '⽳' => '穴',
- '⽴' => '立',
- '⽵' => '竹',
- '⽶' => '米',
- '⽷' => '糸',
- '⽸' => '缶',
- '⽹' => '网',
- '⽺' => '羊',
- '⽻' => '羽',
- '⽼' => '老',
- '⽽' => '而',
- '⽾' => '耒',
- '⽿' => '耳',
- '⾀' => '聿',
- '⾁' => '肉',
- '⾂' => '臣',
- '⾃' => '自',
- '⾄' => '至',
- '⾅' => '臼',
- '⾆' => '舌',
- '⾇' => '舛',
- '⾈' => '舟',
- '⾉' => '艮',
- '⾊' => '色',
- '⾋' => '艸',
- '⾌' => '虍',
- '⾍' => '虫',
- '⾎' => '血',
- '⾏' => '行',
- '⾐' => '衣',
- '⾑' => '襾',
- '⾒' => '見',
- '⾓' => '角',
- '⾔' => '言',
- '⾕' => '谷',
- '⾖' => '豆',
- '⾗' => '豕',
- '⾘' => '豸',
- '⾙' => '貝',
- '⾚' => '赤',
- '⾛' => '走',
- '⾜' => '足',
- '⾝' => '身',
- '⾞' => '車',
- '⾟' => '辛',
- '⾠' => '辰',
- '⾡' => '辵',
- '⾢' => '邑',
- '⾣' => '酉',
- '⾤' => '釆',
- '⾥' => '里',
- '⾦' => '金',
- '⾧' => '長',
- '⾨' => '門',
- '⾩' => '阜',
- '⾪' => '隶',
- '⾫' => '隹',
- '⾬' => '雨',
- '⾭' => '靑',
- '⾮' => '非',
- '⾯' => '面',
- '⾰' => '革',
- '⾱' => '韋',
- '⾲' => '韭',
- '⾳' => '音',
- '⾴' => '頁',
- '⾵' => '風',
- '⾶' => '飛',
- '⾷' => '食',
- '⾸' => '首',
- '⾹' => '香',
- '⾺' => '馬',
- '⾻' => '骨',
- '⾼' => '高',
- '⾽' => '髟',
- '⾾' => '鬥',
- '⾿' => '鬯',
- '⿀' => '鬲',
- '⿁' => '鬼',
- '⿂' => '魚',
- '⿃' => '鳥',
- '⿄' => '鹵',
- '⿅' => '鹿',
- '⿆' => '麥',
- '⿇' => '麻',
- '⿈' => '黃',
- '⿉' => '黍',
- '⿊' => '黑',
- '⿋' => '黹',
- '⿌' => '黽',
- '⿍' => '鼎',
- '⿎' => '鼓',
- '⿏' => '鼠',
- '⿐' => '鼻',
- '⿑' => '齊',
- '⿒' => '齒',
- '⿓' => '龍',
- '⿔' => '龜',
- '⿕' => '龠',
- ' ' => ' ',
- '〶' => '〒',
- '〸' => '十',
- '〹' => '卄',
- '〺' => '卅',
- '゛' => ' ゙',
- '゜' => ' ゚',
- 'ゟ' => 'より',
- 'ヿ' => 'コト',
- 'ㄱ' => 'ᄀ',
- 'ㄲ' => 'ᄁ',
- 'ㄳ' => 'ᆪ',
- 'ㄴ' => 'ᄂ',
- 'ㄵ' => 'ᆬ',
- 'ㄶ' => 'ᆭ',
- 'ㄷ' => 'ᄃ',
- 'ㄸ' => 'ᄄ',
- 'ㄹ' => 'ᄅ',
- 'ㄺ' => 'ᆰ',
- 'ㄻ' => 'ᆱ',
- 'ㄼ' => 'ᆲ',
- 'ㄽ' => 'ᆳ',
- 'ㄾ' => 'ᆴ',
- 'ㄿ' => 'ᆵ',
- 'ㅀ' => 'ᄚ',
- 'ㅁ' => 'ᄆ',
- 'ㅂ' => 'ᄇ',
- 'ㅃ' => 'ᄈ',
- 'ㅄ' => 'ᄡ',
- 'ㅅ' => 'ᄉ',
- 'ㅆ' => 'ᄊ',
- 'ㅇ' => 'ᄋ',
- 'ㅈ' => 'ᄌ',
- 'ㅉ' => 'ᄍ',
- 'ㅊ' => 'ᄎ',
- 'ㅋ' => 'ᄏ',
- 'ㅌ' => 'ᄐ',
- 'ㅍ' => 'ᄑ',
- 'ㅎ' => 'ᄒ',
- 'ㅏ' => 'ᅡ',
- 'ㅐ' => 'ᅢ',
- 'ㅑ' => 'ᅣ',
- 'ㅒ' => 'ᅤ',
- 'ㅓ' => 'ᅥ',
- 'ㅔ' => 'ᅦ',
- 'ㅕ' => 'ᅧ',
- 'ㅖ' => 'ᅨ',
- 'ㅗ' => 'ᅩ',
- 'ㅘ' => 'ᅪ',
- 'ㅙ' => 'ᅫ',
- 'ㅚ' => 'ᅬ',
- 'ㅛ' => 'ᅭ',
- 'ㅜ' => 'ᅮ',
- 'ㅝ' => 'ᅯ',
- 'ㅞ' => 'ᅰ',
- 'ㅟ' => 'ᅱ',
- 'ㅠ' => 'ᅲ',
- 'ㅡ' => 'ᅳ',
- 'ㅢ' => 'ᅴ',
- 'ㅣ' => 'ᅵ',
- 'ㅤ' => 'ᅠ',
- 'ㅥ' => 'ᄔ',
- 'ㅦ' => 'ᄕ',
- 'ㅧ' => 'ᇇ',
- 'ㅨ' => 'ᇈ',
- 'ㅩ' => 'ᇌ',
- 'ㅪ' => 'ᇎ',
- 'ㅫ' => 'ᇓ',
- 'ㅬ' => 'ᇗ',
- 'ㅭ' => 'ᇙ',
- 'ㅮ' => 'ᄜ',
- 'ㅯ' => 'ᇝ',
- 'ㅰ' => 'ᇟ',
- 'ㅱ' => 'ᄝ',
- 'ㅲ' => 'ᄞ',
- 'ㅳ' => 'ᄠ',
- 'ㅴ' => 'ᄢ',
- 'ㅵ' => 'ᄣ',
- 'ㅶ' => 'ᄧ',
- 'ㅷ' => 'ᄩ',
- 'ㅸ' => 'ᄫ',
- 'ㅹ' => 'ᄬ',
- 'ㅺ' => 'ᄭ',
- 'ㅻ' => 'ᄮ',
- 'ㅼ' => 'ᄯ',
- 'ㅽ' => 'ᄲ',
- 'ㅾ' => 'ᄶ',
- 'ㅿ' => 'ᅀ',
- 'ㆀ' => 'ᅇ',
- 'ㆁ' => 'ᅌ',
- 'ㆂ' => 'ᇱ',
- 'ㆃ' => 'ᇲ',
- 'ㆄ' => 'ᅗ',
- 'ㆅ' => 'ᅘ',
- 'ㆆ' => 'ᅙ',
- 'ㆇ' => 'ᆄ',
- 'ㆈ' => 'ᆅ',
- 'ㆉ' => 'ᆈ',
- 'ㆊ' => 'ᆑ',
- 'ㆋ' => 'ᆒ',
- 'ㆌ' => 'ᆔ',
- 'ㆍ' => 'ᆞ',
- 'ㆎ' => 'ᆡ',
- '㆒' => '一',
- '㆓' => '二',
- '㆔' => '三',
- '㆕' => '四',
- '㆖' => '上',
- '㆗' => '中',
- '㆘' => '下',
- '㆙' => '甲',
- '㆚' => '乙',
- '㆛' => '丙',
- '㆜' => '丁',
- '㆝' => '天',
- '㆞' => '地',
- '㆟' => '人',
- '㈀' => '(ᄀ)',
- '㈁' => '(ᄂ)',
- '㈂' => '(ᄃ)',
- '㈃' => '(ᄅ)',
- '㈄' => '(ᄆ)',
- '㈅' => '(ᄇ)',
- '㈆' => '(ᄉ)',
- '㈇' => '(ᄋ)',
- '㈈' => '(ᄌ)',
- '㈉' => '(ᄎ)',
- '㈊' => '(ᄏ)',
- '㈋' => '(ᄐ)',
- '㈌' => '(ᄑ)',
- '㈍' => '(ᄒ)',
- '㈎' => '(가)',
- '㈏' => '(나)',
- '㈐' => '(다)',
- '㈑' => '(라)',
- '㈒' => '(마)',
- '㈓' => '(바)',
- '㈔' => '(사)',
- '㈕' => '(아)',
- '㈖' => '(자)',
- '㈗' => '(차)',
- '㈘' => '(카)',
- '㈙' => '(타)',
- '㈚' => '(파)',
- '㈛' => '(하)',
- '㈜' => '(주)',
- '㈝' => '(오전)',
- '㈞' => '(오후)',
- '㈠' => '(一)',
- '㈡' => '(二)',
- '㈢' => '(三)',
- '㈣' => '(四)',
- '㈤' => '(五)',
- '㈥' => '(六)',
- '㈦' => '(七)',
- '㈧' => '(八)',
- '㈨' => '(九)',
- '㈩' => '(十)',
- '㈪' => '(月)',
- '㈫' => '(火)',
- '㈬' => '(水)',
- '㈭' => '(木)',
- '㈮' => '(金)',
- '㈯' => '(土)',
- '㈰' => '(日)',
- '㈱' => '(株)',
- '㈲' => '(有)',
- '㈳' => '(社)',
- '㈴' => '(名)',
- '㈵' => '(特)',
- '㈶' => '(財)',
- '㈷' => '(祝)',
- '㈸' => '(労)',
- '㈹' => '(代)',
- '㈺' => '(呼)',
- '㈻' => '(学)',
- '㈼' => '(監)',
- '㈽' => '(企)',
- '㈾' => '(資)',
- '㈿' => '(協)',
- '㉀' => '(祭)',
- '㉁' => '(休)',
- '㉂' => '(自)',
- '㉃' => '(至)',
- '㉄' => '問',
- '㉅' => '幼',
- '㉆' => '文',
- '㉇' => '箏',
- '㉐' => 'PTE',
- '㉑' => '21',
- '㉒' => '22',
- '㉓' => '23',
- '㉔' => '24',
- '㉕' => '25',
- '㉖' => '26',
- '㉗' => '27',
- '㉘' => '28',
- '㉙' => '29',
- '㉚' => '30',
- '㉛' => '31',
- '㉜' => '32',
- '㉝' => '33',
- '㉞' => '34',
- '㉟' => '35',
- '㉠' => 'ᄀ',
- '㉡' => 'ᄂ',
- '㉢' => 'ᄃ',
- '㉣' => 'ᄅ',
- '㉤' => 'ᄆ',
- '㉥' => 'ᄇ',
- '㉦' => 'ᄉ',
- '㉧' => 'ᄋ',
- '㉨' => 'ᄌ',
- '㉩' => 'ᄎ',
- '㉪' => 'ᄏ',
- '㉫' => 'ᄐ',
- '㉬' => 'ᄑ',
- '㉭' => 'ᄒ',
- '㉮' => '가',
- '㉯' => '나',
- '㉰' => '다',
- '㉱' => '라',
- '㉲' => '마',
- '㉳' => '바',
- '㉴' => '사',
- '㉵' => '아',
- '㉶' => '자',
- '㉷' => '차',
- '㉸' => '카',
- '㉹' => '타',
- '㉺' => '파',
- '㉻' => '하',
- '㉼' => '참고',
- '㉽' => '주의',
- '㉾' => '우',
- '㊀' => '一',
- '㊁' => '二',
- '㊂' => '三',
- '㊃' => '四',
- '㊄' => '五',
- '㊅' => '六',
- '㊆' => '七',
- '㊇' => '八',
- '㊈' => '九',
- '㊉' => '十',
- '㊊' => '月',
- '㊋' => '火',
- '㊌' => '水',
- '㊍' => '木',
- '㊎' => '金',
- '㊏' => '土',
- '㊐' => '日',
- '㊑' => '株',
- '㊒' => '有',
- '㊓' => '社',
- '㊔' => '名',
- '㊕' => '特',
- '㊖' => '財',
- '㊗' => '祝',
- '㊘' => '労',
- '㊙' => '秘',
- '㊚' => '男',
- '㊛' => '女',
- '㊜' => '適',
- '㊝' => '優',
- '㊞' => '印',
- '㊟' => '注',
- '㊠' => '項',
- '㊡' => '休',
- '㊢' => '写',
- '㊣' => '正',
- '㊤' => '上',
- '㊥' => '中',
- '㊦' => '下',
- '㊧' => '左',
- '㊨' => '右',
- '㊩' => '医',
- '㊪' => '宗',
- '㊫' => '学',
- '㊬' => '監',
- '㊭' => '企',
- '㊮' => '資',
- '㊯' => '協',
- '㊰' => '夜',
- '㊱' => '36',
- '㊲' => '37',
- '㊳' => '38',
- '㊴' => '39',
- '㊵' => '40',
- '㊶' => '41',
- '㊷' => '42',
- '㊸' => '43',
- '㊹' => '44',
- '㊺' => '45',
- '㊻' => '46',
- '㊼' => '47',
- '㊽' => '48',
- '㊾' => '49',
- '㊿' => '50',
- '㋀' => '1月',
- '㋁' => '2月',
- '㋂' => '3月',
- '㋃' => '4月',
- '㋄' => '5月',
- '㋅' => '6月',
- '㋆' => '7月',
- '㋇' => '8月',
- '㋈' => '9月',
- '㋉' => '10月',
- '㋊' => '11月',
- '㋋' => '12月',
- '㋌' => 'Hg',
- '㋍' => 'erg',
- '㋎' => 'eV',
- '㋏' => 'LTD',
- '㋐' => 'ア',
- '㋑' => 'イ',
- '㋒' => 'ウ',
- '㋓' => 'エ',
- '㋔' => 'オ',
- '㋕' => 'カ',
- '㋖' => 'キ',
- '㋗' => 'ク',
- '㋘' => 'ケ',
- '㋙' => 'コ',
- '㋚' => 'サ',
- '㋛' => 'シ',
- '㋜' => 'ス',
- '㋝' => 'セ',
- '㋞' => 'ソ',
- '㋟' => 'タ',
- '㋠' => 'チ',
- '㋡' => 'ツ',
- '㋢' => 'テ',
- '㋣' => 'ト',
- '㋤' => 'ナ',
- '㋥' => 'ニ',
- '㋦' => 'ヌ',
- '㋧' => 'ネ',
- '㋨' => 'ノ',
- '㋩' => 'ハ',
- '㋪' => 'ヒ',
- '㋫' => 'フ',
- '㋬' => 'ヘ',
- '㋭' => 'ホ',
- '㋮' => 'マ',
- '㋯' => 'ミ',
- '㋰' => 'ム',
- '㋱' => 'メ',
- '㋲' => 'モ',
- '㋳' => 'ヤ',
- '㋴' => 'ユ',
- '㋵' => 'ヨ',
- '㋶' => 'ラ',
- '㋷' => 'リ',
- '㋸' => 'ル',
- '㋹' => 'レ',
- '㋺' => 'ロ',
- '㋻' => 'ワ',
- '㋼' => 'ヰ',
- '㋽' => 'ヱ',
- '㋾' => 'ヲ',
- '㋿' => '令和',
- '㌀' => 'アパート',
- '㌁' => 'アルファ',
- '㌂' => 'アンペア',
- '㌃' => 'アール',
- '㌄' => 'イニング',
- '㌅' => 'インチ',
- '㌆' => 'ウォン',
- '㌇' => 'エスクード',
- '㌈' => 'エーカー',
- '㌉' => 'オンス',
- '㌊' => 'オーム',
- '㌋' => 'カイリ',
- '㌌' => 'カラット',
- '㌍' => 'カロリー',
- '㌎' => 'ガロン',
- '㌏' => 'ガンマ',
- '㌐' => 'ギガ',
- '㌑' => 'ギニー',
- '㌒' => 'キュリー',
- '㌓' => 'ギルダー',
- '㌔' => 'キロ',
- '㌕' => 'キログラム',
- '㌖' => 'キロメートル',
- '㌗' => 'キロワット',
- '㌘' => 'グラム',
- '㌙' => 'グラムトン',
- '㌚' => 'クルゼイロ',
- '㌛' => 'クローネ',
- '㌜' => 'ケース',
- '㌝' => 'コルナ',
- '㌞' => 'コーポ',
- '㌟' => 'サイクル',
- '㌠' => 'サンチーム',
- '㌡' => 'シリング',
- '㌢' => 'センチ',
- '㌣' => 'セント',
- '㌤' => 'ダース',
- '㌥' => 'デシ',
- '㌦' => 'ドル',
- '㌧' => 'トン',
- '㌨' => 'ナノ',
- '㌩' => 'ノット',
- '㌪' => 'ハイツ',
- '㌫' => 'パーセント',
- '㌬' => 'パーツ',
- '㌭' => 'バーレル',
- '㌮' => 'ピアストル',
- '㌯' => 'ピクル',
- '㌰' => 'ピコ',
- '㌱' => 'ビル',
- '㌲' => 'ファラッド',
- '㌳' => 'フィート',
- '㌴' => 'ブッシェル',
- '㌵' => 'フラン',
- '㌶' => 'ヘクタール',
- '㌷' => 'ペソ',
- '㌸' => 'ペニヒ',
- '㌹' => 'ヘルツ',
- '㌺' => 'ペンス',
- '㌻' => 'ページ',
- '㌼' => 'ベータ',
- '㌽' => 'ポイント',
- '㌾' => 'ボルト',
- '㌿' => 'ホン',
- '㍀' => 'ポンド',
- '㍁' => 'ホール',
- '㍂' => 'ホーン',
- '㍃' => 'マイクロ',
- '㍄' => 'マイル',
- '㍅' => 'マッハ',
- '㍆' => 'マルク',
- '㍇' => 'マンション',
- '㍈' => 'ミクロン',
- '㍉' => 'ミリ',
- '㍊' => 'ミリバール',
- '㍋' => 'メガ',
- '㍌' => 'メガトン',
- '㍍' => 'メートル',
- '㍎' => 'ヤード',
- '㍏' => 'ヤール',
- '㍐' => 'ユアン',
- '㍑' => 'リットル',
- '㍒' => 'リラ',
- '㍓' => 'ルピー',
- '㍔' => 'ルーブル',
- '㍕' => 'レム',
- '㍖' => 'レントゲン',
- '㍗' => 'ワット',
- '㍘' => '0点',
- '㍙' => '1点',
- '㍚' => '2点',
- '㍛' => '3点',
- '㍜' => '4点',
- '㍝' => '5点',
- '㍞' => '6点',
- '㍟' => '7点',
- '㍠' => '8点',
- '㍡' => '9点',
- '㍢' => '10点',
- '㍣' => '11点',
- '㍤' => '12点',
- '㍥' => '13点',
- '㍦' => '14点',
- '㍧' => '15点',
- '㍨' => '16点',
- '㍩' => '17点',
- '㍪' => '18点',
- '㍫' => '19点',
- '㍬' => '20点',
- '㍭' => '21点',
- '㍮' => '22点',
- '㍯' => '23点',
- '㍰' => '24点',
- '㍱' => 'hPa',
- '㍲' => 'da',
- '㍳' => 'AU',
- '㍴' => 'bar',
- '㍵' => 'oV',
- '㍶' => 'pc',
- '㍷' => 'dm',
- '㍸' => 'dm2',
- '㍹' => 'dm3',
- '㍺' => 'IU',
- '㍻' => '平成',
- '㍼' => '昭和',
- '㍽' => '大正',
- '㍾' => '明治',
- '㍿' => '株式会社',
- '㎀' => 'pA',
- '㎁' => 'nA',
- '㎂' => 'μA',
- '㎃' => 'mA',
- '㎄' => 'kA',
- '㎅' => 'KB',
- '㎆' => 'MB',
- '㎇' => 'GB',
- '㎈' => 'cal',
- '㎉' => 'kcal',
- '㎊' => 'pF',
- '㎋' => 'nF',
- '㎌' => 'μF',
- '㎍' => 'μg',
- '㎎' => 'mg',
- '㎏' => 'kg',
- '㎐' => 'Hz',
- '㎑' => 'kHz',
- '㎒' => 'MHz',
- '㎓' => 'GHz',
- '㎔' => 'THz',
- '㎕' => 'μl',
- '㎖' => 'ml',
- '㎗' => 'dl',
- '㎘' => 'kl',
- '㎙' => 'fm',
- '㎚' => 'nm',
- '㎛' => 'μm',
- '㎜' => 'mm',
- '㎝' => 'cm',
- '㎞' => 'km',
- '㎟' => 'mm2',
- '㎠' => 'cm2',
- '㎡' => 'm2',
- '㎢' => 'km2',
- '㎣' => 'mm3',
- '㎤' => 'cm3',
- '㎥' => 'm3',
- '㎦' => 'km3',
- '㎧' => 'm∕s',
- '㎨' => 'm∕s2',
- '㎩' => 'Pa',
- '㎪' => 'kPa',
- '㎫' => 'MPa',
- '㎬' => 'GPa',
- '㎭' => 'rad',
- '㎮' => 'rad∕s',
- '㎯' => 'rad∕s2',
- '㎰' => 'ps',
- '㎱' => 'ns',
- '㎲' => 'μs',
- '㎳' => 'ms',
- '㎴' => 'pV',
- '㎵' => 'nV',
- '㎶' => 'μV',
- '㎷' => 'mV',
- '㎸' => 'kV',
- '㎹' => 'MV',
- '㎺' => 'pW',
- '㎻' => 'nW',
- '㎼' => 'μW',
- '㎽' => 'mW',
- '㎾' => 'kW',
- '㎿' => 'MW',
- '㏀' => 'kΩ',
- '㏁' => 'MΩ',
- '㏂' => 'a.m.',
- '㏃' => 'Bq',
- '㏄' => 'cc',
- '㏅' => 'cd',
- '㏆' => 'C∕kg',
- '㏇' => 'Co.',
- '㏈' => 'dB',
- '㏉' => 'Gy',
- '㏊' => 'ha',
- '㏋' => 'HP',
- '㏌' => 'in',
- '㏍' => 'KK',
- '㏎' => 'KM',
- '㏏' => 'kt',
- '㏐' => 'lm',
- '㏑' => 'ln',
- '㏒' => 'log',
- '㏓' => 'lx',
- '㏔' => 'mb',
- '㏕' => 'mil',
- '㏖' => 'mol',
- '㏗' => 'PH',
- '㏘' => 'p.m.',
- '㏙' => 'PPM',
- '㏚' => 'PR',
- '㏛' => 'sr',
- '㏜' => 'Sv',
- '㏝' => 'Wb',
- '㏞' => 'V∕m',
- '㏟' => 'A∕m',
- '㏠' => '1日',
- '㏡' => '2日',
- '㏢' => '3日',
- '㏣' => '4日',
- '㏤' => '5日',
- '㏥' => '6日',
- '㏦' => '7日',
- '㏧' => '8日',
- '㏨' => '9日',
- '㏩' => '10日',
- '㏪' => '11日',
- '㏫' => '12日',
- '㏬' => '13日',
- '㏭' => '14日',
- '㏮' => '15日',
- '㏯' => '16日',
- '㏰' => '17日',
- '㏱' => '18日',
- '㏲' => '19日',
- '㏳' => '20日',
- '㏴' => '21日',
- '㏵' => '22日',
- '㏶' => '23日',
- '㏷' => '24日',
- '㏸' => '25日',
- '㏹' => '26日',
- '㏺' => '27日',
- '㏻' => '28日',
- '㏼' => '29日',
- '㏽' => '30日',
- '㏾' => '31日',
- '㏿' => 'gal',
- 'ꚜ' => 'ъ',
- 'ꚝ' => 'ь',
- 'ꝰ' => 'ꝯ',
- 'ꟸ' => 'Ħ',
- 'ꟹ' => 'œ',
- 'ꭜ' => 'ꜧ',
- 'ꭝ' => 'ꬷ',
- 'ꭞ' => 'ɫ',
- 'ꭟ' => 'ꭒ',
- 'ꭩ' => 'ʍ',
- 'ff' => 'ff',
- 'fi' => 'fi',
- 'fl' => 'fl',
- 'ffi' => 'ffi',
- 'ffl' => 'ffl',
- 'ſt' => 'st',
- 'st' => 'st',
- 'ﬓ' => 'մն',
- 'ﬔ' => 'մե',
- 'ﬕ' => 'մի',
- 'ﬖ' => 'վն',
- 'ﬗ' => 'մխ',
- 'ﬠ' => 'ע',
- 'ﬡ' => 'א',
- 'ﬢ' => 'ד',
- 'ﬣ' => 'ה',
- 'ﬤ' => 'כ',
- 'ﬥ' => 'ל',
- 'ﬦ' => 'ם',
- 'ﬧ' => 'ר',
- 'ﬨ' => 'ת',
- '﬩' => '+',
- 'ﭏ' => 'אל',
- 'ﭐ' => 'ٱ',
- 'ﭑ' => 'ٱ',
- 'ﭒ' => 'ٻ',
- 'ﭓ' => 'ٻ',
- 'ﭔ' => 'ٻ',
- 'ﭕ' => 'ٻ',
- 'ﭖ' => 'پ',
- 'ﭗ' => 'پ',
- 'ﭘ' => 'پ',
- 'ﭙ' => 'پ',
- 'ﭚ' => 'ڀ',
- 'ﭛ' => 'ڀ',
- 'ﭜ' => 'ڀ',
- 'ﭝ' => 'ڀ',
- 'ﭞ' => 'ٺ',
- 'ﭟ' => 'ٺ',
- 'ﭠ' => 'ٺ',
- 'ﭡ' => 'ٺ',
- 'ﭢ' => 'ٿ',
- 'ﭣ' => 'ٿ',
- 'ﭤ' => 'ٿ',
- 'ﭥ' => 'ٿ',
- 'ﭦ' => 'ٹ',
- 'ﭧ' => 'ٹ',
- 'ﭨ' => 'ٹ',
- 'ﭩ' => 'ٹ',
- 'ﭪ' => 'ڤ',
- 'ﭫ' => 'ڤ',
- 'ﭬ' => 'ڤ',
- 'ﭭ' => 'ڤ',
- 'ﭮ' => 'ڦ',
- 'ﭯ' => 'ڦ',
- 'ﭰ' => 'ڦ',
- 'ﭱ' => 'ڦ',
- 'ﭲ' => 'ڄ',
- 'ﭳ' => 'ڄ',
- 'ﭴ' => 'ڄ',
- 'ﭵ' => 'ڄ',
- 'ﭶ' => 'ڃ',
- 'ﭷ' => 'ڃ',
- 'ﭸ' => 'ڃ',
- 'ﭹ' => 'ڃ',
- 'ﭺ' => 'چ',
- 'ﭻ' => 'چ',
- 'ﭼ' => 'چ',
- 'ﭽ' => 'چ',
- 'ﭾ' => 'ڇ',
- 'ﭿ' => 'ڇ',
- 'ﮀ' => 'ڇ',
- 'ﮁ' => 'ڇ',
- 'ﮂ' => 'ڍ',
- 'ﮃ' => 'ڍ',
- 'ﮄ' => 'ڌ',
- 'ﮅ' => 'ڌ',
- 'ﮆ' => 'ڎ',
- 'ﮇ' => 'ڎ',
- 'ﮈ' => 'ڈ',
- 'ﮉ' => 'ڈ',
- 'ﮊ' => 'ژ',
- 'ﮋ' => 'ژ',
- 'ﮌ' => 'ڑ',
- 'ﮍ' => 'ڑ',
- 'ﮎ' => 'ک',
- 'ﮏ' => 'ک',
- 'ﮐ' => 'ک',
- 'ﮑ' => 'ک',
- 'ﮒ' => 'گ',
- 'ﮓ' => 'گ',
- 'ﮔ' => 'گ',
- 'ﮕ' => 'گ',
- 'ﮖ' => 'ڳ',
- 'ﮗ' => 'ڳ',
- 'ﮘ' => 'ڳ',
- 'ﮙ' => 'ڳ',
- 'ﮚ' => 'ڱ',
- 'ﮛ' => 'ڱ',
- 'ﮜ' => 'ڱ',
- 'ﮝ' => 'ڱ',
- 'ﮞ' => 'ں',
- 'ﮟ' => 'ں',
- 'ﮠ' => 'ڻ',
- 'ﮡ' => 'ڻ',
- 'ﮢ' => 'ڻ',
- 'ﮣ' => 'ڻ',
- 'ﮤ' => 'ۀ',
- 'ﮥ' => 'ۀ',
- 'ﮦ' => 'ہ',
- 'ﮧ' => 'ہ',
- 'ﮨ' => 'ہ',
- 'ﮩ' => 'ہ',
- 'ﮪ' => 'ھ',
- 'ﮫ' => 'ھ',
- 'ﮬ' => 'ھ',
- 'ﮭ' => 'ھ',
- 'ﮮ' => 'ے',
- 'ﮯ' => 'ے',
- 'ﮰ' => 'ۓ',
- 'ﮱ' => 'ۓ',
- 'ﯓ' => 'ڭ',
- 'ﯔ' => 'ڭ',
- 'ﯕ' => 'ڭ',
- 'ﯖ' => 'ڭ',
- 'ﯗ' => 'ۇ',
- 'ﯘ' => 'ۇ',
- 'ﯙ' => 'ۆ',
- 'ﯚ' => 'ۆ',
- 'ﯛ' => 'ۈ',
- 'ﯜ' => 'ۈ',
- 'ﯝ' => 'ۇٴ',
- 'ﯞ' => 'ۋ',
- 'ﯟ' => 'ۋ',
- 'ﯠ' => 'ۅ',
- 'ﯡ' => 'ۅ',
- 'ﯢ' => 'ۉ',
- 'ﯣ' => 'ۉ',
- 'ﯤ' => 'ې',
- 'ﯥ' => 'ې',
- 'ﯦ' => 'ې',
- 'ﯧ' => 'ې',
- 'ﯨ' => 'ى',
- 'ﯩ' => 'ى',
- 'ﯪ' => 'ئا',
- 'ﯫ' => 'ئا',
- 'ﯬ' => 'ئە',
- 'ﯭ' => 'ئە',
- 'ﯮ' => 'ئو',
- 'ﯯ' => 'ئو',
- 'ﯰ' => 'ئۇ',
- 'ﯱ' => 'ئۇ',
- 'ﯲ' => 'ئۆ',
- 'ﯳ' => 'ئۆ',
- 'ﯴ' => 'ئۈ',
- 'ﯵ' => 'ئۈ',
- 'ﯶ' => 'ئې',
- 'ﯷ' => 'ئې',
- 'ﯸ' => 'ئې',
- 'ﯹ' => 'ئى',
- 'ﯺ' => 'ئى',
- 'ﯻ' => 'ئى',
- 'ﯼ' => 'ی',
- 'ﯽ' => 'ی',
- 'ﯾ' => 'ی',
- 'ﯿ' => 'ی',
- 'ﰀ' => 'ئج',
- 'ﰁ' => 'ئح',
- 'ﰂ' => 'ئم',
- 'ﰃ' => 'ئى',
- 'ﰄ' => 'ئي',
- 'ﰅ' => 'بج',
- 'ﰆ' => 'بح',
- 'ﰇ' => 'بخ',
- 'ﰈ' => 'بم',
- 'ﰉ' => 'بى',
- 'ﰊ' => 'بي',
- 'ﰋ' => 'تج',
- 'ﰌ' => 'تح',
- 'ﰍ' => 'تخ',
- 'ﰎ' => 'تم',
- 'ﰏ' => 'تى',
- 'ﰐ' => 'تي',
- 'ﰑ' => 'ثج',
- 'ﰒ' => 'ثم',
- 'ﰓ' => 'ثى',
- 'ﰔ' => 'ثي',
- 'ﰕ' => 'جح',
- 'ﰖ' => 'جم',
- 'ﰗ' => 'حج',
- 'ﰘ' => 'حم',
- 'ﰙ' => 'خج',
- 'ﰚ' => 'خح',
- 'ﰛ' => 'خم',
- 'ﰜ' => 'سج',
- 'ﰝ' => 'سح',
- 'ﰞ' => 'سخ',
- 'ﰟ' => 'سم',
- 'ﰠ' => 'صح',
- 'ﰡ' => 'صم',
- 'ﰢ' => 'ضج',
- 'ﰣ' => 'ضح',
- 'ﰤ' => 'ضخ',
- 'ﰥ' => 'ضم',
- 'ﰦ' => 'طح',
- 'ﰧ' => 'طم',
- 'ﰨ' => 'ظم',
- 'ﰩ' => 'عج',
- 'ﰪ' => 'عم',
- 'ﰫ' => 'غج',
- 'ﰬ' => 'غم',
- 'ﰭ' => 'فج',
- 'ﰮ' => 'فح',
- 'ﰯ' => 'فخ',
- 'ﰰ' => 'فم',
- 'ﰱ' => 'فى',
- 'ﰲ' => 'في',
- 'ﰳ' => 'قح',
- 'ﰴ' => 'قم',
- 'ﰵ' => 'قى',
- 'ﰶ' => 'قي',
- 'ﰷ' => 'كا',
- 'ﰸ' => 'كج',
- 'ﰹ' => 'كح',
- 'ﰺ' => 'كخ',
- 'ﰻ' => 'كل',
- 'ﰼ' => 'كم',
- 'ﰽ' => 'كى',
- 'ﰾ' => 'كي',
- 'ﰿ' => 'لج',
- 'ﱀ' => 'لح',
- 'ﱁ' => 'لخ',
- 'ﱂ' => 'لم',
- 'ﱃ' => 'لى',
- 'ﱄ' => 'لي',
- 'ﱅ' => 'مج',
- 'ﱆ' => 'مح',
- 'ﱇ' => 'مخ',
- 'ﱈ' => 'مم',
- 'ﱉ' => 'مى',
- 'ﱊ' => 'مي',
- 'ﱋ' => 'نج',
- 'ﱌ' => 'نح',
- 'ﱍ' => 'نخ',
- 'ﱎ' => 'نم',
- 'ﱏ' => 'نى',
- 'ﱐ' => 'ني',
- 'ﱑ' => 'هج',
- 'ﱒ' => 'هم',
- 'ﱓ' => 'هى',
- 'ﱔ' => 'هي',
- 'ﱕ' => 'يج',
- 'ﱖ' => 'يح',
- 'ﱗ' => 'يخ',
- 'ﱘ' => 'يم',
- 'ﱙ' => 'يى',
- 'ﱚ' => 'يي',
- 'ﱛ' => 'ذٰ',
- 'ﱜ' => 'رٰ',
- 'ﱝ' => 'ىٰ',
- 'ﱞ' => ' ٌّ',
- 'ﱟ' => ' ٍّ',
- 'ﱠ' => ' َّ',
- 'ﱡ' => ' ُّ',
- 'ﱢ' => ' ِّ',
- 'ﱣ' => ' ّٰ',
- 'ﱤ' => 'ئر',
- 'ﱥ' => 'ئز',
- 'ﱦ' => 'ئم',
- 'ﱧ' => 'ئن',
- 'ﱨ' => 'ئى',
- 'ﱩ' => 'ئي',
- 'ﱪ' => 'بر',
- 'ﱫ' => 'بز',
- 'ﱬ' => 'بم',
- 'ﱭ' => 'بن',
- 'ﱮ' => 'بى',
- 'ﱯ' => 'بي',
- 'ﱰ' => 'تر',
- 'ﱱ' => 'تز',
- 'ﱲ' => 'تم',
- 'ﱳ' => 'تن',
- 'ﱴ' => 'تى',
- 'ﱵ' => 'تي',
- 'ﱶ' => 'ثر',
- 'ﱷ' => 'ثز',
- 'ﱸ' => 'ثم',
- 'ﱹ' => 'ثن',
- 'ﱺ' => 'ثى',
- 'ﱻ' => 'ثي',
- 'ﱼ' => 'فى',
- 'ﱽ' => 'في',
- 'ﱾ' => 'قى',
- 'ﱿ' => 'قي',
- 'ﲀ' => 'كا',
- 'ﲁ' => 'كل',
- 'ﲂ' => 'كم',
- 'ﲃ' => 'كى',
- 'ﲄ' => 'كي',
- 'ﲅ' => 'لم',
- 'ﲆ' => 'لى',
- 'ﲇ' => 'لي',
- 'ﲈ' => 'ما',
- 'ﲉ' => 'مم',
- 'ﲊ' => 'نر',
- 'ﲋ' => 'نز',
- 'ﲌ' => 'نم',
- 'ﲍ' => 'نن',
- 'ﲎ' => 'نى',
- 'ﲏ' => 'ني',
- 'ﲐ' => 'ىٰ',
- 'ﲑ' => 'ير',
- 'ﲒ' => 'يز',
- 'ﲓ' => 'يم',
- 'ﲔ' => 'ين',
- 'ﲕ' => 'يى',
- 'ﲖ' => 'يي',
- 'ﲗ' => 'ئج',
- 'ﲘ' => 'ئح',
- 'ﲙ' => 'ئخ',
- 'ﲚ' => 'ئم',
- 'ﲛ' => 'ئه',
- 'ﲜ' => 'بج',
- 'ﲝ' => 'بح',
- 'ﲞ' => 'بخ',
- 'ﲟ' => 'بم',
- 'ﲠ' => 'به',
- 'ﲡ' => 'تج',
- 'ﲢ' => 'تح',
- 'ﲣ' => 'تخ',
- 'ﲤ' => 'تم',
- 'ﲥ' => 'ته',
- 'ﲦ' => 'ثم',
- 'ﲧ' => 'جح',
- 'ﲨ' => 'جم',
- 'ﲩ' => 'حج',
- 'ﲪ' => 'حم',
- 'ﲫ' => 'خج',
- 'ﲬ' => 'خم',
- 'ﲭ' => 'سج',
- 'ﲮ' => 'سح',
- 'ﲯ' => 'سخ',
- 'ﲰ' => 'سم',
- 'ﲱ' => 'صح',
- 'ﲲ' => 'صخ',
- 'ﲳ' => 'صم',
- 'ﲴ' => 'ضج',
- 'ﲵ' => 'ضح',
- 'ﲶ' => 'ضخ',
- 'ﲷ' => 'ضم',
- 'ﲸ' => 'طح',
- 'ﲹ' => 'ظم',
- 'ﲺ' => 'عج',
- 'ﲻ' => 'عم',
- 'ﲼ' => 'غج',
- 'ﲽ' => 'غم',
- 'ﲾ' => 'فج',
- 'ﲿ' => 'فح',
- 'ﳀ' => 'فخ',
- 'ﳁ' => 'فم',
- 'ﳂ' => 'قح',
- 'ﳃ' => 'قم',
- 'ﳄ' => 'كج',
- 'ﳅ' => 'كح',
- 'ﳆ' => 'كخ',
- 'ﳇ' => 'كل',
- 'ﳈ' => 'كم',
- 'ﳉ' => 'لج',
- 'ﳊ' => 'لح',
- 'ﳋ' => 'لخ',
- 'ﳌ' => 'لم',
- 'ﳍ' => 'له',
- 'ﳎ' => 'مج',
- 'ﳏ' => 'مح',
- 'ﳐ' => 'مخ',
- 'ﳑ' => 'مم',
- 'ﳒ' => 'نج',
- 'ﳓ' => 'نح',
- 'ﳔ' => 'نخ',
- 'ﳕ' => 'نم',
- 'ﳖ' => 'نه',
- 'ﳗ' => 'هج',
- 'ﳘ' => 'هم',
- 'ﳙ' => 'هٰ',
- 'ﳚ' => 'يج',
- 'ﳛ' => 'يح',
- 'ﳜ' => 'يخ',
- 'ﳝ' => 'يم',
- 'ﳞ' => 'يه',
- 'ﳟ' => 'ئم',
- 'ﳠ' => 'ئه',
- 'ﳡ' => 'بم',
- 'ﳢ' => 'به',
- 'ﳣ' => 'تم',
- 'ﳤ' => 'ته',
- 'ﳥ' => 'ثم',
- 'ﳦ' => 'ثه',
- 'ﳧ' => 'سم',
- 'ﳨ' => 'سه',
- 'ﳩ' => 'شم',
- 'ﳪ' => 'شه',
- 'ﳫ' => 'كل',
- 'ﳬ' => 'كم',
- 'ﳭ' => 'لم',
- 'ﳮ' => 'نم',
- 'ﳯ' => 'نه',
- 'ﳰ' => 'يم',
- 'ﳱ' => 'يه',
- 'ﳲ' => 'ـَّ',
- 'ﳳ' => 'ـُّ',
- 'ﳴ' => 'ـِّ',
- 'ﳵ' => 'طى',
- 'ﳶ' => 'طي',
- 'ﳷ' => 'عى',
- 'ﳸ' => 'عي',
- 'ﳹ' => 'غى',
- 'ﳺ' => 'غي',
- 'ﳻ' => 'سى',
- 'ﳼ' => 'سي',
- 'ﳽ' => 'شى',
- 'ﳾ' => 'شي',
- 'ﳿ' => 'حى',
- 'ﴀ' => 'حي',
- 'ﴁ' => 'جى',
- 'ﴂ' => 'جي',
- 'ﴃ' => 'خى',
- 'ﴄ' => 'خي',
- 'ﴅ' => 'صى',
- 'ﴆ' => 'صي',
- 'ﴇ' => 'ضى',
- 'ﴈ' => 'ضي',
- 'ﴉ' => 'شج',
- 'ﴊ' => 'شح',
- 'ﴋ' => 'شخ',
- 'ﴌ' => 'شم',
- 'ﴍ' => 'شر',
- 'ﴎ' => 'سر',
- 'ﴏ' => 'صر',
- 'ﴐ' => 'ضر',
- 'ﴑ' => 'طى',
- 'ﴒ' => 'طي',
- 'ﴓ' => 'عى',
- 'ﴔ' => 'عي',
- 'ﴕ' => 'غى',
- 'ﴖ' => 'غي',
- 'ﴗ' => 'سى',
- 'ﴘ' => 'سي',
- 'ﴙ' => 'شى',
- 'ﴚ' => 'شي',
- 'ﴛ' => 'حى',
- 'ﴜ' => 'حي',
- 'ﴝ' => 'جى',
- 'ﴞ' => 'جي',
- 'ﴟ' => 'خى',
- 'ﴠ' => 'خي',
- 'ﴡ' => 'صى',
- 'ﴢ' => 'صي',
- 'ﴣ' => 'ضى',
- 'ﴤ' => 'ضي',
- 'ﴥ' => 'شج',
- 'ﴦ' => 'شح',
- 'ﴧ' => 'شخ',
- 'ﴨ' => 'شم',
- 'ﴩ' => 'شر',
- 'ﴪ' => 'سر',
- 'ﴫ' => 'صر',
- 'ﴬ' => 'ضر',
- 'ﴭ' => 'شج',
- 'ﴮ' => 'شح',
- 'ﴯ' => 'شخ',
- 'ﴰ' => 'شم',
- 'ﴱ' => 'سه',
- 'ﴲ' => 'شه',
- 'ﴳ' => 'طم',
- 'ﴴ' => 'سج',
- 'ﴵ' => 'سح',
- 'ﴶ' => 'سخ',
- 'ﴷ' => 'شج',
- 'ﴸ' => 'شح',
- 'ﴹ' => 'شخ',
- 'ﴺ' => 'طم',
- 'ﴻ' => 'ظم',
- 'ﴼ' => 'اً',
- 'ﴽ' => 'اً',
- 'ﵐ' => 'تجم',
- 'ﵑ' => 'تحج',
- 'ﵒ' => 'تحج',
- 'ﵓ' => 'تحم',
- 'ﵔ' => 'تخم',
- 'ﵕ' => 'تمج',
- 'ﵖ' => 'تمح',
- 'ﵗ' => 'تمخ',
- 'ﵘ' => 'جمح',
- 'ﵙ' => 'جمح',
- 'ﵚ' => 'حمي',
- 'ﵛ' => 'حمى',
- 'ﵜ' => 'سحج',
- 'ﵝ' => 'سجح',
- 'ﵞ' => 'سجى',
- 'ﵟ' => 'سمح',
- 'ﵠ' => 'سمح',
- 'ﵡ' => 'سمج',
- 'ﵢ' => 'سمم',
- 'ﵣ' => 'سمم',
- 'ﵤ' => 'صحح',
- 'ﵥ' => 'صحح',
- 'ﵦ' => 'صمم',
- 'ﵧ' => 'شحم',
- 'ﵨ' => 'شحم',
- 'ﵩ' => 'شجي',
- 'ﵪ' => 'شمخ',
- 'ﵫ' => 'شمخ',
- 'ﵬ' => 'شمم',
- 'ﵭ' => 'شمم',
- 'ﵮ' => 'ضحى',
- 'ﵯ' => 'ضخم',
- 'ﵰ' => 'ضخم',
- 'ﵱ' => 'طمح',
- 'ﵲ' => 'طمح',
- 'ﵳ' => 'طمم',
- 'ﵴ' => 'طمي',
- 'ﵵ' => 'عجم',
- 'ﵶ' => 'عمم',
- 'ﵷ' => 'عمم',
- 'ﵸ' => 'عمى',
- 'ﵹ' => 'غمم',
- 'ﵺ' => 'غمي',
- 'ﵻ' => 'غمى',
- 'ﵼ' => 'فخم',
- 'ﵽ' => 'فخم',
- 'ﵾ' => 'قمح',
- 'ﵿ' => 'قمم',
- 'ﶀ' => 'لحم',
- 'ﶁ' => 'لحي',
- 'ﶂ' => 'لحى',
- 'ﶃ' => 'لجج',
- 'ﶄ' => 'لجج',
- 'ﶅ' => 'لخم',
- 'ﶆ' => 'لخم',
- 'ﶇ' => 'لمح',
- 'ﶈ' => 'لمح',
- 'ﶉ' => 'محج',
- 'ﶊ' => 'محم',
- 'ﶋ' => 'محي',
- 'ﶌ' => 'مجح',
- 'ﶍ' => 'مجم',
- 'ﶎ' => 'مخج',
- 'ﶏ' => 'مخم',
- 'ﶒ' => 'مجخ',
- 'ﶓ' => 'همج',
- 'ﶔ' => 'همم',
- 'ﶕ' => 'نحم',
- 'ﶖ' => 'نحى',
- 'ﶗ' => 'نجم',
- 'ﶘ' => 'نجم',
- 'ﶙ' => 'نجى',
- 'ﶚ' => 'نمي',
- 'ﶛ' => 'نمى',
- 'ﶜ' => 'يمم',
- 'ﶝ' => 'يمم',
- 'ﶞ' => 'بخي',
- 'ﶟ' => 'تجي',
- 'ﶠ' => 'تجى',
- 'ﶡ' => 'تخي',
- 'ﶢ' => 'تخى',
- 'ﶣ' => 'تمي',
- 'ﶤ' => 'تمى',
- 'ﶥ' => 'جمي',
- 'ﶦ' => 'جحى',
- 'ﶧ' => 'جمى',
- 'ﶨ' => 'سخى',
- 'ﶩ' => 'صحي',
- 'ﶪ' => 'شحي',
- 'ﶫ' => 'ضحي',
- 'ﶬ' => 'لجي',
- 'ﶭ' => 'لمي',
- 'ﶮ' => 'يحي',
- 'ﶯ' => 'يجي',
- 'ﶰ' => 'يمي',
- 'ﶱ' => 'ممي',
- 'ﶲ' => 'قمي',
- 'ﶳ' => 'نحي',
- 'ﶴ' => 'قمح',
- 'ﶵ' => 'لحم',
- 'ﶶ' => 'عمي',
- 'ﶷ' => 'كمي',
- 'ﶸ' => 'نجح',
- 'ﶹ' => 'مخي',
- 'ﶺ' => 'لجم',
- 'ﶻ' => 'كمم',
- 'ﶼ' => 'لجم',
- 'ﶽ' => 'نجح',
- 'ﶾ' => 'جحي',
- 'ﶿ' => 'حجي',
- 'ﷀ' => 'مجي',
- 'ﷁ' => 'فمي',
- 'ﷂ' => 'بحي',
- 'ﷃ' => 'كمم',
- 'ﷄ' => 'عجم',
- 'ﷅ' => 'صمم',
- 'ﷆ' => 'سخي',
- 'ﷇ' => 'نجي',
- 'ﷰ' => 'صلے',
- 'ﷱ' => 'قلے',
- 'ﷲ' => 'الله',
- 'ﷳ' => 'اكبر',
- 'ﷴ' => 'محمد',
- 'ﷵ' => 'صلعم',
- 'ﷶ' => 'رسول',
- 'ﷷ' => 'عليه',
- 'ﷸ' => 'وسلم',
- 'ﷹ' => 'صلى',
- 'ﷺ' => 'صلى الله عليه وسلم',
- 'ﷻ' => 'جل جلاله',
- '﷼' => 'ریال',
- '︐' => ',',
- '︑' => '、',
- '︒' => '。',
- '︓' => ':',
- '︔' => ';',
- '︕' => '!',
- '︖' => '?',
- '︗' => '〖',
- '︘' => '〗',
- '︙' => '...',
- '︰' => '..',
- '︱' => '—',
- '︲' => '–',
- '︳' => '_',
- '︴' => '_',
- '︵' => '(',
- '︶' => ')',
- '︷' => '{',
- '︸' => '}',
- '︹' => '〔',
- '︺' => '〕',
- '︻' => '【',
- '︼' => '】',
- '︽' => '《',
- '︾' => '》',
- '︿' => '〈',
- '﹀' => '〉',
- '﹁' => '「',
- '﹂' => '」',
- '﹃' => '『',
- '﹄' => '』',
- '﹇' => '[',
- '﹈' => ']',
- '﹉' => ' ̅',
- '﹊' => ' ̅',
- '﹋' => ' ̅',
- '﹌' => ' ̅',
- '﹍' => '_',
- '﹎' => '_',
- '﹏' => '_',
- '﹐' => ',',
- '﹑' => '、',
- '﹒' => '.',
- '﹔' => ';',
- '﹕' => ':',
- '﹖' => '?',
- '﹗' => '!',
- '﹘' => '—',
- '﹙' => '(',
- '﹚' => ')',
- '﹛' => '{',
- '﹜' => '}',
- '﹝' => '〔',
- '﹞' => '〕',
- '﹟' => '#',
- '﹠' => '&',
- '﹡' => '*',
- '﹢' => '+',
- '﹣' => '-',
- '﹤' => '<',
- '﹥' => '>',
- '﹦' => '=',
- '﹨' => '\\',
- '﹩' => '$',
- '﹪' => '%',
- '﹫' => '@',
- 'ﹰ' => ' ً',
- 'ﹱ' => 'ـً',
- 'ﹲ' => ' ٌ',
- 'ﹴ' => ' ٍ',
- 'ﹶ' => ' َ',
- 'ﹷ' => 'ـَ',
- 'ﹸ' => ' ُ',
- 'ﹹ' => 'ـُ',
- 'ﹺ' => ' ِ',
- 'ﹻ' => 'ـِ',
- 'ﹼ' => ' ّ',
- 'ﹽ' => 'ـّ',
- 'ﹾ' => ' ْ',
- 'ﹿ' => 'ـْ',
- 'ﺀ' => 'ء',
- 'ﺁ' => 'آ',
- 'ﺂ' => 'آ',
- 'ﺃ' => 'أ',
- 'ﺄ' => 'أ',
- 'ﺅ' => 'ؤ',
- 'ﺆ' => 'ؤ',
- 'ﺇ' => 'إ',
- 'ﺈ' => 'إ',
- 'ﺉ' => 'ئ',
- 'ﺊ' => 'ئ',
- 'ﺋ' => 'ئ',
- 'ﺌ' => 'ئ',
- 'ﺍ' => 'ا',
- 'ﺎ' => 'ا',
- 'ﺏ' => 'ب',
- 'ﺐ' => 'ب',
- 'ﺑ' => 'ب',
- 'ﺒ' => 'ب',
- 'ﺓ' => 'ة',
- 'ﺔ' => 'ة',
- 'ﺕ' => 'ت',
- 'ﺖ' => 'ت',
- 'ﺗ' => 'ت',
- 'ﺘ' => 'ت',
- 'ﺙ' => 'ث',
- 'ﺚ' => 'ث',
- 'ﺛ' => 'ث',
- 'ﺜ' => 'ث',
- 'ﺝ' => 'ج',
- 'ﺞ' => 'ج',
- 'ﺟ' => 'ج',
- 'ﺠ' => 'ج',
- 'ﺡ' => 'ح',
- 'ﺢ' => 'ح',
- 'ﺣ' => 'ح',
- 'ﺤ' => 'ح',
- 'ﺥ' => 'خ',
- 'ﺦ' => 'خ',
- 'ﺧ' => 'خ',
- 'ﺨ' => 'خ',
- 'ﺩ' => 'د',
- 'ﺪ' => 'د',
- 'ﺫ' => 'ذ',
- 'ﺬ' => 'ذ',
- 'ﺭ' => 'ر',
- 'ﺮ' => 'ر',
- 'ﺯ' => 'ز',
- 'ﺰ' => 'ز',
- 'ﺱ' => 'س',
- 'ﺲ' => 'س',
- 'ﺳ' => 'س',
- 'ﺴ' => 'س',
- 'ﺵ' => 'ش',
- 'ﺶ' => 'ش',
- 'ﺷ' => 'ش',
- 'ﺸ' => 'ش',
- 'ﺹ' => 'ص',
- 'ﺺ' => 'ص',
- 'ﺻ' => 'ص',
- 'ﺼ' => 'ص',
- 'ﺽ' => 'ض',
- 'ﺾ' => 'ض',
- 'ﺿ' => 'ض',
- 'ﻀ' => 'ض',
- 'ﻁ' => 'ط',
- 'ﻂ' => 'ط',
- 'ﻃ' => 'ط',
- 'ﻄ' => 'ط',
- 'ﻅ' => 'ظ',
- 'ﻆ' => 'ظ',
- 'ﻇ' => 'ظ',
- 'ﻈ' => 'ظ',
- 'ﻉ' => 'ع',
- 'ﻊ' => 'ع',
- 'ﻋ' => 'ع',
- 'ﻌ' => 'ع',
- 'ﻍ' => 'غ',
- 'ﻎ' => 'غ',
- 'ﻏ' => 'غ',
- 'ﻐ' => 'غ',
- 'ﻑ' => 'ف',
- 'ﻒ' => 'ف',
- 'ﻓ' => 'ف',
- 'ﻔ' => 'ف',
- 'ﻕ' => 'ق',
- 'ﻖ' => 'ق',
- 'ﻗ' => 'ق',
- 'ﻘ' => 'ق',
- 'ﻙ' => 'ك',
- 'ﻚ' => 'ك',
- 'ﻛ' => 'ك',
- 'ﻜ' => 'ك',
- 'ﻝ' => 'ل',
- 'ﻞ' => 'ل',
- 'ﻟ' => 'ل',
- 'ﻠ' => 'ل',
- 'ﻡ' => 'م',
- 'ﻢ' => 'م',
- 'ﻣ' => 'م',
- 'ﻤ' => 'م',
- 'ﻥ' => 'ن',
- 'ﻦ' => 'ن',
- 'ﻧ' => 'ن',
- 'ﻨ' => 'ن',
- 'ﻩ' => 'ه',
- 'ﻪ' => 'ه',
- 'ﻫ' => 'ه',
- 'ﻬ' => 'ه',
- 'ﻭ' => 'و',
- 'ﻮ' => 'و',
- 'ﻯ' => 'ى',
- 'ﻰ' => 'ى',
- 'ﻱ' => 'ي',
- 'ﻲ' => 'ي',
- 'ﻳ' => 'ي',
- 'ﻴ' => 'ي',
- 'ﻵ' => 'لآ',
- 'ﻶ' => 'لآ',
- 'ﻷ' => 'لأ',
- 'ﻸ' => 'لأ',
- 'ﻹ' => 'لإ',
- 'ﻺ' => 'لإ',
- 'ﻻ' => 'لا',
- 'ﻼ' => 'لا',
- '!' => '!',
- '"' => '"',
- '#' => '#',
- '$' => '$',
- '%' => '%',
- '&' => '&',
- ''' => '\'',
- '(' => '(',
- ')' => ')',
- '*' => '*',
- '+' => '+',
- ',' => ',',
- '-' => '-',
- '.' => '.',
- '/' => '/',
- '0' => '0',
- '1' => '1',
- '2' => '2',
- '3' => '3',
- '4' => '4',
- '5' => '5',
- '6' => '6',
- '7' => '7',
- '8' => '8',
- '9' => '9',
- ':' => ':',
- ';' => ';',
- '<' => '<',
- '=' => '=',
- '>' => '>',
- '?' => '?',
- '@' => '@',
- 'A' => 'A',
- 'B' => 'B',
- 'C' => 'C',
- 'D' => 'D',
- 'E' => 'E',
- 'F' => 'F',
- 'G' => 'G',
- 'H' => 'H',
- 'I' => 'I',
- 'J' => 'J',
- 'K' => 'K',
- 'L' => 'L',
- 'M' => 'M',
- 'N' => 'N',
- 'O' => 'O',
- 'P' => 'P',
- 'Q' => 'Q',
- 'R' => 'R',
- 'S' => 'S',
- 'T' => 'T',
- 'U' => 'U',
- 'V' => 'V',
- 'W' => 'W',
- 'X' => 'X',
- 'Y' => 'Y',
- 'Z' => 'Z',
- '[' => '[',
- '\' => '\\',
- ']' => ']',
- '^' => '^',
- '_' => '_',
- '`' => '`',
- 'a' => 'a',
- 'b' => 'b',
- 'c' => 'c',
- 'd' => 'd',
- 'e' => 'e',
- 'f' => 'f',
- 'g' => 'g',
- 'h' => 'h',
- 'i' => 'i',
- 'j' => 'j',
- 'k' => 'k',
- 'l' => 'l',
- 'm' => 'm',
- 'n' => 'n',
- 'o' => 'o',
- 'p' => 'p',
- 'q' => 'q',
- 'r' => 'r',
- 's' => 's',
- 't' => 't',
- 'u' => 'u',
- 'v' => 'v',
- 'w' => 'w',
- 'x' => 'x',
- 'y' => 'y',
- 'z' => 'z',
- '{' => '{',
- '|' => '|',
- '}' => '}',
- '~' => '~',
- '⦅' => '⦅',
- '⦆' => '⦆',
- '。' => '。',
- '「' => '「',
- '」' => '」',
- '、' => '、',
- '・' => '・',
- 'ヲ' => 'ヲ',
- 'ァ' => 'ァ',
- 'ィ' => 'ィ',
- 'ゥ' => 'ゥ',
- 'ェ' => 'ェ',
- 'ォ' => 'ォ',
- 'ャ' => 'ャ',
- 'ュ' => 'ュ',
- 'ョ' => 'ョ',
- 'ッ' => 'ッ',
- 'ー' => 'ー',
- 'ア' => 'ア',
- 'イ' => 'イ',
- 'ウ' => 'ウ',
- 'エ' => 'エ',
- 'オ' => 'オ',
- 'カ' => 'カ',
- 'キ' => 'キ',
- 'ク' => 'ク',
- 'ケ' => 'ケ',
- 'コ' => 'コ',
- 'サ' => 'サ',
- 'シ' => 'シ',
- 'ス' => 'ス',
- 'セ' => 'セ',
- 'ソ' => 'ソ',
- 'タ' => 'タ',
- 'チ' => 'チ',
- 'ツ' => 'ツ',
- 'テ' => 'テ',
- 'ト' => 'ト',
- 'ナ' => 'ナ',
- 'ニ' => 'ニ',
- 'ヌ' => 'ヌ',
- 'ネ' => 'ネ',
- 'ノ' => 'ノ',
- 'ハ' => 'ハ',
- 'ヒ' => 'ヒ',
- 'フ' => 'フ',
- 'ヘ' => 'ヘ',
- 'ホ' => 'ホ',
- 'マ' => 'マ',
- 'ミ' => 'ミ',
- 'ム' => 'ム',
- 'メ' => 'メ',
- 'モ' => 'モ',
- 'ヤ' => 'ヤ',
- 'ユ' => 'ユ',
- 'ヨ' => 'ヨ',
- 'ラ' => 'ラ',
- 'リ' => 'リ',
- 'ル' => 'ル',
- 'レ' => 'レ',
- 'ロ' => 'ロ',
- 'ワ' => 'ワ',
- 'ン' => 'ン',
- '゙' => '゙',
- '゚' => '゚',
- 'ᅠ' => 'ᅠ',
- 'ᄀ' => 'ᄀ',
- 'ᄁ' => 'ᄁ',
- 'ᆪ' => 'ᆪ',
- 'ᄂ' => 'ᄂ',
- 'ᆬ' => 'ᆬ',
- 'ᆭ' => 'ᆭ',
- 'ᄃ' => 'ᄃ',
- 'ᄄ' => 'ᄄ',
- 'ᄅ' => 'ᄅ',
- 'ᆰ' => 'ᆰ',
- 'ᆱ' => 'ᆱ',
- 'ᆲ' => 'ᆲ',
- 'ᆳ' => 'ᆳ',
- 'ᆴ' => 'ᆴ',
- 'ᆵ' => 'ᆵ',
- 'ᄚ' => 'ᄚ',
- 'ᄆ' => 'ᄆ',
- 'ᄇ' => 'ᄇ',
- 'ᄈ' => 'ᄈ',
- 'ᄡ' => 'ᄡ',
- 'ᄉ' => 'ᄉ',
- 'ᄊ' => 'ᄊ',
- 'ᄋ' => 'ᄋ',
- 'ᄌ' => 'ᄌ',
- 'ᄍ' => 'ᄍ',
- 'ᄎ' => 'ᄎ',
- 'ᄏ' => 'ᄏ',
- 'ᄐ' => 'ᄐ',
- 'ᄑ' => 'ᄑ',
- 'ᄒ' => 'ᄒ',
- 'ᅡ' => 'ᅡ',
- 'ᅢ' => 'ᅢ',
- 'ᅣ' => 'ᅣ',
- 'ᅤ' => 'ᅤ',
- 'ᅥ' => 'ᅥ',
- 'ᅦ' => 'ᅦ',
- 'ᅧ' => 'ᅧ',
- 'ᅨ' => 'ᅨ',
- 'ᅩ' => 'ᅩ',
- 'ᅪ' => 'ᅪ',
- 'ᅫ' => 'ᅫ',
- 'ᅬ' => 'ᅬ',
- 'ᅭ' => 'ᅭ',
- 'ᅮ' => 'ᅮ',
- 'ᅯ' => 'ᅯ',
- 'ᅰ' => 'ᅰ',
- 'ᅱ' => 'ᅱ',
- 'ᅲ' => 'ᅲ',
- 'ᅳ' => 'ᅳ',
- 'ᅴ' => 'ᅴ',
- 'ᅵ' => 'ᅵ',
- '¢' => '¢',
- '£' => '£',
- '¬' => '¬',
- ' ̄' => ' ̄',
- '¦' => '¦',
- '¥' => '¥',
- '₩' => '₩',
- '│' => '│',
- '←' => '←',
- '↑' => '↑',
- '→' => '→',
- '↓' => '↓',
- '■' => '■',
- '○' => '○',
- '𝐀' => 'A',
- '𝐁' => 'B',
- '𝐂' => 'C',
- '𝐃' => 'D',
- '𝐄' => 'E',
- '𝐅' => 'F',
- '𝐆' => 'G',
- '𝐇' => 'H',
- '𝐈' => 'I',
- '𝐉' => 'J',
- '𝐊' => 'K',
- '𝐋' => 'L',
- '𝐌' => 'M',
- '𝐍' => 'N',
- '𝐎' => 'O',
- '𝐏' => 'P',
- '𝐐' => 'Q',
- '𝐑' => 'R',
- '𝐒' => 'S',
- '𝐓' => 'T',
- '𝐔' => 'U',
- '𝐕' => 'V',
- '𝐖' => 'W',
- '𝐗' => 'X',
- '𝐘' => 'Y',
- '𝐙' => 'Z',
- '𝐚' => 'a',
- '𝐛' => 'b',
- '𝐜' => 'c',
- '𝐝' => 'd',
- '𝐞' => 'e',
- '𝐟' => 'f',
- '𝐠' => 'g',
- '𝐡' => 'h',
- '𝐢' => 'i',
- '𝐣' => 'j',
- '𝐤' => 'k',
- '𝐥' => 'l',
- '𝐦' => 'm',
- '𝐧' => 'n',
- '𝐨' => 'o',
- '𝐩' => 'p',
- '𝐪' => 'q',
- '𝐫' => 'r',
- '𝐬' => 's',
- '𝐭' => 't',
- '𝐮' => 'u',
- '𝐯' => 'v',
- '𝐰' => 'w',
- '𝐱' => 'x',
- '𝐲' => 'y',
- '𝐳' => 'z',
- '𝐴' => 'A',
- '𝐵' => 'B',
- '𝐶' => 'C',
- '𝐷' => 'D',
- '𝐸' => 'E',
- '𝐹' => 'F',
- '𝐺' => 'G',
- '𝐻' => 'H',
- '𝐼' => 'I',
- '𝐽' => 'J',
- '𝐾' => 'K',
- '𝐿' => 'L',
- '𝑀' => 'M',
- '𝑁' => 'N',
- '𝑂' => 'O',
- '𝑃' => 'P',
- '𝑄' => 'Q',
- '𝑅' => 'R',
- '𝑆' => 'S',
- '𝑇' => 'T',
- '𝑈' => 'U',
- '𝑉' => 'V',
- '𝑊' => 'W',
- '𝑋' => 'X',
- '𝑌' => 'Y',
- '𝑍' => 'Z',
- '𝑎' => 'a',
- '𝑏' => 'b',
- '𝑐' => 'c',
- '𝑑' => 'd',
- '𝑒' => 'e',
- '𝑓' => 'f',
- '𝑔' => 'g',
- '𝑖' => 'i',
- '𝑗' => 'j',
- '𝑘' => 'k',
- '𝑙' => 'l',
- '𝑚' => 'm',
- '𝑛' => 'n',
- '𝑜' => 'o',
- '𝑝' => 'p',
- '𝑞' => 'q',
- '𝑟' => 'r',
- '𝑠' => 's',
- '𝑡' => 't',
- '𝑢' => 'u',
- '𝑣' => 'v',
- '𝑤' => 'w',
- '𝑥' => 'x',
- '𝑦' => 'y',
- '𝑧' => 'z',
- '𝑨' => 'A',
- '𝑩' => 'B',
- '𝑪' => 'C',
- '𝑫' => 'D',
- '𝑬' => 'E',
- '𝑭' => 'F',
- '𝑮' => 'G',
- '𝑯' => 'H',
- '𝑰' => 'I',
- '𝑱' => 'J',
- '𝑲' => 'K',
- '𝑳' => 'L',
- '𝑴' => 'M',
- '𝑵' => 'N',
- '𝑶' => 'O',
- '𝑷' => 'P',
- '𝑸' => 'Q',
- '𝑹' => 'R',
- '𝑺' => 'S',
- '𝑻' => 'T',
- '𝑼' => 'U',
- '𝑽' => 'V',
- '𝑾' => 'W',
- '𝑿' => 'X',
- '𝒀' => 'Y',
- '𝒁' => 'Z',
- '𝒂' => 'a',
- '𝒃' => 'b',
- '𝒄' => 'c',
- '𝒅' => 'd',
- '𝒆' => 'e',
- '𝒇' => 'f',
- '𝒈' => 'g',
- '𝒉' => 'h',
- '𝒊' => 'i',
- '𝒋' => 'j',
- '𝒌' => 'k',
- '𝒍' => 'l',
- '𝒎' => 'm',
- '𝒏' => 'n',
- '𝒐' => 'o',
- '𝒑' => 'p',
- '𝒒' => 'q',
- '𝒓' => 'r',
- '𝒔' => 's',
- '𝒕' => 't',
- '𝒖' => 'u',
- '𝒗' => 'v',
- '𝒘' => 'w',
- '𝒙' => 'x',
- '𝒚' => 'y',
- '𝒛' => 'z',
- '𝒜' => 'A',
- '𝒞' => 'C',
- '𝒟' => 'D',
- '𝒢' => 'G',
- '𝒥' => 'J',
- '𝒦' => 'K',
- '𝒩' => 'N',
- '𝒪' => 'O',
- '𝒫' => 'P',
- '𝒬' => 'Q',
- '𝒮' => 'S',
- '𝒯' => 'T',
- '𝒰' => 'U',
- '𝒱' => 'V',
- '𝒲' => 'W',
- '𝒳' => 'X',
- '𝒴' => 'Y',
- '𝒵' => 'Z',
- '𝒶' => 'a',
- '𝒷' => 'b',
- '𝒸' => 'c',
- '𝒹' => 'd',
- '𝒻' => 'f',
- '𝒽' => 'h',
- '𝒾' => 'i',
- '𝒿' => 'j',
- '𝓀' => 'k',
- '𝓁' => 'l',
- '𝓂' => 'm',
- '𝓃' => 'n',
- '𝓅' => 'p',
- '𝓆' => 'q',
- '𝓇' => 'r',
- '𝓈' => 's',
- '𝓉' => 't',
- '𝓊' => 'u',
- '𝓋' => 'v',
- '𝓌' => 'w',
- '𝓍' => 'x',
- '𝓎' => 'y',
- '𝓏' => 'z',
- '𝓐' => 'A',
- '𝓑' => 'B',
- '𝓒' => 'C',
- '𝓓' => 'D',
- '𝓔' => 'E',
- '𝓕' => 'F',
- '𝓖' => 'G',
- '𝓗' => 'H',
- '𝓘' => 'I',
- '𝓙' => 'J',
- '𝓚' => 'K',
- '𝓛' => 'L',
- '𝓜' => 'M',
- '𝓝' => 'N',
- '𝓞' => 'O',
- '𝓟' => 'P',
- '𝓠' => 'Q',
- '𝓡' => 'R',
- '𝓢' => 'S',
- '𝓣' => 'T',
- '𝓤' => 'U',
- '𝓥' => 'V',
- '𝓦' => 'W',
- '𝓧' => 'X',
- '𝓨' => 'Y',
- '𝓩' => 'Z',
- '𝓪' => 'a',
- '𝓫' => 'b',
- '𝓬' => 'c',
- '𝓭' => 'd',
- '𝓮' => 'e',
- '𝓯' => 'f',
- '𝓰' => 'g',
- '𝓱' => 'h',
- '𝓲' => 'i',
- '𝓳' => 'j',
- '𝓴' => 'k',
- '𝓵' => 'l',
- '𝓶' => 'm',
- '𝓷' => 'n',
- '𝓸' => 'o',
- '𝓹' => 'p',
- '𝓺' => 'q',
- '𝓻' => 'r',
- '𝓼' => 's',
- '𝓽' => 't',
- '𝓾' => 'u',
- '𝓿' => 'v',
- '𝔀' => 'w',
- '𝔁' => 'x',
- '𝔂' => 'y',
- '𝔃' => 'z',
- '𝔄' => 'A',
- '𝔅' => 'B',
- '𝔇' => 'D',
- '𝔈' => 'E',
- '𝔉' => 'F',
- '𝔊' => 'G',
- '𝔍' => 'J',
- '𝔎' => 'K',
- '𝔏' => 'L',
- '𝔐' => 'M',
- '𝔑' => 'N',
- '𝔒' => 'O',
- '𝔓' => 'P',
- '𝔔' => 'Q',
- '𝔖' => 'S',
- '𝔗' => 'T',
- '𝔘' => 'U',
- '𝔙' => 'V',
- '𝔚' => 'W',
- '𝔛' => 'X',
- '𝔜' => 'Y',
- '𝔞' => 'a',
- '𝔟' => 'b',
- '𝔠' => 'c',
- '𝔡' => 'd',
- '𝔢' => 'e',
- '𝔣' => 'f',
- '𝔤' => 'g',
- '𝔥' => 'h',
- '𝔦' => 'i',
- '𝔧' => 'j',
- '𝔨' => 'k',
- '𝔩' => 'l',
- '𝔪' => 'm',
- '𝔫' => 'n',
- '𝔬' => 'o',
- '𝔭' => 'p',
- '𝔮' => 'q',
- '𝔯' => 'r',
- '𝔰' => 's',
- '𝔱' => 't',
- '𝔲' => 'u',
- '𝔳' => 'v',
- '𝔴' => 'w',
- '𝔵' => 'x',
- '𝔶' => 'y',
- '𝔷' => 'z',
- '𝔸' => 'A',
- '𝔹' => 'B',
- '𝔻' => 'D',
- '𝔼' => 'E',
- '𝔽' => 'F',
- '𝔾' => 'G',
- '𝕀' => 'I',
- '𝕁' => 'J',
- '𝕂' => 'K',
- '𝕃' => 'L',
- '𝕄' => 'M',
- '𝕆' => 'O',
- '𝕊' => 'S',
- '𝕋' => 'T',
- '𝕌' => 'U',
- '𝕍' => 'V',
- '𝕎' => 'W',
- '𝕏' => 'X',
- '𝕐' => 'Y',
- '𝕒' => 'a',
- '𝕓' => 'b',
- '𝕔' => 'c',
- '𝕕' => 'd',
- '𝕖' => 'e',
- '𝕗' => 'f',
- '𝕘' => 'g',
- '𝕙' => 'h',
- '𝕚' => 'i',
- '𝕛' => 'j',
- '𝕜' => 'k',
- '𝕝' => 'l',
- '𝕞' => 'm',
- '𝕟' => 'n',
- '𝕠' => 'o',
- '𝕡' => 'p',
- '𝕢' => 'q',
- '𝕣' => 'r',
- '𝕤' => 's',
- '𝕥' => 't',
- '𝕦' => 'u',
- '𝕧' => 'v',
- '𝕨' => 'w',
- '𝕩' => 'x',
- '𝕪' => 'y',
- '𝕫' => 'z',
- '𝕬' => 'A',
- '𝕭' => 'B',
- '𝕮' => 'C',
- '𝕯' => 'D',
- '𝕰' => 'E',
- '𝕱' => 'F',
- '𝕲' => 'G',
- '𝕳' => 'H',
- '𝕴' => 'I',
- '𝕵' => 'J',
- '𝕶' => 'K',
- '𝕷' => 'L',
- '𝕸' => 'M',
- '𝕹' => 'N',
- '𝕺' => 'O',
- '𝕻' => 'P',
- '𝕼' => 'Q',
- '𝕽' => 'R',
- '𝕾' => 'S',
- '𝕿' => 'T',
- '𝖀' => 'U',
- '𝖁' => 'V',
- '𝖂' => 'W',
- '𝖃' => 'X',
- '𝖄' => 'Y',
- '𝖅' => 'Z',
- '𝖆' => 'a',
- '𝖇' => 'b',
- '𝖈' => 'c',
- '𝖉' => 'd',
- '𝖊' => 'e',
- '𝖋' => 'f',
- '𝖌' => 'g',
- '𝖍' => 'h',
- '𝖎' => 'i',
- '𝖏' => 'j',
- '𝖐' => 'k',
- '𝖑' => 'l',
- '𝖒' => 'm',
- '𝖓' => 'n',
- '𝖔' => 'o',
- '𝖕' => 'p',
- '𝖖' => 'q',
- '𝖗' => 'r',
- '𝖘' => 's',
- '𝖙' => 't',
- '𝖚' => 'u',
- '𝖛' => 'v',
- '𝖜' => 'w',
- '𝖝' => 'x',
- '𝖞' => 'y',
- '𝖟' => 'z',
- '𝖠' => 'A',
- '𝖡' => 'B',
- '𝖢' => 'C',
- '𝖣' => 'D',
- '𝖤' => 'E',
- '𝖥' => 'F',
- '𝖦' => 'G',
- '𝖧' => 'H',
- '𝖨' => 'I',
- '𝖩' => 'J',
- '𝖪' => 'K',
- '𝖫' => 'L',
- '𝖬' => 'M',
- '𝖭' => 'N',
- '𝖮' => 'O',
- '𝖯' => 'P',
- '𝖰' => 'Q',
- '𝖱' => 'R',
- '𝖲' => 'S',
- '𝖳' => 'T',
- '𝖴' => 'U',
- '𝖵' => 'V',
- '𝖶' => 'W',
- '𝖷' => 'X',
- '𝖸' => 'Y',
- '𝖹' => 'Z',
- '𝖺' => 'a',
- '𝖻' => 'b',
- '𝖼' => 'c',
- '𝖽' => 'd',
- '𝖾' => 'e',
- '𝖿' => 'f',
- '𝗀' => 'g',
- '𝗁' => 'h',
- '𝗂' => 'i',
- '𝗃' => 'j',
- '𝗄' => 'k',
- '𝗅' => 'l',
- '𝗆' => 'm',
- '𝗇' => 'n',
- '𝗈' => 'o',
- '𝗉' => 'p',
- '𝗊' => 'q',
- '𝗋' => 'r',
- '𝗌' => 's',
- '𝗍' => 't',
- '𝗎' => 'u',
- '𝗏' => 'v',
- '𝗐' => 'w',
- '𝗑' => 'x',
- '𝗒' => 'y',
- '𝗓' => 'z',
- '𝗔' => 'A',
- '𝗕' => 'B',
- '𝗖' => 'C',
- '𝗗' => 'D',
- '𝗘' => 'E',
- '𝗙' => 'F',
- '𝗚' => 'G',
- '𝗛' => 'H',
- '𝗜' => 'I',
- '𝗝' => 'J',
- '𝗞' => 'K',
- '𝗟' => 'L',
- '𝗠' => 'M',
- '𝗡' => 'N',
- '𝗢' => 'O',
- '𝗣' => 'P',
- '𝗤' => 'Q',
- '𝗥' => 'R',
- '𝗦' => 'S',
- '𝗧' => 'T',
- '𝗨' => 'U',
- '𝗩' => 'V',
- '𝗪' => 'W',
- '𝗫' => 'X',
- '𝗬' => 'Y',
- '𝗭' => 'Z',
- '𝗮' => 'a',
- '𝗯' => 'b',
- '𝗰' => 'c',
- '𝗱' => 'd',
- '𝗲' => 'e',
- '𝗳' => 'f',
- '𝗴' => 'g',
- '𝗵' => 'h',
- '𝗶' => 'i',
- '𝗷' => 'j',
- '𝗸' => 'k',
- '𝗹' => 'l',
- '𝗺' => 'm',
- '𝗻' => 'n',
- '𝗼' => 'o',
- '𝗽' => 'p',
- '𝗾' => 'q',
- '𝗿' => 'r',
- '𝘀' => 's',
- '𝘁' => 't',
- '𝘂' => 'u',
- '𝘃' => 'v',
- '𝘄' => 'w',
- '𝘅' => 'x',
- '𝘆' => 'y',
- '𝘇' => 'z',
- '𝘈' => 'A',
- '𝘉' => 'B',
- '𝘊' => 'C',
- '𝘋' => 'D',
- '𝘌' => 'E',
- '𝘍' => 'F',
- '𝘎' => 'G',
- '𝘏' => 'H',
- '𝘐' => 'I',
- '𝘑' => 'J',
- '𝘒' => 'K',
- '𝘓' => 'L',
- '𝘔' => 'M',
- '𝘕' => 'N',
- '𝘖' => 'O',
- '𝘗' => 'P',
- '𝘘' => 'Q',
- '𝘙' => 'R',
- '𝘚' => 'S',
- '𝘛' => 'T',
- '𝘜' => 'U',
- '𝘝' => 'V',
- '𝘞' => 'W',
- '𝘟' => 'X',
- '𝘠' => 'Y',
- '𝘡' => 'Z',
- '𝘢' => 'a',
- '𝘣' => 'b',
- '𝘤' => 'c',
- '𝘥' => 'd',
- '𝘦' => 'e',
- '𝘧' => 'f',
- '𝘨' => 'g',
- '𝘩' => 'h',
- '𝘪' => 'i',
- '𝘫' => 'j',
- '𝘬' => 'k',
- '𝘭' => 'l',
- '𝘮' => 'm',
- '𝘯' => 'n',
- '𝘰' => 'o',
- '𝘱' => 'p',
- '𝘲' => 'q',
- '𝘳' => 'r',
- '𝘴' => 's',
- '𝘵' => 't',
- '𝘶' => 'u',
- '𝘷' => 'v',
- '𝘸' => 'w',
- '𝘹' => 'x',
- '𝘺' => 'y',
- '𝘻' => 'z',
- '𝘼' => 'A',
- '𝘽' => 'B',
- '𝘾' => 'C',
- '𝘿' => 'D',
- '𝙀' => 'E',
- '𝙁' => 'F',
- '𝙂' => 'G',
- '𝙃' => 'H',
- '𝙄' => 'I',
- '𝙅' => 'J',
- '𝙆' => 'K',
- '𝙇' => 'L',
- '𝙈' => 'M',
- '𝙉' => 'N',
- '𝙊' => 'O',
- '𝙋' => 'P',
- '𝙌' => 'Q',
- '𝙍' => 'R',
- '𝙎' => 'S',
- '𝙏' => 'T',
- '𝙐' => 'U',
- '𝙑' => 'V',
- '𝙒' => 'W',
- '𝙓' => 'X',
- '𝙔' => 'Y',
- '𝙕' => 'Z',
- '𝙖' => 'a',
- '𝙗' => 'b',
- '𝙘' => 'c',
- '𝙙' => 'd',
- '𝙚' => 'e',
- '𝙛' => 'f',
- '𝙜' => 'g',
- '𝙝' => 'h',
- '𝙞' => 'i',
- '𝙟' => 'j',
- '𝙠' => 'k',
- '𝙡' => 'l',
- '𝙢' => 'm',
- '𝙣' => 'n',
- '𝙤' => 'o',
- '𝙥' => 'p',
- '𝙦' => 'q',
- '𝙧' => 'r',
- '𝙨' => 's',
- '𝙩' => 't',
- '𝙪' => 'u',
- '𝙫' => 'v',
- '𝙬' => 'w',
- '𝙭' => 'x',
- '𝙮' => 'y',
- '𝙯' => 'z',
- '𝙰' => 'A',
- '𝙱' => 'B',
- '𝙲' => 'C',
- '𝙳' => 'D',
- '𝙴' => 'E',
- '𝙵' => 'F',
- '𝙶' => 'G',
- '𝙷' => 'H',
- '𝙸' => 'I',
- '𝙹' => 'J',
- '𝙺' => 'K',
- '𝙻' => 'L',
- '𝙼' => 'M',
- '𝙽' => 'N',
- '𝙾' => 'O',
- '𝙿' => 'P',
- '𝚀' => 'Q',
- '𝚁' => 'R',
- '𝚂' => 'S',
- '𝚃' => 'T',
- '𝚄' => 'U',
- '𝚅' => 'V',
- '𝚆' => 'W',
- '𝚇' => 'X',
- '𝚈' => 'Y',
- '𝚉' => 'Z',
- '𝚊' => 'a',
- '𝚋' => 'b',
- '𝚌' => 'c',
- '𝚍' => 'd',
- '𝚎' => 'e',
- '𝚏' => 'f',
- '𝚐' => 'g',
- '𝚑' => 'h',
- '𝚒' => 'i',
- '𝚓' => 'j',
- '𝚔' => 'k',
- '𝚕' => 'l',
- '𝚖' => 'm',
- '𝚗' => 'n',
- '𝚘' => 'o',
- '𝚙' => 'p',
- '𝚚' => 'q',
- '𝚛' => 'r',
- '𝚜' => 's',
- '𝚝' => 't',
- '𝚞' => 'u',
- '𝚟' => 'v',
- '𝚠' => 'w',
- '𝚡' => 'x',
- '𝚢' => 'y',
- '𝚣' => 'z',
- '𝚤' => 'ı',
- '𝚥' => 'ȷ',
- '𝚨' => 'Α',
- '𝚩' => 'Β',
- '𝚪' => 'Γ',
- '𝚫' => 'Δ',
- '𝚬' => 'Ε',
- '𝚭' => 'Ζ',
- '𝚮' => 'Η',
- '𝚯' => 'Θ',
- '𝚰' => 'Ι',
- '𝚱' => 'Κ',
- '𝚲' => 'Λ',
- '𝚳' => 'Μ',
- '𝚴' => 'Ν',
- '𝚵' => 'Ξ',
- '𝚶' => 'Ο',
- '𝚷' => 'Π',
- '𝚸' => 'Ρ',
- '𝚹' => 'Θ',
- '𝚺' => 'Σ',
- '𝚻' => 'Τ',
- '𝚼' => 'Υ',
- '𝚽' => 'Φ',
- '𝚾' => 'Χ',
- '𝚿' => 'Ψ',
- '𝛀' => 'Ω',
- '𝛁' => '∇',
- '𝛂' => 'α',
- '𝛃' => 'β',
- '𝛄' => 'γ',
- '𝛅' => 'δ',
- '𝛆' => 'ε',
- '𝛇' => 'ζ',
- '𝛈' => 'η',
- '𝛉' => 'θ',
- '𝛊' => 'ι',
- '𝛋' => 'κ',
- '𝛌' => 'λ',
- '𝛍' => 'μ',
- '𝛎' => 'ν',
- '𝛏' => 'ξ',
- '𝛐' => 'ο',
- '𝛑' => 'π',
- '𝛒' => 'ρ',
- '𝛓' => 'ς',
- '𝛔' => 'σ',
- '𝛕' => 'τ',
- '𝛖' => 'υ',
- '𝛗' => 'φ',
- '𝛘' => 'χ',
- '𝛙' => 'ψ',
- '𝛚' => 'ω',
- '𝛛' => '∂',
- '𝛜' => 'ε',
- '𝛝' => 'θ',
- '𝛞' => 'κ',
- '𝛟' => 'φ',
- '𝛠' => 'ρ',
- '𝛡' => 'π',
- '𝛢' => 'Α',
- '𝛣' => 'Β',
- '𝛤' => 'Γ',
- '𝛥' => 'Δ',
- '𝛦' => 'Ε',
- '𝛧' => 'Ζ',
- '𝛨' => 'Η',
- '𝛩' => 'Θ',
- '𝛪' => 'Ι',
- '𝛫' => 'Κ',
- '𝛬' => 'Λ',
- '𝛭' => 'Μ',
- '𝛮' => 'Ν',
- '𝛯' => 'Ξ',
- '𝛰' => 'Ο',
- '𝛱' => 'Π',
- '𝛲' => 'Ρ',
- '𝛳' => 'Θ',
- '𝛴' => 'Σ',
- '𝛵' => 'Τ',
- '𝛶' => 'Υ',
- '𝛷' => 'Φ',
- '𝛸' => 'Χ',
- '𝛹' => 'Ψ',
- '𝛺' => 'Ω',
- '𝛻' => '∇',
- '𝛼' => 'α',
- '𝛽' => 'β',
- '𝛾' => 'γ',
- '𝛿' => 'δ',
- '𝜀' => 'ε',
- '𝜁' => 'ζ',
- '𝜂' => 'η',
- '𝜃' => 'θ',
- '𝜄' => 'ι',
- '𝜅' => 'κ',
- '𝜆' => 'λ',
- '𝜇' => 'μ',
- '𝜈' => 'ν',
- '𝜉' => 'ξ',
- '𝜊' => 'ο',
- '𝜋' => 'π',
- '𝜌' => 'ρ',
- '𝜍' => 'ς',
- '𝜎' => 'σ',
- '𝜏' => 'τ',
- '𝜐' => 'υ',
- '𝜑' => 'φ',
- '𝜒' => 'χ',
- '𝜓' => 'ψ',
- '𝜔' => 'ω',
- '𝜕' => '∂',
- '𝜖' => 'ε',
- '𝜗' => 'θ',
- '𝜘' => 'κ',
- '𝜙' => 'φ',
- '𝜚' => 'ρ',
- '𝜛' => 'π',
- '𝜜' => 'Α',
- '𝜝' => 'Β',
- '𝜞' => 'Γ',
- '𝜟' => 'Δ',
- '𝜠' => 'Ε',
- '𝜡' => 'Ζ',
- '𝜢' => 'Η',
- '𝜣' => 'Θ',
- '𝜤' => 'Ι',
- '𝜥' => 'Κ',
- '𝜦' => 'Λ',
- '𝜧' => 'Μ',
- '𝜨' => 'Ν',
- '𝜩' => 'Ξ',
- '𝜪' => 'Ο',
- '𝜫' => 'Π',
- '𝜬' => 'Ρ',
- '𝜭' => 'Θ',
- '𝜮' => 'Σ',
- '𝜯' => 'Τ',
- '𝜰' => 'Υ',
- '𝜱' => 'Φ',
- '𝜲' => 'Χ',
- '𝜳' => 'Ψ',
- '𝜴' => 'Ω',
- '𝜵' => '∇',
- '𝜶' => 'α',
- '𝜷' => 'β',
- '𝜸' => 'γ',
- '𝜹' => 'δ',
- '𝜺' => 'ε',
- '𝜻' => 'ζ',
- '𝜼' => 'η',
- '𝜽' => 'θ',
- '𝜾' => 'ι',
- '𝜿' => 'κ',
- '𝝀' => 'λ',
- '𝝁' => 'μ',
- '𝝂' => 'ν',
- '𝝃' => 'ξ',
- '𝝄' => 'ο',
- '𝝅' => 'π',
- '𝝆' => 'ρ',
- '𝝇' => 'ς',
- '𝝈' => 'σ',
- '𝝉' => 'τ',
- '𝝊' => 'υ',
- '𝝋' => 'φ',
- '𝝌' => 'χ',
- '𝝍' => 'ψ',
- '𝝎' => 'ω',
- '𝝏' => '∂',
- '𝝐' => 'ε',
- '𝝑' => 'θ',
- '𝝒' => 'κ',
- '𝝓' => 'φ',
- '𝝔' => 'ρ',
- '𝝕' => 'π',
- '𝝖' => 'Α',
- '𝝗' => 'Β',
- '𝝘' => 'Γ',
- '𝝙' => 'Δ',
- '𝝚' => 'Ε',
- '𝝛' => 'Ζ',
- '𝝜' => 'Η',
- '𝝝' => 'Θ',
- '𝝞' => 'Ι',
- '𝝟' => 'Κ',
- '𝝠' => 'Λ',
- '𝝡' => 'Μ',
- '𝝢' => 'Ν',
- '𝝣' => 'Ξ',
- '𝝤' => 'Ο',
- '𝝥' => 'Π',
- '𝝦' => 'Ρ',
- '𝝧' => 'Θ',
- '𝝨' => 'Σ',
- '𝝩' => 'Τ',
- '𝝪' => 'Υ',
- '𝝫' => 'Φ',
- '𝝬' => 'Χ',
- '𝝭' => 'Ψ',
- '𝝮' => 'Ω',
- '𝝯' => '∇',
- '𝝰' => 'α',
- '𝝱' => 'β',
- '𝝲' => 'γ',
- '𝝳' => 'δ',
- '𝝴' => 'ε',
- '𝝵' => 'ζ',
- '𝝶' => 'η',
- '𝝷' => 'θ',
- '𝝸' => 'ι',
- '𝝹' => 'κ',
- '𝝺' => 'λ',
- '𝝻' => 'μ',
- '𝝼' => 'ν',
- '𝝽' => 'ξ',
- '𝝾' => 'ο',
- '𝝿' => 'π',
- '𝞀' => 'ρ',
- '𝞁' => 'ς',
- '𝞂' => 'σ',
- '𝞃' => 'τ',
- '𝞄' => 'υ',
- '𝞅' => 'φ',
- '𝞆' => 'χ',
- '𝞇' => 'ψ',
- '𝞈' => 'ω',
- '𝞉' => '∂',
- '𝞊' => 'ε',
- '𝞋' => 'θ',
- '𝞌' => 'κ',
- '𝞍' => 'φ',
- '𝞎' => 'ρ',
- '𝞏' => 'π',
- '𝞐' => 'Α',
- '𝞑' => 'Β',
- '𝞒' => 'Γ',
- '𝞓' => 'Δ',
- '𝞔' => 'Ε',
- '𝞕' => 'Ζ',
- '𝞖' => 'Η',
- '𝞗' => 'Θ',
- '𝞘' => 'Ι',
- '𝞙' => 'Κ',
- '𝞚' => 'Λ',
- '𝞛' => 'Μ',
- '𝞜' => 'Ν',
- '𝞝' => 'Ξ',
- '𝞞' => 'Ο',
- '𝞟' => 'Π',
- '𝞠' => 'Ρ',
- '𝞡' => 'Θ',
- '𝞢' => 'Σ',
- '𝞣' => 'Τ',
- '𝞤' => 'Υ',
- '𝞥' => 'Φ',
- '𝞦' => 'Χ',
- '𝞧' => 'Ψ',
- '𝞨' => 'Ω',
- '𝞩' => '∇',
- '𝞪' => 'α',
- '𝞫' => 'β',
- '𝞬' => 'γ',
- '𝞭' => 'δ',
- '𝞮' => 'ε',
- '𝞯' => 'ζ',
- '𝞰' => 'η',
- '𝞱' => 'θ',
- '𝞲' => 'ι',
- '𝞳' => 'κ',
- '𝞴' => 'λ',
- '𝞵' => 'μ',
- '𝞶' => 'ν',
- '𝞷' => 'ξ',
- '𝞸' => 'ο',
- '𝞹' => 'π',
- '𝞺' => 'ρ',
- '𝞻' => 'ς',
- '𝞼' => 'σ',
- '𝞽' => 'τ',
- '𝞾' => 'υ',
- '𝞿' => 'φ',
- '𝟀' => 'χ',
- '𝟁' => 'ψ',
- '𝟂' => 'ω',
- '𝟃' => '∂',
- '𝟄' => 'ε',
- '𝟅' => 'θ',
- '𝟆' => 'κ',
- '𝟇' => 'φ',
- '𝟈' => 'ρ',
- '𝟉' => 'π',
- '𝟊' => 'Ϝ',
- '𝟋' => 'ϝ',
- '𝟎' => '0',
- '𝟏' => '1',
- '𝟐' => '2',
- '𝟑' => '3',
- '𝟒' => '4',
- '𝟓' => '5',
- '𝟔' => '6',
- '𝟕' => '7',
- '𝟖' => '8',
- '𝟗' => '9',
- '𝟘' => '0',
- '𝟙' => '1',
- '𝟚' => '2',
- '𝟛' => '3',
- '𝟜' => '4',
- '𝟝' => '5',
- '𝟞' => '6',
- '𝟟' => '7',
- '𝟠' => '8',
- '𝟡' => '9',
- '𝟢' => '0',
- '𝟣' => '1',
- '𝟤' => '2',
- '𝟥' => '3',
- '𝟦' => '4',
- '𝟧' => '5',
- '𝟨' => '6',
- '𝟩' => '7',
- '𝟪' => '8',
- '𝟫' => '9',
- '𝟬' => '0',
- '𝟭' => '1',
- '𝟮' => '2',
- '𝟯' => '3',
- '𝟰' => '4',
- '𝟱' => '5',
- '𝟲' => '6',
- '𝟳' => '7',
- '𝟴' => '8',
- '𝟵' => '9',
- '𝟶' => '0',
- '𝟷' => '1',
- '𝟸' => '2',
- '𝟹' => '3',
- '𝟺' => '4',
- '𝟻' => '5',
- '𝟼' => '6',
- '𝟽' => '7',
- '𝟾' => '8',
- '𝟿' => '9',
- '𞸀' => 'ا',
- '𞸁' => 'ب',
- '𞸂' => 'ج',
- '𞸃' => 'د',
- '𞸅' => 'و',
- '𞸆' => 'ز',
- '𞸇' => 'ح',
- '𞸈' => 'ط',
- '𞸉' => 'ي',
- '𞸊' => 'ك',
- '𞸋' => 'ل',
- '𞸌' => 'م',
- '𞸍' => 'ن',
- '𞸎' => 'س',
- '𞸏' => 'ع',
- '𞸐' => 'ف',
- '𞸑' => 'ص',
- '𞸒' => 'ق',
- '𞸓' => 'ر',
- '𞸔' => 'ش',
- '𞸕' => 'ت',
- '𞸖' => 'ث',
- '𞸗' => 'خ',
- '𞸘' => 'ذ',
- '𞸙' => 'ض',
- '𞸚' => 'ظ',
- '𞸛' => 'غ',
- '𞸜' => 'ٮ',
- '𞸝' => 'ں',
- '𞸞' => 'ڡ',
- '𞸟' => 'ٯ',
- '𞸡' => 'ب',
- '𞸢' => 'ج',
- '𞸤' => 'ه',
- '𞸧' => 'ح',
- '𞸩' => 'ي',
- '𞸪' => 'ك',
- '𞸫' => 'ل',
- '𞸬' => 'م',
- '𞸭' => 'ن',
- '𞸮' => 'س',
- '𞸯' => 'ع',
- '𞸰' => 'ف',
- '𞸱' => 'ص',
- '𞸲' => 'ق',
- '𞸴' => 'ش',
- '𞸵' => 'ت',
- '𞸶' => 'ث',
- '𞸷' => 'خ',
- '𞸹' => 'ض',
- '𞸻' => 'غ',
- '𞹂' => 'ج',
- '𞹇' => 'ح',
- '𞹉' => 'ي',
- '𞹋' => 'ل',
- '𞹍' => 'ن',
- '𞹎' => 'س',
- '𞹏' => 'ع',
- '𞹑' => 'ص',
- '𞹒' => 'ق',
- '𞹔' => 'ش',
- '𞹗' => 'خ',
- '𞹙' => 'ض',
- '𞹛' => 'غ',
- '𞹝' => 'ں',
- '𞹟' => 'ٯ',
- '𞹡' => 'ب',
- '𞹢' => 'ج',
- '𞹤' => 'ه',
- '𞹧' => 'ح',
- '𞹨' => 'ط',
- '𞹩' => 'ي',
- '𞹪' => 'ك',
- '𞹬' => 'م',
- '𞹭' => 'ن',
- '𞹮' => 'س',
- '𞹯' => 'ع',
- '𞹰' => 'ف',
- '𞹱' => 'ص',
- '𞹲' => 'ق',
- '𞹴' => 'ش',
- '𞹵' => 'ت',
- '𞹶' => 'ث',
- '𞹷' => 'خ',
- '𞹹' => 'ض',
- '𞹺' => 'ظ',
- '𞹻' => 'غ',
- '𞹼' => 'ٮ',
- '𞹾' => 'ڡ',
- '𞺀' => 'ا',
- '𞺁' => 'ب',
- '𞺂' => 'ج',
- '𞺃' => 'د',
- '𞺄' => 'ه',
- '𞺅' => 'و',
- '𞺆' => 'ز',
- '𞺇' => 'ح',
- '𞺈' => 'ط',
- '𞺉' => 'ي',
- '𞺋' => 'ل',
- '𞺌' => 'م',
- '𞺍' => 'ن',
- '𞺎' => 'س',
- '𞺏' => 'ع',
- '𞺐' => 'ف',
- '𞺑' => 'ص',
- '𞺒' => 'ق',
- '𞺓' => 'ر',
- '𞺔' => 'ش',
- '𞺕' => 'ت',
- '𞺖' => 'ث',
- '𞺗' => 'خ',
- '𞺘' => 'ذ',
- '𞺙' => 'ض',
- '𞺚' => 'ظ',
- '𞺛' => 'غ',
- '𞺡' => 'ب',
- '𞺢' => 'ج',
- '𞺣' => 'د',
- '𞺥' => 'و',
- '𞺦' => 'ز',
- '𞺧' => 'ح',
- '𞺨' => 'ط',
- '𞺩' => 'ي',
- '𞺫' => 'ل',
- '𞺬' => 'م',
- '𞺭' => 'ن',
- '𞺮' => 'س',
- '𞺯' => 'ع',
- '𞺰' => 'ف',
- '𞺱' => 'ص',
- '𞺲' => 'ق',
- '𞺳' => 'ر',
- '𞺴' => 'ش',
- '𞺵' => 'ت',
- '𞺶' => 'ث',
- '𞺷' => 'خ',
- '𞺸' => 'ذ',
- '𞺹' => 'ض',
- '𞺺' => 'ظ',
- '𞺻' => 'غ',
- '🄀' => '0.',
- '🄁' => '0,',
- '🄂' => '1,',
- '🄃' => '2,',
- '🄄' => '3,',
- '🄅' => '4,',
- '🄆' => '5,',
- '🄇' => '6,',
- '🄈' => '7,',
- '🄉' => '8,',
- '🄊' => '9,',
- '🄐' => '(A)',
- '🄑' => '(B)',
- '🄒' => '(C)',
- '🄓' => '(D)',
- '🄔' => '(E)',
- '🄕' => '(F)',
- '🄖' => '(G)',
- '🄗' => '(H)',
- '🄘' => '(I)',
- '🄙' => '(J)',
- '🄚' => '(K)',
- '🄛' => '(L)',
- '🄜' => '(M)',
- '🄝' => '(N)',
- '🄞' => '(O)',
- '🄟' => '(P)',
- '🄠' => '(Q)',
- '🄡' => '(R)',
- '🄢' => '(S)',
- '🄣' => '(T)',
- '🄤' => '(U)',
- '🄥' => '(V)',
- '🄦' => '(W)',
- '🄧' => '(X)',
- '🄨' => '(Y)',
- '🄩' => '(Z)',
- '🄪' => '〔S〕',
- '🄫' => 'C',
- '🄬' => 'R',
- '🄭' => 'CD',
- '🄮' => 'WZ',
- '🄰' => 'A',
- '🄱' => 'B',
- '🄲' => 'C',
- '🄳' => 'D',
- '🄴' => 'E',
- '🄵' => 'F',
- '🄶' => 'G',
- '🄷' => 'H',
- '🄸' => 'I',
- '🄹' => 'J',
- '🄺' => 'K',
- '🄻' => 'L',
- '🄼' => 'M',
- '🄽' => 'N',
- '🄾' => 'O',
- '🄿' => 'P',
- '🅀' => 'Q',
- '🅁' => 'R',
- '🅂' => 'S',
- '🅃' => 'T',
- '🅄' => 'U',
- '🅅' => 'V',
- '🅆' => 'W',
- '🅇' => 'X',
- '🅈' => 'Y',
- '🅉' => 'Z',
- '🅊' => 'HV',
- '🅋' => 'MV',
- '🅌' => 'SD',
- '🅍' => 'SS',
- '🅎' => 'PPV',
- '🅏' => 'WC',
- '🅪' => 'MC',
- '🅫' => 'MD',
- '🅬' => 'MR',
- '🆐' => 'DJ',
- '🈀' => 'ほか',
- '🈁' => 'ココ',
- '🈂' => 'サ',
- '🈐' => '手',
- '🈑' => '字',
- '🈒' => '双',
- '🈓' => 'デ',
- '🈔' => '二',
- '🈕' => '多',
- '🈖' => '解',
- '🈗' => '天',
- '🈘' => '交',
- '🈙' => '映',
- '🈚' => '無',
- '🈛' => '料',
- '🈜' => '前',
- '🈝' => '後',
- '🈞' => '再',
- '🈟' => '新',
- '🈠' => '初',
- '🈡' => '終',
- '🈢' => '生',
- '🈣' => '販',
- '🈤' => '声',
- '🈥' => '吹',
- '🈦' => '演',
- '🈧' => '投',
- '🈨' => '捕',
- '🈩' => '一',
- '🈪' => '三',
- '🈫' => '遊',
- '🈬' => '左',
- '🈭' => '中',
- '🈮' => '右',
- '🈯' => '指',
- '🈰' => '走',
- '🈱' => '打',
- '🈲' => '禁',
- '🈳' => '空',
- '🈴' => '合',
- '🈵' => '満',
- '🈶' => '有',
- '🈷' => '月',
- '🈸' => '申',
- '🈹' => '割',
- '🈺' => '営',
- '🈻' => '配',
- '🉀' => '〔本〕',
- '🉁' => '〔三〕',
- '🉂' => '〔二〕',
- '🉃' => '〔安〕',
- '🉄' => '〔点〕',
- '🉅' => '〔打〕',
- '🉆' => '〔盗〕',
- '🉇' => '〔勝〕',
- '🉈' => '〔敗〕',
- '🉐' => '得',
- '🉑' => '可',
- '🯰' => '0',
- '🯱' => '1',
- '🯲' => '2',
- '🯳' => '3',
- '🯴' => '4',
- '🯵' => '5',
- '🯶' => '6',
- '🯷' => '7',
- '🯸' => '8',
- '🯹' => '9',
-);
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/bootstrap.php b/plugins/vendor/symfony/polyfill-intl-normalizer/bootstrap.php
deleted file mode 100644
index 3608e5c0..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/bootstrap.php
+++ /dev/null
@@ -1,23 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Symfony\Polyfill\Intl\Normalizer as p;
-
-if (\PHP_VERSION_ID >= 80000) {
- return require __DIR__.'/bootstrap80.php';
-}
-
-if (!function_exists('normalizer_is_normalized')) {
- function normalizer_is_normalized($string, $form = p\Normalizer::FORM_C) { return p\Normalizer::isNormalized($string, $form); }
-}
-if (!function_exists('normalizer_normalize')) {
- function normalizer_normalize($string, $form = p\Normalizer::FORM_C) { return p\Normalizer::normalize($string, $form); }
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php b/plugins/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php
deleted file mode 100644
index e36d1a94..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php
+++ /dev/null
@@ -1,19 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Symfony\Polyfill\Intl\Normalizer as p;
-
-if (!function_exists('normalizer_is_normalized')) {
- function normalizer_is_normalized(?string $string, ?int $form = p\Normalizer::FORM_C): bool { return p\Normalizer::isNormalized((string) $string, (int) $form); }
-}
-if (!function_exists('normalizer_normalize')) {
- function normalizer_normalize(?string $string, ?int $form = p\Normalizer::FORM_C): string|false { return p\Normalizer::normalize((string) $string, (int) $form); }
-}
diff --git a/plugins/vendor/symfony/polyfill-intl-normalizer/composer.json b/plugins/vendor/symfony/polyfill-intl-normalizer/composer.json
deleted file mode 100644
index 9bd04e88..00000000
--- a/plugins/vendor/symfony/polyfill-intl-normalizer/composer.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "symfony/polyfill-intl-normalizer",
- "type": "library",
- "description": "Symfony polyfill for intl's Normalizer class and related functions",
- "keywords": ["polyfill", "shim", "compatibility", "portable", "intl", "normalizer"],
- "homepage": "https://symfony.com",
- "license": "MIT",
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "require": {
- "php": ">=7.2"
- },
- "autoload": {
- "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" },
- "files": [ "bootstrap.php" ],
- "classmap": [ "Resources/stubs" ]
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "minimum-stability": "dev",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/.github/FUNDING.yml b/plugins/vendor/zbateson/mail-mime-parser/.github/FUNDING.yml
deleted file mode 100644
index f137cf66..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/.github/FUNDING.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-# These are supported funding model platforms
-
-github: zbateson
diff --git a/plugins/vendor/zbateson/mail-mime-parser/.github/workflows/tests.yml b/plugins/vendor/zbateson/mail-mime-parser/.github/workflows/tests.yml
deleted file mode 100644
index 12fadbf6..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/.github/workflows/tests.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-name: Tests
-
-on: [push, pull_request]
-
-jobs:
- test:
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os: [ubuntu-latest, windows-latest]
- php: [8.5, 8.4, 8.3, 8.2, 8.1, 8.0]
- stability: [prefer-stable]
-
- name: P${{ matrix.php }} - ${{ matrix.stability }} - ${{ matrix.os }}
-
- steps:
- - name: Checkout code
- uses: actions/checkout@v2
-
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
- with:
- php-version: ${{ matrix.php }}
- extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick, fileinfo
- coverage: none
-
- - name: Setup problem matchers
- run: |
- echo "::add-matcher::${{ runner.tool_cache }}/php.json"
- echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- - name: Install dependencies
- run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction
-
- - name: Execute tests
- run: ./vendor/bin/phpunit -c tests/phpunit.xml
diff --git a/plugins/vendor/zbateson/mail-mime-parser/.php-cs-fixer.dist.php b/plugins/vendor/zbateson/mail-mime-parser/.php-cs-fixer.dist.php
deleted file mode 100644
index 2626f872..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/.php-cs-fixer.dist.php
+++ /dev/null
@@ -1,15 +0,0 @@
-setFinder(PhpCsFixer\Finder::create()
- ->exclude('vendor')
- ->in(__DIR__.'/src')
- ->in(__DIR__.'/tests')
- );
diff --git a/plugins/vendor/zbateson/mail-mime-parser/LICENSE b/plugins/vendor/zbateson/mail-mime-parser/LICENSE
deleted file mode 100644
index 1fbaa2fd..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-Copyright (c) 2014-2015, Zaahid Bateson
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/plugins/vendor/zbateson/mail-mime-parser/PHPStanConstants.php b/plugins/vendor/zbateson/mail-mime-parser/PHPStanConstants.php
deleted file mode 100644
index 24142642..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/PHPStanConstants.php
+++ /dev/null
@@ -1,4 +0,0 @@
-parse($handle, false); // returns `IMessage`
-
-// OR: use this procedurally (Message::from also accepts a string,
-// resource or Psr7 StreamInterface
-// true or false as second parameter doesn't matter if passing a string.
-$string = "Content-Type: text/plain\r\nSubject: Test\r\n\r\nMessage";
-$message = Message::from($string, false);
-
-echo $message->getHeaderValue(HeaderConsts::FROM); // user@example.com
-echo $message
- ->getHeader(HeaderConsts::FROM) // AddressHeader
- ->getPersonName(); // Person Name
-echo $message->getSubject(); // The email's subject
-echo $message
- ->getHeader(HeaderConsts::TO) // also AddressHeader
- ->getAddresses()[0] // AddressPart
- ->getPersonName(); // Person Name
-echo $message
- ->getHeader(HeaderConsts::CC) // also AddressHeader
- ->getAddresses()[0] // AddressPart
- ->getEmail(); // user@example.com
-
-echo $message->getTextContent(); // or getHtmlContent()
-
-echo $message->getHeader('X-Foo'); // for custom or undocumented headers
-
-$att = $message->getAttachmentPart(0); // first attachment
-echo $att->getHeaderValue(HeaderConsts::CONTENT_TYPE); // e.g. "text/plain"
-echo $att->getHeaderParameter( // value of "charset" part
- HeaderConsts::CONTENT_TYPE,
- 'charset'
-);
-echo $att->getContent(); // get the attached file's contents
-$stream = $att->getContentStream(); // the file is decoded automatically
-$dest = \GuzzleHttp\Psr7\stream_for(
- fopen('my-file.ext')
-);
-\GuzzleHttp\Psr7\copy_to_stream(
- $stream, $dest
-);
-// OR: more simply if saving or copying to another stream
-$att->saveContent('my-file.ext'); // writes to my-file.ext
-$att->saveContent($stream); // copies to the stream
-
-// close only when $message is no longer being used.
-fclose($handle);
-
-```
-
-## Documentation
-
-* [Usage Guide](https://mail-mime-parser.org/)
-* [API Reference](https://mail-mime-parser.org/api/3.0)
-
-## Upgrade guides
-
-* [1.x Upgrade Guide](https://mail-mime-parser.org/upgrade-1.0)
-* [2.x Upgrade Guide](https://mail-mime-parser.org/upgrade-2.0)
-* [3.x Upgrade Guide](https://mail-mime-parser.org/upgrade-3.0)
-
-## License
-
-BSD licensed - please see [license agreement](https://github.com/zbateson/mail-mime-parser/blob/master/LICENSE).
diff --git a/plugins/vendor/zbateson/mail-mime-parser/composer.json b/plugins/vendor/zbateson/mail-mime-parser/composer.json
deleted file mode 100644
index f6ffe335..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/composer.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "zbateson/mail-mime-parser",
- "description": "MIME email message parser",
- "keywords": ["mail", "mime", "parser", "email", "php-imap", "mailparse", "mimeparse", "MimeMailParser"],
- "homepage": "https://mail-mime-parser.org",
- "license": "BSD-2-Clause",
- "authors": [
- {
- "name": "Zaahid Bateson"
- },
- {
- "name": "Contributors",
- "homepage": "https://github.com/zbateson/mail-mime-parser/graphs/contributors"
- }
- ],
- "support": {
- "issues": "https://github.com/zbateson/mail-mime-parser/issues",
- "source": "https://github.com/zbateson/mail-mime-parser",
- "docs": "https://mail-mime-parser.org/#usage-guide"
- },
- "require": {
- "php": ">=8.0",
- "guzzlehttp/psr7": "^2.5",
- "zbateson/mb-wrapper": "^2.0",
- "zbateson/stream-decorators": "^2.1",
- "php-di/php-di": "^6.0|^7.0",
- "psr/log": "^1|^2|^3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.6",
- "friendsofphp/php-cs-fixer": "*",
- "phpstan/phpstan": "*",
- "monolog/monolog": "^2|^3"
- },
- "suggest": {
- "ext-mbstring": "For best support/performance",
- "ext-iconv": "For best support/performance"
- },
- "autoload": {
- "psr-4": {"ZBateson\\MailMimeParser\\": "src/"}
- },
- "autoload-dev": {
- "psr-4": {"ZBateson\\MailMimeParser\\": "tests/MailMimeParser"}
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/phpstan.neon b/plugins/vendor/zbateson/mail-mime-parser/phpstan.neon
deleted file mode 100644
index fed9c84c..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/phpstan.neon
+++ /dev/null
@@ -1,13 +0,0 @@
-parameters:
- level: 6
- errorFormat: raw
- editorUrl: '%%file%% %%line%% %%column%%: %%error%%'
- paths:
- - src
- bootstrapFiles:
- - PHPStanConstants.php
- ignoreErrors:
- -
- message: '#Call to an undefined method ZBateson\\MailMimeParser#'
- paths:
- - src/*
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Error.php b/plugins/vendor/zbateson/mail-mime-parser/src/Error.php
deleted file mode 100644
index 544cda20..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Error.php
+++ /dev/null
@@ -1,123 +0,0 @@
-
- */
- private array $levelMap = [
- LogLevel::EMERGENCY => 0,
- LogLevel::ALERT => 1,
- LogLevel::CRITICAL => 2,
- LogLevel::ERROR => 3,
- LogLevel::WARNING => 4,
- LogLevel::NOTICE => 5,
- LogLevel::INFO => 6,
- LogLevel::DEBUG => 7,
- ];
-
- /**
- *
- * @throws InvalidArgumentException if the passed $psrLogLevelAsErrorLevel
- * is not a known PSR log level (see \Psr\Log\LogLevel)
- */
- public function __construct(string $message, string $psrLogLevelAsErrorLevel, ErrorBag $object, ?Throwable $exception = null)
- {
- if (!isset($this->levelMap[$psrLogLevelAsErrorLevel])) {
- throw new InvalidArgumentException($psrLogLevelAsErrorLevel . ' is not a known PSR Log Level');
- }
- $this->message = $message;
- $this->psrLevel = $psrLogLevelAsErrorLevel;
- $this->object = $object;
- $this->exception = $exception;
- }
-
- /**
- * Returns the error message.
- */
- public function getMessage() : string
- {
- return $this->message;
- }
-
- /**
- * Returns the PSR string log level for this error message.
- */
- public function getPsrLevel() : string
- {
- return $this->psrLevel;
- }
-
- /**
- * Returns the class type the error occurred on.
- */
- public function getClass() : string
- {
- return \get_class($this->object);
- }
-
- /**
- * Returns the object the error occurred on.
- */
- public function getObject() : ErrorBag
- {
- return $this->object;
- }
-
- /**
- * Returns the exception that occurred, if any, or null.
- */
- public function getException() : ?Throwable
- {
- return $this->exception;
- }
-
- /**
- * Returns true if the PSR log level for this error is equal to or greater
- * than the one passed, e.g. passing LogLevel::ERROR would return true for
- * LogLevel::ERROR and LogLevel::CRITICAL, ALERT and EMERGENCY.
- */
- public function isPsrLevelGreaterOrEqualTo(string $minLevel) : bool
- {
- $minIntLevel = $this->levelMap[$minLevel] ?? 1000;
- $thisLevel = $this->levelMap[$this->psrLevel];
- return ($minIntLevel >= $thisLevel);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/ErrorBag.php b/plugins/vendor/zbateson/mail-mime-parser/src/ErrorBag.php
deleted file mode 100644
index dc338f61..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/ErrorBag.php
+++ /dev/null
@@ -1,124 +0,0 @@
-logger = $logger;
- }
-
- /**
- * Returns the class name. Override to identify objects in logs.
- *
- */
- public function getErrorLoggingContextName() : string
- {
- return static::class;
- }
-
- /**
- * Return any children ErrorBag objects.
- *
- * @return IErrorBag[]
- */
- abstract protected function getErrorBagChildren() : array;
-
- /**
- * Perform any extra validation and call 'addError'.
- *
- * getErrors and getAllErrors call validate() if their $validate parameter
- * is true. validate() is only called once on an object with getErrors
- * getAllErrors.
- */
- protected function validate() : void
- {
- // do nothing
- }
-
- public function addError(string $message, string $psrLogLevel, ?Throwable $exception = null) : static
- {
- $error = new Error($message, $psrLogLevel, $this, $exception);
- $this->errors[] = $error;
- $this->logger->log(
- $psrLogLevel,
- '{contextName} {message} {exception}',
- [
- 'contextName' => $this->getErrorLoggingContextName(),
- 'message' => $message,
- 'exception' => $exception ?? ''
- ]
- );
- return $this;
- }
-
- public function getErrors(bool $validate = false, string $minPsrLevel = LogLevel::ERROR) : array
- {
- if ($validate && !$this->validated) {
- $this->validated = true;
- $this->validate();
- }
- return \array_values(\array_filter(
- $this->errors,
- function($e) use ($minPsrLevel) {
- return $e->isPsrLevelGreaterOrEqualTo($minPsrLevel);
- }
- ));
- }
-
- public function hasErrors(bool $validate = false, string $minPsrLevel = LogLevel::ERROR) : bool
- {
- return (\count($this->getErrors($validate, $minPsrLevel)) > 0);
- }
-
- public function getAllErrors(bool $validate = false, string $minPsrLevel = LogLevel::ERROR) : array
- {
- $arr = \array_values(\array_map(
- function($e) use ($validate, $minPsrLevel) {
- return $e->getAllErrors($validate, $minPsrLevel);
- },
- $this->getErrorBagChildren()
- ));
- return \array_merge($this->getErrors($validate, $minPsrLevel), ...$arr);
- }
-
- public function hasAnyErrors(bool $validate = false, string $minPsrLevel = LogLevel::ERROR) : bool
- {
- if ($this->hasErrors($validate, $minPsrLevel)) {
- return true;
- }
- foreach ($this->getErrorBagChildren() as $ch) {
- if ($ch->hasAnyErrors($validate, $minPsrLevel)) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/AbstractHeader.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/AbstractHeader.php
deleted file mode 100644
index 7ee333bf..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/AbstractHeader.php
+++ /dev/null
@@ -1,226 +0,0 @@
-name = $name;
- $this->rawValue = $value;
- $this->parseHeaderValue($consumerService, $value);
- }
-
- /**
- * Filters $this->allParts into the parts required by $this->parts
- * and assigns it.
- *
- * The AbstractHeader::filterAndAssignToParts method filters out CommentParts.
- */
- protected function filterAndAssignToParts() : void
- {
- $this->parts = \array_values(\array_filter($this->allParts, function($p) {
- return !($p instanceof CommentPart);
- }));
- }
-
- /**
- * Calls the consumer and assigns the parsed parts to member variables.
- *
- * The default implementation assigns the returned value to $this->allParts
- * and filters out comments from it, assigning the filtered array to
- * $this->parts by calling filterAndAssignToParts.
- */
- protected function parseHeaderValue(IConsumerService $consumer, string $value) : void
- {
- $this->allParts = $consumer($value);
- $this->filterAndAssignToParts();
- }
-
- /**
- * @return IHeaderPart[]
- */
- public function getParts() : array
- {
- return $this->parts;
- }
-
- /**
- * @return IHeaderPart[]
- */
- public function getAllParts() : array
- {
- return $this->allParts;
- }
-
- /**
- * @return string[]
- */
- public function getComments() : array
- {
- if ($this->comments === null) {
- $this->comments = \array_map(fn (IHeaderPart $c) => $c->getComment(), \array_merge(...\array_map(
- fn ($p) => ($p instanceof CommentPart) ? [$p] : $p->getComments(),
- $this->allParts
- )));
- }
- return $this->comments;
- }
-
- public function getValue() : ?string
- {
- if (!empty($this->parts)) {
- return $this->parts[0]->getValue();
- }
- return null;
- }
-
- public function getRawValue() : string
- {
- return $this->rawValue;
- }
-
- public function getName() : string
- {
- return $this->name;
- }
-
- public function __toString() : string
- {
- return "{$this->name}: {$this->rawValue}";
- }
-
- public function getErrorLoggingContextName() : string
- {
- return 'Header::' . $this->getName();
- }
-
- protected function getErrorBagChildren() : array
- {
- return $this->getAllParts();
- }
-
- protected function validate() : void
- {
- if (\strlen(\trim($this->name)) === 0) {
- $this->addError('Header doesn\'t have a name', LogLevel::ERROR);
- }
- if (\strlen(\trim($this->rawValue)) === 0) {
- $this->addError('Header doesn\'t have a value', LogLevel::NOTICE);
- }
- }
-
- /**
- * Checks if the passed $value parameter is null, and if so tries to parse
- * a header line from $nameOrLine splitting on first occurrence of a ':'
- * character.
- *
- * The returned array always contains two elements. The first being the
- * name (or blank if a ':' char wasn't found and $value is null), and the
- * second being the value.
- *
- * @return string[]
- */
- protected static function getHeaderPartsFrom(string $nameOrLine, ?string $value = null) : array
- {
- $namePart = $nameOrLine;
- $valuePart = $value;
- if ($value === null) {
- // full header line
- $parts = \explode(':', $nameOrLine, 2);
- $namePart = (\count($parts) > 1) ? $parts[0] : '';
- $valuePart = \trim((\count($parts) > 1) ? $parts[1] : $parts[0]);
- }
- return [$namePart, $valuePart];
- }
-
- /**
- * Parses the passed parameters into an IHeader object.
- *
- * The type of returned IHeader is determined by the name of the header.
- * See {@see HeaderFactory::newInstance} for more details.
- *
- * The required $nameOrLine parameter may contain either the name of a
- * header to parse, or a full header line, e.g. From: email@example.com. If
- * passing a full header line, the $value parameter must be set to null (the
- * default).
- *
- * Note that more specific types can be called on directly. For instance an
- * AddressHeader may be created by calling AddressHeader::from() which will
- * ignore the name of the header, and always return an AddressHeader, or by
- * calling `new AddressHeader('name', 'value')` directly.
- *
- * @param string $nameOrLine The header's name or full header line.
- * @param string|null $value The header's value, or null if passing a full
- * header line to parse.
- */
- public static function from(string $nameOrLine, ?string $value = null) : IHeader
- {
- $parts = static::getHeaderPartsFrom($nameOrLine, $value);
- $container = MailMimeParser::getGlobalContainer();
- $hf = $container->get(HeaderFactory::class);
- if (self::class !== static::class) {
- return $hf->newInstanceOf($parts[0], $parts[1], static::class);
- }
- return $hf->newInstance($parts[0], $parts[1]);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/AddressHeader.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/AddressHeader.php
deleted file mode 100644
index a6c08115..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/AddressHeader.php
+++ /dev/null
@@ -1,138 +0,0 @@
-get(LoggerInterface::class),
- $consumerService ?? $di->get(AddressBaseConsumerService::class),
- $name,
- $value
- );
- }
-
- /**
- * Filters $this->allParts into the parts required by $this->parts
- * and assignes it.
- *
- * The AbstractHeader::filterAndAssignToParts method filters out CommentParts.
- */
- protected function filterAndAssignToParts() : void
- {
- parent::filterAndAssignToParts();
- foreach ($this->parts as $part) {
- if ($part instanceof AddressPart) {
- $this->addresses[] = $part;
- } elseif ($part instanceof AddressGroupPart) {
- $this->addresses = \array_merge($this->addresses, $part->getAddresses());
- $this->groups[] = $part;
- }
- }
- }
-
- /**
- * Returns all address parts in the header including any addresses that are
- * in groups (lists).
- *
- * @return AddressPart[] The addresses.
- */
- public function getAddresses() : array
- {
- return $this->addresses;
- }
-
- /**
- * Returns all group parts (lists) in the header.
- *
- * @return AddressGroupPart[]
- */
- public function getGroups() : array
- {
- return $this->groups;
- }
-
- /**
- * Returns true if an address exists with the passed email address.
- *
- * Comparison is done case insensitively.
- *
- */
- public function hasAddress(string $email) : bool
- {
- foreach ($this->addresses as $addr) {
- if (\strcasecmp($addr->getEmail(), $email) === 0) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Returns the first email address in the header.
- *
- * @return ?string The email address
- */
- public function getEmail() : ?string
- {
- if (!empty($this->addresses)) {
- return $this->addresses[0]->getEmail();
- }
- return null;
- }
-
- /**
- * Returns the name associated with the first email address to complement
- * getEmail() if one is set, or null if not.
- *
- * @return string|null The person name.
- */
- public function getPersonName() : ?string
- {
- if (!empty($this->addresses)) {
- return $this->addresses[0]->getName();
- }
- return null;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AbstractConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AbstractConsumerService.php
deleted file mode 100644
index f324555b..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AbstractConsumerService.php
+++ /dev/null
@@ -1,338 +0,0 @@
-logger = $logger;
- $this->partFactory = $partFactory;
- $this->subConsumers = $subConsumers;
- }
-
- public function __invoke(string $value) : array
- {
- $this->logger->debug('Starting {class} for "{value}"', ['class' => static::class, 'value' => $value]);
- if ($value !== '') {
- $parts = $this->parseRawValue($value);
- $this->logger->debug(
- 'Ending {class} for "{value}": parsed into {cnt} header part objects',
- ['class' => static::class, 'value' => $value, 'cnt' => \count($parts)]
- );
- return $parts;
- }
- return [];
- }
-
- /**
- * Returns this consumer and all unique sub consumers.
- *
- * Loops into the sub-consumers (and their sub-consumers, etc...) finding
- * all unique consumers, and returns them in an array.
- *
- * @return AbstractConsumerService[] Array of unique consumers.
- */
- protected function getAllConsumers() : array
- {
- $found = [$this];
- do {
- $current = \current($found);
- $subConsumers = $current->subConsumers;
- foreach ($subConsumers as $consumer) {
- if (!\in_array($consumer, $found)) {
- $found[] = $consumer;
- }
- }
- } while (\next($found) !== false);
- return $found;
- }
-
- /**
- * Parses the raw header value into header parts.
- *
- * Calls splitTokens to split the value into token part strings, then calls
- * parseParts to parse the returned array.
- *
- * @return \ZBateson\MailMimeParser\Header\IHeaderPart[] the array of parsed
- * parts
- */
- private function parseRawValue(string $value) : array
- {
- $tokens = $this->splitRawValue($value);
- return $this->parseTokensIntoParts(new NoRewindIterator(new ArrayIterator($tokens)));
- }
-
- /**
- * Returns an array of regular expression separators specific to this
- * consumer.
- *
- * The returned patterns are used to split the header value into tokens for
- * the consumer to parse into parts.
- *
- * Each array element makes part of a generated regular expression that is
- * used in a call to preg_split(). RegEx patterns can be used, and care
- * should be taken to escape special characters.
- *
- * @return string[] Array of regex patterns.
- */
- abstract protected function getTokenSeparators() : array;
-
- /**
- * Returns a list of regular expression markers for this consumer and all
- * sub-consumers by calling getTokenSeparators().
- *
- * @return string[] Array of regular expression markers.
- */
- protected function getAllTokenSeparators() : array
- {
- $markers = $this->getTokenSeparators();
- $subConsumers = $this->getAllConsumers();
- foreach ($subConsumers as $consumer) {
- $markers = \array_merge($consumer->getTokenSeparators(), $markers);
- }
- return \array_unique($markers);
- }
-
- /**
- * Returns a regex pattern used to split the input header string.
- *
- * The default implementation calls
- * {@see AbstractConsumerService::getAllTokenSeparators()} and implodes the
- * returned array with the regex OR '|' character as its glue.
- *
- * @return string the regex pattern
- */
- protected function getTokenSplitPattern() : string
- {
- $sChars = \implode('|', $this->getAllTokenSeparators());
- $mimePartPattern = MimeToken::MIME_PART_PATTERN;
- return '~(' . $mimePartPattern . '|\\\\\r\n|\\\\.|' . $sChars . ')~ms';
- }
-
- /**
- * Returns an array of split tokens from the input string.
- *
- * The method calls preg_split using
- * {@see AbstractConsumerService::getTokenSplitPattern()}. The split array
- * will not contain any empty parts and will contain the markers.
- *
- * @param string $rawValue the raw string
- * @return string[] the array of tokens
- */
- protected function splitRawValue($rawValue) : array
- {
- if ($this->tokenSplitPattern === null) {
- $this->tokenSplitPattern = $this->getTokenSplitPattern();
- $this->logger->debug(
- 'Configuring {class} with token split pattern: {pattern}',
- ['class' => static::class, 'pattern' => $this->tokenSplitPattern]
- );
- }
- return \preg_split(
- $this->tokenSplitPattern,
- $rawValue,
- -1,
- PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY
- );
- }
-
- /**
- * Returns true if the passed string token marks the beginning marker for
- * the current consumer.
- *
- * @param string $token The current token
- */
- abstract protected function isStartToken(string $token) : bool;
-
- /**
- * Returns true if the passed string token marks the end marker for the
- * current consumer.
- *
- * @param string $token The current token
- */
- abstract protected function isEndToken(string $token) : bool;
-
- /**
- * Constructs and returns an IHeaderPart for the passed string token.
- *
- * If the token should be ignored, the function must return null.
- *
- * The default created part uses the instance's partFactory->newInstance
- * method.
- *
- * @param string $token the token
- * @param bool $isLiteral set to true if the token represents a literal -
- * e.g. an escaped token
- * @return ?IHeaderPart The constructed header part or null if the token
- * should be ignored.
- */
- protected function getPartForToken(string $token, bool $isLiteral) : ?IHeaderPart
- {
- if ($isLiteral) {
- return $this->partFactory->newToken($token, true);
- }
- // can be overridden with custom PartFactory
- return $this->partFactory->newInstance($token);
- }
-
- /**
- * Iterates through this consumer's sub-consumers checking if the current
- * token triggers a sub-consumer's start token and passes control onto that
- * sub-consumer's parseTokenIntoParts().
- *
- * If no sub-consumer is responsible for the current token, calls
- * {@see AbstractConsumerService::getPartForToken()} and returns it in an
- * array.
- *
- * @param Iterator $tokens
- * @return IHeaderPart[]
- */
- protected function getConsumerTokenParts(Iterator $tokens) : array
- {
- $token = $tokens->current();
- $subConsumers = $this->subConsumers;
- foreach ($subConsumers as $consumer) {
- if ($consumer->isStartToken($token)) {
- $this->logger->debug(
- 'Token: "{value}" in {class} starting sub-consumer {consumer}',
- ['value' => $token, 'class' => static::class, 'consumer' => \get_class($consumer)]
- );
- $this->advanceToNextToken($tokens, true);
- return $consumer->parseTokensIntoParts($tokens);
- }
- }
- $part = $this->getPartForToken($token, false);
- return ($part !== null) ? [$part] : [];
- }
-
- /**
- * Returns an array of IHeaderPart for the current token on the iterator.
- *
- * If the current token is a start token from a sub-consumer, the sub-
- * consumer's {@see AbstractConsumerService::parseTokensIntoParts()} method
- * is called.
- *
- * @param Iterator $tokens The token iterator.
- * @return IHeaderPart[]
- */
- protected function getTokenParts(Iterator $tokens) : array
- {
- $token = $tokens->current();
- if ($token === "\\\r\n" || (\strlen($token) === 2 && $token[0] === '\\')) {
- $part = $this->getPartForToken(\substr($token, 1), true);
- return ($part !== null) ? [$part] : [];
- }
- return $this->getConsumerTokenParts($tokens);
- }
-
- /**
- * Determines if the iterator should be advanced to the next token after
- * reading tokens or finding a start token.
- *
- * The default implementation will advance for a start token, but not
- * advance on the end token of the current consumer, allowing the end token
- * to be passed up to a higher-level consumer.
- *
- * @param Iterator $tokens The token iterator.
- * @param bool $isStartToken true for the start token.
- */
- protected function advanceToNextToken(Iterator $tokens, bool $isStartToken) : static
- {
- $checkEndToken = (!$isStartToken && $tokens->valid());
- $isEndToken = ($checkEndToken && $this->isEndToken($tokens->current()));
- if (($isStartToken) || ($checkEndToken && !$isEndToken)) {
- $tokens->next();
- }
- return $this;
- }
-
- /**
- * Iterates over the passed token Iterator and returns an array of parsed
- * IHeaderPart objects.
- *
- * The method checks each token to see if the token matches a sub-consumer's
- * start token, or if it matches the current consumer's end token to stop
- * processing.
- *
- * If a sub-consumer's start token is matched, the sub-consumer is invoked
- * and its returned parts are merged to the current consumer's header parts.
- *
- * After all tokens are read and an array of Header\Parts are constructed,
- * the array is passed to {@see AbstractConsumerService::processParts} for
- * any final processing if there are any parts.
- *
- * @param Iterator $tokens An iterator over a string of tokens
- * @return IHeaderPart[] An array of parsed parts
- */
- protected function parseTokensIntoParts(Iterator $tokens) : array
- {
- $parts = [];
- while ($tokens->valid() && !$this->isEndToken($tokens->current())) {
- $this->logger->debug('Parsing token: {token} in class: {consumer}', ['token' => $tokens->current(), 'consumer' => static::class]);
- $parts = \array_merge($parts, $this->getTokenParts($tokens));
- $this->advanceToNextToken($tokens, false);
- }
- return (empty($parts)) ? [] : $this->processParts($parts);
- }
-
- /**
- * Performs any final processing on the array of parsed parts before
- * returning it to the consumer client. The passed $parts array is
- * guaranteed to not be empty.
- *
- * The default implementation simply returns the passed array after
- * filtering out null/empty parts.
- *
- * @param IHeaderPart[] $parts The parsed parts.
- * @return IHeaderPart[] Array of resulting final parts.
- */
- protected function processParts(array $parts) : array
- {
- $this->logger->debug('Processing parts array {parts} in {consumer}', ['parts' => $parts, 'consumer' => static::class]);
- return $parts;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AbstractGenericConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AbstractGenericConsumerService.php
deleted file mode 100644
index 39298a3c..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AbstractGenericConsumerService.php
+++ /dev/null
@@ -1,69 +0,0 @@
-partFactory->newContainerPart($parts)];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressBaseConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressBaseConsumerService.php
deleted file mode 100644
index 8a312c3d..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressBaseConsumerService.php
+++ /dev/null
@@ -1,104 +0,0 @@
-getConsumerTokenParts($tokens);
- }
-
- /**
- * Never reached by AddressBaseConsumerService. Overridden to satisfy
- * AbstractConsumerService.
- *
- * @codeCoverageIgnore
- */
- protected function getPartForToken(string $token, bool $isLiteral) : ?IHeaderPart
- {
- return null;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressConsumerService.php
deleted file mode 100644
index 356b2ac9..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressConsumerService.php
+++ /dev/null
@@ -1,139 +0,0 @@
-
- *
- * Groups must be named, for example:
- * - To: Winterfell: jonsnow@winterfell.com, Arya Stark ;
- *
- * Addresses may contain quoted parts and comments, and names may be mime-header
- * encoded.
- *
- * @author Zaahid Bateson
- */
-class AddressConsumerService extends AbstractConsumerService
-{
- public function __construct(
- LoggerInterface $logger,
- MimeTokenPartFactory $partFactory,
- AddressGroupConsumerService $addressGroupConsumerService,
- AddressEmailConsumerService $addressEmailConsumerService,
- CommentConsumerService $commentConsumerService,
- QuotedStringConsumerService $quotedStringConsumerService
- ) {
- $addressGroupConsumerService->setAddressConsumerService($this);
- parent::__construct(
- $logger,
- $partFactory,
- [
- $addressGroupConsumerService,
- $addressEmailConsumerService,
- $commentConsumerService,
- $quotedStringConsumerService
- ]
- );
- }
-
- /**
- * Overridden to return patterns matching end tokens ("," and ";"), and
- * whitespace.
- *
- * @return string[] the patterns
- */
- public function getTokenSeparators() : array
- {
- return [',', ';', '\s+'];
- }
-
- /**
- * Returns true for commas and semi-colons.
- *
- * Although the semi-colon is not strictly the end token of an
- * AddressConsumerService, it could end a parent
- * {@see AddressGroupConsumerService}.
- */
- protected function isEndToken(string $token) : bool
- {
- return ($token === ',' || $token === ';');
- }
-
- /**
- * AddressConsumer is "greedy", so this always returns true.
- */
- protected function isStartToken(string $token) : bool
- {
- return true;
- }
-
- /**
- * Performs final processing on parsed parts.
- *
- * AddressConsumerService's implementation looks for tokens representing the
- * beginning of an address part, to create a {@see AddressPart} out of a
- * name/address pair, or assign the name part to a parsed
- * {@see AddressGroupPart} returned from its AddressGroupConsumerService
- * sub-consumer.
- *
- * The returned array consists of a single element - either an
- * {@see AddressPart} or an {@see AddressGroupPart}.
- *
- * @param \ZBateson\MailMimeParser\Header\IHeaderPart[] $parts
- * @return \ZBateson\MailMimeParser\Header\IHeaderPart[]|array
- */
- protected function processParts(array $parts) : array
- {
- $found = null;
- $revved = \array_reverse($parts, true);
- foreach ($revved as $key => $part) {
- if ($part instanceof AddressGroupPart || $part instanceof AddressPart) {
- $found = $part;
- // purposefully ignoring anything after
- \array_splice($parts, $key);
- break;
- }
- }
-
- if ($found !== null) {
- if ($found instanceof AddressGroupPart) {
- return [$this->partFactory->newAddressGroupPart(
- $parts,
- [$found]
- )];
- }
- return [$this->partFactory->newAddress(
- $parts,
- [$found]
- )];
- }
-
- return [
- $this->partFactory->newAddress(
- [],
- \array_map(fn ($p) => ($p instanceof MimeToken) ? $this->partFactory->newToken($p->getRawValue()) : $p, $parts)
- )
- ];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressEmailConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressEmailConsumerService.php
deleted file mode 100644
index a119d53b..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressEmailConsumerService.php
+++ /dev/null
@@ -1,78 +0,0 @@
-.
- *
- * The address portion found within the '<' and '>' chars may contain comments
- * and quoted portions.
- *
- * @author Zaahid Bateson
- */
-class AddressEmailConsumerService extends AbstractConsumerService
-{
- public function __construct(
- LoggerInterface $logger,
- HeaderPartFactory $partFactory,
- CommentConsumerService $commentConsumerService,
- QuotedStringConsumerService $quotedStringConsumerService
- ) {
- parent::__construct(
- $logger,
- $partFactory,
- [$commentConsumerService, $quotedStringConsumerService]
- );
- }
-
- /**
- * Overridden to return patterns matching the beginning/end part of an
- * address in a name/address part ("<" and ">" chars).
- *
- * @return string[] the patterns
- */
- public function getTokenSeparators() : array
- {
- return ['<', '>'];
- }
-
- /**
- * Returns true for the '>' char.
- */
- protected function isEndToken(string $token) : bool
- {
- return ($token === '>');
- }
-
- /**
- * Returns true for the '<' char.
- */
- protected function isStartToken(string $token) : bool
- {
- return ($token === '<');
- }
-
- /**
- * Returns a single {@see ZBateson\MailMimeParser\Header\Part\AddressPart}
- * with its 'email' portion set, so an {@see AddressConsumerService} can
- * identify it and create an
- * {@see ZBateson\MailMimeParser\Header\Part\AddressPart} Address with
- * both a name and email set.
- *
- * @param \ZBateson\MailMimeParser\Header\IHeaderPart[] $parts
- * @return \ZBateson\MailMimeParser\Header\IHeaderPart[]|array
- */
- protected function processParts(array $parts) : array
- {
- return [$this->partFactory->newAddress([], $parts)];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressGroupConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressGroupConsumerService.php
deleted file mode 100644
index e613ff42..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/AddressGroupConsumerService.php
+++ /dev/null
@@ -1,106 +0,0 @@
-subConsumers = [$subConsumer];
- }
-
- /**
- * Overridden to return patterns matching the beginning and end markers of a
- * group address: colon and semi-colon (":" and ";") characters.
- *
- * @return string[] the patterns
- */
- public function getTokenSeparators() : array
- {
- return [':', ';'];
- }
-
- /**
- * Returns true if the passed token is a semi-colon.
- */
- protected function isEndToken(string $token) : bool
- {
- return ($token === ';');
- }
-
- /**
- * Returns true if the passed token is a colon.
- */
- protected function isStartToken(string $token) : bool
- {
- return ($token === ':');
- }
-
- /**
- * Overridden to always call processParts even for an empty set of
- * addresses, since a group could be empty.
- *
- * @param Iterator $tokens
- * @return IHeaderPart[]
- */
- protected function parseTokensIntoParts(Iterator $tokens) : array
- {
- $ret = parent::parseTokensIntoParts($tokens);
- if ($ret === []) {
- return $this->processParts([]);
- }
- return $ret;
- }
-
- /**
- * Performs post-processing on parsed parts.
- *
- * Returns an array with a single
- * {@see AddressGroupPart} element with all email addresses from this and
- * any sub-groups.
- *
- * @param \ZBateson\MailMimeParser\Header\IHeaderPart[] $parts
- * @return AddressGroupPart[]|array
- */
- protected function processParts(array $parts) : array
- {
- return [$this->partFactory->newAddressGroupPart([], $parts)];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/CommentConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/CommentConsumerService.php
deleted file mode 100644
index 764dba7b..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/CommentConsumerService.php
+++ /dev/null
@@ -1,113 +0,0 @@
-partFactory->newInstance($token);
- }
-
- /**
- * Calls $tokens->next() and returns.
- *
- * The default implementation checks if the current token is an end token,
- * and will not advance past it. Because a comment part of a header can be
- * nested, its implementation must advance past its own 'end' token.
- */
- protected function advanceToNextToken(Iterator $tokens, bool $isStartToken) : static
- {
- $tokens->next();
- return $this;
- }
-
- /**
- * Post processing involves creating a single Part\CommentPart out of
- * generated parts from tokens. The Part\CommentPart is returned in an
- * array.
- *
- * @param IHeaderPart[] $parts
- * @return IHeaderPart[]
- */
- protected function processParts(array $parts) : array
- {
- return [$this->partFactory->newCommentPart($parts)];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/DateConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/DateConsumerService.php
deleted file mode 100644
index 78580f99..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/DateConsumerService.php
+++ /dev/null
@@ -1,45 +0,0 @@
-partFactory->newToken($token, false);
- }
-
- /**
- * Constructs a single Part\DatePart of any parsed parts returning it in an
- * array with a single element.
- *
- * @param \ZBateson\MailMimeParser\Header\IHeaderPart[] $parts The parsed
- * parts.
- * @return \ZBateson\MailMimeParser\Header\IHeaderPart[] Array of resulting
- * final parts.
- */
- protected function processParts(array $parts) : array
- {
- return [$this->partFactory->newDatePart($parts)];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/GenericConsumerMimeLiteralPartService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/GenericConsumerMimeLiteralPartService.php
deleted file mode 100644
index 46bfac9b..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/GenericConsumerMimeLiteralPartService.php
+++ /dev/null
@@ -1,34 +0,0 @@
-'
- * characters. Processing for validly-formatted IDs are passed on to its
- * sub-consumer, IdConsumer.
- *
- * @author Zaahid Bateson
- */
-class IdBaseConsumerService extends AbstractConsumerService
-{
- public function __construct(
- LoggerInterface $logger,
- HeaderPartFactory $partFactory,
- CommentConsumerService $commentConsumerService,
- QuotedStringConsumerService $quotedStringConsumerService,
- IdConsumerService $idConsumerService
- ) {
- parent::__construct(
- $logger,
- $partFactory,
- [
- $commentConsumerService,
- $quotedStringConsumerService,
- $idConsumerService
- ]
- );
- }
-
- /**
- * Returns '\s+' as a whitespace separator.
- *
- * @return string[] an array of regex pattern matchers.
- */
- protected function getTokenSeparators() : array
- {
- return ['\s+'];
- }
-
- /**
- * IdBaseConsumerService doesn't have start/end tokens, and so always
- * returns false.
- */
- protected function isEndToken(string $token) : bool
- {
- return false;
- }
-
- /**
- * IdBaseConsumerService doesn't have start/end tokens, and so always
- * returns false.
- *
- * @codeCoverageIgnore
- */
- protected function isStartToken(string $token) : bool
- {
- return false;
- }
-
- /**
- * Returns null for whitespace, and
- * {@see ZBateson\MailMimeParser\Header\Part\Token} for anything else.
- *
- * @param string $token the token
- * @param bool $isLiteral set to true if the token represents a literal -
- * e.g. an escaped token
- * @return ?IHeaderPart The constructed header part or null if the token
- * should be ignored
- */
- protected function getPartForToken(string $token, bool $isLiteral) : ?IHeaderPart
- {
- if (\preg_match('/^\s+$/', $token)) {
- return null;
- }
- return $this->partFactory->newToken($token, true);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/IdConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/IdConsumerService.php
deleted file mode 100644
index 365d6c88..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/IdConsumerService.php
+++ /dev/null
@@ -1,57 +0,0 @@
-' char.
- *
- * @author Zaahid Bateson
- */
-class IdConsumerService extends GenericConsumerService
-{
- /**
- * Overridden to return patterns matching the beginning part of an ID ('<'
- * and '>' chars).
- *
- * @return string[] the patterns
- */
- public function getTokenSeparators() : array
- {
- return \array_merge(parent::getTokenSeparators(), ['<', '>']);
- }
-
- /**
- * Returns true for '>'.
- */
- protected function isEndToken(string $token) : bool
- {
- return ($token === '>');
- }
-
- /**
- * Returns true for '<'.
- */
- protected function isStartToken(string $token) : bool
- {
- return ($token === '<');
- }
-
- /**
- * Returns null for whitespace, and Token for anything else.
- */
- protected function getPartForToken(string $token, bool $isLiteral) : ?IHeaderPart
- {
- if (\preg_match('/^\s+$/', $token)) {
- return null;
- }
- return $this->partFactory->newToken($token, true);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/ParameterConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/ParameterConsumerService.php
deleted file mode 100644
index cc0735a6..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/ParameterConsumerService.php
+++ /dev/null
@@ -1,96 +0,0 @@
-partFactory;
- return \array_values(\array_map(
- function($partsArray) use ($factory) {
- if (\count($partsArray) > 1) {
- return $factory->newSplitParameterPart($partsArray);
- }
- return $partsArray[0];
- },
- \array_merge_recursive(...\array_map(
- function($p) {
- // if $p->getIndex is non-null, it's a split-parameter part
- // and an array of one element consisting of name => ParameterPart
- // is returned, which is then merged into name => array-of-parameter-parts
- // or ';' object_id . ';' for non-split parts with a value of a single
- // element array of [ParameterPart]
- if ($p instanceof ParameterPart && $p->getIndex() !== null) {
- return [\strtolower($p->getName()) => [$p]];
- }
- return [';' . \spl_object_id($p) . ';' => [$p]];
- },
- $parts
- ))
- ));
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/ParameterNameValueConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/ParameterNameValueConsumerService.php
deleted file mode 100644
index b288b9d0..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/ParameterNameValueConsumerService.php
+++ /dev/null
@@ -1,97 +0,0 @@
-partFactory->newContainerPart($parts)];
- }
- return [$this->partFactory->newParameterPart(
- $nameOnly,
- $valuePart
- )];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/ParameterValueConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/ParameterValueConsumerService.php
deleted file mode 100644
index 9f3c4360..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/ParameterValueConsumerService.php
+++ /dev/null
@@ -1,64 +0,0 @@
-partFactory->newToken($token, $isLiteral, true);
- }
-
- /**
- * Overridden to combine all part values into a single string and return it
- * as an array with a single element.
- *
- * The returned IHeaderParts is an array containing a single
- * QuotedLiteralPart.
- *
- * @param IHeaderPart[] $parts
- * @return IHeaderPart[]
- */
- protected function processParts(array $parts) : array
- {
- return [$this->partFactory->newQuotedLiteralPart($parts)];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/QuotedStringMimeLiteralPartConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/QuotedStringMimeLiteralPartConsumerService.php
deleted file mode 100644
index da36f196..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/QuotedStringMimeLiteralPartConsumerService.php
+++ /dev/null
@@ -1,33 +0,0 @@
-partFactory->newMimeToken($token);
- }
- return $this->partFactory->newToken($token, $isLiteral);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/QuotedStringMimeLiteralPartTokenSplitPatternTrait.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/QuotedStringMimeLiteralPartTokenSplitPatternTrait.php
deleted file mode 100644
index 6f01d659..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/QuotedStringMimeLiteralPartTokenSplitPatternTrait.php
+++ /dev/null
@@ -1,37 +0,0 @@
-getAllTokenSeparators());
- $mimePartPattern = MimeToken::MIME_PART_PATTERN_NO_QUOTES;
- return '~(' . $mimePartPattern . '|\\\\\r\n|\\\\.|' . $sChars . ')~ms';
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/Received/DomainConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/Received/DomainConsumerService.php
deleted file mode 100644
index ad97ccce..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/Received/DomainConsumerService.php
+++ /dev/null
@@ -1,68 +0,0 @@
-partFactory->newReceivedDomainPart($this->partName, $parts)];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/Received/GenericReceivedConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/Received/GenericReceivedConsumerService.php
deleted file mode 100644
index 4e623677..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/Received/GenericReceivedConsumerService.php
+++ /dev/null
@@ -1,113 +0,0 @@
-partName = $partName;
- }
-
- /**
- * Returns true if the passed token matches (case-insensitively)
- * $this->getPartName() with optional whitespace surrounding it.
- */
- protected function isStartToken(string $token) : bool
- {
- $pattern = '/^' . \preg_quote($this->partName, '/') . '$/i';
- return (\preg_match($pattern, $token) === 1);
- }
-
- /**
- * Returns true if the token matches (case-insensitively) any of the
- * following, with optional surrounding whitespace:
- *
- * o by
- * o via
- * o with
- * o id
- * o for
- * o ;
- */
- protected function isEndToken(string $token) : bool
- {
- return (\preg_match('/^(by|via|with|id|for|;)$/i', $token) === 1);
- }
-
- /**
- * Returns a whitespace separator (for filtering ignorable whitespace
- * between parts), and a separator matching the current part name as
- * set on $this->partName.
- *
- * @return string[] an array of regex pattern matchers
- */
- protected function getTokenSeparators() : array
- {
- return [
- '\s+',
- '(\A\s*|\s+)(?i)' . \preg_quote($this->partName, '/') . '(?-i)(?=\s+)'
- ];
- }
-
- /**
- * @param \ZBateson\MailMimeParser\Header\IHeaderPart[] $parts
- * @return \ZBateson\MailMimeParser\Header\IHeaderPart[]
- */
- protected function processParts(array $parts) : array
- {
- return [$this->partFactory->newReceivedPart($this->partName, $parts)];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/Received/ReceivedDateConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/Received/ReceivedDateConsumerService.php
deleted file mode 100644
index ac8166f5..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/Received/ReceivedDateConsumerService.php
+++ /dev/null
@@ -1,40 +0,0 @@
-getAllTokenSeparators());
- return '~(' . $sChars . ')~';
- }
-
- /**
- * Overridden to /not/ advance when the end token matches a start token for
- * a sub-consumer.
- */
- protected function advanceToNextToken(Iterator $tokens, bool $isStartToken) : static
- {
- if ($isStartToken) {
- $tokens->next();
- } elseif ($tokens->valid() && !$this->isEndToken($tokens->current())) {
- foreach ($this->subConsumers as $consumer) {
- if ($consumer->isStartToken($tokens->current())) {
- return $this;
- }
- }
- $tokens->next();
- }
- return $this;
- }
-
- /**
- * @param \ZBateson\MailMimeParser\Header\IHeaderPart[] $parts
- * @return \ZBateson\MailMimeParser\Header\IHeaderPart[]
- */
- protected function processParts(array $parts) : array
- {
- // filtering out tokens (filters out the names, e.g. 'by' or 'with')
- return \array_values(\array_filter($parts, fn ($p) => !$p instanceof Token));
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/SubjectConsumerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/SubjectConsumerService.php
deleted file mode 100644
index dd6a459e..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Consumer/SubjectConsumerService.php
+++ /dev/null
@@ -1,62 +0,0 @@
-partFactory->newMimeToken($token);
- }
- return $this->partFactory->newSubjectToken($token);
- }
-
- /**
- * Returns an array of \ZBateson\MailMimeParser\Header\Part\HeaderPart for
- * the current token on the iterator.
- *
- * Overridden from AbstractConsumerService to remove special filtering for
- * backslash escaping, which also seems to not apply to Subject headers at
- * least in ThunderBird's implementation.
- *
- * @return IHeaderPart[]
- */
- protected function getTokenParts(Iterator $tokens) : array
- {
- return $this->getConsumerTokenParts($tokens);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/DateHeader.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/DateHeader.php
deleted file mode 100644
index 6b6a9c85..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/DateHeader.php
+++ /dev/null
@@ -1,67 +0,0 @@
-get(LoggerInterface::class),
- $consumerService ?? $di->get(DateConsumerService::class),
- $name,
- $value
- );
- }
-
- /**
- * Convenience method returning the part's DateTime object, or null if the
- * date could not be parsed.
- *
- * @return ?DateTime The parsed DateTime object.
- */
- public function getDateTime() : ?DateTime
- {
- if (!empty($this->parts) && $this->parts[0] instanceof DatePart) {
- return $this->parts[0]->getDateTime();
- }
- return null;
- }
-
- /**
- * Returns a DateTimeImmutable for the part's DateTime object, or null if
- * the date could not be parsed.
- *
- * @return ?DateTimeImmutable The parsed DateTimeImmutable object.
- */
- public function getDateTimeImmutable() : ?DateTimeImmutable
- {
- $dateTime = $this->getDateTime();
- if ($dateTime !== null) {
- return DateTimeImmutable::createFromMutable($dateTime);
- }
- return null;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/GenericHeader.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/GenericHeader.php
deleted file mode 100644
index ac0d3007..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/GenericHeader.php
+++ /dev/null
@@ -1,47 +0,0 @@
-get(LoggerInterface::class),
- $consumerService ?? $di->get(DateConsumerService::class),
- $name,
- $value
- );
- parent::__construct($logger, $consumerService, $name, $value);
- }
-
- public function getValue() : ?string
- {
- if (!empty($this->parts)) {
- return \implode('', \array_map(function($p) { return $p->getValue(); }, $this->parts));
- }
- return null;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/HeaderConsts.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/HeaderConsts.php
deleted file mode 100644
index 289fc4c9..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/HeaderConsts.php
+++ /dev/null
@@ -1,95 +0,0 @@
- [
- 'from',
- 'to',
- 'cc',
- 'bcc',
- 'sender',
- 'replyto',
- 'resentfrom',
- 'resentto',
- 'resentcc',
- 'resentbcc',
- 'resentreplyto',
- 'returnpath',
- 'deliveredto',
- ],
- DateHeader::class => [
- 'date',
- 'resentdate',
- 'deliverydate',
- 'expires',
- 'expirydate',
- 'replyby',
- ],
- ParameterHeader::class => [
- 'contenttype',
- 'contentdisposition',
- 'receivedspf',
- 'authenticationresults',
- 'dkimsignature',
- 'autocrypt',
- ],
- SubjectHeader::class => [
- 'subject',
- ],
- IdHeader::class => [
- 'messageid',
- 'contentid',
- 'inreplyto',
- 'references'
- ],
- ReceivedHeader::class => [
- 'received'
- ]
- ];
-
- /**
- * @var string Defines the generic IHeader type to use for headers that
- * aren't mapped in $types
- */
- protected $genericType = GenericHeader::class;
-
- public function __construct(
- LoggerInterface $logger,
- MimeTokenPartFactory $mimeTokenPartFactory,
- AddressBaseConsumerService $addressBaseConsumerService,
- DateConsumerService $dateConsumerService,
- GenericConsumerMimeLiteralPartService $genericConsumerMimeLiteralPartService,
- IdBaseConsumerService $idBaseConsumerService,
- ParameterConsumerService $parameterConsumerService,
- ReceivedConsumerService $receivedConsumerService,
- SubjectConsumerService $subjectConsumerService
- ) {
- $this->logger = $logger;
- $this->mimeTokenPartFactory = $mimeTokenPartFactory;
- $this->consumerServices = [
- AddressBaseConsumerService::class => $addressBaseConsumerService,
- DateConsumerService::class => $dateConsumerService,
- GenericConsumerMimeLiteralPartService::class => $genericConsumerMimeLiteralPartService,
- IdBaseConsumerService::class => $idBaseConsumerService,
- ParameterConsumerService::class => $parameterConsumerService,
- ReceivedConsumerService::class => $receivedConsumerService,
- SubjectConsumerService::class => $subjectConsumerService
- ];
- }
-
- /**
- * Returns the string in lower-case, and with non-alphanumeric characters
- * stripped out.
- *
- * @param string $header The header name
- * @return string The normalized header name
- */
- public function getNormalizedHeaderName(string $header) : string
- {
- return \preg_replace('/[^a-z0-9]/', '', \strtolower($header));
- }
-
- /**
- * Returns the name of an IHeader class for the passed header name.
- *
- * @param string $name The header name.
- * @return string The Fully Qualified class name.
- */
- private function getClassFor(string $name) : string
- {
- $test = $this->getNormalizedHeaderName($name);
- foreach ($this->types as $class => $matchers) {
- foreach ($matchers as $matcher) {
- if ($test === $matcher) {
- return $class;
- }
- }
- }
- return $this->genericType;
- }
-
- /**
- * Creates an IHeader instance for the passed header name and value, and
- * returns it.
- *
- * @param string $name The header name.
- * @param string $value The header value.
- * @return IHeader The created header object.
- */
- public function newInstance(string $name, string $value) : IHeader
- {
- $class = $this->getClassFor($name);
- $this->logger->debug(
- 'Creating {class} for header with name "{name}" and value "{value}"',
- ['class' => $class, 'name' => $name, 'value' => $value]
- );
- return $this->newInstanceOf($name, $value, $class);
- }
-
- /**
- * Creates an IHeader instance for the passed header name and value using
- * the passed IHeader class, and returns it.
- *
- * @param string $name The header name.
- * @param string $value The header value.
- * @param string $iHeaderClass The class to use for header creation
- * @return IHeader The created header object.
- */
- public function newInstanceOf(string $name, string $value, string $iHeaderClass) : IHeader
- {
- $ref = new ReflectionClass($iHeaderClass);
- $params = $ref->getConstructor()->getParameters();
- if ($ref->isSubclassOf(MimeEncodedHeader::class)) {
- return new $iHeaderClass(
- $name,
- $value,
- $this->logger,
- $this->mimeTokenPartFactory,
- $this->consumerServices[$params[4]->getType()->getName()]
- );
- }
- return new $iHeaderClass(
- $name,
- $value,
- $this->logger,
- $this->consumerServices[$params[3]->getType()->getName()]
- );
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/IHeader.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/IHeader.php
deleted file mode 100644
index 97c48e5c..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/IHeader.php
+++ /dev/null
@@ -1,84 +0,0 @@
-: '
- *
- * @return string The string representation.
- */
- public function __toString() : string;
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/IHeaderPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/IHeaderPart.php
deleted file mode 100644
index e439e2e8..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/IHeaderPart.php
+++ /dev/null
@@ -1,36 +0,0 @@
-get(LoggerInterface::class),
- $mimeTokenPartFactory ?? $di->get(MimeTokenPartFactory::class),
- $consumerService ?? $di->get(IdBaseConsumerService::class),
- $name,
- $value
- );
- }
-
- /**
- * Returns the ID. Synonymous to calling getValue().
- *
- * @return string|null The ID
- */
- public function getId() : ?string
- {
- return $this->getValue();
- }
-
- /**
- * Returns all IDs parsed for a multi-id header like References or
- * In-Reply-To.
- *
- * @return string[] An array of IDs
- */
- public function getIds() : array
- {
- return \array_values(\array_map(
- function($p) {
- return $p->getValue();
- },
- \array_filter($this->parts, function($p) {
- return !($p instanceof CommentPart);
- })
- ));
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/MimeEncodedHeader.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/MimeEncodedHeader.php
deleted file mode 100644
index 176a158a..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/MimeEncodedHeader.php
+++ /dev/null
@@ -1,66 +0,0 @@
-mimeTokenPartFactory = $mimeTokenPartFactory;
- parent::__construct($logger, $consumerService, $name, $value);
- }
-
- /**
- * Mime-decodes any mime-encoded parts prior to invoking
- * parent::parseHeaderValue.
- */
- protected function parseHeaderValue(IConsumerService $consumer, string $value) : void
- {
- // handled differently from MimeLiteralPart's decoding which ignores
- // whitespace between parts, etc...
- $matchp = '~(' . MimeToken::MIME_PART_PATTERN . ')~';
- $aMimeParts = \preg_split($matchp, $value, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
- $this->mimeEncodedParsedParts = \array_map([$this->mimeTokenPartFactory, 'newInstance'], $aMimeParts);
- parent::parseHeaderValue(
- $consumer,
- \implode('', \array_map(fn ($part) => $part->getValue(), $this->mimeEncodedParsedParts))
- );
- }
-
- protected function getErrorBagChildren() : array
- {
- return \array_values(\array_filter(\array_merge($this->getAllParts(), $this->mimeEncodedParsedParts)));
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/ParameterHeader.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/ParameterHeader.php
deleted file mode 100644
index 5a88f6b1..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/ParameterHeader.php
+++ /dev/null
@@ -1,99 +0,0 @@
-getValue() ``` would return
- * 'zb@example.com', as would calling ```php $header->getValueFor('addr'); ```.
- *
- * @author Zaahid Bateson
- */
-class ParameterHeader extends AbstractHeader
-{
- /**
- * @var ParameterPart[] key map of lower-case parameter names and associated
- * ParameterParts.
- */
- protected array $parameters = [];
-
- public function __construct(
- string $name,
- string $value,
- ?LoggerInterface $logger = null,
- ?ParameterConsumerService $consumerService = null
- ) {
- $di = MailMimeParser::getGlobalContainer();
- parent::__construct(
- $logger ?? $di->get(LoggerInterface::class),
- $consumerService ?? $di->get(ParameterConsumerService::class),
- $name,
- $value
- );
- }
-
- /**
- * Overridden to assign ParameterParts to a map of lower-case parameter
- * names to ParameterParts.
- */
- protected function parseHeaderValue(IConsumerService $consumer, string $value) : void
- {
- parent::parseHeaderValue($consumer, $value);
- foreach ($this->parts as $part) {
- if ($part instanceof NameValuePart) {
- $this->parameters[\strtolower($part->getName())] = $part;
- }
- }
- }
-
- /**
- * Returns true if a parameter exists with the passed name.
- *
- * @param string $name The parameter to look up.
- */
- public function hasParameter(string $name) : bool
- {
- return isset($this->parameters[\strtolower($name)]);
- }
-
- /**
- * Returns the value of the parameter with the given name, or $defaultValue
- * if not set.
- *
- * @param string $name The parameter to retrieve.
- * @param string $defaultValue Optional default value (defaulting to null if
- * not provided).
- * @return string|null The parameter's value.
- */
- public function getValueFor(string $name, ?string $defaultValue = null) : ?string
- {
- if (!$this->hasParameter($name)) {
- return $defaultValue;
- }
- return $this->parameters[\strtolower($name)]->getValue();
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/AddressGroupPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/AddressGroupPart.php
deleted file mode 100644
index 02aabe5d..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/AddressGroupPart.php
+++ /dev/null
@@ -1,86 +0,0 @@
-addresses = \array_merge(...\array_map(
- fn ($p) => ($p instanceof AddressGroupPart) ? $p->getAddresses() : [$p],
- $addressesAndGroupParts
- ));
- // for backwards compatibility
- $this->value = $this->name;
- }
-
- /**
- * Return the AddressGroupPart's array of addresses.
- *
- * @return AddressPart[] An array of address parts.
- */
- public function getAddresses() : array
- {
- return $this->addresses;
- }
-
- /**
- * Returns the AddressPart at the passed index or null.
- *
- * @param int $index The 0-based index.
- * @return ?AddressPart The address.
- */
- public function getAddress(int $index) : ?AddressPart
- {
- if (!isset($this->addresses[$index])) {
- return null;
- }
- return $this->addresses[$index];
- }
-
- protected function validate() : void
- {
- if ($this->name === null || \mb_strlen($this->name) === 0) {
- $this->addError('Address group doesn\'t have a name', LogLevel::ERROR);
- }
- if (empty($this->addresses)) {
- $this->addError('Address group doesn\'t have any email addresses defined in it', LogLevel::NOTICE);
- }
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/AddressPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/AddressPart.php
deleted file mode 100644
index 8b83fb8e..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/AddressPart.php
+++ /dev/null
@@ -1,57 +0,0 @@
-getValue();
- } elseif ($p instanceof QuotedLiteralPart && $p->getValue() !== '') {
- return '"' . \preg_replace('/(["\\\])/', '\\\$1', $p->getValue()) . '"';
- }
- return \preg_replace('/\s+/', '', $p->getValue());
- },
- $parts
- ));
- }
-
- /**
- * Returns the email address.
- *
- * @return string The email address.
- */
- public function getEmail() : string
- {
- return $this->value;
- }
-
- protected function validate() : void
- {
- if (empty($this->value)) {
- $this->addError('Address doesn\'t contain an email address', LogLevel::ERROR);
- }
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/CommentPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/CommentPart.php
deleted file mode 100644
index 92b1f4f8..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/CommentPart.php
+++ /dev/null
@@ -1,77 +0,0 @@
-partFactory = $partFactory;
- parent::__construct($logger, $charsetConverter, $children);
- $this->comment = $this->value;
- $this->value = '';
- $this->isSpace = true;
- $this->canIgnoreSpacesBefore = true;
- $this->canIgnoreSpacesAfter = true;
- }
-
- protected function getValueFromParts(array $parts) : string
- {
- $partFactory = $this->partFactory;
- return parent::getValueFromParts(\array_map(
- function($p) use ($partFactory) {
- if ($p instanceof CommentPart) {
- return $partFactory->newQuotedLiteralPart([$partFactory->newToken('(' . $p->getComment() . ')')]);
- } elseif ($p instanceof QuotedLiteralPart) {
- return $partFactory->newQuotedLiteralPart([$partFactory->newToken('"' . \str_replace('(["\\])', '\$1', $p->getValue()) . '"')]);
- }
- return $p;
- },
- $parts
- ));
- }
-
- /**
- * Returns the comment's text.
- */
- public function getComment() : string
- {
- return $this->comment;
- }
-
- /**
- * Returns an empty string.
- */
- public function getValue() : string
- {
- return '';
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ContainerPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ContainerPart.php
deleted file mode 100644
index b0189080..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ContainerPart.php
+++ /dev/null
@@ -1,128 +0,0 @@
-charsetConverter = $charsetConverter;
- $this->children = $children;
- $str = (!empty($children)) ? $this->getValueFromParts($children) : '';
- parent::__construct(
- $logger,
- $this->charsetConverter,
- $str
- );
- }
-
- /**
- * Filters out ignorable space tokens.
- *
- * Spaces are removed if parts on either side of it have their
- * canIgnoreSpaceAfter/canIgnoreSpaceBefore properties set to true.
- *
- * @param HeaderPart[] $parts
- * @return HeaderPart[]
- */
- protected function filterIgnoredSpaces(array $parts) : array
- {
- $ends = (object) ['isSpace' => true, 'canIgnoreSpacesAfter' => true, 'canIgnoreSpacesBefore' => true, 'value' => ''];
-
- $spaced = \array_merge($parts, [$ends]);
- $filtered = \array_slice(\array_reduce(
- \array_slice(\array_keys($spaced), 0, -1),
- function($carry, $key) use ($spaced, $ends) {
- $p = $spaced[$key];
- $l = \end($carry);
- $a = $spaced[$key + 1];
- if ($p->isSpace && $a === $ends) {
- // trim
- if ($l->isSpace) {
- \array_pop($carry);
- }
- return $carry;
- } elseif ($p->isSpace && ($l->isSpace || ($l->canIgnoreSpacesAfter && $a->canIgnoreSpacesBefore))) {
- return $carry;
- }
- return \array_merge($carry, [$p]);
- },
- [$ends]
- ), 1);
- return $filtered;
- }
-
- /**
- * Creates the string value representation of this part constructed from the
- * child parts passed to it.
- *
- * The default implementation filters out ignorable whitespace between
- * parts, and concatenates parts calling 'getValue'.
- *
- * @param HeaderParts[] $parts
- */
- protected function getValueFromParts(array $parts) : string
- {
- return \array_reduce($this->filterIgnoredSpaces($parts), fn ($c, $p) => $c . $p->getValue(), '');
- }
-
- /**
- * Returns the child parts this container part consists of.
- *
- * @return IHeaderPart[]
- */
- public function getChildParts() : array
- {
- return $this->children;
- }
-
- public function getComments() : array
- {
- return \array_merge(...\array_filter(\array_map(
- fn ($p) => ($p instanceof CommentPart) ? [$p] : $p->getComments(),
- $this->children
- )));
- }
-
- /**
- * Returns this part's children, same as getChildParts().
- *
- * @return ErrorBag
- */
- protected function getErrorBagChildren() : array
- {
- return $this->children;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/DatePart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/DatePart.php
deleted file mode 100644
index 09f72ae5..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/DatePart.php
+++ /dev/null
@@ -1,72 +0,0 @@
-value = $dateToken = \trim($this->value);
-
- // Missing "+" in timezone definition. eg: Thu, 13 Mar 2014 15:02:47 0000 (not RFC compliant)
- // Won't result in an Exception, but in a valid DateTime in year `0000` - therefore we need to check this first:
- if (\preg_match('# [0-9]{4}$#', $dateToken)) {
- $dateToken = \preg_replace('# ([0-9]{4})$#', ' +$1', $dateToken);
- // @see https://bugs.php.net/bug.php?id=42486
- } elseif (\preg_match('#UT$#', $dateToken)) {
- $dateToken = $dateToken . 'C';
- }
-
- try {
- $this->date = new DateTime($dateToken);
- } catch (Exception $e) {
- $this->addError(
- "Unable to parse date from header: \"{$dateToken}\"",
- LogLevel::ERROR,
- $e
- );
- }
- }
-
- /**
- * Returns a DateTime object or null if it can't be parsed.
- */
- public function getDateTime() : ?DateTime
- {
- return $this->date;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/HeaderPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/HeaderPart.php
deleted file mode 100644
index 8455b38a..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/HeaderPart.php
+++ /dev/null
@@ -1,116 +0,0 @@
-charsetConverter = $charsetConverter;
- $this->value = $value;
- }
-
- /**
- * Returns the part's representative value after any necessary processing
- * has been performed. For the raw value, call getRawValue().
- */
- public function getValue() : string
- {
- return $this->value;
- }
-
- /**
- * Returns the value of the part (which is a string).
- *
- * @return string the value
- */
- public function __toString() : string
- {
- return $this->value;
- }
-
- /**
- * Ensures the encoding of the passed string is set to UTF-8.
- *
- * The method does nothing if the passed $from charset is UTF-8 already, or
- * if $force is set to false and mb_check_encoding for $str returns true
- * for 'UTF-8'.
- *
- * @return string utf-8 string
- */
- protected function convertEncoding(string $str, string $from = 'ISO-8859-1', bool $force = false) : string
- {
- if ($from !== 'UTF-8') {
- // mime header part decoding will force it. This is necessary for
- // UTF-7 because mb_check_encoding will return true
- if ($force || !($this->charsetConverter->checkEncoding($str, 'UTF-8'))) {
- try {
- return $this->charsetConverter->convert($str, $from, 'UTF-8');
- } catch (UnsupportedCharsetException $ce) {
- $this->addError('Unable to convert charset', LogLevel::ERROR, $ce);
- return $this->charsetConverter->convert($str, 'ISO-8859-1', 'UTF-8');
- }
- }
- }
- return $str;
- }
-
- public function getComments() : array
- {
- return [];
- }
-
- /**
- * Default implementation returns an empty array.
- */
- protected function getErrorBagChildren() : array
- {
- return [];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/HeaderPartFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/HeaderPartFactory.php
deleted file mode 100644
index 864cad01..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/HeaderPartFactory.php
+++ /dev/null
@@ -1,176 +0,0 @@
-logger = $logger;
- $this->charsetConverter = $charsetConverter;
- }
-
- /**
- * Creates and returns a default IHeaderPart for this factory, allowing
- * subclass factories for specialized IHeaderParts.
- *
- * The default implementation returns a new Token
- */
- public function newInstance(string $value) : IHeaderPart
- {
- return $this->newToken($value);
- }
-
- /**
- * Initializes and returns a new Token.
- */
- public function newToken(string $value, bool $isLiteral = false, bool $preserveSpaces = false) : Token
- {
- return new Token($this->logger, $this->charsetConverter, $value, $isLiteral, $preserveSpaces);
- }
-
- /**
- * Initializes and returns a new SubjectToken.
- */
- public function newSubjectToken(string $value) : SubjectToken
- {
- return new SubjectToken($this->logger, $this->charsetConverter, $value);
- }
-
- /**
- * Initializes and returns a new MimeToken.
- */
- public function newMimeToken(string $value) : MimeToken
- {
- return new MimeToken($this->logger, $this->charsetConverter, $value);
- }
-
- /**
- * Initializes and returns a new ContainerPart.
- *
- * @param HeaderPart[] $children
- */
- public function newContainerPart(array $children) : ContainerPart
- {
- return new ContainerPart($this->logger, $this->charsetConverter, $children);
- }
-
- /**
- * Instantiates and returns a SplitParameterPart.
- *
- * @param ParameterPart[] $children
- */
- public function newSplitParameterPart(array $children) : SplitParameterPart
- {
- return new SplitParameterPart($this->logger, $this->charsetConverter, $this, $children);
- }
-
- /**
- * Initializes and returns a new QuotedLiteralPart.
- *
- * @param HeaderPart[] $parts
- */
- public function newQuotedLiteralPart(array $parts) : QuotedLiteralPart
- {
- return new QuotedLiteralPart($this->logger, $this->charsetConverter, $parts);
- }
-
- /**
- * Initializes and returns a new CommentPart.
- *
- * @param HeaderPart[] $children
- */
- public function newCommentPart(array $children) : CommentPart
- {
- return new CommentPart($this->logger, $this->charsetConverter, $this, $children);
- }
-
- /**
- * Initializes and returns a new AddressPart.
- *
- * @param HeaderPart[] $nameParts
- * @param HeaderPart[] $emailParts
- */
- public function newAddress(array $nameParts, array $emailParts) : AddressPart
- {
- return new AddressPart($this->logger, $this->charsetConverter, $nameParts, $emailParts);
- }
-
- /**
- * Initializes and returns a new AddressGroupPart
- *
- * @param HeaderPart[] $nameParts
- * @param AddressPart[]|AddressGroupPart[] $addressesAndGroups
- */
- public function newAddressGroupPart(array $nameParts, array $addressesAndGroups) : AddressGroupPart
- {
- return new AddressGroupPart($this->logger, $this->charsetConverter, $nameParts, $addressesAndGroups);
- }
-
- /**
- * Initializes and returns a new DatePart
- *
- * @param HeaderPart[] $children
- */
- public function newDatePart(array $children) : DatePart
- {
- return new DatePart($this->logger, $this->charsetConverter, $children);
- }
-
- /**
- * Initializes and returns a new ParameterPart.
- *
- * @param HeaderPart[] $nameParts
- */
- public function newParameterPart(array $nameParts, ContainerPart $valuePart) : ParameterPart
- {
- return new ParameterPart($this->logger, $this->charsetConverter, $nameParts, $valuePart);
- }
-
- /**
- * Initializes and returns a new ReceivedPart.
- *
- * @param HeaderPart[] $children
- */
- public function newReceivedPart(string $name, array $children) : ReceivedPart
- {
- return new ReceivedPart($this->logger, $this->charsetConverter, $name, $children);
- }
-
- /**
- * Initializes and returns a new ReceivedDomainPart.
- *
- * @param HeaderPart[] $children
- */
- public function newReceivedDomainPart(string $name, array $children) : ReceivedDomainPart
- {
- return new ReceivedDomainPart(
- $this->logger,
- $this->charsetConverter,
- $name,
- $children
- );
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/MimeToken.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/MimeToken.php
deleted file mode 100644
index 1d4a8ae3..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/MimeToken.php
+++ /dev/null
@@ -1,109 +0,0 @@
-value = $this->decodeMime(\preg_replace('/\r|\n/', '', $this->value));
- $pattern = self::MIME_PART_PATTERN;
- $this->canIgnoreSpacesBefore = (bool) \preg_match("/^\s*{$pattern}|\s+/", $this->rawValue);
- $this->canIgnoreSpacesAfter = (bool) \preg_match("/{$pattern}\s*|\s+\$/", $this->rawValue);
- }
-
- /**
- * Finds and replaces mime parts with their values.
- *
- * The method splits the token value into an array on mime-part-patterns,
- * either replacing a mime part with its value by calling iconv_mime_decode
- * or converts the encoding on the text part by calling convertEncoding.
- */
- protected function decodeMime(string $value) : string
- {
- if (\preg_match('/^=\?([A-Za-z\-_0-9]+)\*?([A-Za-z\-_0-9]+)?\?([QBqb])\?([^\?]*)\?=$/', $value, $matches)) {
- return $this->decodeMatchedEntity($matches);
- }
- return $this->convertEncoding($value);
- }
-
- /**
- * Decodes a matched mime entity part into a string and returns it, after
- * adding the string into the languages array.
- *
- * @param string[] $matches
- */
- private function decodeMatchedEntity(array $matches) : string
- {
- $body = $matches[4];
- if (\strtoupper($matches[3]) === 'Q') {
- $body = \quoted_printable_decode(\str_replace('_', '=20', $body));
- } else {
- $body = \base64_decode($body);
- }
- $this->charset = $matches[1];
- $this->language = (!empty($matches[2])) ? $matches[2] : null;
- if ($this->charset !== null) {
- return $this->convertEncoding($body, $this->charset, true);
- }
- return $this->convertEncoding($body, 'ISO-8859-1', true);
- }
-
- /**
- * Returns the language code for the mime part.
- */
- public function getLanguage() : ?string
- {
- return $this->language;
- }
-
- /**
- * Returns the charset for the encoded part.
- */
- public function getCharset() : ?string
- {
- return $this->charset;
- }
-
- public function getRawValue() : string
- {
- return $this->rawValue;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/MimeTokenPartFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/MimeTokenPartFactory.php
deleted file mode 100644
index eb20ef38..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/MimeTokenPartFactory.php
+++ /dev/null
@@ -1,27 +0,0 @@
-newMimeToken($value);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/NameValuePart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/NameValuePart.php
deleted file mode 100644
index 618d1e67..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/NameValuePart.php
+++ /dev/null
@@ -1,65 +0,0 @@
-charsetConverter = $charsetConverter;
- $this->name = (!empty($nameParts)) ? $this->getNameFromParts($nameParts) : '';
- parent::__construct($logger, $charsetConverter, $valueParts);
- \array_unshift($this->children, ...$nameParts);
- }
-
- /**
- * Creates the string 'name' representation of this part constructed from
- * the child name parts passed to it.
- *
- * @param HeaderParts[] $parts
- */
- protected function getNameFromParts(array $parts) : string
- {
- return \array_reduce($this->filterIgnoredSpaces($parts), fn ($c, $p) => $c . $p->getValue(), '');
- }
-
- /**
- * Returns the name of the name/value part.
- */
- public function getName() : string
- {
- return $this->name;
- }
-
- protected function validate() : void
- {
- if ($this->value === '') {
- $this->addError('NameValuePart value is empty', LogLevel::NOTICE);
- }
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ParameterPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ParameterPart.php
deleted file mode 100644
index 96e61892..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ParameterPart.php
+++ /dev/null
@@ -1,119 +0,0 @@
-children);
- }
-
- protected function getNameFromParts(array $parts) : string
- {
- $name = parent::getNameFromParts($parts);
- if (\preg_match('~^\s*([^\*]+)\*(\d*)(\*)?$~', $name, $matches)) {
- $name = $matches[1];
- $this->index = ($matches[2] !== '') ? (int) ($matches[2]) : null;
- $this->encoded = (($matches[2] === '') || !empty($matches[3]));
- }
- return $name;
- }
-
- protected function decodePartValue(string $value, ?string $charset = null) : string
- {
- if ($charset !== null) {
- return $this->convertEncoding(\rawurldecode($value), $charset, true);
- }
- return $this->convertEncoding(\rawurldecode($value));
- }
-
- protected function getValueFromParts(array $parts) : string
- {
- $value = parent::getValueFromParts($parts);
- if ($this->encoded && \preg_match('~^([^\']*)\'?([^\']*)\'?(.*)$~', $value, $matches)) {
- $this->charset = (!empty($matches[1]) && !empty($matches[3])) ? $matches[1] : $this->charset;
- $this->language = (!empty($matches[2])) ? $matches[2] : $this->language;
- $ev = (empty($matches[3])) ? $matches[1] : $matches[3];
- // only if it's not part of a SplitParameterPart
- if ($this->index === null) {
- // subsequent parts are decoded as a SplitParameterPart since only
- // the first part are supposed to have charset/language fields
- return $this->decodePartValue($ev, $this->charset);
- }
- return $ev;
- }
- return $value;
- }
-
- /**
- * Returns the charset if the part is an RFC-2231 part with a charset set.
- */
- public function getCharset() : ?string
- {
- return $this->charset;
- }
-
- /**
- * Returns the RFC-1766 (or subset) language tag, if the parameter is an
- * RFC-2231 part with a language tag set.
- *
- * @return ?string the language if set, or null if not
- */
- public function getLanguage() : ?string
- {
- return $this->language;
- }
-
- public function isUrlEncoded() : bool
- {
- return $this->encoded;
- }
-
- public function getIndex() : ?int
- {
- return $this->index;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/QuotedLiteralPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/QuotedLiteralPart.php
deleted file mode 100644
index ad3a5de7..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/QuotedLiteralPart.php
+++ /dev/null
@@ -1,46 +0,0 @@
- $key + 1) ? $parts[$key + 1] : null;
- if ($last !== null && $next !== null && $cur->isSpace && (
- $last->canIgnoreSpacesAfter
- && $next->canIgnoreSpacesBefore
- && $last instanceof MimeToken
- && $next instanceof MimeToken
- )) {
- return $carry;
- }
- return \array_merge($carry ?? [], [$cur]);
- }
- );
- return $filtered;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ReceivedDomainPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ReceivedDomainPart.php
deleted file mode 100644
index c514141d..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ReceivedDomainPart.php
+++ /dev/null
@@ -1,103 +0,0 @@
-ehloName = ($this->value !== '') ? $this->value : null;
- $cps = $this->getComments();
- $commentPart = (!empty($cps)) ? $cps[0] : null;
-
- $pattern = '~^(\[(IPv[64])?(?P[a-f\d\.\:]+)\])?\s*(helo=)?(?P[a-z0-9\-]+[a-z0-9\-\.]+)?\s*(\[(IPv[64])?(?P[a-f\d\.\:]+)\])?$~i';
- if ($commentPart !== null && \preg_match($pattern, $commentPart->getComment(), $matches)) {
- $this->value .= ' (' . $commentPart->getComment() . ')';
- $this->hostname = (!empty($matches['name'])) ? $matches['name'] : null;
- $this->address = (!empty($matches['addr1'])) ? $matches['addr1'] : ((!empty($matches['addr2'])) ? $matches['addr2'] : null);
- }
- }
-
- /**
- * Returns the name used to identify the server in the first part of the
- * extended-domain line.
- *
- * Note that this is not necessarily the name used in the EHLO line to an
- * SMTP server, since implementations differ so much, not much can be
- * guaranteed except the position it was parsed in.
- */
- public function getEhloName() : ?string
- {
- return $this->ehloName;
- }
-
- /**
- * Returns the hostname of the server, or whatever string in the hostname
- * position when parsing (but never an address).
- */
- public function getHostname() : ?string
- {
- return $this->hostname;
- }
-
- /**
- * Returns the address of the server, or whatever string that looks like an
- * address in the address position when parsing (but never a hostname).
- */
- public function getAddress() : ?string
- {
- return $this->address;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ReceivedPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ReceivedPart.php
deleted file mode 100644
index e960f96f..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/ReceivedPart.php
+++ /dev/null
@@ -1,37 +0,0 @@
-name = $name;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/SplitParameterPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/SplitParameterPart.php
deleted file mode 100644
index 6c3ff178..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/SplitParameterPart.php
+++ /dev/null
@@ -1,102 +0,0 @@
-partFactory = $headerPartFactory;
- NameValuePart::__construct($logger, $charsetConverter, [$children[0]], $children);
- $this->children = $children;
- }
-
- protected function getNameFromParts(array $parts) : string
- {
- return $parts[0]->getName();
- }
-
- private function getMimeTokens(string $value) : array
- {
- $pattern = MimeToken::MIME_PART_PATTERN;
- // remove whitespace between two adjacent mime encoded parts
- $normed = \preg_replace("/($pattern)\\s+(?=$pattern)/", '$1', $value);
- // with PREG_SPLIT_DELIM_CAPTURE, matched and unmatched parts are returned
- $aMimeParts = \preg_split("/($pattern)/", $normed, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
- return \array_map(
- fn ($p) => (\preg_match("/$pattern/", $p)) ? $this->partFactory->newMimeToken($p) : $this->partFactory->newToken($p, true, true),
- $aMimeParts
- );
- }
-
- private function combineAdjacentUnencodedParts(array $parts) : array
- {
- $runningValue = '';
- $returnedParts = [];
- foreach ($parts as $part) {
- if (!$part->encoded) {
- $runningValue .= $part->value;
- continue;
- }
- if (!empty($runningValue)) {
- $returnedParts = \array_merge($returnedParts, $this->getMimeTokens($runningValue));
- $runningValue = '';
- }
- $returnedParts[] = $part;
- }
- if (!empty($runningValue)) {
- $returnedParts = \array_merge($returnedParts, $this->getMimeTokens($runningValue));
- }
- return $returnedParts;
- }
-
- protected function getValueFromParts(array $parts) : string
- {
- $sorted = $parts;
- \usort($sorted, fn ($a, $b) => $a->index <=> $b->index);
-
- $first = $sorted[0];
- $this->language = $first->language;
- $charset = $this->charset = $first->charset;
-
- $combined = $this->combineAdjacentUnencodedParts($sorted);
-
- return \implode('', \array_map(
- fn ($p) => ($p instanceof ParameterPart && $p->encoded)
- ? $this->decodePartValue($p->getValue(), ($p->charset === null) ? $charset : $p->charset)
- : $p->getValue(),
- $combined
- ));
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/SubjectToken.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/SubjectToken.php
deleted file mode 100644
index bd82f35d..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/SubjectToken.php
+++ /dev/null
@@ -1,40 +0,0 @@
-value = \preg_replace(['/(\r|\n)+(\s)\s*/', '/(\r|\n)+/'], ['$2', ' '], $value);
- $this->isSpace = (\preg_match('/^\s*$/m', $this->value) === 1);
- $this->canIgnoreSpacesBefore = $this->canIgnoreSpacesAfter = $this->isSpace;
- }
-
- public function getValue() : string
- {
- return $this->convertEncoding($this->value);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/Token.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/Token.php
deleted file mode 100644
index 38663a99..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/Part/Token.php
+++ /dev/null
@@ -1,66 +0,0 @@
-rawValue = $value;
- if (!$isLiteral) {
- $this->value = \preg_replace(['/(\r|\n)+(\s)/', '/(\r|\n)+/'], ['$2', ' '], $value);
- if (!$preserveSpaces) {
- $this->value = \preg_replace('/^\s+$/m', ' ', $this->value);
- }
- }
- $this->isSpace = ($this->value === '' || (!$isLiteral && \preg_match('/^\s*$/m', $this->value) === 1));
- $this->canIgnoreSpacesBefore = $this->canIgnoreSpacesAfter = $this->isSpace;
- }
-
- /**
- * Returns the part's representative value after any necessary processing
- * has been performed. For the raw value, call getRawValue().
- */
- public function getValue() : string
- {
- return $this->convertEncoding($this->value);
- }
-
- /**
- * Returns the part's raw value.
- */
- public function getRawValue() : string
- {
- return $this->rawValue;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/ReceivedHeader.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/ReceivedHeader.php
deleted file mode 100644
index ec8f974c..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/ReceivedHeader.php
+++ /dev/null
@@ -1,235 +0,0 @@
-hasParameter('from') ``` or
- * ```php $header->hasParameter('id') ```. The value of the part can be obtained
- * by calling {@see ReceivedHeader::getValueFor()}, for example
- * ```php $header->getValueFor('with'); ```.
- *
- * Additional parsing is performed on the "FROM" and "BY" parts of a received
- * header in an attempt to extract the self-identified name of the server, its
- * hostname, and its address (depending on what's included). These can be
- * accessed directly from the ReceivedHeader object by calling one of the
- * following methods:
- *
- * o {@see ReceivedHeader::getFromName()} -- the name portion of the FROM part
- * o {@see ReceivedHeader::getFromHostname()} -- the hostname of the FROM part
- * o {@see ReceivedHeader::getFromAddress()} -- the adddress portion of the FROM
- * part
- * o {@see ReceivedHeader::getByName()} -- same as getFromName, but for the BY
- * part, and etc... below
- * o {@see ReceivedHeader::getByHostname()}
- * o {@see ReceivedHeader::getByAddress()}
- *
- * The parsed parts of the FROM and BY parts are determined as follows:
- *
- * o Anything outside and before a parenthesized expression is considered "the
- * name", for example "FROM AlainDeBotton", "AlainDeBotton" would be the name,
- * but also if the name is an address, but exists outside the parenthesized
- * expression, it's still considered "the name". For example:
- * "From [1.2.3.4]", getFromName would return "[1.2.3.4]".
- * o A parenthesized expression MUST match what looks like either a domain name
- * on its own, or a domain name and an address. Otherwise the parenthesized
- * expression is considered a comment, and not parsed into hostname and
- * address. The rules are defined loosely because many implementations differ
- * in how strictly they follow the standard. For a domain, it's enough that
- * the expression starts with any alphanumeric character and contains at least
- * one '.', followed by any number of '.', '-' and alphanumeric characters.
- * The address portion must be surrounded in square brackets, and contain any
- * sequence of '.', ':', numbers, and characters 'a' through 'f'. In addition
- * the string 'ipv6' may start the expression (for instance, '[ipv6:::1]'
- * would be valid). A port number may also be considered valid as part of the
- * address, for example: [1.2.3.4:3231]. No additional validation on the
- * address is done, and so an invalid address such as '....' could be
- * returned, so users using the 'address' header are encouraged to validate it
- * before using it. The square brackets are parsed out of the returned
- * address, so the value returned by getFromAddress() would be "2.2.2.2", not
- * "[2.2.2.2]".
- *
- * The date/time stamp can be accessed as a DateTime object by calling
- * {@see ReceivedHeader::getDateTime()}.
- *
- * Parsed comments can be accessed by calling {@see
- * ReceivedHeader::getComments()}. Some implementations may include connection
- * encryption information or other details in non-standardized comments.
- *
- * @author Zaahid Bateson
- */
-class ReceivedHeader extends ParameterHeader
-{
- /**
- * @var DateTime the date/time stamp in the header.
- */
- private ?DateTime $date = null;
-
- /**
- * @var bool set to true once $date has been looked for
- */
- private bool $dateSet = false;
-
- public function __construct(
- string $name,
- string $value,
- ?LoggerInterface $logger = null,
- ?ReceivedConsumerService $consumerService = null
- ) {
- $di = MailMimeParser::getGlobalContainer();
- AbstractHeader::__construct(
- $logger ?? $di->get(LoggerInterface::class),
- $consumerService ?? $di->get(ReceivedConsumerService::class),
- $name,
- $value
- );
- }
-
- /**
- * Returns the raw, unparsed header value, same as {@see
- * ReceivedHeader::getRawValue()}.
- */
- public function getValue() : ?string
- {
- return $this->rawValue;
- }
-
- /**
- * Returns the name identified in the FROM part of the header or null if not
- * defined or the format wasn't parsed.
- *
- * The returned value may either be a name or an address in the form
- * "[1.2.3.4]". Validation is not performed on this value, and so whatever
- * exists in this position is returned -- be it contains spaces, or invalid
- * characters, etc...
- *
- * @return ?string The 'FROM' name.
- */
- public function getFromName() : ?string
- {
- return (isset($this->parameters['from'])) ?
- $this->parameters['from']->getEhloName() : null;
- }
-
- /**
- * Returns the hostname part of a parenthesized FROM part or null if not
- * defined or the format wasn't parsed.
- *
- * For example, "FROM name (host.name)" would return the string "host.name".
- * Validation of the hostname is not performed, and the returned value may
- * not be valid. More details on how the value is parsed and extracted can
- * be found in the class description for {@see ReceivedHeader}.
- *
- * @return ?string The 'FROM' hostname.
- */
- public function getFromHostname() : ?string
- {
- return (isset($this->parameters['from'])) ?
- $this->parameters['from']->getHostname() : null;
- }
-
- /**
- * Returns the address part of a parenthesized FROM part or null if not
- * defined or the format wasn't parsed.
- *
- * For example, "FROM name ([1.2.3.4])" would return the string "1.2.3.4".
- * Validation of the address is not performed, and the returned value may
- * not be valid. More details on how the value is parsed and extracted can
- * be found in the class description for {@see ReceivedHeader}.
- *
- * @return ?string The 'FROM' address.
- */
- public function getFromAddress() : ?string
- {
- return (isset($this->parameters['from'])) ?
- $this->parameters['from']->getAddress() : null;
- }
-
- /**
- * Returns the name identified in the BY part of the header or null if not
- * defined or the format wasn't parsed.
- *
- * The returned value may either be a name or an address in the form
- * "[1.2.3.4]". Validation is not performed on this value, and so whatever
- * exists in this position is returned -- be it contains spaces, or invalid
- * characters, etc...
- *
- * @return ?string The 'BY' name.
- */
- public function getByName() : ?string
- {
- return (isset($this->parameters['by'])) ?
- $this->parameters['by']->getEhloName() : null;
- }
-
- /**
- * Returns the hostname part of a parenthesized BY part or null if not
- * defined or the format wasn't parsed.
- *
- * For example, "BY name (host.name)" would return the string "host.name".
- * Validation of the hostname is not performed, and the returned value may
- * not be valid. More details on how the value is parsed and extracted can
- * be found in the class description for {@see ReceivedHeader}.
- *
- * @return ?string The 'BY' hostname.
- */
- public function getByHostname() : ?string
- {
- return (isset($this->parameters['by'])) ?
- $this->parameters['by']->getHostname() : null;
- }
-
- /**
- * Returns the address part of a parenthesized BY part or null if not
- * defined or the format wasn't parsed.
- *
- * For example, "BY name ([1.2.3.4])" would return the string "1.2.3.4".
- * Validation of the address is not performed, and the returned value may
- * not be valid. More details on how the value is parsed and extracted can
- * be found in the class description for {@see ReceivedHeader}.
- *
- * @return ?string The 'BY' address.
- */
- public function getByAddress() : ?string
- {
- return (isset($this->parameters['by'])) ?
- $this->parameters['by']->getAddress() : null;
- }
-
- /**
- * Returns the date/time stamp for the received header if set, or null
- * otherwise.
- */
- public function getDateTime() : ?DateTime
- {
- if ($this->dateSet === false) {
- foreach ($this->parts as $part) {
- if ($part instanceof DatePart) {
- $this->date = $part->getDateTime();
- }
- }
- $this->dateSet = true;
- }
- return $this->date;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Header/SubjectHeader.php b/plugins/vendor/zbateson/mail-mime-parser/src/Header/SubjectHeader.php
deleted file mode 100644
index bbadc5f8..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Header/SubjectHeader.php
+++ /dev/null
@@ -1,38 +0,0 @@
-get(LoggerInterface::class),
- $consumerService ?? $di->get(SubjectConsumerService::class),
- $name,
- $value
- );
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/IErrorBag.php b/plugins/vendor/zbateson/mail-mime-parser/src/IErrorBag.php
deleted file mode 100644
index 98962c1c..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/IErrorBag.php
+++ /dev/null
@@ -1,86 +0,0 @@
-parse(fopen('path/to/file.txt'), true);
- * // use $message here
- * ```
- *
- * @author Zaahid Bateson
- */
-class MailMimeParser
-{
- /**
- * @var string the default charset used to encode strings (or string content
- * like streams) returned by MailMimeParser (for e.g. the string
- * returned by calling $message->getTextContent()).
- */
- public const DEFAULT_CHARSET = 'UTF-8';
-
- /**
- * @var string the default definition file.
- */
- private const DEFAULT_DEFINITIONS_FILE = __DIR__ . '/di_config.php';
-
- /**
- * @var Container The instance's dependency injection container.
- */
- protected Container $container;
-
- /**
- * @var MessageParserService for parsing messages
- */
- protected MessageParserService $messageParser;
-
- /**
- * @var Container The static global container
- */
- private static ?Container $globalContainer = null;
-
- /**
- * @var array an array of global definitions
- * being used.
- */
- private static array $globalDefinitions = [self::DEFAULT_DEFINITIONS_FILE];
-
- /**
- * Returns the default ContainerBuilder with default loaded definitions.
- */
- private static function getGlobalContainerBuilder() : ContainerBuilder
- {
- $builder = new ContainerBuilder();
- foreach (self::$globalDefinitions as $def) {
- $builder->addDefinitions($def);
- }
- return $builder;
- }
-
- /**
- * Sets global configuration for php-di. Overrides all previously set
- * definitions. You can optionally not use the default MMP definitions file
- * by passing 'false' to the $useDefaultDefinitionsFile argument.
- *
- * @var array array of definitions
- */
- public static function setGlobalPhpDiConfigurations(array $phpDiConfigs, bool $useDefaultDefinitionsFile = true) : void
- {
- self::$globalDefinitions = \array_merge(
- ($useDefaultDefinitionsFile) ? [self::DEFAULT_DEFINITIONS_FILE] : [],
- $phpDiConfigs
- );
- self::$globalContainer = null;
- }
-
- public static function addGlobalPhpDiContainerDefinition(array|string|DefinitionSource $phpDiConfig) : void
- {
- self::$globalDefinitions[] = $phpDiConfig;
- self::$globalContainer = null;
- }
-
- public static function resetGlobalPhpDiContainerDefinitions() : void
- {
- self::$globalDefinitions = [self::DEFAULT_DEFINITIONS_FILE];
- self::$globalContainer = null;
- }
-
- /**
- * Returns the global php-di container instance.
- *
- */
- public static function getGlobalContainer() : Container
- {
- if (self::$globalContainer === null) {
- $builder = self::getGlobalContainerBuilder();
- self::$globalContainer = $builder->build();
- }
- return self::$globalContainer;
- }
-
- /**
- * Registers the provided logger globally.
- */
- public static function setGlobalLogger(LoggerInterface $logger) : void
- {
- self::$globalDefinitions[] = [LoggerInterface::class => $logger];
- self::$globalContainer = null;
- }
-
- /**
- * Provide custom php-di configuration to customize dependency injection, or
- * provide a custom logger for the instance only.
- *
- * Note: this only affects instances created through this instance of the
- * MailMimeParser, or the container itself. Calling 'new MimePart()'
- * directly for instance, would use the global service locator to setup any
- * dependencies MimePart needs. This applies to a provided $logger too --
- * it would only affect instances of objects created through the provided
- * MailMimeParser.
- *
- * Passing false to $useGlobalDefinitions will cause MMP to not use any
- * global definitions. The default definitions file
- * MailMimeParser::DEFAULT_DEFINITIONS_FILE will still be added though.
- *
- * @see MailMimeParser::setGlobalPhpDiConfiguration() to register
- * configuration globally.
- * @see MailMimeParser::setGlobalLogger() to set a global logger
- */
- public function __construct(
- ?LoggerInterface $logger = null,
- array|string|DefinitionSource|null $phpDiContainerConfig = null,
- bool $useGlobalDefinitions = true
- ) {
- if ($phpDiContainerConfig !== null || $logger !== null) {
- if ($useGlobalDefinitions) {
- $builder = self::getGlobalContainerBuilder();
- } else {
- $builder = new ContainerBuilder();
- $builder->addDefinitions(self::DEFAULT_DEFINITIONS_FILE);
- }
- if ($phpDiContainerConfig !== null) {
- $builder->addDefinitions($phpDiContainerConfig);
- }
- if ($logger !== null) {
- $builder->addDefinitions([LoggerInterface::class => $logger]);
- }
- $this->container = $builder->build();
- } else {
- $this->container = self::getGlobalContainer();
- }
- $this->messageParser = $this->container->get(MessageParserService::class);
- }
-
- /**
- * Parses the passed stream handle or string into an {@see IMessage} object
- * and returns it.
- *
- * If the passed $resource is a resource handle or StreamInterface, the
- * resource must remain open while the returned IMessage object exists.
- * Pass true as the second argument to have the resource attached to the
- * IMessage and closed for you when it's destroyed, or pass false to
- * manually close it if it should remain open after the IMessage object is
- * destroyed.
- *
- * @param resource|StreamInterface|string $resource The resource handle to
- * the input stream of the mime message, or a string containing a
- * mime message.
- * @param bool $attached pass true to have it attached to the returned
- * IMessage and destroyed with it.
- */
- public function parse(mixed $resource, bool $attached) : IMessage
- {
- $stream = Utils::streamFor(
- $resource,
- ['metadata' => ['mmp-detached-stream' => ($attached !== true)]]
- );
- if (!$stream->isSeekable()) {
- $stream = new CachingStream($stream);
- }
- return $this->messageParser->parse($stream);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message.php
deleted file mode 100644
index 43285b13..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message.php
+++ /dev/null
@@ -1,342 +0,0 @@
-multipartHelper = $multipartHelper ?? $di->get(MultipartHelper::class);
- $this->privacyHelper = $privacyHelper ?? $di->get(PrivacyHelper::class);
- }
-
- /**
- * Convenience method to parse a handle or string into an IMessage without
- * requiring including MailMimeParser, instantiating it, and calling parse.
- *
- * If the passed $resource is a resource handle or StreamInterface, the
- * resource must remain open while the returned IMessage object exists.
- * Pass true as the second argument to have the resource attached to the
- * IMessage and closed for you when it's destroyed, or pass false to
- * manually close it if it should remain open after the IMessage object is
- * destroyed.
- *
- * @param resource|StreamInterface|string $resource The resource handle to
- * the input stream of the mime message, or a string containing a
- * mime message.
- * @param bool $attached pass true to have it attached to the returned
- * IMessage and destroyed with it.
- */
- public static function from(mixed $resource, bool $attached) : IMessage
- {
- static $mmp = null;
- if ($mmp === null) {
- $mmp = new MailMimeParser();
- }
- return $mmp->parse($resource, $attached);
- }
-
- /**
- * Returns true if the current part is a mime part.
- *
- * The message is considered 'mime' if it has either a Content-Type or
- * MIME-Version header defined.
- *
- */
- public function isMime() : bool
- {
- $contentType = $this->getHeaderValue(HeaderConsts::CONTENT_TYPE);
- $mimeVersion = $this->getHeaderValue(HeaderConsts::MIME_VERSION);
- return ($contentType !== null || $mimeVersion !== null);
- }
-
- public function getSubject() : ?string
- {
- return $this->getHeaderValue(HeaderConsts::SUBJECT);
- }
-
- public function getTextPart(int $index = 0) : ?IMessagePart
- {
- return $this->getPart(
- $index,
- PartFilter::fromInlineContentType('text/plain')
- );
- }
-
- public function getTextPartCount() : int
- {
- return $this->getPartCount(
- PartFilter::fromInlineContentType('text/plain')
- );
- }
-
- public function getHtmlPart(int $index = 0) : ?IMessagePart
- {
- return $this->getPart(
- $index,
- PartFilter::fromInlineContentType('text/html')
- );
- }
-
- public function getHtmlPartCount() : int
- {
- return $this->getPartCount(
- PartFilter::fromInlineContentType('text/html')
- );
- }
-
- public function getTextStream(int $index = 0, string $charset = MailMimeParser::DEFAULT_CHARSET) : ?StreamInterface
- {
- $textPart = $this->getTextPart($index);
- if ($textPart !== null) {
- return $textPart->getContentStream($charset);
- }
- return null;
- }
-
- public function getTextContent(int $index = 0, string $charset = MailMimeParser::DEFAULT_CHARSET) : ?string
- {
- $part = $this->getTextPart($index);
- if ($part !== null) {
- return $part->getContent($charset);
- }
- return null;
- }
-
- public function getHtmlStream(int $index = 0, string $charset = MailMimeParser::DEFAULT_CHARSET) : ?StreamInterface
- {
- $htmlPart = $this->getHtmlPart($index);
- if ($htmlPart !== null) {
- return $htmlPart->getContentStream($charset);
- }
- return null;
- }
-
- public function getHtmlContent(int $index = 0, string $charset = MailMimeParser::DEFAULT_CHARSET) : ?string
- {
- $part = $this->getHtmlPart($index);
- if ($part !== null) {
- return $part->getContent($charset);
- }
- return null;
- }
-
- public function setTextPart(mixed $resource, string $charset = 'UTF-8') : static
- {
- $this->multipartHelper
- ->setContentPartForMimeType(
- $this,
- 'text/plain',
- $resource,
- $charset
- );
- return $this;
- }
-
- public function setHtmlPart(mixed $resource, string $charset = 'UTF-8') : static
- {
- $this->multipartHelper
- ->setContentPartForMimeType(
- $this,
- 'text/html',
- $resource,
- $charset
- );
- return $this;
- }
-
- public function removeTextPart(int $index = 0) : bool
- {
- return $this->multipartHelper
- ->removePartByMimeType(
- $this,
- 'text/plain',
- $index
- );
- }
-
- public function removeAllTextParts(bool $moveRelatedPartsBelowMessage = true) : bool
- {
- return $this->multipartHelper
- ->removeAllContentPartsByMimeType(
- $this,
- 'text/plain',
- $moveRelatedPartsBelowMessage
- );
- }
-
- public function removeHtmlPart(int $index = 0) : bool
- {
- return $this->multipartHelper
- ->removePartByMimeType(
- $this,
- 'text/html',
- $index
- );
- }
-
- public function removeAllHtmlParts(bool $moveRelatedPartsBelowMessage = true) : bool
- {
- return $this->multipartHelper
- ->removeAllContentPartsByMimeType(
- $this,
- 'text/html',
- $moveRelatedPartsBelowMessage
- );
- }
-
- public function getAttachmentPart(int $index) : ?IMessagePart
- {
- return $this->getPart(
- $index,
- PartFilter::fromAttachmentFilter()
- );
- }
-
- public function getAllAttachmentParts() : array
- {
- return $this->getAllParts(
- PartFilter::fromAttachmentFilter()
- );
- }
-
- public function getAttachmentCount() : int
- {
- return \count($this->getAllAttachmentParts());
- }
-
- public function addAttachmentPart(mixed $resource, string $mimeType, ?string $filename = null, string $disposition = 'attachment', string $encoding = 'base64') : static
- {
- $this->multipartHelper
- ->createAndAddPartForAttachment(
- $this,
- $resource,
- $mimeType,
- (\strcasecmp($disposition, 'inline') === 0) ? 'inline' : 'attachment',
- $filename,
- $encoding
- );
- return $this;
- }
-
- public function addAttachmentPartFromFile(string $filePath, string $mimeType, ?string $filename = null, string $disposition = 'attachment', string $encoding = 'base64') : static
- {
- $handle = Psr7\Utils::streamFor(\fopen($filePath, 'r'));
- if ($filename === null) {
- $filename = \basename($filePath);
- }
- $this->addAttachmentPart($handle, $mimeType, $filename, $disposition, $encoding);
- return $this;
- }
-
- public function removeAttachmentPart(int $index) : static
- {
- $part = $this->getAttachmentPart($index);
- $this->removePart($part);
- return $this;
- }
-
- public function getSignedMessageStream() : ?StreamInterface
- {
- return $this
- ->privacyHelper
- ->getSignedMessageStream($this);
- }
-
- public function getSignedMessageAsString() : ?string
- {
- return $this
- ->privacyHelper
- ->getSignedMessageAsString($this);
- }
-
- public function getSignaturePart() : ?IMessagePart
- {
- if (\strcasecmp($this->getContentType(), 'multipart/signed') === 0) {
- return $this->getChild(1);
- }
- return null;
- }
-
- public function setAsMultipartSigned(string $micalg, string $protocol) : static
- {
- $this->privacyHelper
- ->setMessageAsMultipartSigned($this, $micalg, $protocol);
- return $this;
- }
-
- public function setSignature(string $body) : static
- {
- $this->privacyHelper
- ->setSignature($this, $body);
- return $this;
- }
-
- public function getMessageId() : ?string
- {
- return $this->getHeaderValue(HeaderConsts::MESSAGE_ID);
- }
-
- public function getErrorLoggingContextName() : string
- {
- $params = '';
- if (!empty($this->getMessageId())) {
- $params .= ', message-id=' . $this->getContentId();
- }
- $params .= ', content-type=' . $this->getContentType();
- $nsClass = static::class;
- $class = \substr($nsClass, (\strrpos($nsClass, '\\') ?? -1) + 1);
- return $class . '(' . \spl_object_id($this) . $params . ')';
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/IMessagePartFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/IMessagePartFactory.php
deleted file mode 100644
index 036b92d9..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/IMessagePartFactory.php
+++ /dev/null
@@ -1,42 +0,0 @@
-logger = $logger;
- $this->streamFactory = $streamFactory;
- $this->partStreamContainerFactory = $partStreamContainerFactory;
- }
-
- /**
- * Constructs a new IMessagePart object and returns it
- */
- abstract public function newInstance(?IMimePart $parent = null) : IMessagePart;
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/IMimePartFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/IMimePartFactory.php
deleted file mode 100644
index d76fd579..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/IMimePartFactory.php
+++ /dev/null
@@ -1,55 +0,0 @@
-partHeaderContainerFactory = $partHeaderContainerFactory;
- $this->partChildrenContainerFactory = $partChildrenContainerFactory;
- }
-
- /**
- * Constructs a new IMimePart object and returns it
- */
- public function newInstance(?IMimePart $parent = null) : IMimePart
- {
- $streamContainer = $this->partStreamContainerFactory->newInstance();
- $headerContainer = $this->partHeaderContainerFactory->newInstance();
- $part = new MimePart(
- $parent,
- $this->logger,
- $streamContainer,
- $headerContainer,
- $this->partChildrenContainerFactory->newInstance()
- );
- $streamContainer->setStream($this->streamFactory->newMessagePartStream($part));
- return $part;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/IUUEncodedPartFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/IUUEncodedPartFactory.php
deleted file mode 100644
index 999e4d35..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/IUUEncodedPartFactory.php
+++ /dev/null
@@ -1,37 +0,0 @@
-partStreamContainerFactory->newInstance();
- $part = new UUEncodedPart(
- null,
- null,
- $parent,
- $this->logger,
- $streamContainer
- );
- $streamContainer->setStream($this->streamFactory->newMessagePartStream($part));
- return $part;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/PartChildrenContainerFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/PartChildrenContainerFactory.php
deleted file mode 100644
index d5c103b1..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/PartChildrenContainerFactory.php
+++ /dev/null
@@ -1,23 +0,0 @@
-logger = $logger;
- $this->headerFactory = $headerFactory;
- }
-
- /**
- * Creates and returns a PartHeaderContainer.
- */
- public function newInstance(?PartHeaderContainer $from = null) : PartHeaderContainer
- {
- return new PartHeaderContainer($this->logger, $this->headerFactory, $from);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/PartStreamContainerFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/PartStreamContainerFactory.php
deleted file mode 100644
index 2a45ca95..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Factory/PartStreamContainerFactory.php
+++ /dev/null
@@ -1,51 +0,0 @@
-logger = $logger;
- $this->streamFactory = $streamFactory;
- $this->mbWrapper = $mbWrapper;
- $this->throwExceptionReadingPartContentFromUnsupportedCharsets = $throwExceptionReadingPartContentFromUnsupportedCharsets;
- }
-
- public function newInstance() : PartStreamContainer
- {
- return new PartStreamContainer(
- $this->logger,
- $this->streamFactory,
- $this->mbWrapper,
- $this->throwExceptionReadingPartContentFromUnsupportedCharsets
- );
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/AbstractHelper.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/AbstractHelper.php
deleted file mode 100644
index ede79c77..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/AbstractHelper.php
+++ /dev/null
@@ -1,37 +0,0 @@
-mimePartFactory = $mimePartFactory;
- $this->uuEncodedPartFactory = $uuEncodedPartFactory;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/GenericHelper.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/GenericHelper.php
deleted file mode 100644
index 25856b31..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/GenericHelper.php
+++ /dev/null
@@ -1,161 +0,0 @@
-getName(), 'Content') === 0
- && !\in_array(\strtolower(\str_replace('-', '', $header->getName())), \array_merge(self::$nonMimeContentFields, $exceptions)));
- }
-
- /**
- * Copies the passed $header from $from, to $to or sets the header to
- * $default if it doesn't exist in $from.
- *
- * @param string $header
- * @param string $default
- */
- public function copyHeader(IMimePart $from, IMimePart $to, $header, $default = null) : static
- {
- $fromHeader = $from->getHeader($header);
- $set = ($fromHeader !== null) ? $fromHeader->getRawValue() : $default;
- if ($set !== null) {
- $to->setRawHeader($header, $set);
- }
- return $this;
- }
-
- /**
- * Removes Content-* headers from the passed part, then detaches its content
- * stream.
- *
- * An exception is made for the obsolete Content-Return header, which isn't
- * isn't a MIME content field and so isn't removed.
- */
- public function removeContentHeadersAndContent(IMimePart $part) : static
- {
- foreach ($part->getAllHeaders() as $header) {
- if ($this->isMimeContentField($header)) {
- $part->removeHeader($header->getName());
- }
- }
- $part->detachContentStream();
- return $this;
- }
-
- /**
- * Copies Content-* headers from the $from header into the $to header. If
- * the Content-Type header isn't defined in $from, defaults to text/plain
- * with utf-8 and quoted-printable as its Content-Transfer-Encoding.
- *
- * An exception is made for the obsolete Content-Return header, which isn't
- * isn't a MIME content field and so isn't copied.
- *
- * @param bool $move
- */
- public function copyContentHeadersAndContent(IMimePart $from, IMimePart $to, $move = false) : static
- {
- $this->copyHeader($from, $to, HeaderConsts::CONTENT_TYPE, 'text/plain; charset=utf-8');
- if ($from->getHeader(HeaderConsts::CONTENT_TYPE) === null) {
- $this->copyHeader($from, $to, HeaderConsts::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
- } else {
- $this->copyHeader($from, $to, HeaderConsts::CONTENT_TRANSFER_ENCODING);
- }
- foreach ($from->getAllHeaders() as $header) {
- if ($this->isMimeContentField($header, ['contenttype', 'contenttransferencoding'])) {
- $this->copyHeader($from, $to, $header->getName());
- }
- }
- if ($from->hasContent()) {
- $to->attachContentStream($from->getContentStream(), MailMimeParser::DEFAULT_CHARSET);
- }
- if ($move) {
- $this->removeContentHeadersAndContent($from);
- }
- return $this;
- }
-
- /**
- * Creates a new content part from the passed part, allowing the part to be
- * used for something else (e.g. changing a non-mime message to a multipart
- * mime message).
- *
- * @return IMimePart the newly-created IMimePart
- */
- public function createNewContentPartFrom(IMimePart $part) : IMimePart
- {
- $mime = $this->mimePartFactory->newInstance();
- $this->copyContentHeadersAndContent($part, $mime, true);
- return $mime;
- }
-
- /**
- * Copies type headers (Content-Type, Content-Disposition,
- * Content-Transfer-Encoding) from the $from MimePart to $to. Attaches the
- * content resource handle of $from to $to, and loops over child parts,
- * removing them from $from and adding them to $to.
- *
- */
- public function movePartContentAndChildren(IMimePart $from, IMimePart $to) : static
- {
- $this->copyContentHeadersAndContent($from, $to, true);
- if ($from->getChildCount() > 0) {
- foreach ($from->getChildIterator() as $child) {
- $from->removePart($child);
- $to->addChild($child);
- }
- }
- return $this;
- }
-
- /**
- * Replaces the $part IMimePart with $replacement.
- *
- * Essentially removes $part from its parent, and adds $replacement in its
- * same position. If $part is the IMessage, then $part can't be removed and
- * replaced, and instead $replacement's type headers are copied to $message,
- * and any children below $replacement are added directly below $message.
- */
- public function replacePart(IMessage $message, IMimePart $part, IMimePart $replacement) : static
- {
- $position = $message->removePart($replacement);
- if ($part === $message) {
- $this->movePartContentAndChildren($replacement, $message);
- return $this;
- }
- $parent = $part->getParent();
- $parent->addChild($replacement, $position);
- $parent->removePart($part);
-
- return $this;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/MultipartHelper.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/MultipartHelper.php
deleted file mode 100644
index e9fe10aa..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/MultipartHelper.php
+++ /dev/null
@@ -1,396 +0,0 @@
-genericHelper = $genericHelper;
- }
-
- /**
- * Creates and returns a unique boundary.
- *
- * @param string $mimeType first 3 characters of a multipart type are used,
- * e.g. REL for relative or ALT for alternative
- */
- public function getUniqueBoundary(string $mimeType) : string
- {
- $type = \ltrim(\strtoupper(\preg_replace('/^(multipart\/(.{3}).*|.*)$/i', '$2-', $mimeType)), '-');
- return \uniqid('----=MMP-' . $type . '-', true);
- }
-
- /**
- * Creates a unique mime boundary and assigns it to the passed part's
- * Content-Type header with the passed mime type.
- */
- public function setMimeHeaderBoundaryOnPart(IMimePart $part, string $mimeType) : static
- {
- $part->setRawHeader(
- HeaderConsts::CONTENT_TYPE,
- "$mimeType;\r\n\tboundary=\""
- . $this->getUniqueBoundary($mimeType) . '"'
- );
- $part->notify();
- return $this;
- }
-
- /**
- * Sets the passed message as multipart/mixed.
- *
- * If the message has content, a new part is created and added as a child of
- * the message. The message's content and content headers are moved to the
- * new part.
- */
- public function setMessageAsMixed(IMessage $message) : static
- {
- if ($message->hasContent()) {
- $part = $this->genericHelper->createNewContentPartFrom($message);
- $message->addChild($part, 0);
- }
- $this->setMimeHeaderBoundaryOnPart($message, 'multipart/mixed');
- $atts = $message->getAllAttachmentParts();
- if (!empty($atts)) {
- foreach ($atts as $att) {
- $att->notify();
- }
- }
- return $this;
- }
-
- /**
- * Sets the passed message as multipart/alternative.
- *
- * If the message has content, a new part is created and added as a child of
- * the message. The message's content and content headers are moved to the
- * new part.
- */
- public function setMessageAsAlternative(IMessage $message) : static
- {
- if ($message->hasContent()) {
- $part = $this->genericHelper->createNewContentPartFrom($message);
- $message->addChild($part, 0);
- }
- $this->setMimeHeaderBoundaryOnPart($message, 'multipart/alternative');
- return $this;
- }
-
- /**
- * Searches the passed $alternativePart for a part with the passed mime type
- * and returns its parent.
- *
- * Used for alternative mime types that have a multipart/mixed or
- * multipart/related child containing a content part of $mimeType, where
- * the whole mixed/related part should be removed.
- *
- * @param string $mimeType the content-type to find below $alternativePart
- * @param IMimePart $alternativePart The multipart/alternative part to look
- * under
- * @return bool|IMimePart false if a part is not found
- */
- public function getContentPartContainerFromAlternative($mimeType, IMimePart $alternativePart) : bool|IMimePart
- {
- $part = $alternativePart->getPart(0, PartFilter::fromInlineContentType($mimeType));
- $contPart = null;
- do {
- if ($part === null) {
- return false;
- }
- $contPart = $part;
- $part = $part->getParent();
- } while ($part !== $alternativePart);
- return $contPart;
- }
-
- /**
- * Removes all parts of $mimeType from $alternativePart.
- *
- * If $alternativePart contains a multipart/mixed or multipart/relative part
- * with other parts of different content-types, the multipart part is
- * removed, and parts of different content-types can optionally be moved to
- * the main message part.
- */
- public function removeAllContentPartsFromAlternative(
- IMessage $message,
- string $mimeType,
- IMimePart $alternativePart,
- bool $keepOtherContent
- ) : bool {
- $rmPart = $this->getContentPartContainerFromAlternative($mimeType, $alternativePart);
- if ($rmPart === false) {
- return false;
- }
- if ($keepOtherContent && $rmPart->getChildCount() > 0) {
- $this->moveAllNonMultiPartsToMessageExcept($message, $rmPart, $mimeType);
- $alternativePart = $message->getPart(0, PartFilter::fromInlineContentType('multipart/alternative'));
- }
- $message->removePart($rmPart);
- if ($alternativePart !== null && $alternativePart instanceof IMultiPart) {
- if ($alternativePart->getChildCount() === 1) {
- $this->genericHelper->replacePart($message, $alternativePart, $alternativePart->getChild(0));
- } elseif ($alternativePart->getChildCount() === 0) {
- $message->removePart($alternativePart);
- }
- }
- while ($message->getChildCount() === 1) {
- $this->genericHelper->replacePart($message, $message, $message->getChild(0));
- }
- return true;
- }
-
- /**
- * Creates a new mime part as a multipart/alternative and assigns the passed
- * $contentPart as a part below it before returning it.
- *
- * @return IMimePart the alternative part
- */
- public function createAlternativeContentPart(IMessage $message, IMessagePart $contentPart) : IMimePart
- {
- $altPart = $this->mimePartFactory->newInstance();
- $this->setMimeHeaderBoundaryOnPart($altPart, 'multipart/alternative');
- $message->removePart($contentPart);
- $message->addChild($altPart, 0);
- $altPart->addChild($contentPart, 0);
- return $altPart;
- }
-
- /**
- * Moves all parts under $from into this message except those with a
- * content-type equal to $exceptMimeType. If the message is not a
- * multipart/mixed message, it is set to multipart/mixed first.
- */
- public function moveAllNonMultiPartsToMessageExcept(IMessage $message, IMimePart $from, string $exceptMimeType) : static
- {
- $parts = $from->getAllParts(function(IMessagePart $part) use ($exceptMimeType) {
- if ($part instanceof IMimePart && $part->isMultiPart()) {
- return false;
- }
- return \strcasecmp($part->getContentType(), $exceptMimeType) !== 0;
- });
- if (\strcasecmp($message->getContentType(), 'multipart/mixed') !== 0) {
- $this->setMessageAsMixed($message);
- }
- foreach ($parts as $key => $part) {
- $from->removePart($part);
- $message->addChild($part);
- }
- return $this;
- }
-
- /**
- * Enforces the message to be a mime message for a non-mime (e.g. uuencoded
- * or unspecified) message. If the message has uuencoded attachments, sets
- * up the message as a multipart/mixed message and creates a separate
- * content part.
- */
- public function enforceMime(IMessage $message) : static
- {
- if (!$message->isMime()) {
- if ($message->getAttachmentCount()) {
- $this->setMessageAsMixed($message);
- } else {
- $message->setRawHeader(HeaderConsts::CONTENT_TYPE, "text/plain;\r\n\tcharset=\"iso-8859-1\"");
- }
- $message->setRawHeader(HeaderConsts::MIME_VERSION, '1.0');
- }
- return $this;
- }
-
- /**
- * Creates a multipart/related part out of 'inline' children of $parent and
- * returns it.
- */
- public function createMultipartRelatedPartForInlineChildrenOf(IMimePart $parent) : IMimePart
- {
- $relatedPart = $this->mimePartFactory->newInstance();
- $this->setMimeHeaderBoundaryOnPart($relatedPart, 'multipart/related');
- foreach ($parent->getChildParts(PartFilter::fromDisposition('inline')) as $part) {
- $parent->removePart($part);
- $relatedPart->addChild($part);
- }
- $parent->addChild($relatedPart, 0);
- return $relatedPart;
- }
-
- /**
- * Finds an alternative inline part in the message and returns it if one
- * exists.
- *
- * If the passed $mimeType is text/plain, searches for a text/html part.
- * Otherwise searches for a text/plain part to return.
- *
- * @return IMimePart or null if not found
- */
- public function findOtherContentPartFor(IMessage $message, string $mimeType) : ?IMimePart
- {
- $altPart = $message->getPart(
- 0,
- PartFilter::fromInlineContentType(($mimeType === 'text/plain') ? 'text/html' : 'text/plain')
- );
- if ($altPart !== null && $altPart->getParent() !== null && $altPart->getParent()->isMultiPart()) {
- $altPartParent = $altPart->getParent();
- if ($altPartParent->getChildCount(PartFilter::fromDisposition('inline')) !== 1) {
- $altPart = $this->createMultipartRelatedPartForInlineChildrenOf($altPartParent);
- }
- }
- return $altPart;
- }
-
- /**
- * Creates a new content part for the passed mimeType and charset, making
- * space by creating a multipart/alternative if needed
- */
- public function createContentPartForMimeType(IMessage $message, string $mimeType, string $charset) : IMimePart
- {
- $mimePart = $this->mimePartFactory->newInstance();
- $mimePart->setRawHeader(HeaderConsts::CONTENT_TYPE, "$mimeType;\r\n\tcharset=\"$charset\"");
- $mimePart->setRawHeader(HeaderConsts::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
-
- $this->enforceMime($message);
- $altPart = $this->findOtherContentPartFor($message, $mimeType);
-
- if ($altPart === $message) {
- $this->setMessageAsAlternative($message);
- $message->addChild($mimePart);
- } elseif ($altPart !== null) {
- $mimeAltPart = $this->createAlternativeContentPart($message, $altPart);
- $mimeAltPart->addChild($mimePart, 1);
- } else {
- $message->addChild($mimePart, 0);
- }
-
- return $mimePart;
- }
-
- /**
- * Creates and adds a IMimePart for the passed content and options as an
- * attachment.
- *
- * @param string|resource|\Psr\Http\Message\StreamInterface $resource
- */
- public function createAndAddPartForAttachment(
- IMessage $message,
- $resource,
- string $mimeType,
- string $disposition,
- ?string $filename = null,
- string $encoding = 'base64'
- ) : IMessagePart {
- if ($filename === null) {
- $filename = 'file' . \uniqid();
- }
-
- $safe = \iconv('UTF-8', 'US-ASCII//translit//ignore', $filename);
- if ($message->isMime()) {
- $part = $this->mimePartFactory->newInstance();
- $part->setRawHeader(HeaderConsts::CONTENT_TRANSFER_ENCODING, $encoding);
- if (\strcasecmp($message->getContentType(), 'multipart/mixed') !== 0) {
- $this->setMessageAsMixed($message);
- }
- $part->setRawHeader(HeaderConsts::CONTENT_TYPE, "$mimeType;\r\n\tname=\"$safe\"");
- $part->setRawHeader(HeaderConsts::CONTENT_DISPOSITION, "$disposition;\r\n\tfilename=\"$safe\"");
- } else {
- $part = $this->uuEncodedPartFactory->newInstance();
- $part->setFilename($safe);
- }
- $part->setContent($resource);
- $message->addChild($part);
- return $part;
- }
-
- /**
- * Removes the content part of the message with the passed mime type. If
- * there is a remaining content part and it is an alternative part of the
- * main message, the content part is moved to the message part.
- *
- * If the content part is part of an alternative part beneath the message,
- * the alternative part is replaced by the remaining content part,
- * optionally keeping other parts if $keepOtherContent is set to true.
- *
- * @return bool true on success
- */
- public function removeAllContentPartsByMimeType(IMessage $message, string $mimeType, bool $keepOtherContent = false) : bool
- {
- $alt = $message->getPart(0, PartFilter::fromInlineContentType('multipart/alternative'));
- if ($alt !== null) {
- return $this->removeAllContentPartsFromAlternative($message, $mimeType, $alt, $keepOtherContent);
- }
- $message->removeAllParts(PartFilter::fromInlineContentType($mimeType));
- return true;
- }
-
- /**
- * Removes the 'inline' part with the passed contentType, at the given index
- * defaulting to the first
- *
- * @return bool true on success
- */
- public function removePartByMimeType(IMessage $message, string $mimeType, int $index = 0) : bool
- {
- $parts = $message->getAllParts(PartFilter::fromInlineContentType($mimeType));
- $alt = $message->getPart(0, PartFilter::fromInlineContentType('multipart/alternative'));
- if ($parts === null || !isset($parts[$index])) {
- return false;
- } elseif (\count($parts) === 1) {
- return $this->removeAllContentPartsByMimeType($message, $mimeType, true);
- }
- $part = $parts[$index];
- $message->removePart($part);
- if ($alt !== null && $alt->getChildCount() === 1) {
- $this->genericHelper->replacePart($message, $alt, $alt->getChild(0));
- }
- return true;
- }
-
- /**
- * Either creates a mime part or sets the existing mime part with the passed
- * mimeType to $strongOrHandle.
- *
- * @param string|resource $stringOrHandle
- */
- public function setContentPartForMimeType(IMessage $message, string $mimeType, mixed $stringOrHandle, string $charset) : static
- {
- $part = ($mimeType === 'text/html') ? $message->getHtmlPart() : $message->getTextPart();
- if ($part === null) {
- $part = $this->createContentPartForMimeType($message, $mimeType, $charset);
- } else {
- $contentType = $part->getContentType();
- if ($part instanceof IMimePart) {
- $part->setRawHeader(HeaderConsts::CONTENT_TYPE, "$contentType;\r\n\tcharset=\"$charset\"");
- }
- }
- $part->setContent($stringOrHandle);
- return $this;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/PrivacyHelper.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/PrivacyHelper.php
deleted file mode 100644
index fb17bb84..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/Helper/PrivacyHelper.php
+++ /dev/null
@@ -1,159 +0,0 @@
-genericHelper = $genericHelper;
- $this->multipartHelper = $multipartHelper;
- }
-
- /**
- * The passed message is set as multipart/signed, and a new part is created
- * below it with content headers, content and children copied from the
- * message.
- *
- * @param string $micalg
- * @param string $protocol
- */
- public function setMessageAsMultipartSigned(IMessage $message, $micalg, $protocol) : static
- {
- if (\strcasecmp($message->getContentType(), 'multipart/signed') !== 0) {
- $this->multipartHelper->enforceMime($message);
- $messagePart = $this->mimePartFactory->newInstance();
- $this->genericHelper->movePartContentAndChildren($message, $messagePart);
- $message->addChild($messagePart);
- $boundary = $this->multipartHelper->getUniqueBoundary('multipart/signed');
- $message->setRawHeader(
- HeaderConsts::CONTENT_TYPE,
- "multipart/signed;\r\n\tboundary=\"$boundary\";\r\n\tmicalg=\"$micalg\"; protocol=\"$protocol\""
- );
- }
- $this->overwrite8bitContentEncoding($message);
- $this->setSignature($message, 'Empty');
- return $this;
- }
-
- /**
- * Sets the signature of the message to $body, creating a signature part if
- * one doesn't exist.
- *
- * @param string $body
- */
- public function setSignature(IMessage $message, $body) : static
- {
- $signedPart = $message->getSignaturePart();
- if ($signedPart === null) {
- $signedPart = $this->mimePartFactory->newInstance();
- $message->addChild($signedPart);
- }
- $signedPart->setRawHeader(
- HeaderConsts::CONTENT_TYPE,
- $message->getHeaderParameter(HeaderConsts::CONTENT_TYPE, 'protocol')
- );
- $signedPart->setContent($body);
- return $this;
- }
-
- /**
- * Loops over parts of the message and sets the content-transfer-encoding
- * header to quoted-printable for text/* mime parts, and to base64
- * otherwise for parts that are '8bit' encoded.
- *
- * Used for multipart/signed messages which doesn't support 8bit transfer
- * encodings.
- */
- public function overwrite8bitContentEncoding(IMessage $message) : static
- {
- $parts = $message->getAllParts(function(IMessagePart $part) {
- return \strcasecmp($part->getContentTransferEncoding(), '8bit') === 0;
- });
- foreach ($parts as $part) {
- $contentType = \strtolower($part->getContentType());
- $part->setRawHeader(
- HeaderConsts::CONTENT_TRANSFER_ENCODING,
- ($contentType === 'text/plain' || $contentType === 'text/html') ?
- 'quoted-printable' :
- 'base64'
- );
- }
- return $this;
- }
-
- /**
- * Returns a stream that can be used to read the content part of a signed
- * message, which can be used to sign an email or verify a signature.
- *
- * The method simply returns the stream for the first child. No
- * verification of whether the message is in fact a signed message is
- * performed.
- *
- * Note that unlike getSignedMessageAsString, getSignedMessageStream doesn't
- * replace new lines.
- *
- * @return ?StreamInterface null if the message doesn't have any children
- */
- public function getSignedMessageStream(IMessage $message) : ?StreamInterface
- {
- $child = $message->getChild(0);
- if ($child !== null) {
- return $child->getStream();
- }
- return null;
- }
-
- /**
- * Returns a string containing the entire body (content) of a signed message
- * for verification or calculating a signature.
- *
- * Non-CRLF new lines are replaced to always be CRLF.
- *
- * @return ?string null if the message doesn't have any children
- */
- public function getSignedMessageAsString(IMessage $message) : ?string
- {
- $stream = $this->getSignedMessageStream($message);
- if ($stream !== null) {
- return \preg_replace(
- '/\r\n|\r|\n/',
- "\r\n",
- $stream->getContents()
- );
- }
- return null;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/IMessagePart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/IMessagePart.php
deleted file mode 100644
index baef622e..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/IMessagePart.php
+++ /dev/null
@@ -1,386 +0,0 @@
-getContentStream();
- * $someChars = $part->read(4);
- *
- * $stream2 = $part->getContentStream();
- * $moreChars = $part->read(4);
- * echo ($someChars === $moreChars); //1
- * ```
- *
- * In this case the Stream was rewound, and $stream's second call to read 4
- * bytes reads the same first 4.
- *
- * @see IMessagePart::getBinaryContentStream() to get the content stream
- * without any charset conversions.
- * @see IMessagePart::saveContent() to save the binary contents to file.
- * @see IMessagePart::setCharsetOverride() to override the charset of the
- * content and ignore the charset returned from calling
- * IMessagePart::getCharset() when reading.
- * @param string $charset Optional charset for the returned stream.
- * @return StreamInterface|null the stream
- */
- public function getContentStream(string $charset = MailMimeParser::DEFAULT_CHARSET) : ?StreamInterface;
-
- /**
- * Returns the raw data stream for the current part, if it exists, or null
- * if there's no content associated with the stream.
- *
- * This is basically the same as calling
- * {@see IMessagePart::getContentStream()}, except no automatic charset
- * conversion is done. Note that for non-text streams, this doesn't have an
- * effect, as charset conversion is not performed in that case, and is
- * useful only when:
- *
- * - The charset defined is not correct, and the conversion produces errors;
- * or
- * - You'd like to read the raw contents without conversion, for instance to
- * save it to file or allow a user to download it as-is (in a download
- * link for example).
- *
- * @see IMessagePart::getContentStream() to get the content stream with
- * charset conversions applied.
- * @see IMessagePart::getBinaryContentResourceHandle() to get a resource
- * handle instead.
- * @see IMessagePart::saveContent() to save the binary contents to file.
- * @return StreamInterface|null the stream
- */
- public function getBinaryContentStream() : ?StreamInterface;
-
- /**
- * Returns a resource handle for the content's raw data stream, or null if
- * the part doesn't have a content stream.
- *
- * The method wraps a call to {@see IMessagePart::getBinaryContentStream()}
- * and returns a resource handle for the returned Stream.
- *
- * @see IMessagePart::getBinaryContentStream() to get a stream instead.
- * @see IMessagePart::saveContent() to save the binary contents to file.
- * @return resource|null the resource
- */
- public function getBinaryContentResourceHandle() : mixed;
-
- /**
- * Saves the binary content of the stream to the passed file, resource or
- * stream.
- *
- * Note that charset conversion is not performed in this case, and the
- * contents of the part are saved in their binary format as transmitted (but
- * after any content-transfer decoding is performed). {@see
- * IMessagePart::getBinaryContentStream()} for a more detailed description
- * of the stream.
- *
- * If the passed parameter is a string, it's assumed to be a filename to
- * write to. The file is opened in 'w+' mode, and closed before returning.
- *
- * When passing a resource or Psr7 Stream, the resource is not closed, nor
- * rewound.
- *
- * @see IMessagePart::getContentStream() to get the content stream with
- * charset conversions applied.
- * @see IMessagePart::getBinaryContentStream() to get the content as a
- * binary stream.
- * @see IMessagePart::getBinaryContentResourceHandle() to get the content as
- * a resource handle.
- * @param string|resource|StreamInterface $filenameResourceOrStream
- */
- public function saveContent($filenameResourceOrStream) : static;
-
- /**
- * Shortcut to reading stream content and assigning it to a string. Returns
- * null if the part doesn't have a content stream.
- *
- * The returned string is encoded to the passed $charset character encoding.
- *
- * @see IMessagePart::getContentStream()
- * @param string $charset the target charset for the returned string
- * @return ?string the content
- */
- public function getContent(string $charset = MailMimeParser::DEFAULT_CHARSET) : ?string;
-
- /**
- * Attaches the stream or resource handle for the part's content. The
- * stream is closed when another stream is attached, or the MimePart is
- * destroyed.
- *
- * @see IMessagePart::setContent() to pass a string as the content.
- * @see IMessagePart::getContentStream() to get the content stream.
- * @see IMessagePart::detachContentStream() to detach the content stream.
- * @param StreamInterface $stream the content
- * @param string $streamCharset the charset of $stream
- */
- public function attachContentStream(StreamInterface $stream, string $streamCharset = MailMimeParser::DEFAULT_CHARSET) : static;
-
- /**
- * Detaches the content stream.
- *
- * @see IMessagePart::getContentStream() to get the content stream.
- * @see IMessagePart::attachContentStream() to attach a content stream.
- */
- public function detachContentStream() : static;
-
- /**
- * Sets the content of the part to the passed string, resource, or stream.
- *
- * @see IMessagePart::getContentStream() to get the content stream.
- * @see IMessagePart::attachContentStream() to attach a content stream.
- * @see IMessagePart::detachContentStream() to detach the content stream.
- * @param string|resource|StreamInterface $resource the content.
- * @param string $resourceCharset the charset of the passed $resource.
- */
- public function setContent($resource, string $resourceCharset = MailMimeParser::DEFAULT_CHARSET) : static;
-
- /**
- * Returns a resource handle for the string representation of this part,
- * containing its headers, content and children. For an IMessage, this
- * would be the entire RFC822 (or greater) email.
- *
- * If the part has not been modified and represents a parsed part, the
- * original stream should be returned. Otherwise a stream representation of
- * the part including its modifications should be returned. This insures
- * that an unmodified, signed message could be passed on that way even after
- * parsing and reading.
- *
- * The returned stream is not guaranteed to be RFC822 (or greater) compliant
- * for the following reasons:
- *
- * - The original email or part, if not modified, is returned as-is and may
- * not be compliant.
- * - Although certain parts may have been modified, an original unmodified
- * header from the original email or part may not be compliant.
- * - A user may set headers in a non-compliant format.
- *
- * @see IMessagePart::getStream() to get a Psr7 StreamInterface instead of a
- * resource handle.
- * @see IMessagePart::__toString() to write the part to a string and return
- * it.
- * @see IMessage::save() to write the part to a file, resource handle or
- * Psr7 stream.
- * @return resource the resource handle containing the part.
- */
- public function getResourceHandle() : mixed;
-
- /**
- * Returns a Psr7 StreamInterface for the string representation of this
- * part, containing its headers, content and children.
- *
- * If the part has not been modified and represents a parsed part, the
- * original stream should be returned. Otherwise a stream representation of
- * the part including its modifications should be returned. This insures
- * that an unmodified, signed message could be passed on that way even after
- * parsing and reading.
- *
- * The returned stream is not guaranteed to be RFC822 (or greater) compliant
- * for the following reasons:
- *
- * - The original email or part, if not modified, is returned as-is and may
- * not be compliant.
- * - Although certain parts may have been modified, an original unmodified
- * header from the original email or part may not be compliant.
- * - A user may set headers in a non-compliant format.
- *
- * @see IMessagePart::getResourceHandle() to get a resource handle.
- * @see IMessagePart::__toString() to write the part to a string and return
- * it.
- * @see IMessage::save() to write the part to a file, resource handle or
- * Psr7 stream.
- * @return StreamInterface the stream containing the part.
- */
- public function getStream() : StreamInterface;
-
- /**
- * Writes a string representation of this part, including its headers,
- * content and children to the passed file, resource, or stream.
- *
- * If the part has not been modified and represents a parsed part, the
- * original stream should be written to the file. Otherwise a stream
- * representation of the part including its modifications should be written.
- * This insures that an unmodified, signed message could be passed on this
- * way even after parsing and reading.
- *
- * The written stream is not guaranteed to be RFC822 (or greater) compliant
- * for the following reasons:
- *
- * - The original email or part, if not modified, is returned as-is and may
- * not be compliant.
- * - Although certain parts may have been modified, an original unmodified
- * header from the original email or part may not be compliant.
- * - A user may set headers in a non-compliant format.
- *
- * If the passed $filenameResourceOrStream is a string, it's assumed to be a
- * filename to write to.
- *
- * When passing a resource or Psr7 Stream, the resource is not closed, nor
- * rewound after being written to.
- *
- * @see IMessagePart::getResourceHandle() to get a resource handle.
- * @see IMessagePart::__toString() to get the part in a string.
- * @see IMessage::save() to write the part to a file, resource handle or
- * Psr7 stream.
- * @param string|resource|StreamInterface $filenameResourceOrStream the
- * file, resource, or stream to write to.
- * @param string $filemode Optional filemode to open a file in (if
- * $filenameResourceOrStream is a string)
- */
- public function save(mixed $filenameResourceOrStream, string $filemode = 'w+') : static;
-
- /**
- * Returns the message/part as a string, containing its headers, content and
- * children.
- *
- * Convenience method for calling getContents() on
- * {@see IMessagePart::getStream()}.
- *
- * @see IMessagePart::getStream() to get a Psr7 StreamInterface instead of a
- * string.
- * @see IMessagePart::getResourceHandle() to get a resource handle.
- * @see IMessage::save() to write the part to a file, resource handle or
- * Psr7 stream.
- */
- public function __toString() : string;
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/IMimePart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/IMimePart.php
deleted file mode 100644
index c91618f3..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/IMimePart.php
+++ /dev/null
@@ -1,323 +0,0 @@
-> an iterator for raw headers
- */
- public function getRawHeaderIterator() : Traversable;
-
- /**
- * Returns the string value for the header with the given $name, or null if
- * the header doesn't exist and no alternative $defaultValue is passed.
- *
- * Note that mime headers aren't case sensitive.
- *
- * @see IMimePart::getHeader() to retrieve a single header object.
- * @see IMimePart::getHeaderParameter() to get the string value portion of a
- * specific header's parameter only.
- * @see IMimePart::getAllHeaders() to retrieve an array of all header
- * objects for this part.
- * @see IMimePart::getAllHeadersByName() to retrieve an array of all headers
- * with a certain name.
- * @see IMimePart::getRawHeaders() to retrieve the array the returned
- * iterator iterates over.
- * @see IMimePart::getRawHeaderIterator() to retrieve an iterator instead of
- * the returned two-dimensional array
- * @param string $name The name of the header
- * @param ?string $defaultValue Optional default value to return if the
- * header doesn't exist on this part.
- * @return string|null the value of the header
- */
- public function getHeaderValue(string $name, ?string $defaultValue = null) : ?string;
-
- /**
- * Returns the value of the parameter named $param on a header with the
- * passed $header name, or null if the parameter doesn't exist and a
- * $defaultValue isn't passed.
- *
- * Only headers of type
- * {@see \ZBateson\MailMimeParser\Header\ParameterHeader} have parameters.
- * Content-Type and Content-Disposition are examples of headers with
- * parameters. "Charset" is a common parameter of Content-Type.
- *
- * @see IMimePart::getHeader() to retrieve a single header object.
- * @see IMimePart::getHeaderValue() to get the string value portion of a
- * specific header only.
- * @see IMimePart::getAllHeaders() to retrieve an array of all header
- * objects for this part.
- * @see IMimePart::getAllHeadersByName() to retrieve an array of all headers
- * with a certain name.
- * @see IMimePart::getRawHeaders() to retrieve the array the returned
- * iterator iterates over.
- * @see IMimePart::getRawHeaderIterator() to retrieve an iterator instead of
- * the returned two-dimensional array
- * @param string $header The name of the header.
- * @param string $param The name of the parameter.
- * @param ?string $defaultValue Optional default value to return if the
- * parameter doesn't exist.
- * @return string|null The value of the parameter.
- */
- public function getHeaderParameter(string $header, string $param, ?string $defaultValue = null) : ?string;
-
- /**
- * Adds a header with the given $name and $value. An optional $offset may
- * be passed, which will overwrite a header if one exists with the given
- * name and offset only. Otherwise a new header is added. The passed
- * $offset may be ignored in that case if it doesn't represent the next
- * insert position for the header with the passed name... instead it would
- * be 'pushed' on at the next position.
- *
- * ```
- * $part = $myMimePart;
- * $part->setRawHeader('New-Header', 'value');
- * echo $part->getHeaderValue('New-Header'); // 'value'
- *
- * $part->setRawHeader('New-Header', 'second', 4);
- * echo is_null($part->getHeader('New-Header', 4)); // '1' (true)
- * echo $part->getHeader('New-Header', 1)
- * ->getValue(); // 'second'
- * ```
- *
- * A new {@see \ZBateson\MailMimeParser\Header\IHeader} object is created
- * from the passed value. No processing on the passed string is performed,
- * and so the passed name and value must be formatted correctly according to
- * related RFCs. In particular, be careful to encode non-ascii data, to
- * keep lines under 998 characters in length, and to follow any special
- * formatting required for the type of header.
- *
- * @see IMimePart::addRawHeader() Adds a header to the part regardless of
- * whether or not a header with that name already exists.
- * @see IMimePart::removeHeader() Removes all headers on this part with the
- * passed name
- * @see IMimePart::removeSingleHeader() Removes a single header if more than
- * one with the passed name exists.
- * @param string $name The name of the new header, e.g. 'Content-Type'.
- * @param ?string $value The raw value of the new header.
- * @param int $offset An optional offset, defaulting to '0' and therefore
- * overriding the first header of the given $name if one exists.
- */
- public function setRawHeader(string $name, ?string $value, int $offset = 0) : static;
-
- /**
- * Adds a header with the given $name and $value.
- *
- * Note: If a header with the passed name already exists, a new header is
- * created with the same name. This should only be used when that is
- * intentional - in most cases {@see IMimePart::setRawHeader()} should be
- * called instead.
- *
- * A new {@see \ZBateson\MailMimeParser\Header\IHeader} object is created
- * from the passed value. No processing on the passed string is performed,
- * and so the passed name and value must be formatted correctly according to
- * related RFCs. In particular, be careful to encode non-ascii data, to
- * keep lines under 998 characters in length, and to follow any special
- * formatting required for the type of header.
- *
- * @see IMimePart::setRawHeader() Sets a header, potentially overwriting one
- * if it already exists.
- * @see IMimePart::removeHeader() Removes all headers on this part with the
- * passed name
- * @see IMimePart::removeSingleHeader() Removes a single header if more than
- * one with the passed name exists.
- * @param string $name The name of the header
- * @param string $value The raw value of the header.
- */
- public function addRawHeader(string $name, string $value) : static;
-
- /**
- * Removes all headers from this part with the passed name.
- *
- * @see IMimePart::addRawHeader() Adds a header to the part regardless of
- * whether or not a header with that name already exists.
- * @see IMimePart::setRawHeader() Sets a header, potentially overwriting one
- * if it already exists.
- * @see IMimePart::removeSingleHeader() Removes a single header if more than
- * one with the passed name exists.
- * @param string $name The name of the header(s) to remove.
- */
- public function removeHeader(string $name) : static;
-
- /**
- * Removes a single header with the passed name (in cases where more than
- * one may exist, and others should be preserved).
- *
- * @see IMimePart::addRawHeader() Adds a header to the part regardless of
- * whether or not a header with that name already exists.
- * @see IMimePart::setRawHeader() Sets a header, potentially overwriting one
- * if it already exists.
- * @see IMimePart::removeHeader() Removes all headers on this part with the
- * passed name
- * @param string $name The name of the header to remove
- * @param int $offset Optional offset of the header to remove (defaults to
- * 0 -- the first header).
- */
- public function removeSingleHeader(string $name, int $offset = 0) : static;
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/IMultiPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/IMultiPart.php
deleted file mode 100644
index 0e87fbcf..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/IMultiPart.php
+++ /dev/null
@@ -1,292 +0,0 @@
-
- */
- public function getChildIterator() : RecursiveIterator;
-
- /**
- * Returns the part that has a content type matching the passed mime type at
- * the given index, or null if there are no matching parts.
- *
- * Creates a filter that looks at the return value of
- * {@see IMessagePart::getContentType()} for all parts (including the
- * current part) and returns a matching one at the given 0-based index.
- *
- * @see IMultiPart::getAllPartsByMimeType() to get all parts that match a
- * mime type.
- * @see IMultiPart::getCountOfPartsByMimeType() to get a count of parts with
- * a mime type.
- * @param string $mimeType The mime type to find.
- * @param int $index Optional 0-based index (defaulting to '0').
- * @return IMessagePart|null The part.
- */
- public function getPartByMimeType(string $mimeType, int $index = 0) : ?IMessagePart;
-
- /**
- * Returns an array of all parts that have a content type matching the
- * passed mime type.
- *
- * Creates a filter that looks at the return value of
- * {@see IMessagePart::getContentType()} for all parts (including the
- * current part), returning an array of matching parts.
- *
- * @see IMultiPart::getPartByMimeType() to get a part by mime type.
- * @see IMultiPart::getCountOfPartsByMimeType() to get a count of parts with
- * a mime type.
- * @param string $mimeType The mime type to find.
- * @return IMessagePart[] An array of matching parts.
- */
- public function getAllPartsByMimeType(string $mimeType) : array;
-
- /**
- * Returns the number of parts that have content types matching the passed
- * mime type.
- *
- * @see IMultiPart::getPartByMimeType() to get a part by mime type.
- * @see IMultiPart::getAllPartsByMimeType() to get all parts that match a
- * mime type.
- * @param string $mimeType The mime type to find.
- * @return int The number of matching parts.
- */
- public function getCountOfPartsByMimeType(string $mimeType) : int;
-
- /**
- * Returns a part that has the given Content ID, or null if not found.
- *
- * Calls {@see IMessagePart::getContentId()} to find a matching part.
- *
- * @param string $contentId The content ID to find a part for.
- * @return IMessagePart|null The matching part.
- */
- public function getPartByContentId(string $contentId) : ?IMessagePart;
-
- /**
- * Registers the passed part as a child of the current part.
- *
- * If the $position parameter is non-null, adds the part at the passed
- * position index, otherwise adds it as the last child.
- *
- * @param MessagePart $part The part to add.
- * @param int $position Optional insertion position 0-based index.
- */
- public function addChild(MessagePart $part, ?int $position = null) : static;
-
- /**
- * Removes the child part from this part and returns its previous position
- * or null if it wasn't found.
- *
- * Note that if the part is not a direct child of this part, the returned
- * position is its index within its parent (calls removePart on its direct
- * parent).
- *
- * This also means that parts from unrelated parts/messages could be removed
- * by a call to removePart -- it will always remove the part from its parent
- * if it has one, essentially calling
- * ```php $part->getParent()->removePart(); ```.
- *
- * @param IMessagePart $part The part to remove
- * @return int|null The previous index position of the part within its old
- * parent.
- */
- public function removePart(IMessagePart $part) : ?int;
-
- /**
- * Removes all parts below the current part. If a callable filter is
- * passed, removes only those matching the passed filter. The number of
- * removed parts is returned.
- *
- * Note: the current part will not be removed. Although the function naming
- * matches getAllParts, which returns the current part, it also doesn't only
- * remove direct children like getChildParts. Internally this function uses
- * getAllParts but the current part is filtered out if returned.
- *
- * @param callable $fnFilter Optional function accepting an IMessagePart and
- * returning true if the part should be included.
- * @return int The number of removed parts.
- */
- public function removeAllParts(?callable $fnFilter = null) : int;
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/IUUEncodedPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/IUUEncodedPart.php
deleted file mode 100644
index 8dcf5b52..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/IUUEncodedPart.php
+++ /dev/null
@@ -1,45 +0,0 @@
-partStreamContainer = $streamContainer;
- $this->parent = $parent;
- $this->observers = new SplObjectStorage();
- }
-
- public function attach(SplObserver $observer) : void
- {
- $this->observers->offsetSet($observer);
- }
-
- public function detach(SplObserver $observer) : void
- {
- $this->observers->offsetUnset($observer);
- }
-
- public function notify() : void
- {
- foreach ($this->observers as $observer) {
- $observer->update($this);
- }
- if ($this->parent !== null) {
- $this->parent->notify();
- }
- }
-
- public function getParent() : ?IMimePart
- {
- return $this->parent;
- }
-
- public function hasContent() : bool
- {
- return $this->partStreamContainer->hasContent();
- }
-
- public function getFilename() : ?string
- {
- return null;
- }
-
- public function setCharsetOverride(string $charsetOverride, bool $onlyIfNoCharset = false) : static
- {
- if (!$onlyIfNoCharset || $this->getCharset() === null) {
- $this->charsetOverride = $charsetOverride;
- }
- return $this;
- }
-
- public function getContentStream(string $charset = MailMimeParser::DEFAULT_CHARSET) : ?MessagePartStreamDecorator
- {
- if ($this->hasContent()) {
- $tr = ($this->ignoreTransferEncoding) ? '' : $this->getContentTransferEncoding();
- $ch = $this->charsetOverride ?? $this->getCharset();
- return $this->partStreamContainer->getContentStream(
- $this,
- $tr,
- $ch,
- $charset
- );
- }
- return null;
- }
-
- public function getBinaryContentStream() : ?MessagePartStreamDecorator
- {
- if ($this->hasContent()) {
- $tr = ($this->ignoreTransferEncoding) ? '' : $this->getContentTransferEncoding();
- return $this->partStreamContainer->getBinaryContentStream($this, $tr);
- }
- return null;
- }
-
- public function getBinaryContentResourceHandle() : mixed
- {
- $stream = $this->getBinaryContentStream();
- if ($stream !== null) {
- return StreamWrapper::getResource($stream);
- }
- return null;
- }
-
- public function saveContent($filenameResourceOrStream) : static
- {
- $resourceOrStream = $filenameResourceOrStream;
- if (\is_string($filenameResourceOrStream)) {
- $resourceOrStream = \fopen($filenameResourceOrStream, 'w+');
- }
-
- $stream = Utils::streamFor($resourceOrStream);
- Utils::copyToStream($this->getBinaryContentStream(), $stream);
-
- if (!\is_string($filenameResourceOrStream)
- && !($filenameResourceOrStream instanceof StreamInterface)) {
- // only detach if it wasn't a string or StreamInterface, so the
- // fopen call can be properly closed if it was
- $stream->detach();
- }
- return $this;
- }
-
- public function getContent(string $charset = MailMimeParser::DEFAULT_CHARSET) : ?string
- {
- $stream = $this->getContentStream($charset);
- if ($stream !== null) {
- return $stream->getContents();
- }
- return null;
- }
-
- public function attachContentStream(StreamInterface $stream, string $streamCharset = MailMimeParser::DEFAULT_CHARSET) : static
- {
- $ch = $this->charsetOverride ?? $this->getCharset();
- if ($ch !== null && $streamCharset !== $ch) {
- $this->charsetOverride = $streamCharset;
- }
- $this->ignoreTransferEncoding = true;
- $this->partStreamContainer->setContentStream($stream);
- $this->notify();
- return $this;
- }
-
- public function detachContentStream() : static
- {
- $this->partStreamContainer->setContentStream(null);
- $this->notify();
- return $this;
- }
-
- public function setContent($resource, string $charset = MailMimeParser::DEFAULT_CHARSET) : static
- {
- $stream = Utils::streamFor($resource);
- $this->attachContentStream($stream, $charset);
- // this->notify() called in attachContentStream
- return $this;
- }
-
- public function getResourceHandle() : mixed
- {
- return StreamWrapper::getResource($this->getStream());
- }
-
- public function getStream() : StreamInterface
- {
- return $this->partStreamContainer->getStream();
- }
-
- public function save($filenameResourceOrStream, string $filemode = 'w+') : static
- {
- $resourceOrStream = $filenameResourceOrStream;
- if (\is_string($filenameResourceOrStream)) {
- $resourceOrStream = \fopen($filenameResourceOrStream, $filemode);
- }
-
- $partStream = $this->getStream();
- $partStream->rewind();
- $stream = Utils::streamFor($resourceOrStream);
- Utils::copyToStream($partStream, $stream);
-
- if (!\is_string($filenameResourceOrStream)
- && !($filenameResourceOrStream instanceof StreamInterface)) {
- // only detach if it wasn't a string or StreamInterface, so the
- // fopen call can be properly closed if it was
- $stream->detach();
- }
- return $this;
- }
-
- public function __toString() : string
- {
- return $this->getStream()->getContents();
- }
-
- public function getErrorLoggingContextName() : string
- {
- $params = '';
- if (!empty($this->getContentId())) {
- $params .= ', content-id=' . $this->getContentId();
- }
- $params .= ', content-type=' . $this->getContentType();
- $nsClass = static::class;
- $class = \substr($nsClass, (\strrpos($nsClass, '\\') ?? -1) + 1);
- return $class . '(' . \spl_object_id($this) . $params . ')';
- }
-
- protected function getErrorBagChildren() : array
- {
- return [
- $this->partStreamContainer
- ];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/MimePart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/MimePart.php
deleted file mode 100644
index 855200bd..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/MimePart.php
+++ /dev/null
@@ -1,302 +0,0 @@
-get(LoggerInterface::class),
- $streamContainer ?? $di->get(PartStreamContainer::class),
- $partChildrenContainer ?? $di->get(PartChildrenContainer::class),
- $parent
- );
- $this->headerContainer = $headerContainer ?? $di->get(PartHeaderContainer::class);
- }
-
- /**
- * Returns a filename for the part if one is defined, or null otherwise.
- *
- * Uses the 'filename' parameter of the Content-Disposition header if it
- * exists, or the 'name' parameter of the 'Content-Type' header if it
- * doesn't.
- *
- * @return string|null the file name of the part or null.
- */
- public function getFilename() : ?string
- {
- return $this->getHeaderParameter(
- HeaderConsts::CONTENT_DISPOSITION,
- 'filename',
- $this->getHeaderParameter(
- HeaderConsts::CONTENT_TYPE,
- 'name'
- )
- );
- }
-
- /**
- * Returns true.
- *
- */
- public function isMime() : bool
- {
- return true;
- }
-
- public function isMultiPart() : bool
- {
- // casting to bool, preg_match returns 1 for true
- return (bool) (\preg_match(
- '~multipart/.*~i',
- $this->getContentType()
- ));
- }
-
- /**
- * Returns true if this part has a defined 'charset' on its Content-Type
- * header.
- *
- * This may result in some false positives if charset is set on a part that
- * is not plain text which has been seen. If a part is known to be binary,
- * it's better to use {@see IMessagePart::getBinaryContentStream()} to
- * avoid issues, or to call {@see IMessagePart::saveContent()} directly if
- * saving a part's content.
- *
- */
- public function isTextPart() : bool
- {
- return ($this->getCharset() !== null);
- }
-
- /**
- * Returns the mime type of the content, or $default if one is not set.
- *
- * Looks at the part's Content-Type header and returns its value if set, or
- * defaults to 'text/plain'.
- *
- * Note that the returned value is converted to lower case, and may not be
- * identical to calling {@see MimePart::getHeaderValue('Content-Type')} in
- * some cases.
- *
- * @param string $default Optional default value to specify a default other
- * than text/plain if needed.
- * @return string the mime type
- */
- public function getContentType(string $default = 'text/plain') : ?string
- {
- return \strtolower($this->getHeaderValue(HeaderConsts::CONTENT_TYPE, $default));
- }
-
- /**
- * Returns the charset of the content, or null if not applicable/defined.
- *
- * Looks for a 'charset' parameter under the 'Content-Type' header of this
- * part and returns it if set, defaulting to 'ISO-8859-1' if the
- * Content-Type header exists and is of type text/plain or text/html.
- *
- * Note that the returned value is also converted to upper case.
- *
- * @return string|null the charset
- */
- public function getCharset() : ?string
- {
- $charset = $this->getHeaderParameter(HeaderConsts::CONTENT_TYPE, 'charset');
- if ($charset === null || \strcasecmp($charset, 'binary') === 0) {
- $contentType = $this->getContentType();
- if ($contentType === 'text/plain' || $contentType === 'text/html') {
- return 'ISO-8859-1';
- }
- return null;
- }
- return \strtoupper($charset);
- }
-
- /**
- * Returns the content's disposition, or returns the value of $default if
- * not defined.
- *
- * Looks at the 'Content-Disposition' header, which should only contain
- * either 'inline' or 'attachment'. If the header is not one of those
- * values, $default is returned, which defaults to 'inline' unless passed
- * something else.
- *
- * @param string $default Optional default value if not set or does not
- * match 'inline' or 'attachment'.
- * @return string the content disposition
- */
- public function getContentDisposition(?string $default = 'inline') : ?string
- {
- $value = $this->getHeaderValue(HeaderConsts::CONTENT_DISPOSITION);
- if ($value === null || !\in_array($value, ['inline', 'attachment'])) {
- return $default;
- }
- return \strtolower($value);
- }
-
- /**
- * Returns the content transfer encoding used to encode the content on this
- * part, or the value of $default if not defined.
- *
- * Looks up and returns the value of the 'Content-Transfer-Encoding' header
- * if set, defaulting to '7bit' if an alternate $default param is not
- * passed.
- *
- * The returned value is always lowercase, and header values of 'x-uue',
- * 'uue' and 'uuencode' will return 'x-uuencode' instead.
- *
- * @param string $default Optional default value to return if the header
- * isn't set.
- * @return string the content transfer encoding.
- */
- public function getContentTransferEncoding(?string $default = '7bit') : ?string
- {
- static $translated = [
- 'x-uue' => 'x-uuencode',
- 'uue' => 'x-uuencode',
- 'uuencode' => 'x-uuencode'
- ];
- $type = \strtolower($this->getHeaderValue(HeaderConsts::CONTENT_TRANSFER_ENCODING, $default));
- if (isset($translated[$type])) {
- return $translated[$type];
- }
- return $type;
- }
-
- /**
- * Returns the Content ID of the part, or null if not defined.
- *
- * Looks up and returns the value of the 'Content-ID' header.
- *
- * @return string|null the content ID or null if not defined.
- */
- public function getContentId() : ?string
- {
- return $this->getHeaderValue(HeaderConsts::CONTENT_ID);
- }
-
- /**
- * Returns true if this part's parent is an IMessage, and is the same part
- * returned by {@see IMessage::getSignaturePart()}.
- */
- public function isSignaturePart() : bool
- {
- if ($this->parent === null || !$this->parent instanceof IMessage) {
- return false;
- }
- return $this->parent->getSignaturePart() === $this;
- }
-
- public function getHeader(string $name, int $offset = 0) : ?IHeader
- {
- return $this->headerContainer->get($name, $offset);
- }
-
- public function getHeaderAs(string $name, string $iHeaderClass, int $offset = 0) : ?IHeader
- {
- return $this->headerContainer->getAs($name, $iHeaderClass, $offset);
- }
-
- public function getAllHeaders() : array
- {
- return $this->headerContainer->getHeaderObjects();
- }
-
- public function getAllHeadersByName(string $name) : array
- {
- return $this->headerContainer->getAll($name);
- }
-
- public function getRawHeaders() : array
- {
- return $this->headerContainer->getHeaders();
- }
-
- public function getRawHeaderIterator() : Traversable
- {
- return $this->headerContainer->getIterator();
- }
-
- public function getHeaderValue(string $name, ?string $defaultValue = null) : ?string
- {
- $header = $this->getHeader($name);
- if ($header !== null) {
- return $header->getValue() ?: $defaultValue;
- }
- return $defaultValue;
- }
-
- public function getHeaderParameter(string $header, string $param, ?string $defaultValue = null) : ?string
- {
- $obj = $this->getHeader($header);
- if ($obj && $obj instanceof ParameterHeader) {
- return $obj->getValueFor($param, $defaultValue);
- }
- return $defaultValue;
- }
-
- public function setRawHeader(string $name, ?string $value, int $offset = 0) : static
- {
- $this->headerContainer->set($name, $value, $offset);
- $this->notify();
- return $this;
- }
-
- public function addRawHeader(string $name, string $value) : static
- {
- $this->headerContainer->add($name, $value);
- $this->notify();
- return $this;
- }
-
- public function removeHeader(string $name) : static
- {
- $this->headerContainer->removeAll($name);
- $this->notify();
- return $this;
- }
-
- public function removeSingleHeader(string $name, int $offset = 0) : static
- {
- $this->headerContainer->remove($name, $offset);
- $this->notify();
- return $this;
- }
-
- public function getErrorBagChildren() : array
- {
- return \array_merge(parent::getErrorBagChildren(), [$this->headerContainer]);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/MultiPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/MultiPart.php
deleted file mode 100644
index dda70187..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/MultiPart.php
+++ /dev/null
@@ -1,178 +0,0 @@
-partChildrenContainer = $partChildrenContainer;
- }
-
- private function getAllPartsIterator() : AppendIterator
- {
- $iter = new AppendIterator();
- $iter->append(new ArrayIterator([$this]));
- $iter->append(new RecursiveIteratorIterator($this->partChildrenContainer, RecursiveIteratorIterator::SELF_FIRST));
- return $iter;
- }
-
- private function iteratorFindAt(Iterator $iter, int $index, ?callable $fnFilter = null) : ?IMessagePart
- {
- $pos = 0;
- foreach ($iter as $part) {
- if (($fnFilter === null || $fnFilter($part))) {
- if ($index === $pos) {
- return $part;
- }
- ++$pos;
- }
- }
- return null;
- }
-
- public function getPart(int $index, ?callable $fnFilter = null) : ?IMessagePart
- {
- return $this->iteratorFindAt(
- $this->getAllPartsIterator(),
- $index,
- $fnFilter
- );
- }
-
- public function getAllParts(?callable $fnFilter = null) : array
- {
- $array = \iterator_to_array($this->getAllPartsIterator(), false);
- if ($fnFilter !== null) {
- return \array_values(\array_filter($array, $fnFilter));
- }
- return $array;
- }
-
- public function getPartCount(?callable $fnFilter = null) : int
- {
- return \count($this->getAllParts($fnFilter));
- }
-
- public function getChild(int $index, ?callable $fnFilter = null) : ?IMessagePart
- {
- return $this->iteratorFindAt(
- $this->partChildrenContainer,
- $index,
- $fnFilter
- );
- }
-
- public function getChildIterator() : RecursiveIterator
- {
- return $this->partChildrenContainer;
- }
-
- public function getChildParts(?callable $fnFilter = null) : array
- {
- $array = \iterator_to_array($this->partChildrenContainer, false);
- if ($fnFilter !== null) {
- return \array_values(\array_filter($array, $fnFilter));
- }
- return $array;
- }
-
- public function getChildCount(?callable $fnFilter = null) : int
- {
- return \count($this->getChildParts($fnFilter));
- }
-
- public function getPartByMimeType(string $mimeType, int $index = 0) : ?IMessagePart
- {
- return $this->getPart($index, PartFilter::fromContentType($mimeType));
- }
-
- public function getAllPartsByMimeType(string $mimeType) : array
- {
- return $this->getAllParts(PartFilter::fromContentType($mimeType));
- }
-
- public function getCountOfPartsByMimeType(string $mimeType) : int
- {
- return $this->getPartCount(PartFilter::fromContentType($mimeType));
- }
-
- public function getPartByContentId(string $contentId) : ?IMessagePart
- {
- $sanitized = \preg_replace('/^\s*<|>\s*$/', '', $contentId);
- return $this->getPart(0, function(IMessagePart $part) use ($sanitized) {
- $cid = $part->getContentId();
- return ($cid !== null && \strcasecmp($cid, $sanitized) === 0);
- });
- }
-
- public function addChild(MessagePart $part, ?int $position = null) : static
- {
- if ($part !== $this) {
- $part->parent = $this;
- $this->partChildrenContainer->add($part, $position);
- $this->notify();
- }
- return $this;
- }
-
- public function removePart(IMessagePart $part) : ?int
- {
- $parent = $part->getParent();
- if ($this !== $parent && $parent !== null) {
- return $parent->removePart($part);
- }
-
- $position = $this->partChildrenContainer->remove($part);
- if ($position !== null) {
- $this->notify();
- }
- return $position;
- }
-
- public function removeAllParts(?callable $fnFilter = null) : int
- {
- $parts = $this->getAllParts($fnFilter);
- $count = \count($parts);
- foreach ($parts as $part) {
- if ($part === $this) {
- --$count;
- continue;
- }
- $this->removePart($part);
- }
- return $count;
- }
-
- protected function getErrorBagChildren() : array
- {
- return \array_merge(parent::getErrorBagChildren(), $this->getChildParts());
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/NonMimePart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/NonMimePart.php
deleted file mode 100644
index 3fd81dc7..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/NonMimePart.php
+++ /dev/null
@@ -1,77 +0,0 @@
-children = $children;
- }
-
- /**
- * Returns true if the current element is an IMultiPart. Note that the
- * iterator may still be empty.
- */
- public function hasChildren() : bool
- {
- return ($this->current() instanceof IMultiPart);
- }
-
- /**
- * If the current element points to an IMultiPart, its child iterator is
- * returned by calling {@see IMultiPart::getChildIterator()}.
- *
- * @return RecursiveIterator|null the iterator
- */
- public function getChildren() : ?RecursiveIterator
- {
- if ($this->current() instanceof IMultiPart) {
- return $this->current()->getChildIterator();
- }
- return null;
- }
-
- /**
- * @return IMessagePart
- */
- public function current() : mixed
- {
- return $this->offsetGet($this->position);
- }
-
- public function key() : int
- {
- return $this->position;
- }
-
- public function next() : void
- {
- ++$this->position;
- }
-
- public function rewind() : void
- {
- $this->position = 0;
- }
-
- public function valid() : bool
- {
- return $this->offsetExists($this->position);
- }
-
- /**
- * Adds the passed IMessagePart to the container in the passed position.
- *
- * If position is not passed or null, the part is added to the end, as the
- * last child in the container.
- *
- * @param IMessagePart $part The part to add
- * @param int $position An optional index position (0-based) to add the
- * child at.
- */
- public function add(IMessagePart $part, $position = null) : static
- {
- $index = $position ?? \count($this->children);
- \array_splice(
- $this->children,
- $index,
- 0,
- [$part]
- );
- return $this;
- }
-
- /**
- * Removes the passed part, and returns the integer position it occupied.
- *
- * @param IMessagePart $part The part to remove.
- * @return int the 0-based position it previously occupied.
- */
- public function remove(IMessagePart $part) : ?int
- {
- foreach ($this->children as $key => $child) {
- if ($child === $part) {
- $this->offsetUnset($key);
- return $key;
- }
- }
- return null;
- }
-
- /**
- * @param int $offset
- */
- public function offsetExists(mixed $offset) : bool
- {
- return isset($this->children[$offset]);
- }
-
- /**
- * @param int $offset
- */
- public function offsetGet(mixed $offset) : mixed
- {
- return $this->offsetExists($offset) ? $this->children[$offset] : null;
- }
-
- /**
- * @param int $offset
- * @param IMessagePart $value
- */
- public function offsetSet(mixed $offset, mixed $value) : void
- {
- if (!$value instanceof IMessagePart) {
- throw new InvalidArgumentException(
- \get_class($value) . ' is not a ZBateson\MailMimeParser\Message\IMessagePart'
- );
- }
- $index = $offset ?? \count($this->children);
- $this->children[$index] = $value;
- if ($index < $this->position) {
- ++$this->position;
- }
- }
-
- /**
- * @param int $offset
- */
- public function offsetUnset($offset) : void
- {
- \array_splice($this->children, $offset, 1);
- if ($this->position >= $offset) {
- --$this->position;
- }
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/PartFilter.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/PartFilter.php
deleted file mode 100644
index 50b4a9bf..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/PartFilter.php
+++ /dev/null
@@ -1,114 +0,0 @@
-getContentType();
- $disp = $part->getContentDisposition();
- if (\in_array($type, ['text/plain', 'text/html']) && $disp !== null && \strcasecmp($disp, 'inline') === 0) {
- return false;
- }
- return !(($part instanceof IMimePart)
- && ($part->isMultiPart() || $part->isSignaturePart()));
- };
- }
-
- /**
- * Provides a filter that keeps parts that contain a header of $name with a
- * value that matches $value (case insensitive).
- *
- * By default signed parts are excluded. Pass FALSE to the third parameter
- * to include them.
- *
- * @param string $name The header name to look up
- * @param string $value The value to match
- * @param bool $excludeSignedParts Optional signed parts exclusion (defaults
- * to true).
- */
- public static function fromHeaderValue(string $name, string $value, bool $excludeSignedParts = true) : callable
- {
- return function(IMessagePart $part) use ($name, $value, $excludeSignedParts) {
- if ($part instanceof IMimePart) {
- if ($excludeSignedParts && $part->isSignaturePart()) {
- return false;
- }
- return (\strcasecmp($part->getHeaderValue($name, ''), $value) === 0);
- }
- return false;
- };
- }
-
- /**
- * Includes only parts that match the passed $mimeType in the return value
- * of a call to 'getContentType()'.
- *
- * @param string $mimeType Mime type of parts to find.
- */
- public static function fromContentType(string $mimeType) : callable
- {
- return function(IMessagePart $part) use ($mimeType) {
- return \strcasecmp($part->getContentType() ?: '', $mimeType) === 0;
- };
- }
-
- /**
- * Returns parts matching $mimeType that do not have a Content-Disposition
- * set to 'attachment'.
- *
- * @param string $mimeType Mime type of parts to find.
- */
- public static function fromInlineContentType(string $mimeType) : callable
- {
- return function(IMessagePart $part) use ($mimeType) {
- $disp = $part->getContentDisposition();
- return (\strcasecmp($part->getContentType() ?: '', $mimeType) === 0) && ($disp === null
- || \strcasecmp($disp, 'attachment') !== 0);
- };
- }
-
- /**
- * Finds parts with the passed disposition (matching against
- * IMessagePart::getContentDisposition()), optionally including
- * multipart parts and signed parts.
- *
- * @param string $disposition The disposition to find.
- * @param bool $includeMultipart Optionally include multipart parts by
- * passing true (defaults to false).
- * @param bool $includeSignedParts Optionally include signed parts (defaults
- * to false).
- */
- public static function fromDisposition(string $disposition, bool $includeMultipart = false, bool $includeSignedParts = false) : callable
- {
- return function(IMessagePart $part) use ($disposition, $includeMultipart, $includeSignedParts) {
- if (($part instanceof IMimePart) && ((!$includeMultipart && $part->isMultiPart()) || (!$includeSignedParts && $part->isSignaturePart()))) {
- return false;
- }
- $disp = $part->getContentDisposition();
- return ($disp !== null && \strcasecmp($disp, $disposition) === 0);
- };
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/PartHeaderContainer.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/PartHeaderContainer.php
deleted file mode 100644
index 7db9bb5b..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/PartHeaderContainer.php
+++ /dev/null
@@ -1,325 +0,0 @@
-headerFactory = $headerFactory;
- if ($cloneSource !== null) {
- $this->headers = $cloneSource->headers;
- $this->headerObjects = $cloneSource->headerObjects;
- $this->headerMap = $cloneSource->headerMap;
- $this->nextIndex = $cloneSource->nextIndex;
- }
- }
-
- /**
- * Returns true if the passed header exists in this collection.
- */
- public function exists(string $name, int $offset = 0) : bool
- {
- $s = $this->headerFactory->getNormalizedHeaderName($name);
- return isset($this->headerMap[$s][$offset]);
- }
-
- /**
- * Returns an array of header indexes with names that more closely match
- * the passed $name if available: for instance if there are two headers in
- * an email, "Content-Type" and "ContentType", and the query is for a header
- * with the name "Content-Type", only headers that match exactly
- * "Content-Type" would be returned.
- *
- * @return int[]|null
- */
- private function getAllWithOriginalHeaderNameIfSet(string $name) : ?array
- {
- $s = $this->headerFactory->getNormalizedHeaderName($name);
- if (isset($this->headerMap[$s])) {
- $self = $this;
- $filtered = \array_filter($this->headerMap[$s], function($h) use ($name, $self) {
- return (\strcasecmp($self->headers[$h][0], $name) === 0);
- });
- return (!empty($filtered)) ? $filtered : $this->headerMap[$s];
- }
- return null;
- }
-
- /**
- * Returns the IHeader object for the header with the given $name, or null
- * if none exist.
- *
- * An optional offset can be provided, which defaults to the first header in
- * the collection when more than one header with the same name exists.
- *
- * Note that mime headers aren't case sensitive.
- */
- public function get(string $name, int $offset = 0) : ?IHeader
- {
- $a = $this->getAllWithOriginalHeaderNameIfSet($name);
- if (!empty($a) && isset($a[$offset])) {
- return $this->getByIndex($a[$offset]);
- }
- return null;
- }
-
- /**
- * Returns the IHeader object for the header with the given $name, or null
- * if none exist, using the passed $iHeaderClass to construct it.
- *
- * An optional offset can be provided, which defaults to the first header in
- * the collection when more than one header with the same name exists.
- *
- * Note that mime headers aren't case sensitive.
- */
- public function getAs(string $name, string $iHeaderClass, int $offset = 0) : ?IHeader
- {
- $a = $this->getAllWithOriginalHeaderNameIfSet($name);
- if (!empty($a) && isset($a[$offset])) {
- return $this->getByIndexAs($a[$offset], $iHeaderClass);
- }
- return null;
- }
-
- /**
- * Returns all headers with the passed name.
- *
- * @return IHeader[]
- */
- public function getAll(string $name) : array
- {
- $a = $this->getAllWithOriginalHeaderNameIfSet($name);
- if (!empty($a)) {
- $self = $this;
- return \array_map(function($index) use ($self) {
- return $self->getByIndex($index);
- }, $a);
- }
- return [];
- }
-
- /**
- * Returns the header in the headers array at the passed 0-based integer
- * index or null if one doesn't exist.
- */
- private function getByIndex(int $index) : ?IHeader
- {
- if (!isset($this->headers[$index])) {
- return null;
- }
- if ($this->headerObjects[$index] === null) {
- $this->headerObjects[$index] = $this->headerFactory->newInstance(
- $this->headers[$index][0],
- $this->headers[$index][1]
- );
- }
- return $this->headerObjects[$index];
- }
-
- /**
- * Returns the header in the headers array at the passed 0-based integer
- * index or null if one doesn't exist, using the passed $iHeaderClass to
- * construct it.
- */
- private function getByIndexAs(int $index, string $iHeaderClass) : ?IHeader
- {
- if (!isset($this->headers[$index])) {
- return null;
- }
- if ($this->headerObjects[$index] !== null && \get_class($this->headerObjects[$index]) === $iHeaderClass) {
- return $this->headerObjects[$index];
- }
- return $this->headerFactory->newInstanceOf(
- $this->headers[$index][0],
- $this->headers[$index][1],
- $iHeaderClass
- );
- }
-
- /**
- * Removes the header from the collection with the passed name. Defaults to
- * removing the first instance of the header for a collection that contains
- * more than one with the same passed name.
- *
- * @return bool true if a header was found and removed.
- */
- public function remove(string $name, int $offset = 0) : bool
- {
- $s = $this->headerFactory->getNormalizedHeaderName($name);
- if (isset($this->headerMap[$s][$offset])) {
- $index = $this->headerMap[$s][$offset];
- \array_splice($this->headerMap[$s], $offset, 1);
- unset($this->headers[$index], $this->headerObjects[$index]);
- return true;
- }
- return false;
- }
-
- /**
- * Removes all headers that match the passed name.
- *
- * @return bool true if one or more headers were removed.
- */
- public function removeAll(string $name) : bool
- {
- $s = $this->headerFactory->getNormalizedHeaderName($name);
- if (!empty($this->headerMap[$s])) {
- foreach ($this->headerMap[$s] as $i) {
- unset($this->headers[$i], $this->headerObjects[$i]);
- }
- $this->headerMap[$s] = [];
- return true;
- }
- return false;
- }
-
- /**
- * Adds the header to the collection.
- */
- public function add(string $name, string $value) : static
- {
- $s = $this->headerFactory->getNormalizedHeaderName($name);
- $this->headers[$this->nextIndex] = [$name, $value];
- $this->headerObjects[$this->nextIndex] = null;
- if (!isset($this->headerMap[$s])) {
- $this->headerMap[$s] = [];
- }
- $this->headerMap[$s][] = $this->nextIndex;
- $this->nextIndex++;
- return $this;
- }
-
- /**
- * If a header exists with the passed name, and at the passed offset if more
- * than one exists, its value is updated.
- *
- * If a header with the passed name doesn't exist at the passed offset, it
- * is created at the next available offset (offset is ignored when adding).
- */
- public function set(string $name, string $value, int $offset = 0) : static
- {
- $s = $this->headerFactory->getNormalizedHeaderName($name);
- if (!isset($this->headerMap[$s][$offset])) {
- $this->add($name, $value);
- return $this;
- }
- $i = $this->headerMap[$s][$offset];
- $this->headers[$i] = [$name, $value];
- $this->headerObjects[$i] = null;
- return $this;
- }
-
- /**
- * Returns an array of IHeader objects representing all headers in this
- * collection.
- *
- * @return IHeader[]
- */
- public function getHeaderObjects() : array
- {
- return \array_filter(\array_map([$this, 'getByIndex'], \array_keys($this->headers)));
- }
-
- /**
- * Returns an array of headers in this collection. Each returned element in
- * the array is an array with the first element set to the name, and the
- * second its value:
- *
- * [
- * [ 'Header-Name', 'Header Value' ],
- * [ 'Second-Header-Name', 'Second-Header-Value' ],
- * // etc...
- * ]
- *
- * @return string[][]
- */
- public function getHeaders() : array
- {
- return \array_values(\array_filter($this->headers));
- }
-
- /**
- * Returns an iterator to the headers in this collection. Each returned
- * element is an array with its first element set to the header's name, and
- * the second to its value:
- *
- * [ 'Header-Name', 'Header Value' ]
- *
- * return Traversable>
- */
- public function getIterator() : Traversable
- {
- return new ArrayIterator($this->getHeaders());
- }
-
- public function getErrorBagChildren() : array
- {
- return \array_values(\array_filter($this->headerObjects));
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/PartStreamContainer.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/PartStreamContainer.php
deleted file mode 100644
index f0e5ac71..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/PartStreamContainer.php
+++ /dev/null
@@ -1,335 +0,0 @@
- map of the active encoding filter on the current handle.
- */
- private array $encoding = [
- 'type' => null,
- 'filter' => null
- ];
-
- /**
- * @var array map of the active charset filter on the current handle.
- */
- private array $charset = [
- 'from' => null,
- 'to' => null,
- 'filter' => null
- ];
-
- public function __construct(
- LoggerInterface $logger,
- StreamFactory $streamFactory,
- MbWrapper $mbWrapper,
- bool $throwExceptionReadingPartContentFromUnsupportedCharsets
- ) {
- parent::__construct($logger);
- $this->streamFactory = $streamFactory;
- $this->mbWrapper = $mbWrapper;
- $this->throwExceptionReadingPartContentFromUnsupportedCharsets = $throwExceptionReadingPartContentFromUnsupportedCharsets;
- }
-
- /**
- * Sets the part's stream containing the part's headers, content, and
- * children.
- */
- public function setStream(MessagePartStreamDecorator $stream) : static
- {
- $this->stream = $stream;
- return $this;
- }
-
- /**
- * Returns the part's stream containing the part's headers, content, and
- * children.
- */
- public function getStream() : MessagePartStreamDecorator
- {
- // error out if called before setStream, getStream should never return
- // null.
- $this->stream->rewind();
- return $this->stream;
- }
-
- /**
- * Returns true if there's a content stream associated with the part.
- */
- public function hasContent() : bool
- {
- return ($this->contentStream !== null);
- }
-
- /**
- * Attaches the passed stream as the content portion of this
- * StreamContainer.
- *
- * The content stream would represent the content portion of $this->stream.
- *
- * If the content is overridden, $this->stream should point to a dynamic
- * {@see ZBateson\Stream\MessagePartStream} that dynamically creates the
- * RFC822 formatted message based on the IMessagePart this
- * PartStreamContainer belongs to.
- *
- * setContentStream can be called with 'null' to indicate the IMessagePart
- * does not contain any content.
- */
- public function setContentStream(?StreamInterface $contentStream = null) : static
- {
- $this->contentStream = $contentStream;
- $this->decodedStream = null;
- $this->charsetStream = null;
- return $this;
- }
-
- /**
- * Returns true if the attached stream filter used for decoding the content
- * on the current handle is different from the one passed as an argument.
- */
- private function isTransferEncodingFilterChanged(?string $transferEncoding) : bool
- {
- return ($transferEncoding !== $this->encoding['type']);
- }
-
- /**
- * Returns true if the attached stream filter used for charset conversion on
- * the current handle is different from the one needed based on the passed
- * arguments.
- *
- */
- private function isCharsetFilterChanged(string $fromCharset, string $toCharset) : bool
- {
- return ($fromCharset !== $this->charset['from']
- || $toCharset !== $this->charset['to']);
- }
-
- /**
- * Attaches a decoding filter to the attached content handle, for the passed
- * $transferEncoding.
- */
- protected function attachTransferEncodingFilter(?string $transferEncoding) : static
- {
- if ($this->decodedStream !== null) {
- $this->encoding['type'] = $transferEncoding;
- $this->decodedStream = new CachingStream($this->streamFactory->getTransferEncodingDecoratedStream(
- $this->decodedStream,
- $transferEncoding
- ));
- }
- return $this;
- }
-
- /**
- * Attaches a charset conversion filter to the attached content handle, for
- * the passed arguments.
- *
- * @param string $fromCharset the character set the content is encoded in
- * @param string $toCharset the target encoding to return
- */
- protected function attachCharsetFilter(string $fromCharset, string $toCharset) : static
- {
- if ($this->charsetStream !== null) {
- if (!$this->throwExceptionReadingPartContentFromUnsupportedCharsets) {
- try {
- $this->mbWrapper->convert('t', $fromCharset, $toCharset);
- $this->charsetStream = new CachingStream($this->streamFactory->newCharsetStream(
- $this->charsetStream,
- $fromCharset,
- $toCharset
- ));
- } catch (UnsupportedCharsetException $ex) {
- $this->addError('Unsupported character set found', LogLevel::ERROR, $ex);
- $this->charsetStream = new CachingStream($this->charsetStream);
- }
- } else {
- $this->charsetStream = new CachingStream($this->streamFactory->newCharsetStream(
- $this->charsetStream,
- $fromCharset,
- $toCharset
- ));
- }
- $this->charsetStream->rewind();
- $this->charset['from'] = $fromCharset;
- $this->charset['to'] = $toCharset;
- }
- return $this;
- }
-
- /**
- * Resets just the charset stream, and rewinds the decodedStream.
- */
- private function resetCharsetStream() : static
- {
- $this->charset = [
- 'from' => null,
- 'to' => null,
- 'filter' => null
- ];
- $this->decodedStream->rewind();
- $this->charsetStream = $this->decodedStream;
- return $this;
- }
-
- /**
- * Resets cached encoding and charset streams, and rewinds the stream.
- */
- public function reset() : static
- {
- $this->encoding = [
- 'type' => null,
- 'filter' => null
- ];
- $this->charset = [
- 'from' => null,
- 'to' => null,
- 'filter' => null
- ];
- $this->contentStream->rewind();
- $this->decodedStream = $this->contentStream;
- $this->charsetStream = $this->contentStream;
- return $this;
- }
-
- /**
- * Checks what transfer-encoding decoder stream and charset conversion
- * stream are currently attached on the underlying contentStream, and resets
- * them if the requested arguments differ from the currently assigned ones.
- *
- * @param IMessagePart $part the part the stream belongs to
- * @param string $transferEncoding the transfer encoding
- * @param string $fromCharset the character set the content is encoded in
- * @param string $toCharset the target encoding to return
- */
- public function getContentStream(
- IMessagePart $part,
- ?string $transferEncoding,
- ?string $fromCharset,
- ?string $toCharset
- ) : ?MessagePartStreamDecorator {
- if ($this->contentStream === null) {
- return null;
- }
- if (empty($fromCharset) || empty($toCharset)) {
- return $this->getBinaryContentStream($part, $transferEncoding);
- }
- if ($this->charsetStream === null
- || $this->isTransferEncodingFilterChanged($transferEncoding)
- || $this->isCharsetFilterChanged($fromCharset, $toCharset)) {
- if ($this->charsetStream === null
- || $this->isTransferEncodingFilterChanged($transferEncoding)) {
- $this->reset();
- $this->attachTransferEncodingFilter($transferEncoding);
- }
- $this->resetCharsetStream();
- $this->attachCharsetFilter($fromCharset, $toCharset);
- }
- $this->charsetStream->rewind();
- return $this->streamFactory->newDecoratedMessagePartStream(
- $part,
- $this->charsetStream
- );
- }
-
- /**
- * Checks what transfer-encoding decoder stream is attached on the
- * underlying stream, and resets it if the requested arguments differ.
- */
- public function getBinaryContentStream(IMessagePart $part, ?string $transferEncoding = null) : ?MessagePartStreamDecorator
- {
- if ($this->contentStream === null) {
- return null;
- }
- if ($this->decodedStream === null
- || $this->isTransferEncodingFilterChanged($transferEncoding)) {
- $this->reset();
- $this->attachTransferEncodingFilter($transferEncoding);
- }
- $this->decodedStream->rewind();
- return $this->streamFactory->newDecoratedMessagePartStream($part, $this->decodedStream);
- }
-
- protected function getErrorBagChildren() : array
- {
- return [];
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Message/UUEncodedPart.php b/plugins/vendor/zbateson/mail-mime-parser/src/Message/UUEncodedPart.php
deleted file mode 100644
index 3313c1fd..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Message/UUEncodedPart.php
+++ /dev/null
@@ -1,120 +0,0 @@
-get(LoggerInterface::class),
- $streamContainer ?? $di->get(PartStreamContainer::class),
- $parent
- );
- $this->mode = $mode;
- $this->filename = $filename;
- }
-
- /**
- * Returns the filename included in the uuencoded 'begin' line for this
- * part.
- */
- public function getFilename() : ?string
- {
- return $this->filename;
- }
-
- public function setFilename(string $filename) : static
- {
- $this->filename = $filename;
- $this->notify();
- return $this;
- }
-
- /**
- * Returns false.
- *
- * Although the part may be plain text, there is no reliable way of
- * determining its type since uuencoded 'begin' lines only include a file
- * name and no mime type. The file name's extension may be a hint.
- *
- * @return false
- */
- public function isTextPart() : bool
- {
- return false;
- }
-
- /**
- * Returns 'application/octet-stream'.
- */
- public function getContentType(string $default = 'application/octet-stream') : ?string
- {
- return 'application/octet-stream';
- }
-
- /**
- * Returns null
- */
- public function getCharset() : ?string
- {
- return null;
- }
-
- /**
- * Returns 'attachment'.
- */
- public function getContentDisposition(?string $default = 'attachment') : ?string
- {
- return 'attachment';
- }
-
- /**
- * Returns 'x-uuencode'.
- */
- public function getContentTransferEncoding(?string $default = 'x-uuencode') : ?string
- {
- return 'x-uuencode';
- }
-
- public function getUnixFileMode() : ?int
- {
- return $this->mode;
- }
-
- public function setUnixFileMode(int $mode) : static
- {
- $this->mode = $mode;
- $this->notify();
- return $this;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/AbstractParserService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/AbstractParserService.php
deleted file mode 100644
index 9eb4547e..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/AbstractParserService.php
+++ /dev/null
@@ -1,75 +0,0 @@
-parserMessageProxyFactory
- * which can be set via the default constructor)
- * - IParser::getParserPartProxyFactory (returns $this->parserPartProxyFactory
- * which can be set via the default constructor)
- *
- * @author Zaahid Bateson
- */
-abstract class AbstractParserService implements IParserService
-{
- /**
- * @var ParserPartProxyFactory the parser's message proxy factory service
- * responsible for creating an IMessage part wrapped in a
- * ParserPartProxy.
- */
- protected ParserPartProxyFactory $parserMessageProxyFactory;
-
- /**
- * @var ParserPartProxyFactory the parser's part proxy factory service
- * responsible for creating IMessagePart parts wrapped in a
- * ParserPartProxy.
- */
- protected ParserPartProxyFactory $parserPartProxyFactory;
-
- /**
- * @var PartBuilderFactory Service for creating PartBuilder objects for new
- * children.
- */
- protected PartBuilderFactory $partBuilderFactory;
-
- /**
- * @var ParserManagerService the ParserManager, which should call setParserManager
- * when the parser is added.
- */
- protected ParserManagerService $parserManager;
-
- public function __construct(
- ParserPartProxyFactory $parserMessageProxyFactory,
- ParserPartProxyFactory $parserPartProxyFactory,
- PartBuilderFactory $partBuilderFactory
- ) {
- $this->parserMessageProxyFactory = $parserMessageProxyFactory;
- $this->parserPartProxyFactory = $parserPartProxyFactory;
- $this->partBuilderFactory = $partBuilderFactory;
- }
-
- public function setParserManager(ParserManagerService $pm) : static
- {
- $this->parserManager = $pm;
- return $this;
- }
-
- public function getParserMessageProxyFactory() : ParserPartProxyFactory
- {
- return $this->parserMessageProxyFactory;
- }
-
- public function getParserPartProxyFactory() : ParserPartProxyFactory
- {
- return $this->parserPartProxyFactory;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/CompatibleParserNotFoundException.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/CompatibleParserNotFoundException.php
deleted file mode 100644
index e083421e..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/CompatibleParserNotFoundException.php
+++ /dev/null
@@ -1,22 +0,0 @@
-add($a[0], \trim($a[1]));
- } else {
- $headerContainer->addError(
- "Invalid header found at offset: $offset",
- LogLevel::ERROR
- );
- }
- }
- return $this;
- }
-
- /**
- * Reads header lines up to an empty line, adding them to the passed
- * PartHeaderContainer.
- *
- * @param resource $handle The resource handle to read from.
- * @param PartHeaderContainer $container the container to add headers to.
- */
- public function parse($handle, PartHeaderContainer $container) : static
- {
- $header = '';
- do {
- $offset = \ftell($handle);
- $line = MessageParserService::readLine($handle);
- if ($line === false || $line === '' || $line[0] !== "\t" && $line[0] !== ' ') {
- $this->addRawHeaderToPart($offset, $header, $container);
- $header = '';
- } else {
- $line = "\r\n" . $line;
- }
- $header .= \rtrim($line, "\r\n");
- } while ($header !== '');
- return $this;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/IParserService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/IParserService.php
deleted file mode 100644
index 2ce080bf..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/IParserService.php
+++ /dev/null
@@ -1,91 +0,0 @@
-setStreamContentStartPos() and
- * $proxy->setStreamContentAndPartEndPos() so an IMessagePart can return
- * content from the raw message.
- *
- * Reading should stop once the end of the current part's content has been
- * reached or the end of the message has been reached. If the end of the
- * message has been reached $proxy->setEof() should be called in addition to
- * setStreamContentAndPartEndPos().
- */
- public function parseContent(ParserPartProxy $proxy) : static;
-
- /**
- * Performs read operations to read children from the passed $proxy, using
- * its stream, and reading up to (and not including) the beginning of the
- * child's content if another child exists.
- *
- * The implementation should:
- * 1. Return null if there are no more children.
- * 2. Read headers
- * 3. Create a PartBuilder (adding the passed $proxy as its parent)
- * 4. Call ParserManager::createParserProxyFor() on the ParserManager
- * previously set by a call to setParserManager(), which may determine
- * that a different parser is responsible for parts represented by
- * the headers and PartBuilder passed to it.
- *
- * The method should then return the ParserPartProxy returned by the
- * ParserManager, or null if there are no more children to read.
- *
- * @return ParserPartProxy|null The child ParserPartProxy or null if there
- * are no more children under $proxy.
- */
- public function parseNextChild(ParserMimePartProxy $proxy) : ?ParserPartProxy;
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/MessageParserService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/MessageParserService.php
deleted file mode 100644
index 6598f9e9..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/MessageParserService.php
+++ /dev/null
@@ -1,95 +0,0 @@
-partBuilderFactory = $pbf;
- $this->partHeaderContainerFactory = $phcf;
- $this->parserManager = $pm;
- $this->headerParser = $hp;
- }
-
- /**
- * Convenience method to read a line of up to 4096 characters from the
- * passed resource handle.
- *
- * If the line is larger than 4096 characters, the remaining characters in
- * the line are read and discarded, and only the first 4096 characters are
- * returned.
- *
- * @param resource $handle
- * @return string|false the read line or false on EOF or on error.
- */
- public static function readLine($handle) : string|false
- {
- $size = 4096;
- $ret = $line = \fgets($handle, $size);
- while (\strlen($line) === $size - 1 && \substr($line, -1) !== "\n") {
- $line = \fgets($handle, $size);
- }
- return $ret;
- }
-
- /**
- * Parses the passed stream into an {@see ZBateson\MailMimeParser\IMessage}
- * object and returns it.
- *
- * @param StreamInterface $stream the stream to parse the message from
- */
- public function parse(StreamInterface $stream) : IMessage
- {
- $headerContainer = $this->partHeaderContainerFactory->newInstance();
- $partBuilder = $this->partBuilderFactory->newPartBuilder($headerContainer, $stream);
- $this->headerParser->parse(
- $partBuilder->getMessageResourceHandle(),
- $headerContainer
- );
- $proxy = $this->parserManager->createParserProxyFor($partBuilder);
- return $proxy->getPart();
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/MimeParserService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/MimeParserService.php
deleted file mode 100644
index e3f0a48b..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/MimeParserService.php
+++ /dev/null
@@ -1,167 +0,0 @@
-partHeaderContainerFactory = $partHeaderContainerFactory;
- $this->headerParser = $headerParser;
- }
-
- /**
- * Returns true if the passed PartBuilder::isMime() method returns true.
- *
- */
- public function canParse(PartBuilder $part) : bool
- {
- return $part->isMime();
- }
-
- /**
- * Reads up to 2048 bytes of input from the passed resource handle,
- * discarding portions of a line that are longer than that, and returning
- * the read portions of the line.
- *
- * The method also calls $proxy->setLastLineEndingLength which is used in
- * findContentBoundary() to set the exact end byte of a part.
- *
- * @param resource $handle
- */
- private function readBoundaryLine($handle, ParserMimePartProxy $proxy) : string
- {
- $size = 2048;
- $isCut = false;
- $line = \fgets($handle, $size);
- while (\strlen($line) === $size - 1 && \substr($line, -1) !== "\n") {
- $line = \fgets($handle, $size);
- $isCut = true;
- }
- $ret = \rtrim($line, "\r\n");
- $proxy->setLastLineEndingLength(\strlen($line) - \strlen($ret));
- return ($isCut) ? '' : $ret;
- }
-
- /**
- * Reads 2048-byte lines from the passed $handle, calling
- * $partBuilder->setEndBoundaryFound with the passed line until it returns
- * true or the stream is at EOF.
- *
- * setEndBoundaryFound returns true if the passed line matches a boundary
- * for the $partBuilder itself or any of its parents.
- *
- * Lines longer than 2048 bytes are returned as single lines of 2048 bytes,
- * the longer line is not returned separately but is simply discarded.
- *
- * Once a boundary is found, setStreamPartAndContentEndPos is called with
- * the passed $handle's read pos before the boundary and its line separator
- * were read.
- */
- private function findContentBoundary(ParserMimePartProxy $proxy) : static
- {
- $handle = $proxy->getMessageResourceHandle();
- // last separator before a boundary belongs to the boundary, and is not
- // part of the current part, if a part is immediately followed by a
- // boundary, this could result in a '-1' or '-2' content length
- while (!\feof($handle)) {
- $endPos = \ftell($handle) - $proxy->getLastLineEndingLength();
- $line = $this->readBoundaryLine($handle, $proxy);
- if (\substr($line, 0, 2) === '--' && $proxy->setEndBoundaryFound($line)) {
- $proxy->setStreamPartAndContentEndPos($endPos);
- return $this;
- }
- }
- $proxy->setStreamPartAndContentEndPos(\ftell($handle));
- $proxy->setEof();
- return $this;
- }
-
- public function parseContent(ParserPartProxy $proxy) : static
- {
- $proxy->setStreamContentStartPos($proxy->getMessageResourceHandlePos());
- $this->findContentBoundary($proxy);
- return $this;
- }
-
- /**
- * Calls the header parser to fill the passed $headerContainer, then calls
- * $this->parserManager->createParserProxyFor($child);
- *
- * The method first checks though if the 'part' represents hidden content
- * past a MIME end boundary, which some messages like to include, for
- * instance:
- *
- * ```
- * --outer-boundary--
- * --boundary
- * content
- * --boundary--
- * some hidden information
- * --outer-boundary--
- * ```
- *
- * In this case, $this->parserPartProxyFactory is called directly to create
- * a part, $this->parseContent is called immediately to parse it and discard
- * it, and null is returned.
- */
- private function createPart(ParserMimePartProxy $parent, PartHeaderContainer $headerContainer, PartBuilder $child) : ?ParserPartProxy
- {
- if (!$parent->isEndBoundaryFound()) {
- $this->headerParser->parse(
- $child->getMessageResourceHandle(),
- $headerContainer
- );
- $parserProxy = $this->parserManager->createParserProxyFor($child);
- return $parserProxy;
- }
- // reads content past an end boundary if there is any
- $parserProxy = $this->parserPartProxyFactory->newInstance($child, $this);
- $this->parseContent($parserProxy);
- return null;
- }
-
- public function parseNextChild(ParserMimePartProxy $proxy) : ?ParserPartProxy
- {
- if ($proxy->isParentBoundaryFound()) {
- return null;
- }
- $headerContainer = $this->partHeaderContainerFactory->newInstance();
- $child = $this->partBuilderFactory->newChildPartBuilder($headerContainer, $proxy);
- return $this->createPart($proxy, $headerContainer, $child);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/NonMimeParserService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/NonMimeParserService.php
deleted file mode 100644
index 5bf78781..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/NonMimeParserService.php
+++ /dev/null
@@ -1,111 +0,0 @@
-partHeaderContainerFactory = $uuEncodedPartHeaderContainerFactory;
- }
-
- /**
- * Always returns true, and should therefore be the last parser reached by
- * a ParserManager.
- */
- public function canParse(PartBuilder $part) : bool
- {
- return true;
- }
-
- /**
- * Creates a UUEncodedPartHeaderContainer attached to a PartBuilder, and
- * calls $this->parserManager->createParserProxyFor().
- *
- * It also sets the PartBuilder's stream part start pos and content start
- * pos to that of $parent->getNextParStart() (since a 'begin' line is read
- * prior to another child being created, see parseNextPart()).
- */
- private function createPart(ParserNonMimeMessageProxy $parent) : ParserPartProxy
- {
- $hc = $this->partHeaderContainerFactory->newInstance($parent->getNextPartMode(), $parent->getNextPartFilename());
- $pb = $this->partBuilderFactory->newChildPartBuilder($hc, $parent);
- $proxy = $this->parserManager->createParserProxyFor($pb);
- $pb->setStreamPartStartPos($parent->getNextPartStart());
- $pb->setStreamContentStartPos($parent->getNextPartStart());
- return $proxy;
- }
-
- /**
- * Reads content from the passed ParserPartProxy's stream till a uu-encoded
- * 'begin' line is found, setting $proxy->setStreamPartContentAndEndPos() to
- * the last byte read before the begin line.
- *
- * @param ParserNonMimeMessageProxy|ParserUUEncodedPartProxy $proxy
- */
- private function parseNextPart(ParserPartProxy $proxy) : static
- {
- $handle = $proxy->getMessageResourceHandle();
- while (!\feof($handle)) {
- $start = \ftell($handle);
- $line = \trim(MessageParserService::readLine($handle));
- if (\preg_match('/^begin ([0-7]{3}) (.*)$/', $line, $matches)) {
- $proxy->setNextPartStart($start);
- $proxy->setNextPartMode((int) $matches[1]);
- $proxy->setNextPartFilename($matches[2]);
- return $this;
- }
- $proxy->setStreamPartAndContentEndPos(\ftell($handle));
- }
- return $this;
- }
-
- public function parseContent(ParserPartProxy $proxy) : static
- {
- $handle = $proxy->getMessageResourceHandle();
- if ($proxy->getNextPartStart() !== null || \feof($handle)) {
- return $this;
- }
- if ($proxy->getStreamContentStartPos() === null) {
- $proxy->setStreamContentStartPos(\ftell($handle));
- }
- $this->parseNextPart($proxy);
- return $this;
- }
-
- public function parseNextChild(ParserMimePartProxy $proxy) : ?ParserPartProxy
- {
- $handle = $proxy->getMessageResourceHandle();
- if ($proxy->getNextPartStart() === null || \feof($handle)) {
- return null;
- }
- $child = $this->createPart($proxy);
- $proxy->clearNextPart();
- return $child;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/ParserManagerService.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/ParserManagerService.php
deleted file mode 100644
index ad21bf4f..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/ParserManagerService.php
+++ /dev/null
@@ -1,92 +0,0 @@
-setParsers([$mimeParser, $nonMimeParser]);
- }
-
- /**
- * Overrides the internal prioritized list of parses with the passed list,
- * calling $parser->setParserManager($this) on each one.
- *
- * @param IParserService[] $parsers
- */
- public function setParsers(array $parsers) : static
- {
- foreach ($parsers as $parser) {
- $parser->setParserManager($this);
- }
- $this->parsers = $parsers;
- return $this;
- }
-
- /**
- * Adds an IParser at the highest priority (up front), calling
- * $parser->setParserManager($this) on it.
- *
- * @param IParserService $parser The parser to add.
- */
- public function prependParser(IParserService $parser) : static
- {
- $parser->setParserManager($this);
- \array_unshift($this->parsers, $parser);
- return $this;
- }
-
- /**
- * Creates a ParserPartProxy for the passed $partBuilder using a compatible
- * IParser.
- *
- * Loops through registered IParsers calling 'canParse()' on each with the
- * passed PartBuilder, then calling either 'getParserMessageProxyFactory()'
- * or 'getParserPartProxyFactory()' depending on if the PartBuilder has a
- * parent, and finally calling 'newInstance' on the returned
- * ParserPartProxyFactory passing it the IParser, and returning the new
- * ParserPartProxy instance that was created.
- *
- * @param PartBuilder $partBuilder The PartBuilder to wrap in a proxy with
- * an IParser
- * @throws CompatibleParserNotFoundException if a compatible parser for the
- * type is not configured.
- * @return ParserPartProxy The created ParserPartProxy tied to a new
- * IMessagePart and associated IParser.
- */
- public function createParserProxyFor(PartBuilder $partBuilder) : ParserPartProxy
- {
- foreach ($this->parsers as $parser) {
- if ($parser->canParse($partBuilder)) {
- $factory = ($partBuilder->getParent() === null) ?
- $parser->getParserMessageProxyFactory() :
- $parser->getParserPartProxyFactory();
- return $factory->newInstance($partBuilder, $parser);
- }
- }
- throw new CompatibleParserNotFoundException('Compatible parser for a part cannot be found with content-type: ' . $partBuilder->getHeaderContainer()->get('Content-Type'));
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/ParserPartChildrenContainer.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/ParserPartChildrenContainer.php
deleted file mode 100644
index 743670e9..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/ParserPartChildrenContainer.php
+++ /dev/null
@@ -1,53 +0,0 @@
-parserProxy = $parserProxy;
- }
-
- public function offsetExists($offset) : bool
- {
- $exists = parent::offsetExists($offset);
- while (!$exists && !$this->allParsed) {
- $child = $this->parserProxy->popNextChild();
- if ($child === null) {
- $this->allParsed = true;
- } else {
- $this->add($child);
- }
- $exists = parent::offsetExists($offset);
- }
- return $exists;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/ParserPartChildrenContainerFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/ParserPartChildrenContainerFactory.php
deleted file mode 100644
index 858883c4..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/ParserPartChildrenContainerFactory.php
+++ /dev/null
@@ -1,23 +0,0 @@
-parserProxy = $parserProxy;
- }
-
- public function __destruct()
- {
- if ($this->detachParsedStream && $this->parsedStream !== null) {
- $this->parsedStream->detach();
- }
- }
-
- /**
- * Requests content from the parser if not previously requested, and calls
- * PartStreamContainer::setContentStream().
- */
- protected function requestParsedContentStream() : static
- {
- if (!$this->contentParseRequested) {
- $this->contentParseRequested = true;
- $this->parserProxy->parseContent();
- parent::setContentStream($this->streamFactory->getLimitedContentStream(
- $this->parserProxy
- ));
- }
- return $this;
- }
-
- /**
- * Ensures the parser has parsed the entire part, and sets
- * $this->parsedStream to the original parsed stream (or a limited part of
- * it corresponding to the current part this stream container belongs to).
- */
- protected function requestParsedStream() : static
- {
- if ($this->parsedStream === null) {
- $this->parserProxy->parseAll();
- $this->parsedStream = $this->streamFactory->newDecoratedMessagePartStream(
- $this->parserProxy->getPart(),
- $this->streamFactory->getLimitedPartStream(
- $this->parserProxy
- )
- );
- if ($this->parsedStream !== null) {
- $this->detachParsedStream = ($this->parsedStream->getMetadata('mmp-detached-stream') === true);
- }
- }
- return $this;
- }
-
- public function hasContent() : bool
- {
- $this->requestParsedContentStream();
- return parent::hasContent();
- }
-
- public function getContentStream(IMessagePart $part, ?string $transferEncoding, ?string $fromCharset, ?string $toCharset) : ?MessagePartStreamDecorator
- {
- $this->requestParsedContentStream();
- return parent::getContentStream($part, $transferEncoding, $fromCharset, $toCharset);
- }
-
- public function getBinaryContentStream(IMessagePart $part, ?string $transferEncoding = null) : ?MessagePartStreamDecorator
- {
- $this->requestParsedContentStream();
- return parent::getBinaryContentStream($part, $transferEncoding);
- }
-
- public function setContentStream(?StreamInterface $contentStream = null) : static
- {
- // has to be overridden because requestParsedContentStream calls
- // parent::setContentStream as well, so needs to be parsed before
- // overriding the contentStream with a manual 'set'.
- $this->requestParsedContentStream();
- parent::setContentStream($contentStream);
- return $this;
- }
-
- public function getStream() : MessagePartStreamDecorator
- {
- $this->requestParsedStream();
- if (!$this->partUpdated) {
- if ($this->parsedStream !== null) {
- $this->parsedStream->rewind();
- return $this->parsedStream;
- }
- }
- return parent::getStream();
- }
-
- public function update(SplSubject $subject) : void
- {
- $this->partUpdated = true;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/ParserPartStreamContainerFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/ParserPartStreamContainerFactory.php
deleted file mode 100644
index e4ca1f15..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/ParserPartStreamContainerFactory.php
+++ /dev/null
@@ -1,52 +0,0 @@
-logger = $logger;
- $this->streamFactory = $streamFactory;
- $this->mbWrapper = $mbWrapper;
- $this->throwExceptionReadingPartContentFromUnsupportedCharsets = $throwExceptionReadingPartContentFromUnsupportedCharsets;
- }
-
- public function newInstance(ParserPartProxy $parserProxy) : ParserPartStreamContainer
- {
- return new ParserPartStreamContainer(
- $this->logger,
- $this->streamFactory,
- $this->mbWrapper,
- $this->throwExceptionReadingPartContentFromUnsupportedCharsets,
- $parserProxy
- );
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/UUEncodedPartHeaderContainer.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/UUEncodedPartHeaderContainer.php
deleted file mode 100644
index 469534d0..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/UUEncodedPartHeaderContainer.php
+++ /dev/null
@@ -1,66 +0,0 @@
-mode;
- }
-
- /**
- * Sets the unix file mode for the uuencoded 'begin' line.
- */
- public function setUnixFileMode(int $mode) : static
- {
- $this->mode = $mode;
- return $this;
- }
-
- /**
- * Returns the filename included in the uuencoded 'begin' line for this
- * part.
- */
- public function getFilename() : ?string
- {
- return $this->filename;
- }
-
- /**
- * Sets the filename included in the uuencoded 'begin' line.
- */
- public function setFilename(string $filename) : static
- {
- $this->filename = $filename;
- return $this;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/UUEncodedPartHeaderContainerFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/UUEncodedPartHeaderContainerFactory.php
deleted file mode 100644
index 2e4e2e88..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Part/UUEncodedPartHeaderContainerFactory.php
+++ /dev/null
@@ -1,48 +0,0 @@
-logger = $logger;
- $this->headerFactory = $headerFactory;
- }
-
- /**
- * Creates and returns a UUEncodedPartHeaderContainer.
- */
- public function newInstance(int $mode, string $filename) : UUEncodedPartHeaderContainer
- {
- $container = new UUEncodedPartHeaderContainer($this->logger, $this->headerFactory);
- $container->setUnixFileMode($mode);
- $container->setFilename($filename);
- return $container;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/PartBuilder.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/PartBuilder.php
deleted file mode 100644
index 840c162a..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/PartBuilder.php
+++ /dev/null
@@ -1,262 +0,0 @@
-headerContainer = $headerContainer;
- $this->messageStream = $messageStream;
- $this->parent = $parent;
- if ($messageStream !== null) {
- $this->messageHandle = StreamWrapper::getResource($messageStream);
- }
- $this->setStreamPartStartPos($this->getMessageResourceHandlePos());
- }
-
- public function __destruct()
- {
- if ($this->messageHandle) {
- \fclose($this->messageHandle);
- }
- }
-
- /**
- * The ParserPartProxy parent of this PartBuilder.
- */
- public function getParent() : ?ParserMimePartProxy
- {
- return $this->parent;
- }
-
- /**
- * Returns this part's PartHeaderContainer.
- */
- public function getHeaderContainer() : PartHeaderContainer
- {
- return $this->headerContainer;
- }
-
- /**
- * Returns the raw message StreamInterface for a message, getting it from
- * the parent part if this is a child part.
- */
- public function getStream() : StreamInterface
- {
- return ($this->messageStream === null && $this->parent !== null) ?
- $this->parent->getStream() :
- $this->messageStream;
- }
-
- /**
- * Returns the resource handle for a the message's stream, getting it from
- * the parent part if this is a child part.
- *
- * @return resource
- */
- public function getMessageResourceHandle() : mixed
- {
- return ($this->messageHandle === null && $this->parent !== null) ?
- $this->parent->getMessageResourceHandle() :
- $this->messageHandle;
- }
-
- /**
- * Shortcut for calling ftell($partBuilder->getMessageResourceHandle()).
- */
- public function getMessageResourceHandlePos() : int
- {
- return \ftell($this->getMessageResourceHandle());
- }
-
- /**
- * Returns the byte offset start position for this part within the message
- * stream.
- */
- public function getStreamPartStartPos() : int
- {
- return $this->streamPartStartPos;
- }
-
- /**
- * Returns the number of raw bytes this part has.
- *
- * This method does not perform checks on whether the start pos and end pos
- * of this part have been set, and so could cause errors if called before
- * being set and are still null.
- *
- */
- public function getStreamPartLength() : int
- {
- return $this->streamPartEndPos - $this->streamPartStartPos;
- }
-
- /**
- * Returns the byte offset start position of the content of this part within
- * the main raw message stream, or null if not set.
- *
- */
- public function getStreamContentStartPos() : ?int
- {
- return $this->streamContentStartPos;
- }
-
- /**
- * Returns the length of this part's content stream.
- *
- * This method does not perform checks on whether the start pos and end pos
- * of this part's content have been set, and so could cause errors if called
- * before being set and are still null.
- *
- */
- public function getStreamContentLength() : int
- {
- return $this->streamContentEndPos - $this->streamContentStartPos;
- }
-
- /**
- * Sets the byte offset start position of the part in the raw message
- * stream.
- */
- public function setStreamPartStartPos(int $streamPartStartPos) : static
- {
- $this->streamPartStartPos = $streamPartStartPos;
- return $this;
- }
-
- /**
- * Sets the byte offset end position of the part in the raw message stream,
- * and also calls its parent's setParentStreamPartEndPos to expand to parent
- * PartBuilders.
- */
- public function setStreamPartEndPos(int $streamPartEndPos) : static
- {
- $this->streamPartEndPos = $streamPartEndPos;
- if ($this->parent !== null) {
- $this->parent->setStreamPartEndPos($streamPartEndPos);
- }
- return $this;
- }
-
- /**
- * Sets the byte offset start position of the content in the raw message
- * stream.
- */
- public function setStreamContentStartPos(int $streamContentStartPos) : static
- {
- $this->streamContentStartPos = $streamContentStartPos;
- return $this;
- }
-
- /**
- * Sets the byte offset end position of the content and part in the raw
- * message stream.
- */
- public function setStreamPartAndContentEndPos(int $streamContentEndPos) : static
- {
- $this->streamContentEndPos = $streamContentEndPos;
- $this->setStreamPartEndPos($streamContentEndPos);
- return $this;
- }
-
- /**
- * Returns true if the byte offset positions for this part's content have
- * been set.
- *
- * @return bool true if set.
- */
- public function isContentParsed() : bool
- {
- return ($this->streamContentEndPos !== null);
- }
-
- /**
- * Returns true if this part, or any parent, have a Content-Type or
- * MIME-Version header set.
- *
- * @return bool true if it's a mime message or child of a mime message.
- */
- public function isMime() : bool
- {
- if ($this->getParent() !== null) {
- return $this->getParent()->isMime();
- }
- return ($this->headerContainer->exists(HeaderConsts::CONTENT_TYPE) ||
- $this->headerContainer->exists(HeaderConsts::MIME_VERSION));
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/PartBuilderFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/PartBuilderFactory.php
deleted file mode 100644
index 98c23c72..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/PartBuilderFactory.php
+++ /dev/null
@@ -1,41 +0,0 @@
-lastLineEndingLength;
- }
-
- public function setLastLineEndingLength(int $lastLineEndingLength) : static
- {
- $this->lastLineEndingLength = $lastLineEndingLength;
- return $this;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMessageProxyFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMessageProxyFactory.php
deleted file mode 100644
index 4fa93402..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMessageProxyFactory.php
+++ /dev/null
@@ -1,74 +0,0 @@
-multipartHelper = $multipartHelper;
- $this->privacyHelper = $privacyHelper;
- }
-
- /**
- * Constructs a new ParserMessageProxy wrapping an IMessage object that will
- * dynamically parse a message's content and parts as they're requested.
- */
- public function newInstance(PartBuilder $partBuilder, IParserService $parser) : ParserMessageProxy
- {
- $parserProxy = new ParserMessageProxy($partBuilder, $parser);
-
- $streamContainer = $this->parserPartStreamContainerFactory->newInstance($parserProxy);
- $headerContainer = $this->partHeaderContainerFactory->newInstance($parserProxy->getHeaderContainer());
- $childrenContainer = $this->parserPartChildrenContainerFactory->newInstance($parserProxy);
-
- $message = new Message(
- $this->logger,
- $streamContainer,
- $headerContainer,
- $childrenContainer,
- $this->multipartHelper,
- $this->privacyHelper
- );
- $parserProxy->setPart($message);
-
- $streamContainer->setStream($this->streamFactory->newMessagePartStream($message));
- $message->attach($streamContainer);
- return $parserProxy;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMimePartProxy.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMimePartProxy.php
deleted file mode 100644
index fdb8e9f3..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMimePartProxy.php
+++ /dev/null
@@ -1,286 +0,0 @@
-lastAddedChild !== null) {
- $this->lastAddedChild->parseAll();
- }
- return $this;
- }
-
- /**
- * Parses the next child of this part and adds it to the 'stack' of
- * children.
- */
- protected function parseNextChild() : static
- {
- if ($this->allChildrenParsed) {
- return $this;
- }
- $this->parseContent();
- $this->ensureLastChildParsed();
- $next = $this->parser->parseNextChild($this);
- if ($next !== null) {
- $this->children[] = $next;
- $this->childrenStack[] = $next;
- $this->lastAddedChild = $next;
- } else {
- $this->allChildrenParsed = true;
- }
- return $this;
- }
-
- /**
- * Returns the next child part if one exists, popping it from the internal
- * 'stack' of children, attempting to parse a new one if the stack is empty,
- * and returning null if there are no more children.
- *
- * @return ?IMessagePart the child part.
- */
- public function popNextChild() : ?IMessagePart
- {
- if (empty($this->childrenStack)) {
- $this->parseNextChild();
- }
- $proxy = \array_shift($this->childrenStack);
- return ($proxy !== null) ? $proxy->getPart() : null;
- }
-
- /**
- * Parses all content and children for this part.
- */
- public function parseAll() : static
- {
- $this->parseContent();
- while (!$this->allChildrenParsed) {
- $this->parseNextChild();
- }
- return $this;
- }
-
- /**
- * Returns a ParameterHeader representing the parsed Content-Type header for
- * this part.
- */
- public function getContentType() : ?ParameterHeader
- {
- return $this->getHeaderContainer()->get(HeaderConsts::CONTENT_TYPE);
- }
-
- /**
- * Returns the parsed boundary parameter of the Content-Type header if set
- * for a multipart message part.
- *
- */
- public function getMimeBoundary() : ?string
- {
- if ($this->mimeBoundaryQueried === false) {
- $this->mimeBoundaryQueried = true;
- $contentType = $this->getContentType();
- if ($contentType !== null) {
- $this->mimeBoundary = $contentType->getValueFor('boundary');
- }
- }
- return $this->mimeBoundary;
- }
-
- /**
- * Returns true if the passed $line of read input matches this part's mime
- * boundary, or any of its parent's mime boundaries for a multipart message.
- *
- * If the passed $line is the ending boundary for the current part,
- * $this->isEndBoundaryFound will return true after.
- */
- public function setEndBoundaryFound(string $line) : bool
- {
- $boundary = $this->getMimeBoundary();
- if ($this->getParent() !== null && $this->getParent()->setEndBoundaryFound($line)) {
- $this->parentBoundaryFound = true;
- return true;
- } elseif ($boundary !== null) {
- if ($line === "--$boundary--") {
- $this->endBoundaryFound = true;
- return true;
- } elseif ($line === "--$boundary") {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Returns true if the parser passed an input line to setEndBoundary that
- * matches a parent's mime boundary, and the following input belongs to a
- * new part under its parent.
- *
- */
- public function isParentBoundaryFound() : bool
- {
- return ($this->parentBoundaryFound);
- }
-
- /**
- * Returns true if an end boundary was found for this part.
- *
- */
- public function isEndBoundaryFound() : bool
- {
- return ($this->endBoundaryFound);
- }
-
- /**
- * Called once EOF is reached while reading content. The method sets the
- * flag used by isParentBoundaryFound() to true on this part and all parent
- * parts.
- *
- */
- public function setEof() : static
- {
- $this->parentBoundaryFound = true;
- if ($this->getParent() !== null) {
- $this->getParent()->setEof();
- }
- return $this;
- }
-
- /**
- * Overridden to set a 0-length content length, and a stream end pos of -2
- * if the passed end pos is before the start pos (can happen if a mime
- * end boundary doesn't have an empty line before the next parent start
- * boundary).
- */
- public function setStreamPartAndContentEndPos(int $streamContentEndPos) : static
- {
- // check if we're expecting a boundary and didn't find one
- if (!$this->endBoundaryFound && !$this->parentBoundaryFound) {
- if (!empty($this->mimeBoundary) || ($this->getParent() !== null && !empty($this->getParent()->mimeBoundary))) {
- $this->addError('End boundary for part not found', LogLevel::WARNING);
- }
- }
- $start = $this->getStreamContentStartPos();
- if ($streamContentEndPos - $start < 0) {
- parent::setStreamPartAndContentEndPos($start);
- $this->setStreamPartEndPos($streamContentEndPos);
- } else {
- parent::setStreamPartAndContentEndPos($streamContentEndPos);
- }
- return $this;
- }
-
- /**
- * Sets the length of the last line ending read by MimeParser (e.g. 2 for
- * '\r\n', or 1 for '\n').
- *
- * The line ending may not belong specifically to this part, so
- * ParserMimePartProxy simply calls setLastLineEndingLength on its parent,
- * which must eventually reach a ParserMessageProxy which actually stores
- * the length.
- */
- public function setLastLineEndingLength(int $length) : static
- {
- $this->getParent()->setLastLineEndingLength($length);
- return $this;
- }
-
- /**
- * Returns the length of the last line ending read by MimeParser (e.g. 2 for
- * '\r\n', or 1 for '\n').
- *
- * The line ending may not belong specifically to this part, so
- * ParserMimePartProxy simply calls getLastLineEndingLength on its parent,
- * which must eventually reach a ParserMessageProxy which actually keeps
- * the length and returns it.
- *
- * @return int the length of the last line ending read
- */
- public function getLastLineEndingLength() : int
- {
- return $this->getParent()->getLastLineEndingLength();
- }
-
- /**
- * Returns the last part that was added.
- */
- public function getLastAddedChild() : ?ParserPartProxy
- {
- return $this->lastAddedChild;
- }
-
- /**
- * Returns the added child at the provided index, useful for looking at
- * previously parsed children.
- */
- public function getAddedChildAt(int $index) : ?ParserPartProxy
- {
- return $this->children[$index] ?? null;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMimePartProxyFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMimePartProxyFactory.php
deleted file mode 100644
index 3f2b1dd4..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserMimePartProxyFactory.php
+++ /dev/null
@@ -1,77 +0,0 @@
-logger = $logger;
- $this->streamFactory = $sdf;
- $this->partHeaderContainerFactory = $phcf;
- $this->parserPartStreamContainerFactory = $pscf;
- $this->parserPartChildrenContainerFactory = $ppccf;
- }
-
- /**
- * Constructs a new ParserMimePartProxy wrapping an IMimePart object that
- * will dynamically parse a message's content and parts as they're
- * requested.
- */
- public function newInstance(PartBuilder $partBuilder, IParserService $parser) : ParserMimePartProxy
- {
- $parserProxy = new ParserMimePartProxy($partBuilder, $parser);
-
- $streamContainer = $this->parserPartStreamContainerFactory->newInstance($parserProxy);
- $headerContainer = $this->partHeaderContainerFactory->newInstance($parserProxy->getHeaderContainer());
- $childrenContainer = $this->parserPartChildrenContainerFactory->newInstance($parserProxy);
-
- $part = new MimePart(
- $partBuilder->getParent()->getPart(),
- $this->logger,
- $streamContainer,
- $headerContainer,
- $childrenContainer
- );
- $parserProxy->setPart($part);
-
- $streamContainer->setStream($this->streamFactory->newMessagePartStream($part));
- $part->attach($streamContainer);
- return $parserProxy;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserNonMimeMessageProxy.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserNonMimeMessageProxy.php
deleted file mode 100644
index 39905311..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserNonMimeMessageProxy.php
+++ /dev/null
@@ -1,108 +0,0 @@
-nextPartStart;
- }
-
- /**
- * Returns the next part's unix file mode in a uu-encoded 'begin' line if
- * one exists, or null otherwise.
- *
- * @return int|null The file mode or null
- */
- public function getNextPartMode() : ?int
- {
- return $this->nextPartMode;
- }
-
- /**
- * Returns the next part's filename in a uu-encoded 'begin' line if one
- * exists, or null otherwise.
- *
- * @return string|null The file name or null
- */
- public function getNextPartFilename() : ?string
- {
- return $this->nextPartFilename;
- }
-
- /**
- * Sets the next part's start position within the message's raw stream.
- */
- public function setNextPartStart(int $nextPartStart) : static
- {
- $this->nextPartStart = $nextPartStart;
- return $this;
- }
-
- /**
- * Sets the next part's unix file mode from its 'begin' line.
- */
- public function setNextPartMode(int $nextPartMode) : static
- {
- $this->nextPartMode = $nextPartMode;
- return $this;
- }
-
- /**
- * Sets the next part's filename from its 'begin' line.
- *
- */
- public function setNextPartFilename(string $nextPartFilename) : static
- {
- $this->nextPartFilename = $nextPartFilename;
- return $this;
- }
-
- /**
- * Sets the next part start position, file mode, and filename to null
- */
- public function clearNextPart() : static
- {
- $this->nextPartStart = null;
- $this->nextPartMode = null;
- $this->nextPartFilename = null;
- return $this;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserNonMimeMessageProxyFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserNonMimeMessageProxyFactory.php
deleted file mode 100644
index 9c8b5e17..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserNonMimeMessageProxyFactory.php
+++ /dev/null
@@ -1,47 +0,0 @@
-parserPartStreamContainerFactory->newInstance($parserProxy);
- $headerContainer = $this->partHeaderContainerFactory->newInstance($parserProxy->getHeaderContainer());
- $childrenContainer = $this->parserPartChildrenContainerFactory->newInstance($parserProxy);
-
- $message = new Message(
- $this->logger,
- $streamContainer,
- $headerContainer,
- $childrenContainer,
- $this->multipartHelper,
- $this->privacyHelper
- );
- $parserProxy->setPart($message);
-
- $streamContainer->setStream($this->streamFactory->newMessagePartStream($message));
- $message->attach($streamContainer);
- return $parserProxy;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserPartProxy.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserPartProxy.php
deleted file mode 100644
index 0743496f..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserPartProxy.php
+++ /dev/null
@@ -1,184 +0,0 @@
-partBuilder = $partBuilder;
- $this->parser = $parser;
- }
-
- /**
- * Sets the associated part.
- *
- * @param IMessagePart $part The part
- */
- public function setPart(IMessagePart $part) : static
- {
- $this->part = $part;
- return $this;
- }
-
- /**
- * Returns the IMessagePart associated with this proxy.
- *
- * @return IMessagePart the part.
- */
- public function getPart() : IMessagePart
- {
- return $this->part;
- }
-
- /**
- * Requests the parser to parse this part's content, and call
- * setStreamContentStartPos/EndPos to setup this part's boundaries within
- * the main message's raw stream.
- *
- * The method first checks to see if the content has already been parsed,
- * and is safe to call multiple times.
- */
- public function parseContent() : static
- {
- if (!$this->isContentParsed()) {
- $this->parser->parseContent($this);
- }
- return $this;
- }
-
- /**
- * Parses everything under this part.
- *
- * For ParserPartProxy, this is just content, but sub-classes may override
- * this to parse all children as well for example.
- */
- public function parseAll() : static
- {
- $this->parseContent();
- return $this;
- }
-
- public function getParent() : ?ParserMimePartProxy
- {
- return $this->partBuilder->getParent();
- }
-
- public function getHeaderContainer() : PartHeaderContainer
- {
- return $this->partBuilder->getHeaderContainer();
- }
-
- public function getStream() : StreamInterface
- {
- return $this->partBuilder->getStream();
- }
-
- /**
- * @return resource
- */
- public function getMessageResourceHandle() : mixed
- {
- return $this->partBuilder->getMessageResourceHandle();
- }
-
- public function getMessageResourceHandlePos() : int
- {
- return $this->partBuilder->getMessageResourceHandlePos();
- }
-
- public function getStreamPartStartPos() : int
- {
- return $this->partBuilder->getStreamPartStartPos();
- }
-
- public function getStreamPartLength() : int
- {
- return $this->partBuilder->getStreamPartLength();
- }
-
- public function getStreamContentStartPos() : ?int
- {
- return $this->partBuilder->getStreamContentStartPos();
- }
-
- public function getStreamContentLength() : int
- {
- return $this->partBuilder->getStreamContentLength();
- }
-
- public function setStreamPartStartPos(int $streamPartStartPos) : static
- {
- $this->partBuilder->setStreamPartStartPos($streamPartStartPos);
- return $this;
- }
-
- public function setStreamPartEndPos(int $streamPartEndPos) : static
- {
- $this->partBuilder->setStreamPartEndPos($streamPartEndPos);
- return $this;
- }
-
- public function setStreamContentStartPos(int $streamContentStartPos) : static
- {
- $this->partBuilder->setStreamContentStartPos($streamContentStartPos);
- return $this;
- }
-
- public function setStreamPartAndContentEndPos(int $streamContentEndPos) : static
- {
- $this->partBuilder->setStreamPartAndContentEndPos($streamContentEndPos);
- return $this;
- }
-
- public function isContentParsed() : bool
- {
- return $this->partBuilder->isContentParsed();
- }
-
- public function isMime() : bool
- {
- return $this->partBuilder->isMime();
- }
-
- public function addError(string $message, string $level) : ParserPartProxy
- {
- $this->part->addError($message, $level);
- return $this;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserPartProxyFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserPartProxyFactory.php
deleted file mode 100644
index 96857e44..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserPartProxyFactory.php
+++ /dev/null
@@ -1,25 +0,0 @@
-getParent()->getNextPartStart();
- }
-
- /**
- * Returns the next part's unix file mode in a uu-encoded 'begin' line if
- * one exists, or null otherwise.
- *
- * As this is a message-wide setting, ParserUUEncodedPartProxy calls
- * getNextPartMode() on its parent (a ParserNonMimeMessageProxy, which
- * stores/returns this information).
- *
- * @return int|null The file mode or null
- */
- public function getNextPartMode() : ?int
- {
- return $this->getParent()->getNextPartMode();
- }
-
- /**
- * Returns the next part's filename in a uu-encoded 'begin' line if one
- * exists, or null otherwise.
- *
- * As this is a message-wide setting, ParserUUEncodedPartProxy calls
- * getNextPartFilename() on its parent (a ParserNonMimeMessageProxy, which
- * stores/returns this information).
- *
- * @return ?string The file name or null
- */
- public function getNextPartFilename() : ?string
- {
- return $this->getParent()->getNextPartFilename();
- }
-
- /**
- * Sets the next part's start position within the message's raw stream.
- *
- * As this is a message-wide setting, ParserUUEncodedPartProxy calls
- * setNextPartStart() on its parent (a ParserNonMimeMessageProxy, which
- * stores/returns this information).
- */
- public function setNextPartStart(int $nextPartStart) : static
- {
- $this->getParent()->setNextPartStart($nextPartStart);
- return $this;
- }
-
- /**
- * Sets the next part's unix file mode from its 'begin' line.
- *
- * As this is a message-wide setting, ParserUUEncodedPartProxy calls
- * setNextPartMode() on its parent (a ParserNonMimeMessageProxy, which
- * stores/returns this information).
- */
- public function setNextPartMode(int $nextPartMode) : static
- {
- $this->getParent()->setNextPartMode($nextPartMode);
- return $this;
- }
-
- /**
- * Sets the next part's filename from its 'begin' line.
- *
- * As this is a message-wide setting, ParserUUEncodedPartProxy calls
- * setNextPartFilename() on its parent (a ParserNonMimeMessageProxy, which
- * stores/returns this information).
- */
- public function setNextPartFilename(string $nextPartFilename) : static
- {
- $this->getParent()->setNextPartFilename($nextPartFilename);
- return $this;
- }
-
- /**
- * Returns the file mode included in the uuencoded 'begin' line for this
- * part.
- */
- public function getUnixFileMode() : ?int
- {
- return $this->getHeaderContainer()->getUnixFileMode();
- }
-
- /**
- * Returns the filename included in the uuencoded 'begin' line for this
- * part.
- */
- public function getFilename() : ?string
- {
- return $this->getHeaderContainer()->getFilename();
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserUUEncodedPartProxyFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserUUEncodedPartProxyFactory.php
deleted file mode 100644
index 39baad20..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Parser/Proxy/ParserUUEncodedPartProxyFactory.php
+++ /dev/null
@@ -1,62 +0,0 @@
-logger = $logger;
- $this->streamFactory = $sdf;
- $this->parserPartStreamContainerFactory = $parserPartStreamContainerFactory;
- }
-
- /**
- * Constructs a new ParserUUEncodedPartProxy wrapping an IUUEncoded object.
- */
- public function newInstance(PartBuilder $partBuilder, IParserService $parser) : ParserUUEncodedPartProxy
- {
- $parserProxy = new ParserUUEncodedPartProxy($partBuilder, $parser);
- $streamContainer = $this->parserPartStreamContainerFactory->newInstance($parserProxy);
-
- $part = new UUEncodedPart(
- $parserProxy->getUnixFileMode(),
- $parserProxy->getFileName(),
- $partBuilder->getParent()->getPart(),
- $this->logger,
- $streamContainer
- );
- $parserProxy->setPart($part);
-
- $streamContainer->setStream($this->streamFactory->newMessagePartStream($part));
- $part->attach($streamContainer);
- return $parserProxy;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/HeaderStream.php b/plugins/vendor/zbateson/mail-mime-parser/src/Stream/HeaderStream.php
deleted file mode 100644
index d1eebcb2..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/HeaderStream.php
+++ /dev/null
@@ -1,101 +0,0 @@
-attach($this);
-
- // unsetting the property forces the first access to go through
- // __get().
- unset($this->stream);
- }
-
- public function __destruct()
- {
- $this->part->detach($this);
- }
-
- public function update(SplSubject $subject) : void
- {
- if ($this->stream !== null) {
- $this->stream = $this->createStream();
- }
- }
-
- /**
- * Returns a header array for the current part.
- *
- * If the part is not a MimePart, Content-Type, Content-Disposition and
- * Content-Transfer-Encoding headers are generated manually.
- */
- private function getPartHeadersIterator() : Traversable
- {
- if ($this->part instanceof IMimePart) {
- return $this->part->getRawHeaderIterator();
- } elseif ($this->part->getParent() !== null && $this->part->getParent()->isMime()) {
- return new ArrayIterator([
- [HeaderConsts::CONTENT_TYPE, $this->part->getContentType()],
- [HeaderConsts::CONTENT_DISPOSITION, $this->part->getContentDisposition()],
- [HeaderConsts::CONTENT_TRANSFER_ENCODING, $this->part->getContentTransferEncoding()]
- ]);
- }
- return new ArrayIterator();
- }
-
- /**
- * Writes out headers for $this->part and follows them with an empty line.
- */
- public function writePartHeadersTo(StreamInterface $stream) : static
- {
- foreach ($this->getPartHeadersIterator() as $header) {
- $stream->write("{$header[0]}: {$header[1]}\r\n");
- }
- $stream->write("\r\n");
- return $this;
- }
-
- /**
- * Creates the underlying stream lazily when required.
- */
- protected function createStream() : StreamInterface
- {
- $stream = Psr7\Utils::streamFor();
- $this->writePartHeadersTo($stream);
- $stream->rewind();
- return $stream;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStream.php b/plugins/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStream.php
deleted file mode 100644
index c09b5ee5..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStream.php
+++ /dev/null
@@ -1,188 +0,0 @@
-streamFactory = $sdf;
- $this->part = $part;
- $this->throwExceptionReadingPartContentFromUnsupportedCharsets = $throwExceptionReadingPartContentFromUnsupportedCharsets;
- $part->attach($this);
-
- // unsetting the property forces the first access to go through
- // __get().
- unset($this->stream);
- }
-
- public function __destruct()
- {
- $this->part->detach($this);
- }
-
- public function update(SplSubject $subject) : void
- {
- if ($this->appendStream !== null) {
- // unset forces recreation in StreamDecoratorTrait with a call to __get
- unset($this->stream);
- $this->appendStream = null;
- }
- }
-
- /**
- * Attaches and returns a CharsetStream decorator to the passed $stream.
- *
- * If the current attached IMessagePart doesn't specify a charset, $stream
- * is returned as-is.
- */
- private function getCharsetDecoratorForStream(StreamInterface $stream) : StreamInterface
- {
- $charset = $this->part->getCharset();
- if (!empty($charset)) {
- if (!$this->throwExceptionReadingPartContentFromUnsupportedCharsets) {
- $test = $this->streamFactory->newCharsetStream(
- Psr7\Utils::streamFor(),
- $charset,
- MailMimeParser::DEFAULT_CHARSET
- );
- try {
- $test->write('t');
- } catch (UnsupportedCharsetException $e) {
- return $stream;
- } finally {
- $test->close();
- }
- }
- $stream = $this->streamFactory->newCharsetStream(
- $stream,
- $charset,
- MailMimeParser::DEFAULT_CHARSET
- );
- }
- return $stream;
- }
-
- /**
- * Creates an array of streams based on the attached part's mime boundary
- * and child streams.
- *
- * @param IMimePart $part passed in because $this->part is declared
- * as IMessagePart
- * @return StreamInterface[]
- */
- protected function getBoundaryAndChildStreams(IMimePart $part) : array
- {
- $boundary = $part->getHeaderParameter(HeaderConsts::CONTENT_TYPE, 'boundary');
- if ($boundary === null) {
- return \array_map(
- function($child) {
- return $child->getStream();
- },
- $part->getChildParts()
- );
- }
- $streams = [];
- foreach ($part->getChildParts() as $i => $child) {
- if ($i !== 0 || $part->hasContent()) {
- $streams[] = Psr7\Utils::streamFor("\r\n");
- }
- $streams[] = Psr7\Utils::streamFor("--$boundary\r\n");
- $streams[] = $child->getStream();
- }
- $streams[] = Psr7\Utils::streamFor("\r\n--$boundary--\r\n");
-
- return $streams;
- }
-
- /**
- * Returns an array of Psr7 Streams representing the attached part and it's
- * direct children.
- *
- * @return StreamInterface[]
- */
- protected function getStreamsArray() : array
- {
- $contentStream = $this->part->getContentStream();
- if ($contentStream !== null) {
- // wrapping in a SeekingLimitStream because the underlying
- // ContentStream could be rewound, etc...
- $contentStream = $this->streamFactory->newDecoratedCachingStream(
- $this->streamFactory->newSeekingStream($contentStream),
- function($stream) {
- $es = $this->streamFactory->getTransferEncodingDecoratedStream(
- $stream,
- $this->part->getContentTransferEncoding(),
- $this->part->getFilename()
- );
- $cs = $this->getCharsetDecoratorForStream($es);
- return $cs;
- }
- );
- }
-
- $streams = [$this->streamFactory->newHeaderStream($this->part), $contentStream ?: Psr7\Utils::streamFor()];
-
- if ($this->part instanceof IMimePart && $this->part->getChildCount() > 0) {
- $streams = \array_merge($streams, $this->getBoundaryAndChildStreams($this->part));
- }
-
- return $streams;
- }
-
- /**
- * Creates the underlying stream lazily when required.
- */
- protected function createStream() : StreamInterface
- {
- if ($this->appendStream === null) {
- $this->appendStream = new AppendStream($this->getStreamsArray());
- }
- return $this->appendStream;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStreamDecorator.php b/plugins/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStreamDecorator.php
deleted file mode 100644
index 6c2fe582..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStreamDecorator.php
+++ /dev/null
@@ -1,61 +0,0 @@
-part = $part;
- $this->stream = $stream;
- }
-
- /**
- * Overridden to wrap exceptions in MessagePartReadException which provides
- * 'getPart' to inspect the part the error occurs on.
- *
- * @throws MessagePartStreamReadException
- */
- public function read(int $length) : string
- {
- try {
- return $this->decoratorRead($length);
- } catch (MessagePartStreamReadException $me) {
- throw $me;
- } catch (RuntimeException $e) {
- throw new MessagePartStreamReadException(
- $this->part,
- 'Exception occurred reading a part stream: cid=' . $this->part->getContentId()
- . ' type=' . $this->part->getContentType() . ', message: ' . $e->getMessage(),
- $e->getCode(),
- $e
- );
- }
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStreamReadException.php b/plugins/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStreamReadException.php
deleted file mode 100644
index 07664696..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/MessagePartStreamReadException.php
+++ /dev/null
@@ -1,36 +0,0 @@
-part = $part;
- }
-
- public function getPart() : IMessagePart
- {
- return $this->part;
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/StreamFactory.php b/plugins/vendor/zbateson/mail-mime-parser/src/Stream/StreamFactory.php
deleted file mode 100644
index d6174a4a..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/Stream/StreamFactory.php
+++ /dev/null
@@ -1,198 +0,0 @@
-throwExceptionReadingPartContentFromUnsupportedCharsets = $throwExceptionReadingPartContentFromUnsupportedCharsets;
- }
-
- /**
- * Returns a SeekingLimitStream using $part->getStreamPartLength() and
- * $part->getStreamPartStartPos()
- */
- public function getLimitedPartStream(PartBuilder $part) : StreamInterface
- {
- return $this->newLimitStream(
- $part->getStream(),
- $part->getStreamPartLength(),
- $part->getStreamPartStartPos()
- );
- }
-
- /**
- * Returns a SeekingLimitStream using $part->getStreamContentLength() and
- * $part->getStreamContentStartPos()
- */
- public function getLimitedContentStream(PartBuilder $part) : ?StreamInterface
- {
- $length = $part->getStreamContentLength();
- if ($length !== 0) {
- return $this->newLimitStream(
- $part->getStream(),
- $part->getStreamContentLength(),
- $part->getStreamContentStartPos()
- );
- }
- return null;
- }
-
- /**
- * Creates and returns a SeekingLimitedStream.
- */
- private function newLimitStream(StreamInterface $stream, int $length, int $start) : StreamInterface
- {
- return new SeekingLimitStream(
- $this->newNonClosingStream($stream),
- $length,
- $start
- );
- }
-
- /**
- * Creates and returns a SeekingLimitedStream without limits, so it's a
- * stream that preserves its current position on the underlying stream it
- * reads from.
- */
- public function newSeekingStream(StreamInterface $stream) : StreamInterface
- {
- return new SeekingLimitStream($this->newNonClosingStream($stream));
- }
-
- /**
- * Creates a non-closing stream that doesn't close it's internal stream when
- * closing/detaching.
- */
- public function newNonClosingStream(StreamInterface $stream) : StreamInterface
- {
- return new NonClosingStream($stream);
- }
-
- /**
- * Creates a ChunkSplitStream.
- */
- public function newChunkSplitStream(StreamInterface $stream) : StreamInterface
- {
- return new ChunkSplitStream($stream);
- }
-
- /**
- * Creates and returns a Base64Stream with an internal
- * PregReplaceFilterStream that filters out non-base64 characters.
- */
- public function newBase64Stream(StreamInterface $stream) : StreamInterface
- {
- return new Base64Stream(
- new PregReplaceFilterStream($stream, '/[^a-zA-Z0-9\/\+=]/', '')
- );
- }
-
- /**
- * Creates and returns a QuotedPrintableStream.
- */
- public function newQuotedPrintableStream(StreamInterface $stream) : StreamInterface
- {
- return new QuotedPrintableStream($stream);
- }
-
- /**
- * Creates and returns a UUStream
- */
- public function newUUStream(StreamInterface $stream) : StreamInterface
- {
- return new UUStream($stream);
- }
-
- public function getTransferEncodingDecoratedStream(StreamInterface $stream, ?string $transferEncoding, ?string $filename = null) : StreamInterface
- {
- $decorated = null;
- switch ($transferEncoding) {
- case 'quoted-printable':
- $decorated = $this->newQuotedPrintableStream($stream);
- break;
- case 'base64':
- $decorated = $this->newBase64Stream(
- $this->newChunkSplitStream($stream)
- );
- break;
- case 'x-uuencode':
- $decorated = $this->newUUStream($stream);
- if ($filename !== null) {
- $decorated->setFilename($filename);
- }
- break;
- default:
- return $stream;
- }
- return $decorated;
- }
-
- /**
- * Creates and returns a CharsetStream
- */
- public function newCharsetStream(StreamInterface $stream, string $streamCharset, string $stringCharset) : StreamInterface
- {
- return new CharsetStream($stream, $streamCharset, $stringCharset);
- }
-
- /**
- * Creates and returns a MessagePartStream
- */
- public function newMessagePartStream(IMessagePart $part) : MessagePartStreamDecorator
- {
- return new MessagePartStream($this, $part, $this->throwExceptionReadingPartContentFromUnsupportedCharsets);
- }
-
- /**
- * Creates and returns a DecoratedCachingStream
- */
- public function newDecoratedCachingStream(StreamInterface $stream, callable $decorator) : StreamInterface
- {
- // seems to perform best locally, would be good to test this out more
- return new DecoratedCachingStream($stream, $decorator, 204800);
- }
-
- /**
- * Creates and returns a HeaderStream
- */
- public function newHeaderStream(IMessagePart $part) : StreamInterface
- {
- return new HeaderStream($part);
- }
-
- public function newDecoratedMessagePartStream(IMessagePart $part, StreamInterface $stream) : MessagePartStreamDecorator
- {
- return new MessagePartStreamDecorator($part, $stream);
- }
-}
diff --git a/plugins/vendor/zbateson/mail-mime-parser/src/di_config.php b/plugins/vendor/zbateson/mail-mime-parser/src/di_config.php
deleted file mode 100644
index 030ddf59..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/src/di_config.php
+++ /dev/null
@@ -1,64 +0,0 @@
- new AutowireDefinitionHelper(NullLogger::class),
-
- // only affects reading part content, not for instance decoding mime encoded
- // header parts
- 'throwExceptionReadingPartContentFromUnsupportedCharsets' => false,
-
- 'fromDomainConsumerService' => (new AutowireDefinitionHelper(DomainConsumerService::class))
- ->constructorParameter('partName', 'from'),
- 'byDomainConsumerService' => (new AutowireDefinitionHelper(DomainConsumerService::class))
- ->constructorParameter('partName', 'by'),
- 'viaGenericReceivedConsumerService' => (new AutowireDefinitionHelper(GenericReceivedConsumerService::class))
- ->constructorParameter('partName', 'via'),
- 'withGenericReceivedConsumerService' => (new AutowireDefinitionHelper(GenericReceivedConsumerService::class))
- ->constructorParameter('partName', 'with'),
- 'idGenericReceivedConsumerService' => (new AutowireDefinitionHelper(GenericReceivedConsumerService::class))
- ->constructorParameter('partName', 'id'),
- 'forGenericReceivedConsumerService' => (new AutowireDefinitionHelper(GenericReceivedConsumerService::class))
- ->constructorParameter('partName', 'for'),
- ReceivedConsumerService::class => (new AutowireDefinitionHelper())
- ->constructor(
- fromDomainConsumerService: new Reference('fromDomainConsumerService'),
- byDomainConsumerService: new Reference('byDomainConsumerService'),
- viaGenericReceivedConsumerService: new Reference('viaGenericReceivedConsumerService'),
- withGenericReceivedConsumerService: new Reference('withGenericReceivedConsumerService'),
- idGenericReceivedConsumerService: new Reference('idGenericReceivedConsumerService'),
- forGenericReceivedConsumerService: new Reference('forGenericReceivedConsumerService')
- ),
- PartStreamContainer::class => (new AutowireDefinitionHelper())
- ->constructor(
- throwExceptionReadingPartContentFromUnsupportedCharsets: new Reference('throwExceptionReadingPartContentFromUnsupportedCharsets')
- ),
- PartStreamContainerFactory::class => (new AutowireDefinitionHelper())
- ->constructor(
- throwExceptionReadingPartContentFromUnsupportedCharsets: new Reference('throwExceptionReadingPartContentFromUnsupportedCharsets')
- ),
- ParserPartStreamContainerFactory::class => (new AutowireDefinitionHelper())
- ->constructor(
- throwExceptionReadingPartContentFromUnsupportedCharsets: new Reference('throwExceptionReadingPartContentFromUnsupportedCharsets')
- ),
- StreamFactory::class => (new AutowireDefinitionHelper())
- ->constructor(
- throwExceptionReadingPartContentFromUnsupportedCharsets: new Reference('throwExceptionReadingPartContentFromUnsupportedCharsets')
- ),
-];
diff --git a/plugins/vendor/zbateson/mail-mime-parser/version.txt b/plugins/vendor/zbateson/mail-mime-parser/version.txt
deleted file mode 100644
index b0f2dcb3..00000000
--- a/plugins/vendor/zbateson/mail-mime-parser/version.txt
+++ /dev/null
@@ -1 +0,0 @@
-3.0.4
diff --git a/plugins/vendor/zbateson/mb-wrapper/LICENSE b/plugins/vendor/zbateson/mb-wrapper/LICENSE
deleted file mode 100644
index 3ba5af7c..00000000
--- a/plugins/vendor/zbateson/mb-wrapper/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-BSD 2-Clause License
-
-Copyright (c) 2018, Zaahid Bateson
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/plugins/vendor/zbateson/mb-wrapper/README.md b/plugins/vendor/zbateson/mb-wrapper/README.md
deleted file mode 100644
index b1567003..00000000
--- a/plugins/vendor/zbateson/mb-wrapper/README.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# zbateson/mb-wrapper
-
-Charset conversion and string manipulation wrapper with a large defined set of aliases.
-
-[](https://github.com/zbateson/mb-wrapper.svg/actions/workflows/tests.yml)
-[](https://scrutinizer-ci.com/g/zbateson/mb-wrapper/?branch=master)
-[](https://scrutinizer-ci.com/g/zbateson/mb-wrapper/?branch=master)
-[](https://packagist.org/packages/zbateson/mb-wrapper)
-[](https://packagist.org/packages/zbateson/mb-wrapper)
-
-The goals of this project are to be:
-
-* Well written
-* Tested where possible
-* Support as wide a range of charset aliases as possible
-
-To include it for use in your project, please install via composer:
-
-```
-composer require zbateson/mb-wrapper
-```
-
-## Php 7 Support Dropped
-
-As of mb-wrapper 2.0, support for php 7 has been dropped.
-
-## Requirements
-
-mb-wrapper requires PHP 8.0 or newer. Tested on PHP 8.0, 8.1, 8.2, and 8.3 on GitHub Actions.
-
-## New in 2.0
-
-If converting or performing an operation on a string fails in iconv, an UnsupportedCharsetException is now thrown.
-
-## Description
-
-MbWrapper is intended for use wherever mb_* or iconv_* is used. It scans supported charsets returned by mb_list_encodings(), and prefers mb_* functions, but will fallback to iconv if a charset isn't supported by the mb_ functions.
-
-A list of aliased charsets is maintained for both mb_* and iconv, where a supported charset exists for an alias. This is useful for mail and http parsing as other systems may report encodings not recognized by mb_* or iconv.
-
-Charset lookup is done by removing non-alphanumeric characters as well, so UTF8 will always be matched to UTF-8, etc...
-
-## Usage
-
-The following wrapper methods are exposed:
-* mb_convert_encoding, iconv with MbWrapper::convert
-* mb_substr, iconv_substr with MbWrapper::getSubstr
-* mb_strlen, iconv_strlen with MbWrapper::getLength
-* mb_check_encoding, iconv (for verification) with MbWrapper::checkEncoding
-
-```php
-$mbWrapper = new \ZBateson\MbWrapper\MbWrapper();
-$fromCharset = 'ISO-8859-1';
-$toCharset = 'UTF-8';
-
-$mbWrapper->convert('data', $fromCharset, $toCharset);
-$mbWrapper->getLength('data', 'UTF-8');
-$mbWrapper->substr('data', 'UTF-8', 1, 2);
-
-if ($mbWrapper->checkEncoding('data', 'UTF-8')) {
- echo 'Compatible';
-}
-```
-
-## License
-
-BSD licensed - please see [license agreement](https://github.com/zbateson/mb-wrapper/blob/master/LICENSE).
diff --git a/plugins/vendor/zbateson/mb-wrapper/composer.json b/plugins/vendor/zbateson/mb-wrapper/composer.json
deleted file mode 100644
index 6eb4ecb4..00000000
--- a/plugins/vendor/zbateson/mb-wrapper/composer.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "zbateson/mb-wrapper",
- "description": "Wrapper for mbstring with fallback to iconv for encoding conversion and string manipulation",
- "keywords": ["mb_convert_encoding", "charset", "encoding", "string", "mbstring", "iconv", "multibyte", "mb", "mime", "mail", "http"],
- "license": "BSD-2-Clause",
- "authors": [
- {
- "name": "Zaahid Bateson"
- }
- ],
- "require": {
- "php": ">=8.0",
- "symfony/polyfill-mbstring": "^1.9",
- "symfony/polyfill-iconv": "^1.9"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.6|^10.0",
- "friendsofphp/php-cs-fixer": "*",
- "phpstan/phpstan": "*"
- },
- "suggest": {
- "ext-mbstring": "For best support/performance",
- "ext-iconv": "For best support/performance"
- },
- "autoload": {
- "psr-4": {
- "ZBateson\\MbWrapper\\": "src/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "ZBateson\\MbWrapper\\": "tests/MbWrapper"
- }
- }
-}
diff --git a/plugins/vendor/zbateson/mb-wrapper/src/MbWrapper.php b/plugins/vendor/zbateson/mb-wrapper/src/MbWrapper.php
deleted file mode 100644
index 31acd5ae..00000000
--- a/plugins/vendor/zbateson/mb-wrapper/src/MbWrapper.php
+++ /dev/null
@@ -1,489 +0,0 @@
- aliased charsets supported by mb_convert_encoding.
- * The alias is stripped of any non-alphanumeric characters (so CP367
- * is equal to CP-367) when comparing.
- * Some of these translations are already supported by
- * mb_convert_encoding on "my" PHP 5.5.9, but may not be supported in
- * other implementations or versions since they're not part of
- * documented support.
- */
- public static $mbAliases = [
- // supported but not included in mb_list_encodings for some reason...
- 'CP850' => 'CP850',
- 'GB2312' => 'GB18030',
- 'SJIS2004' => 'SJIS-2004',
- // aliases
- 'ANSIX341968' => 'ASCII',
- 'ANSIX341986' => 'ASCII',
- 'ARABIC' => 'ISO-8859-6',
- 'ASMO708' => 'ISO-8859-6',
- 'BIG5' => 'BIG-5',
- 'BIG5TW' => 'BIG-5',
- 'CESU8' => 'UTF-8',
- 'CHINESE' => 'GB18030',
- 'CP367' => 'ASCII',
- 'CP819' => 'ISO-8859-1',
- 'CP1251' => 'WINDOWS-1251',
- 'CP1252' => 'WINDOWS-1252',
- 'CP1254' => 'WINDOWS-1254',
- 'CP1255' => 'ISO-8859-8',
- 'CSASCII' => 'ASCII',
- 'CSBIG5' => 'BIG-5',
- 'CSIBM866' => 'CP866',
- 'CSISO2022JP' => 'ISO-2022-JP',
- 'CSISO2022KR' => 'ISO-2022-KR',
- 'CSISO58GB231280' => 'GB18030',
- 'CSISOLATIN1' => 'ISO-8859-1',
- 'CSISOLATIN2' => 'ISO-8859-2',
- 'CSISOLATIN3' => 'ISO-8859-3',
- 'CSISOLATIN4' => 'ISO-8859-4',
- 'CSISOLATIN5' => 'ISO-8859-9',
- 'CSISOLATIN6' => 'ISO-8859-10',
- 'CSISOLATINARABIC' => 'ISO-8859-6',
- 'CSISOLATINCYRILLIC' => 'ISO-8859-5',
- 'CSISOLATINGREEK' => 'ISO-8859-7',
- 'CSISOLATINHEBREW' => 'ISO-8859-8',
- 'CSKOI8R' => 'KOI8-R',
- 'CSPC850MULTILINGUAL' => 'CP850',
- 'CSSHIFTJIS' => 'SJIS',
- 'CYRILLIC' => 'ISO-8859-5',
- 'ECMA114' => 'ISO-8859-6',
- 'ECMA118' => 'ISO-8859-7',
- 'ELOT928' => 'ISO-8859-7',
- 'EUCCN' => 'GB18030',
- 'EUCGB2312CN' => 'GB18030',
- 'GB180302000' => 'GB18030',
- 'GB23121980' => 'GB18030',
- 'GB231280' => 'GB18030',
- 'GBK' => 'CP936',
- 'GREEK8' => 'ISO-8859-7',
- 'GREEK' => 'ISO-8859-7',
- 'HEBREW' => 'ISO-8859-8',
- 'HZGB2312' => 'HZ',
- 'HZGB' => 'HZ',
- 'IBM367' => 'ASCII',
- 'IBM819' => 'ISO-8859-1',
- 'IBM850' => 'CP850',
- 'IBM866' => 'CP866',
- 'ISO2022JP2004' => 'ISO-2022-JP-2004',
- 'ISO646IRV1991' => 'ASCII',
- 'ISO646US' => 'ASCII',
- 'ISO8859' => 'ISO-8859-1',
- 'ISO8859101992' => 'ISO-8859-10',
- 'ISO885911987' => 'ISO-8859-1',
- 'ISO8859141998' => 'ISO-8859-14',
- 'ISO8859162001' => 'ISO-8859-16',
- 'ISO885921987' => 'ISO-8859-2',
- 'ISO885931988' => 'ISO-8859-3',
- 'ISO885941988' => 'ISO-8859-4',
- 'ISO885951988' => 'ISO-8859-5',
- 'ISO885961987' => 'ISO-8859-6',
- 'ISO885971987' => 'ISO-8859-7',
- 'ISO885981988' => 'ISO-8859-8',
- 'ISO88598I' => 'ISO-8859-8',
- 'ISO885991989' => 'ISO-8859-9',
- 'ISOCELTIC' => 'ISO-8859-14',
- 'ISOIR100' => 'ISO-8859-1',
- 'ISOIR101' => 'ISO-8859-2',
- 'ISOIR109' => 'ISO-8859-3',
- 'ISOIR110' => 'ISO-8859-4',
- 'ISOIR126' => 'ISO-8859-7',
- 'ISOIR127' => 'ISO-8859-6',
- 'ISOIR138' => 'ISO-8859-8',
- 'ISOIR144' => 'ISO-8859-5',
- 'ISOIR148' => 'ISO-8859-9',
- 'ISOIR157' => 'ISO-8859-10',
- 'ISOIR199' => 'ISO-8859-14',
- 'ISOIR226' => 'ISO-8859-16',
- 'ISOIR58' => 'GB18030',
- 'ISOIR6' => 'ASCII',
- 'KOI8R' => 'KOI8-R',
- 'KOREAN' => 'EUC-KR',
- 'KSC56011987' => 'EUC-KR',
- 'KSC5601' => 'EUC-KR',
- 'KSX1001' => 'EUC-KR',
- 'L1' => 'ISO-8859-1',
- 'L2' => 'ISO-8859-2',
- 'L3' => 'ISO-8859-3',
- 'L4' => 'ISO-8859-4',
- 'L5' => 'ISO-8859-9',
- 'L6' => 'ISO-8859-10',
- 'L8' => 'ISO-8859-14',
- 'L10' => 'ISO-8859-16',
- 'LATIN' => 'ISO-8859-1',
- 'LATIN1' => 'ISO-8859-1',
- 'LATIN2' => 'ISO-8859-2',
- 'LATIN3' => 'ISO-8859-3',
- 'LATIN4' => 'ISO-8859-4',
- 'LATIN5' => 'ISO-8859-9',
- 'LATIN6' => 'ISO-8859-10',
- 'LATIN8' => 'ISO-8859-14',
- 'LATIN10' => 'ISO-8859-16',
- 'MS932' => 'CP932',
- 'ms936' => 'CP936',
- 'MS950' => 'CP950',
- 'MSKANJI' => 'CP932',
- 'SHIFTJIS2004' => 'SJIS',
- 'SHIFTJIS' => 'SJIS',
- 'UJIS' => 'EUC-JP',
- 'UNICODE11UTF7' => 'UTF-7',
- 'US' => 'ASCII',
- 'USASCII' => 'ASCII',
- 'WE8MSWIN1252' => 'WINDOWS-1252',
- 'WINDOWS1251' => 'WINDOWS-1251',
- 'WINDOWS1252' => 'WINDOWS-1252',
- 'WINDOWS1254' => 'WINDOWS-1254',
- 'WINDOWS1255' => 'ISO-8859-8',
- '0' => 'WINDOWS-1252',
- '128' => 'SJIS',
- '129' => 'EUC-KR',
- '134' => 'GB18030',
- '136' => 'BIG-5',
- '161' => 'WINDOWS-1253',
- '162' => 'WINDOWS-1254',
- '177' => 'WINDOWS-1255',
- '178' => 'WINDOWS-1256',
- '186' => 'WINDOWS-1257',
- '204' => 'WINDOWS-1251',
- '222' => 'WINDOWS-874',
- '238' => 'WINDOWS-1250',
- '646' => 'ASCII',
- '850' => 'CP850',
- '866' => 'CP866',
- '932' => 'CP932',
- '936' => 'CP936',
- '950' => 'CP950',
- '1251' => 'WINDOWS-1251',
- '1252' => 'WINDOWS-1252',
- '1254' => 'WINDOWS-1254',
- '1255' => 'ISO-8859-8',
- '8859' => 'ISO-8859-1',
- ];
-
- /**
- * @var array aliased charsets supported by iconv.
- */
- public static $iconvAliases = [
- // iconv aliases -- a lot of these may already be supported
- 'CESU8' => 'UTF8',
- 'CP154' => 'PT154',
- 'CPGR' => 'CP869',
- 'CPIS' => 'CP861',
- 'CSHPROMAN8' => 'ROMAN8',
- 'CSIBM037' => 'CP037',
- 'CSIBM1026' => 'CP1026',
- 'CSIBM424' => 'CP424',
- 'CSIBM500' => 'CP500',
- 'CSIBM860' => 'CP860',
- 'CSIBM861' => 'CP861',
- 'CSIBM863' => 'CP863',
- 'CSIBM864' => 'CP864',
- 'CSIBM865' => 'CP865',
- 'CSIBM869' => 'CP869',
- 'CSPC775BALTIC' => 'CP775',
- 'CSPC862LATINHEBREW' => 'CP862',
- 'CSPC8CODEPAGE437' => 'CP437',
- 'CSPTCP154' => 'PT154',
- 'CYRILLICASIAN' => 'PT154',
- 'EBCDICCPBE' => 'CP500',
- 'EBCDICCPCA' => 'CP037',
- 'EBCDICCPCH' => 'CP500',
- 'EBCDICCPHE' => 'CP424',
- 'EBCDICCPNL' => 'CP037',
- 'EBCDICCPUS' => 'CP037',
- 'EBCDICCPWT' => 'CP037',
- 'HKSCS' => 'BIG5HKSCS',
- 'HPROMAN8' => 'ROMAN8',
- 'IBM037' => 'CP037',
- 'IBM039' => 'CP037',
- 'IBM424' => 'CP424',
- 'IBM437' => 'CP437',
- 'IBM500' => 'CP500',
- 'IBM775' => 'CP775',
- 'IBM860' => 'CP860',
- 'IBM861' => 'CP861',
- 'IBM862' => 'CP862',
- 'IBM863' => 'CP863',
- 'IBM864' => 'CP864',
- 'IBM865' => 'CP865',
- 'IBM869' => 'CP869',
- 'IBM1026' => 'CP1026',
- 'IBM1140' => 'CP1140',
- 'ISO2022JP2' => 'ISO2022JP2',
- 'ISO8859112001' => 'ISO885911',
- 'ISO885911' => 'ISO885911',
- 'ISOIR166' => 'TIS620',
- 'JOHAB' => 'CP1361',
- 'MACCYRILLIC' => 'MACCYRILLIC',
- 'MS1361' => 'CP1361',
- 'MS949' => 'CP949',
- 'PTCP154' => 'PT154',
- 'R8' => 'ROMAN8',
- 'ROMAN8' => 'ROMAN8',
- 'THAI' => 'ISO885911',
- 'TIS6200' => 'TIS620',
- 'TIS62025290' => 'TIS620',
- 'TIS62025291' => 'TIS620',
- 'TIS620' => 'TIS620',
- 'UHC' => 'CP949',
- 'WINDOWS1250' => 'CP1250',
- 'WINDOWS1253' => 'CP1253',
- 'WINDOWS1256' => 'CP1256',
- 'WINDOWS1257' => 'CP1257',
- 'WINDOWS1258' => 'CP1258',
- '037' => 'CP037',
- '424' => 'CP424',
- '437' => 'CP437',
- '500' => 'CP500',
- '775' => 'CP775',
- '860' => 'CP860',
- '861' => 'CP861',
- '862' => 'CP862',
- '863' => 'CP863',
- '864' => 'CP864',
- '865' => 'CP865',
- '869' => 'CP869',
- '949' => 'CP949',
- '1026' => 'CP1026',
- '1140' => 'CP1140',
- '1250' => 'CP1250',
- '1253' => 'CP1253',
- '1256' => 'CP1256',
- '1257' => 'CP1257',
- '1258' => 'CP1258',
- ];
-
- /**
- * @var string[] cached lookups for quicker retrieval
- */
- protected $mappedMbCharsets = [
- 'UTF8' => 'UTF-8',
- 'USASCII' => 'US-ASCII',
- 'ISO88591' => 'ISO-8859-1',
- ];
-
- /**
- * @var string[] An array of encodings supported by the mb_* extension, as
- * returned by mb_list_encodings(), with the key set to the charset's
- * name afte
- */
- private static $mbListedEncodings;
-
- /**
- * Initializes the static mb_* encoding array.
- */
- public function __construct()
- {
- if (self::$mbListedEncodings === null) {
- $cs = \mb_list_encodings();
- $keys = $this->getNormalizedCharset($cs);
- self::$mbListedEncodings = \array_combine($keys, $cs);
- }
- }
-
- /**
- * The passed charset is uppercased, and stripped of non-alphanumeric
- * characters before being returned.
- *
- * @param string|string[] $charset
- * @return string|string[]
- */
- private function getNormalizedCharset($charset)
- {
- $upper = null;
- if (\is_array($charset)) {
- $upper = \array_map('strtoupper', $charset);
- } else {
- $upper = \strtoupper($charset);
- }
- return \preg_replace('/[^A-Z0-9]+/', '', $upper);
- }
-
- private function iconv(string $fromCharset, string $toCharset, string $str) : string
- {
- $ret = @\iconv($fromCharset, $toCharset . '//TRANSLIT//IGNORE', $str);
- if ($ret === false) {
- throw new UnsupportedCharsetException("Unable to convert from charsets: $fromCharset to $toCharset");
- }
- return $ret;
- }
-
- private function iconvStrlen(string $str, string $charset) : int
- {
- $ret = @\iconv_strlen($str, $charset . '//TRANSLIT//IGNORE');
- if ($ret === false) {
- throw new UnsupportedCharsetException("Charset $charset is not supported");
- }
- return $ret;
- }
-
- private function iconvSubstr(string $str, string $charset, int $start, ?int $length = null) : string
- {
- $ret = @\iconv_substr($str, $start, $length, $charset . '//TRANSLIT//IGNORE');
- if ($ret === false) {
- $strLength = $this->iconvStrlen($str, $charset);
- if ($start > $strLength) {
- // returns empty to keep in line with mb_substr functionality
- return '';
- }
- throw new UnsupportedCharsetException("Charset $charset is not supported");
- }
- return $ret;
- }
-
- /**
- * Converts the passed string's charset from the passed $fromCharset to the
- * passed $toCharset
- *
- * The function attempts to use mb_convert_encoding if possible, and falls
- * back to iconv if not. If the source or destination character sets aren't
- * supported, a blank string is returned.
- *
- * @throws UnsupportedCharsetException if iconv fails
- */
- public function convert(string $str, string $fromCharset, string $toCharset) : string
- {
- // there may be some mb-supported encodings not supported by iconv (on my libiconv for instance
- // HZ isn't supported), and so it may happen that failing an mb_convert_encoding, an iconv
- // may also fail even though both support an encoding separately.
- // For cases like that, a two-way encoding is done with UTF-8 as an intermediary.
-
- $from = $this->getMbCharset($fromCharset);
- $to = $this->getMbCharset($toCharset);
-
- if ($str !== '') {
- if ($from !== false && $to === false) {
- $str = \mb_convert_encoding($str, 'UTF-8', $from);
- return $this->iconv('UTF-8', $this->getIconvAlias($toCharset), $str);
- } elseif ($from === false && $to !== false) {
- $str = $this->iconv($this->getIconvAlias($fromCharset), 'UTF-8', $str);
- return \mb_convert_encoding($str, $to, 'UTF-8');
- } elseif ($from !== false && $to !== false) {
- return \mb_convert_encoding($str, $to, $from);
- }
- return $this->iconv(
- $this->getIconvAlias($fromCharset),
- $this->getIconvAlias($toCharset),
- $str
- );
- }
- return $str;
- }
-
- /**
- * Returns true if the passed string is valid in the $charset encoding.
- *
- * Either uses mb_check_encoding, or iconv if it's not a supported mb
- * encoding.
- */
- public function checkEncoding(string $str, string $charset) : bool
- {
- $mb = $this->getMbCharset($charset);
- if ($mb !== false) {
- return \mb_check_encoding($str, $mb);
- }
- $ic = $this->getIconvAlias($charset);
- return (@\iconv($ic, $ic . '//TRANSLIT//IGNORE', $str) !== false);
- }
-
- /**
- * Uses either mb_strlen or iconv_strlen to return the number of characters
- * in the passed $str for the given $charset
- *
- * @throws UnsupportedCharsetException if iconv fails
- */
- public function getLength(string $str, string $charset) : int
- {
- $mb = $this->getMbCharset($charset);
- if ($mb !== false) {
- return \mb_strlen($str, $mb);
- }
- return $this->iconvStrlen($str, $this->getIconvAlias($charset));
- }
-
- /**
- * Uses either mb_substr or iconv_substr to create and return a substring of
- * the passed $str.
- *
- * If the offset provided in $start is greater than the length of the
- * string, an empty string is returned.
- *
- * @throws UnsupportedCharsetException if iconv fails
- */
- public function getSubstr(string $str, string $charset, int $start, ?int $length = null) : string
- {
- $mb = $this->getMbCharset($charset);
- if ($mb !== false) {
- return \mb_substr($str, $start, $length, $mb);
- }
- $ic = $this->getIconvAlias($charset);
- if ($ic === 'CP1258') {
- // iconv_substr fails with CP1258 for some reason, and returns only
- // a subset of characters (e.g. the first 5, instead of $length)
- $str = $this->convert($str, $ic, 'UTF-8');
- return $this->convert($this->getSubstr($str, 'UTF-8', $start, $length), 'UTF-8', $ic);
- }
- return $this->iconvSubstr($str, $ic, $start, $length);
- }
-
- /**
- * Looks up a charset from mb_list_encodings and identified aliases,
- * checking if the lookup has been cached already first.
- *
- * If the encoding is not listed, the method will return false.
- *
- * On success, the method will return the charset name as accepted by mb_*.
- *
- * @return string|bool
- */
- private function getMbCharset(string $cs)
- {
- $normalized = $this->getNormalizedCharset($cs);
- if (\array_key_exists($normalized, self::$mbListedEncodings)) {
- return self::$mbListedEncodings[$normalized];
- } elseif (\array_key_exists($normalized, self::$mbAliases)) {
- return self::$mbAliases[$normalized];
- }
- return false;
- }
-
- /**
- * Looks up the passed charset in self::$iconvAliases, returning the mapped
- * charset if applicable. Otherwise returns charset.
- *
- * @return string the mapped charset (if mapped) or $cs otherwise
- */
- private function getIconvAlias(string $cs) : string
- {
- $normalized = $this->getNormalizedCharset($cs);
- if (\array_key_exists($normalized, self::$iconvAliases)) {
- return static::$iconvAliases[$normalized];
- }
- return $cs;
- }
-}
diff --git a/plugins/vendor/zbateson/mb-wrapper/src/UnsupportedCharsetException.php b/plugins/vendor/zbateson/mb-wrapper/src/UnsupportedCharsetException.php
deleted file mode 100644
index 6eb6e32b..00000000
--- a/plugins/vendor/zbateson/mb-wrapper/src/UnsupportedCharsetException.php
+++ /dev/null
@@ -1,19 +0,0 @@
-setFinder(PhpCsFixer\Finder::create()
- ->exclude('vendor')
- ->in(__DIR__.'\src')
- ->in(__DIR__.'\tests')
- );
diff --git a/plugins/vendor/zbateson/stream-decorators/LICENSE b/plugins/vendor/zbateson/stream-decorators/LICENSE
deleted file mode 100644
index 2ee4a46a..00000000
--- a/plugins/vendor/zbateson/stream-decorators/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-BSD 2-Clause License
-
-Copyright (c) 2017, Zaahid Bateson
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/plugins/vendor/zbateson/stream-decorators/PhpCsFixer.php b/plugins/vendor/zbateson/stream-decorators/PhpCsFixer.php
deleted file mode 100644
index 039328e3..00000000
--- a/plugins/vendor/zbateson/stream-decorators/PhpCsFixer.php
+++ /dev/null
@@ -1,5 +0,0 @@
-=8.0",
- "guzzlehttp/psr7": "^2.5",
- "zbateson/mb-wrapper": "^2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.6|^10.0",
- "friendsofphp/php-cs-fixer": "*",
- "phpstan/phpstan": "*"
- },
- "autoload": {
- "psr-4": {
- "ZBateson\\StreamDecorators\\": "src/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "ZBateson\\StreamDecorators\\": "tests/StreamDecorators"
- }
- }
-}
diff --git a/plugins/vendor/zbateson/stream-decorators/phpstan.neon b/plugins/vendor/zbateson/stream-decorators/phpstan.neon
deleted file mode 100644
index e33a026d..00000000
--- a/plugins/vendor/zbateson/stream-decorators/phpstan.neon
+++ /dev/null
@@ -1,8 +0,0 @@
-parameters:
- level: 6
- errorFormat: raw
- editorUrl: '%%file%% %%line%% %%column%%: %%error%%'
- paths:
- - src
- - tests
-
diff --git a/plugins/vendor/zbateson/stream-decorators/src/Base64Stream.php b/plugins/vendor/zbateson/stream-decorators/src/Base64Stream.php
deleted file mode 100644
index 7b79c558..00000000
--- a/plugins/vendor/zbateson/stream-decorators/src/Base64Stream.php
+++ /dev/null
@@ -1,222 +0,0 @@
-stream = $stream;
- $this->buffer = new BufferStream();
- }
-
- /**
- * Returns the current position of the file read/write pointer
- */
- public function tell() : int
- {
- return $this->position;
- }
-
- /**
- * Returns null, getSize isn't supported
- *
- * @return null
- */
- public function getSize() : ?int
- {
- return null;
- }
-
- /**
- * Not implemented (yet).
- *
- * Seek position can be calculated.
- *
- * @param int $offset
- * @param int $whence
- * @throws RuntimeException
- */
- public function seek($offset, $whence = SEEK_SET) : void
- {
- throw new RuntimeException('Cannot seek a Base64Stream');
- }
-
- /**
- * Overridden to return false
- */
- public function isSeekable() : bool
- {
- return false;
- }
-
- /**
- * Returns true if the end of stream has been reached.
- */
- public function eof() : bool
- {
- return ($this->buffer->eof() && $this->stream->eof());
- }
-
- /**
- * Fills the internal byte buffer after reading and decoding data from the
- * underlying stream.
- *
- * Note that it's expected the underlying stream will only contain valid
- * base64 characters (normally the stream should be wrapped in a
- * PregReplaceFilterStream to filter out non-base64 characters).
- */
- private function fillBuffer(int $length) : void
- {
- $fill = 8192;
- while ($this->buffer->getSize() < $length) {
- $read = $this->stream->read($fill);
- if ($read === '') {
- break;
- }
- $this->buffer->write(\base64_decode($read));
- }
- }
-
- /**
- * Attempts to read $length bytes after decoding them, and returns them.
- *
- * Note that reading and writing to the same stream may result in wrongly
- * encoded data and is not supported.
- *
- * @param int $length
- */
- public function read($length) : string
- {
- // let Guzzle decide what to do.
- if ($length <= 0 || $this->eof()) {
- return $this->stream->read($length);
- }
- $this->fillBuffer($length);
- $ret = $this->buffer->read($length);
- $this->position += \strlen($ret);
- return $ret;
- }
-
- /**
- * Writes the passed string to the underlying stream after encoding it to
- * base64.
- *
- * Base64Stream::close or detach must be called. Failing to do so may
- * result in 1-2 bytes missing from the end of the stream if there's a
- * remainder. Note that the default Stream destructor calls close as well.
- *
- * Note that reading and writing to the same stream may result in wrongly
- * encoded data and is not supported.
- *
- * @param string $string
- * @return int the number of bytes written
- */
- public function write($string) : int
- {
- $bytes = $this->remainder . $string;
- $len = \strlen($bytes);
- if (($len % 3) !== 0) {
- $this->remainder = \substr($bytes, -($len % 3));
- $bytes = \substr($bytes, 0, $len - ($len % 3));
- } else {
- $this->remainder = '';
- }
- $this->stream->write(\base64_encode($bytes));
- $written = \strlen($string);
- $this->position += $len;
- return $written;
- }
-
- /**
- * Writes out any remaining bytes at the end of the stream and closes.
- */
- private function beforeClose() : void
- {
- if ($this->isWritable() && $this->remainder !== '') {
- $this->stream->write(\base64_encode($this->remainder));
- $this->remainder = '';
- }
- }
-
- /**
- * @inheritDoc
- */
- public function close() : void
- {
- $this->beforeClose();
- $this->stream->close();
- }
-
- /**
- * @inheritDoc
- */
- public function detach()
- {
- $this->beforeClose();
- $this->stream->detach();
-
- return null;
- }
-}
diff --git a/plugins/vendor/zbateson/stream-decorators/src/CharsetStream.php b/plugins/vendor/zbateson/stream-decorators/src/CharsetStream.php
deleted file mode 100644
index a5170406..00000000
--- a/plugins/vendor/zbateson/stream-decorators/src/CharsetStream.php
+++ /dev/null
@@ -1,179 +0,0 @@
-stream = $stream;
- $this->converter = new MbWrapper();
- $this->streamCharset = $streamCharset;
- $this->stringCharset = $stringCharset;
- }
-
- /**
- * Overridden to return the position in the target encoding.
- */
- public function tell() : int
- {
- return $this->position;
- }
-
- /**
- * Returns null, getSize isn't supported
- *
- * @return null
- */
- public function getSize() : ?int
- {
- return null;
- }
-
- /**
- * Not supported.
- *
- * @param int $offset
- * @param int $whence
- * @throws RuntimeException
- */
- public function seek($offset, $whence = SEEK_SET) : void
- {
- throw new RuntimeException('Cannot seek a CharsetStream');
- }
-
- /**
- * Overridden to return false
- */
- public function isSeekable() : bool
- {
- return false;
- }
-
- /**
- * Reads a minimum of $length characters from the underlying stream in its
- * encoding into $this->buffer.
- *
- * Aligning to 4 bytes seemed to solve an issue reading from UTF-16LE
- * streams and pass testReadUtf16LeToEof, although the buffered string
- * should've solved that on its own.
- */
- private function readRawCharsIntoBuffer(int $length) : void
- {
- $n = (int) \ceil(($length + 32) / 4.0) * 4;
- while ($this->bufferLength < $n) {
- $raw = $this->stream->read($n + 512);
- if ($raw === '') {
- return;
- }
- $this->buffer .= $raw;
- $this->bufferLength = $this->converter->getLength($this->buffer, $this->streamCharset);
- }
- }
-
- /**
- * Returns true if the end of stream has been reached.
- */
- public function eof() : bool
- {
- return ($this->bufferLength === 0 && $this->stream->eof());
- }
-
- /**
- * Reads up to $length decoded chars from the underlying stream and returns
- * them after converting to the target string charset.
- *
- * @param int $length
- */
- public function read($length) : string
- {
- // let Guzzle decide what to do.
- if ($length <= 0 || $this->eof()) {
- return $this->stream->read($length);
- }
- $this->readRawCharsIntoBuffer($length);
- $numChars = \min([$this->bufferLength, $length]);
- $chars = $this->converter->getSubstr($this->buffer, $this->streamCharset, 0, $numChars);
-
- $this->position += $numChars;
- $this->buffer = $this->converter->getSubstr($this->buffer, $this->streamCharset, $numChars);
- $this->bufferLength -= $numChars;
-
- return $this->converter->convert($chars, $this->streamCharset, $this->stringCharset);
- }
-
- /**
- * Writes the passed string to the underlying stream after converting it to
- * the target stream encoding.
- *
- * @param string $string
- * @return int the number of bytes written
- */
- public function write($string) : int
- {
- $converted = $this->converter->convert($string, $this->stringCharset, $this->streamCharset);
- $written = $this->converter->getLength($converted, $this->streamCharset);
- $this->position += $written;
- return $this->stream->write($converted);
- }
-}
diff --git a/plugins/vendor/zbateson/stream-decorators/src/ChunkSplitStream.php b/plugins/vendor/zbateson/stream-decorators/src/ChunkSplitStream.php
deleted file mode 100644
index f90bed4d..00000000
--- a/plugins/vendor/zbateson/stream-decorators/src/ChunkSplitStream.php
+++ /dev/null
@@ -1,122 +0,0 @@
-stream = $stream;
- $this->position = 0;
- $this->lineLength = $lineLength;
- $this->lineEnding = $lineEnding;
- $this->lineEndingLength = \strlen($this->lineEnding);
- }
-
- /**
- * Inserts the line ending character after each line length characters in
- * the passed string, making sure previously written bytes are taken into
- * account.
- */
- private function getChunkedString(string $string) : string
- {
- $firstLine = '';
- if ($this->tell() !== 0) {
- $next = $this->lineLength - ($this->position % ($this->lineLength + $this->lineEndingLength));
- if (\strlen($string) > $next) {
- $firstLine = \substr($string, 0, $next) . $this->lineEnding;
- $string = \substr($string, $next);
- }
- }
- // chunk_split always ends with the passed line ending
- $chunked = $firstLine . \chunk_split($string, $this->lineLength, $this->lineEnding);
- return \substr($chunked, 0, \strlen($chunked) - $this->lineEndingLength);
- }
-
- /**
- * Writes the passed string to the underlying stream, ensuring line endings
- * are inserted every "line length" characters in the string.
- *
- * @param string $string
- * @return int number of bytes written
- */
- public function write($string) : int
- {
- $chunked = $this->getChunkedString($string);
- $this->position += \strlen($chunked);
- return $this->stream->write($chunked);
- }
-
- /**
- * Inserts a final line ending character.
- */
- private function beforeClose() : void
- {
- if ($this->position !== 0) {
- $this->stream->write($this->lineEnding);
- }
- }
-
- /**
- * @inheritDoc
- */
- public function close() : void
- {
- $this->beforeClose();
- $this->stream->close();
- }
-
- /**
- * @inheritDoc
- */
- public function detach()
- {
- $this->beforeClose();
- $this->stream->detach();
-
- return null;
- }
-}
diff --git a/plugins/vendor/zbateson/stream-decorators/src/DecoratedCachingStream.php b/plugins/vendor/zbateson/stream-decorators/src/DecoratedCachingStream.php
deleted file mode 100644
index a2b20b1b..00000000
--- a/plugins/vendor/zbateson/stream-decorators/src/DecoratedCachingStream.php
+++ /dev/null
@@ -1,175 +0,0 @@
-readStream = $stream;
- $bufferStream = new TellZeroStream(new BufferStream());
- $this->stream = new CachingStream($bufferStream);
- $this->writeStream = $decorator(new NonClosingStream($bufferStream));
- $this->minBytesCache = $minBytesCache;
- }
-
- public function getSize(): ?int
- {
- // the decorated stream could be a different size
- $this->cacheEntireStream();
- return $this->stream->getSize();
- }
-
- public function rewind(): void
- {
- $this->seek(0);
- }
-
- public function seek($offset, $whence = SEEK_SET): void
- {
- if ($whence === SEEK_SET) {
- $byte = $offset;
- } elseif ($whence === SEEK_CUR) {
- $byte = $offset + $this->tell();
- } elseif ($whence === SEEK_END) {
- $size = $this->getSize();
- $byte = $size + $offset;
- } else {
- throw new \InvalidArgumentException('Invalid whence');
- }
-
- $diff = $byte - $this->stream->getSize();
-
- if ($diff > 0) {
- // Read the remoteStream until we have read in at least the amount
- // of bytes requested, or we reach the end of the file.
- while ($diff > 0 && !$this->readStream->eof()) {
- $this->read($diff);
- $diff = $byte - $this->stream->getSize();
- }
- } else {
- // We can just do a normal seek since we've already seen this byte.
- $this->stream->seek($byte);
- }
- }
-
- private function cacheBytes(int $size) : void {
- if (!$this->readStream->eof()) {
- $data = $this->readStream->read(max($this->minBytesCache, $size));
- $this->writeStream->write($data);
- if ($this->readStream->eof()) {
- // needed because Base64Stream writes bytes on closing
- $this->writeStream->close();
- $this->writeStream = null;
- }
- }
- }
-
- public function read($length): string
- {
- $data = $this->stream->read($length);
- $remaining = $length - strlen($data);
- if ($remaining > 0) {
- $this->cacheBytes($remaining);
- $data .= $this->stream->read($remaining);
- }
- return $data;
- }
-
- public function isWritable(): bool
- {
- return false;
- }
-
- public function write($string): int
- {
- throw new \RuntimeException('Cannot write to a DecoratedCachingStream');
- }
-
- public function eof(): bool
- {
- return $this->stream->eof() && $this->readStream->eof();
- }
-
- /**
- * Close both the remote stream and buffer stream
- */
- public function close(): void
- {
- $this->readStream->close();
- $this->stream->close();
- if ($this->writeStream !== null) {
- $this->writeStream->close();
- }
- }
-
- private function cacheEntireStream(): int
- {
- // as-is from CachingStream
- $target = new FnStream(['write' => 'strlen']);
- Utils::copyToStream($this, $target);
-
- return $this->tell();
- }
-}
\ No newline at end of file
diff --git a/plugins/vendor/zbateson/stream-decorators/src/NonClosingStream.php b/plugins/vendor/zbateson/stream-decorators/src/NonClosingStream.php
deleted file mode 100644
index 77bf6ff2..00000000
--- a/plugins/vendor/zbateson/stream-decorators/src/NonClosingStream.php
+++ /dev/null
@@ -1,67 +0,0 @@
-close();
- * rewind($f); // error, $f is a closed resource
- * ```
- *
- * Instead, this would work:
- *
- * ```
- * $stream = Psr7\Utils::streamFor(fopen('php://temp', 'r+'));
- * $test = new NonClosingStream($stream);
- * // work
- * $test->close();
- * $stream->rewind(); // works
- * ```
- *
- * @author Zaahid Bateson
- */
-class NonClosingStream implements StreamInterface
-{
- use StreamDecoratorTrait;
-
- /**
- * @var ?StreamInterface $stream
- * @phpstan-ignore-next-line
- */
- private ?StreamInterface $stream;
-
- /**
- * @inheritDoc
- */
- public function close() : void
- {
- $this->stream = null; // @phpstan-ignore-line
- }
-
- /**
- * Overridden to detach the underlying stream without closing it.
- *
- * @inheritDoc
- */
- public function detach()
- {
- $this->stream = null; // @phpstan-ignore-line
- return null;
- }
-}
diff --git a/plugins/vendor/zbateson/stream-decorators/src/PregReplaceFilterStream.php b/plugins/vendor/zbateson/stream-decorators/src/PregReplaceFilterStream.php
deleted file mode 100644
index 74fd5d4a..00000000
--- a/plugins/vendor/zbateson/stream-decorators/src/PregReplaceFilterStream.php
+++ /dev/null
@@ -1,110 +0,0 @@
-stream = $stream;
- $this->pattern = $pattern;
- $this->replacement = $replacement;
- $this->buffer = new BufferStream();
- }
-
- /**
- * Returns true if the end of stream has been reached.
- */
- public function eof() : bool
- {
- return ($this->buffer->eof() && $this->stream->eof());
- }
-
- /**
- * Not supported by PregReplaceFilterStream
- *
- * @param int $offset
- * @param int $whence
- * @throws RuntimeException
- */
- public function seek($offset, $whence = SEEK_SET) : void
- {
- throw new RuntimeException('Cannot seek a PregReplaceFilterStream');
- }
-
- /**
- * Overridden to return false
- */
- public function isSeekable() : bool
- {
- return false;
- }
-
- /**
- * Fills the BufferStream with at least 8192 characters of input for future
- * read operations.
- */
- private function fillBuffer(int $length) : void
- {
- $fill = (int) \max([$length, 8192]);
- while ($this->buffer->getSize() < $length) {
- $read = $this->stream->read($fill);
- if ($read === '') {
- break;
- }
- $this->buffer->write(\preg_replace($this->pattern, $this->replacement, $read));
- }
- }
-
- /**
- * Reads from the underlying stream, filters it and returns up to $length
- * bytes.
- *
- * @param int $length
- */
- public function read($length) : string
- {
- $this->fillBuffer($length);
- return $this->buffer->read($length);
- }
-}
diff --git a/plugins/vendor/zbateson/stream-decorators/src/QuotedPrintableStream.php b/plugins/vendor/zbateson/stream-decorators/src/QuotedPrintableStream.php
deleted file mode 100644
index 89fab31b..00000000
--- a/plugins/vendor/zbateson/stream-decorators/src/QuotedPrintableStream.php
+++ /dev/null
@@ -1,222 +0,0 @@
-position;
- }
-
- /**
- * Returns null, getSize isn't supported
- *
- * @return null
- */
- public function getSize() : ?int
- {
- return null;
- }
-
- /**
- * Not supported.
- *
- * @param int $offset
- * @param int $whence
- * @throws RuntimeException
- */
- public function seek($offset, $whence = SEEK_SET) : void
- {
- throw new RuntimeException('Cannot seek a QuotedPrintableStream');
- }
-
- /**
- * Overridden to return false
- */
- public function isSeekable() : bool
- {
- return false;
- }
-
- /**
- * Reads $length chars from the underlying stream, prepending the past $pre
- * to it first.
- *
- * If the characters read (including the prepended $pre) contain invalid
- * quoted-printable characters, the underlying stream is rewound by the
- * total number of characters ($length + strlen($pre)).
- *
- * The quoted-printable encoded characters are returned. If the characters
- * read are invalid, '3D' is returned indicating an '=' character.
- */
- private function readEncodedChars(int $length, string $pre = '') : string
- {
- $str = $pre . $this->stream->read($length);
- $len = \strlen($str);
- if ($len > 0 && !\preg_match('/^[0-9a-f]{2}$|^[\r\n]{1,2}.?$/is', $str) && $this->stream->isSeekable()) {
- $this->stream->seek(-$len, SEEK_CUR);
- return '3D'; // '=' character
- }
- return $str;
- }
-
- /**
- * Decodes the passed $block of text.
- *
- * If the last or before last character is an '=' char, indicating the
- * beginning of a quoted-printable encoded char, 1 or 2 additional bytes are
- * read from the underlying stream respectively.
- *
- * @return string The decoded string
- */
- private function decodeBlock(string $block) : string
- {
- if (\substr($block, -1) === '=') {
- $block .= $this->readEncodedChars(2);
- } elseif (\substr($block, -2, 1) === '=') {
- $first = \substr($block, -1);
- $block = \substr($block, 0, -1);
- $block .= $this->readEncodedChars(1, $first);
- }
- return \quoted_printable_decode($block);
- }
-
- /**
- * Reads up to $length characters, appends them to the passed $str string,
- * and returns the total number of characters read.
- *
- * -1 is returned if there are no more bytes to read.
- */
- private function readRawDecodeAndAppend(int $length, string &$str) : int
- {
- $block = $this->stream->read($length);
- if ($block === '') {
- return -1;
- }
- $decoded = $this->decodeBlock($block);
- $count = \strlen($decoded);
- $str .= $decoded;
- return $count;
- }
-
- /**
- * Reads up to $length decoded bytes from the underlying quoted-printable
- * encoded stream and returns them.
- *
- * @param int $length
- */
- public function read($length) : string
- {
- // let Guzzle decide what to do.
- if ($length <= 0 || $this->eof()) {
- return $this->stream->read($length);
- }
- $count = 0;
- $bytes = '';
- while ($count < $length) {
- $nRead = $this->readRawDecodeAndAppend($length - $count, $bytes);
- if ($nRead === -1) {
- break;
- }
- $this->position += $nRead;
- $count += $nRead;
- }
- return $bytes;
- }
-
- /**
- * Writes the passed string to the underlying stream after encoding it as
- * quoted-printable.
- *
- * Note that reading and writing to the same stream without rewinding is not
- * supported.
- *
- * @param string $string
- *
- * @return int the number of bytes written
- */
- public function write($string) : int
- {
- $encodedLine = \quoted_printable_encode($this->lastLine);
- $lineAndString = \rtrim(\quoted_printable_encode($this->lastLine . $string), "\r\n");
- $write = \substr($lineAndString, \strlen($encodedLine));
- $this->stream->write($write);
- $written = \strlen($string);
- $this->position += $written;
-
- $lpos = \strrpos($lineAndString, "\n");
- $lastLine = $lineAndString;
- if ($lpos !== false) {
- $lastLine = \substr($lineAndString, $lpos + 1);
- }
- $this->lastLine = \quoted_printable_decode($lastLine);
- return $written;
- }
-
- /**
- * Writes out a final CRLF if the current line isn't empty.
- */
- private function beforeClose() : void
- {
- if ($this->isWritable() && $this->lastLine !== '') {
- $this->stream->write("\r\n");
- $this->lastLine = '';
- }
- }
-
- /**
- * @inheritDoc
- */
- public function close() : void
- {
- $this->beforeClose();
- $this->stream->close();
- }
-
- /**
- * @inheritDoc
- */
- public function detach()
- {
- $this->beforeClose();
- $this->stream->detach();
-
- return null;
- }
-}
diff --git a/plugins/vendor/zbateson/stream-decorators/src/SeekingLimitStream.php b/plugins/vendor/zbateson/stream-decorators/src/SeekingLimitStream.php
deleted file mode 100644
index 5ee89a0f..00000000
--- a/plugins/vendor/zbateson/stream-decorators/src/SeekingLimitStream.php
+++ /dev/null
@@ -1,192 +0,0 @@
-stream = $stream;
- $this->setLimit($limit);
- $this->setOffset($offset);
- }
-
- /**
- * Returns the current relative read position of this stream subset.
- */
- public function tell() : int
- {
- return $this->position;
- }
-
- /**
- * Returns the size of the limited subset of data, or null if the wrapped
- * stream returns null for getSize.
- */
- public function getSize() : ?int
- {
- $size = $this->stream->getSize();
- if ($size === null) {
- // this shouldn't happen on a seekable stream I don't think...
- $pos = $this->stream->tell();
- $this->stream->seek(0, SEEK_END);
- $size = $this->stream->tell();
- $this->stream->seek($pos);
- }
- if ($this->limit === -1) {
- return $size - $this->offset;
- }
-
- return \min([$this->limit, $size - $this->offset]);
- }
-
- /**
- * Returns true if the current read position is at the end of the limited
- * stream
- */
- public function eof() : bool
- {
- $size = $this->limit;
- if ($size === -1) {
- $size = $this->getSize();
- }
- return ($this->position >= $size);
- }
-
- /**
- * Ensures the seek position specified is within the stream's bounds, and
- * sets the internal position pointer (doesn't actually seek).
- */
- private function doSeek(int $pos) : void
- {
- if ($this->limit !== -1) {
- $pos = \min([$pos, $this->limit]);
- }
- $this->position = \max([0, $pos]);
- }
-
- /**
- * Seeks to the passed position within the confines of the limited stream's
- * bounds.
- *
- * For SeekingLimitStream, no actual seek is performed on the underlying
- * wrapped stream. Instead, an internal pointer is set, and the stream is
- * 'seeked' on read operations
- *
- * @param int $offset
- * @param int $whence
- */
- public function seek($offset, $whence = SEEK_SET) : void
- {
- $pos = $offset;
- switch ($whence) {
- case SEEK_CUR:
- $pos = $this->position + $offset;
- break;
- case SEEK_END:
- $pos = $this->limit + $offset;
- break;
- default:
- break;
- }
- $this->doSeek($pos);
- }
-
- /**
- * Sets the offset to start reading from the wrapped stream.
- */
- public function setOffset(int $offset) : void
- {
- $this->offset = $offset;
- $this->position = 0;
- }
-
- /**
- * Sets the length of the stream to the passed $limit.
- */
- public function setLimit(int $limit) : void
- {
- $this->limit = $limit;
- }
-
- /**
- * Seeks to the current position and reads up to $length bytes, or less if
- * it would result in reading past $this->limit
- */
- public function seekAndRead(int $length) : string
- {
- $this->stream->seek($this->offset + $this->position);
- if ($this->limit !== -1) {
- $length = \min($length, $this->limit - $this->position);
- if ($length <= 0) {
- return '';
- }
- }
- return $this->stream->read($length);
- }
-
- /**
- * Reads from the underlying stream after seeking to the position within the
- * bounds set for this limited stream. After reading, the wrapped stream is
- * 'seeked' back to its position prior to the call to read().
- *
- * @param int $length
- */
- public function read($length) : string
- {
- $pos = $this->stream->tell();
- $ret = $this->seekAndRead($length);
- $this->position += \strlen($ret);
- $this->stream->seek($pos);
- if ($this->limit !== -1 && $this->position > $this->limit) {
- $ret = \substr($ret, 0, -($this->position - $this->limit));
- $this->position = $this->limit;
- }
- return $ret;
- }
-}
diff --git a/plugins/vendor/zbateson/stream-decorators/src/TellZeroStream.php b/plugins/vendor/zbateson/stream-decorators/src/TellZeroStream.php
deleted file mode 100644
index f64e25be..00000000
--- a/plugins/vendor/zbateson/stream-decorators/src/TellZeroStream.php
+++ /dev/null
@@ -1,31 +0,0 @@
-stream = $stream;
- $this->filename = $filename;
- $this->buffer = new BufferStream();
- }
-
- /**
- * Overridden to return the position in the target encoding.
- */
- public function tell() : int
- {
- return $this->position;
- }
-
- /**
- * Returns null, getSize isn't supported
- *
- * @return null
- */
- public function getSize() : ?int
- {
- return null;
- }
-
- /**
- * Not supported.
- *
- * @param int $offset
- * @param int $whence
- * @throws RuntimeException
- */
- public function seek($offset, $whence = SEEK_SET) : void
- {
- throw new RuntimeException('Cannot seek a UUStream');
- }
-
- /**
- * Overridden to return false
- */
- public function isSeekable() : bool
- {
- return false;
- }
-
- /**
- * Finds the next end-of-line character to ensure a line isn't broken up
- * while buffering.
- */
- private function readToEndOfLine(int $length) : string
- {
- $str = $this->stream->read($length);
- if ($str === '') {
- return $str;
- }
- while (\substr($str, -1) !== "\n") {
- $chr = $this->stream->read(1);
- if ($chr === '') {
- break;
- }
- $str .= $chr;
- }
- return $str;
- }
-
- /**
- * Removes invalid characters from a uuencoded string, and 'BEGIN' and 'END'
- * line headers and footers from the passed string before returning it.
- */
- private function filterAndDecode(string $str) : string
- {
- $ret = \str_replace("\r", '', $str);
- $ret = \preg_replace('/[^\x21-\xf5`\n]/', '`', $ret);
- if ($this->position === 0) {
- $matches = [];
- if (\preg_match('/^\s*begin\s+[^\s+]\s+([^\r\n]+)\s*$/im', $ret, $matches)) {
- $this->filename = $matches[1];
- }
- $ret = \preg_replace('/^\s*begin[^\r\n]+\s*$/im', '', $ret);
- } else {
- $ret = \preg_replace('/^\s*end\s*$/im', '', $ret);
- }
- return \convert_uudecode(\trim($ret));
- }
-
- /**
- * Buffers bytes into $this->buffer, removing uuencoding headers and footers
- * and decoding them.
- */
- private function fillBuffer(int $length) : void
- {
- // 5040 = 63 * 80, seems to be good balance for buffering in benchmarks
- // testing with a simple 'if ($length < x)' and calculating a better
- // size reduces speeds by up to 4x
- while ($this->buffer->getSize() < $length) {
- $read = $this->readToEndOfLine(5040);
- if ($read === '') {
- break;
- }
- $this->buffer->write($this->filterAndDecode($read));
- }
- }
-
- /**
- * Returns true if the end of stream has been reached.
- */
- public function eof() : bool
- {
- return ($this->buffer->eof() && $this->stream->eof());
- }
-
- /**
- * Attempts to read $length bytes after decoding them, and returns them.
- *
- * @param int $length
- */
- public function read($length) : string
- {
- // let Guzzle decide what to do.
- if ($length <= 0 || $this->eof()) {
- return $this->stream->read($length);
- }
- $this->fillBuffer($length);
- $read = $this->buffer->read($length);
- $this->position += \strlen($read);
- return $read;
- }
-
- /**
- * Writes the 'begin' UU header line.
- */
- private function writeUUHeader() : void
- {
- $filename = (empty($this->filename)) ? 'null' : $this->filename;
- $this->stream->write("begin 666 $filename");
- }
-
- /**
- * Writes the '`' and 'end' UU footer lines.
- */
- private function writeUUFooter() : void
- {
- $this->stream->write("\r\n`\r\nend\r\n");
- }
-
- /**
- * Writes the passed bytes to the underlying stream after encoding them.
- */
- private function writeEncoded(string $bytes) : void
- {
- $encoded = \preg_replace('/\r\n|\r|\n/', "\r\n", \rtrim(\convert_uuencode($bytes)));
- // removes ending '`' line
- $this->stream->write("\r\n" . \rtrim(\substr($encoded, 0, -1)));
- }
-
- /**
- * Prepends any existing remainder to the passed string, then checks if the
- * string fits into a uuencoded line, and removes and keeps any remainder
- * from the string to write. Full lines ready for writing are returned.
- */
- private function handleRemainder(string $string) : string
- {
- $write = $this->remainder . $string;
- $nRem = \strlen($write) % 45;
- $this->remainder = '';
- if ($nRem !== 0) {
- $this->remainder = \substr($write, -$nRem);
- $write = \substr($write, 0, -$nRem);
- }
- return $write;
- }
-
- /**
- * Writes the passed string to the underlying stream after encoding it.
- *
- * Note that reading and writing to the same stream without rewinding is not
- * supported.
- *
- * Also note that some bytes may not be written until close or detach are
- * called. This happens if written data doesn't align to a complete
- * uuencoded 'line' of 45 bytes. In addition, the UU footer is only written
- * when closing or detaching as well.
- *
- * @param string $string
- * @return int the number of bytes written
- */
- public function write($string) : int
- {
- $this->isWriting = true;
- if ($this->position === 0) {
- $this->writeUUHeader();
- }
- $write = $this->handleRemainder($string);
- if ($write !== '') {
- $this->writeEncoded($write);
- }
- $written = \strlen($string);
- $this->position += $written;
- return $written;
- }
-
- /**
- * Returns the filename set in the UUEncoded header (or null)
- */
- public function getFilename() : string
- {
- return $this->filename;
- }
-
- /**
- * Sets the UUEncoded header file name written in the 'begin' header line.
- */
- public function setFilename(string $filename) : void
- {
- $this->filename = $filename;
- }
-
- /**
- * Writes out any remaining bytes and the UU footer.
- */
- private function beforeClose() : void
- {
- if (!$this->isWriting) {
- return;
- }
- if ($this->remainder !== '') {
- $this->writeEncoded($this->remainder);
- }
- $this->remainder = '';
- $this->isWriting = false;
- $this->writeUUFooter();
- }
-
- /**
- * @inheritDoc
- */
- public function close() : void
- {
- $this->beforeClose();
- $this->stream->close();
- }
-
- /**
- * @inheritDoc
- */
- public function detach()
- {
- $this->beforeClose();
- $this->stream->detach();
-
- return null;
- }
-}