Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/lib/internal/Customweb/Core/Charset/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/old/lib/internal/Customweb/Core/Charset/UTF8.php
<?php
/**
  * You are allowed to use this API in your web application.
 *
 * Copyright (C) 2018 by customweb GmbH
 *
 * This program is licenced under the customweb software licence. With the
 * purchase or the installation of the software in your application you
 * accept the licence agreement. The allowed usage is outlined in the
 * customweb software licence which can be found under
 * http://www.sellxed.com/en/software-license-agreement
 *
 * Any modification or distribution is strictly forbidden. The license
 * grants you the installation in one application. For multiuse you will need
 * to purchase further licences at http://www.sellxed.com/shop.
 *
 * See the customweb software licence agreement for more details.
 *
 */


class Customweb_Core_Charset_UTF8 extends Customweb_Core_Charset {

	private static $pcreUtf8Support = null;

	private static $utf8CharUpperCaseMap = null;

	private static $utf8CharLowerCaseMap = null;

	private static $whiteSpaceChars = null;

	private static $aliases = array(
	);


	private static $win1252ToUtf8 = array(
		128 => "\xe2\x82\xac",

		130 => "\xe2\x80\x9a",
		131 => "\xc6\x92",
		132 => "\xe2\x80\x9e",
		133 => "\xe2\x80\xa6",
		134 => "\xe2\x80\xa0",
		135 => "\xe2\x80\xa1",
		136 => "\xcb\x86",
		137 => "\xe2\x80\xb0",
		138 => "\xc5\xa0",
		139 => "\xe2\x80\xb9",
		140 => "\xc5\x92",

		142 => "\xc5\xbd",

		145 => "\xe2\x80\x98",
		146 => "\xe2\x80\x99",
		147 => "\xe2\x80\x9c",
		148 => "\xe2\x80\x9d",
		149 => "\xe2\x80\xa2",
		150 => "\xe2\x80\x93",
		151 => "\xe2\x80\x94",
		152 => "\xcb\x9c",
		153 => "\xe2\x84\xa2",
		154 => "\xc5\xa1",
		155 => "\xe2\x80\xba",
		156 => "\xc5\x93",

		158 => "\xc5\xbe",
		159 => "\xc5\xb8"
	);


	/**
	 *
	 * This function leaves UTF8 characters alone, while converting almost all non-UTF8 to UTF8.
	 *
	 * It assumes that the encoding of the original string is either Windows-1252 or ISO 8859-1.
	 *
	 * It may fail to convert characters to UTF-8 if they fall into one of these scenarios:
	 *
	 * 1) when any of these characters: ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß
	 * are followed by any of these: ("group B")
	 * ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶•¸¹º»¼½¾¿
	 * For example: %ABREPRESENT%C9%BB. «REPRESENTÉ»
	 * The "«" (%AB) character will be converted, but the "É" followed by "»" (%C9%BB)
	 * is also a valid unicode character, and will be left unchanged.
	 *
	 * 2) when any of these: àáâãäåæçèéêëìíîï are followed by TWO chars from group B,
	 * 3) when any of these: ðñòó are followed by THREE chars from group B.
	 *
	 * @name toUTF8
	 * @param string $text
	 *        	Any string.
	 * @return string The same string, UTF8 encoded
	 * @author Sebastián Grignoli (License Revised BSD)
	 *
	*/
	public static function fixCharset($text){

		if (is_array($text)) {
			foreach ($text as $k => $v) {
				$text[$k] = self::fixCharset($v);
			}
			return $text;
		} elseif (is_string($text)) {

			$max = strlen($text);
			$buf = "";
			for($i = 0; $i < $max; $i ++) {
				$c1 = $text[$i];
				if ($c1 >= "\xc0") { // Should be converted to UTF8, if it's not UTF8 already
					$c2 = $i + 1 >= $max ? "\x00" : $text[$i + 1];
					$c3 = $i + 2 >= $max ? "\x00" : $text[$i + 2];
					$c4 = $i + 3 >= $max ? "\x00" : $text[$i + 3];
					if ($c1 >= "\xc0" & $c1 <= "\xdf") { // looks like 2 bytes UTF8
						if ($c2 >= "\x80" && $c2 <= "\xbf") { // yeah, almost sure it's UTF8 already
							$buf .= $c1 . $c2;
							$i ++;
						} else { // not valid UTF8. Convert it.
							$cc1 = (chr(ord($c1) / 64) | "\xc0");
							$cc2 = ($c1 & "\x3f") | "\x80";
							$buf .= $cc1 . $cc2;
						}
					} elseif ($c1 >= "\xe0" & $c1 <= "\xef") { // looks like 3 bytes UTF8
						if ($c2 >= "\x80" && $c2 <= "\xbf" && $c3 >= "\x80" && $c3 <= "\xbf") { // yeah, almost sure it's UTF8 already
							$buf .= $c1 . $c2 . $c3;
							$i = $i + 2;
						} else { // not valid UTF8. Convert it.
							$cc1 = (chr(ord($c1) / 64) | "\xc0");
							$cc2 = ($c1 & "\x3f") | "\x80";
							$buf .= $cc1 . $cc2;
						}
					} elseif ($c1 >= "\xf0" & $c1 <= "\xf7") { // looks like 4 bytes UTF8
						if ($c2 >= "\x80" && $c2 <= "\xbf" && $c3 >= "\x80" && $c3 <= "\xbf" && $c4 >= "\x80" && $c4 <= "\xbf") { // yeah, almost sure it's UTF8 already
							$buf .= $c1 . $c2 . $c3;
							$i = $i + 2;
						} else { // not valid UTF8. Convert it.
							$cc1 = (chr(ord($c1) / 64) | "\xc0");
							$cc2 = ($c1 & "\x3f") | "\x80";
							$buf .= $cc1 . $cc2;
						}
					} else { // doesn't look like UTF8, but should be converted
						$cc1 = (chr(ord($c1) / 64) | "\xc0");
						$cc2 = (($c1 & "\x3f") | "\x80");
						$buf .= $cc1 . $cc2;
					}
				} elseif (($c1 & "\xc0") == "\x80") { // needs conversion
					if (isset(self::$win1252ToUtf8[ord($c1)])) { // found in Windows-1252 special cases
						$buf .= self::$win1252ToUtf8[ord($c1)];
					} else {
						$cc1 = (chr(ord($c1) / 64) | "\xc0");
						$cc2 = (($c1 & "\x3f") | "\x80");
						$buf .= $cc1 . $cc2;
					}
				} else { // it doesn't need convesion
					$buf .= $c1;
				}
			}
			return $buf;
		} else {
			return $text;
		}
	}

	/**
	 * Returns for the given char the unicode representation.
	 *
	 * @param string $c
	 * @throws Exception
	 * @return number
	 */
	public static function getUnicode($c){
		$h = ord($c[0]);
		if ($h <= 0x7F) {
			return $h;
		}
		else if ($h < 0xC2) {
			throw new Exception("Invalid char. Unable to convert to unicode.");
		}
		else if ($h <= 0xDF) {
			return ($h & 0x1F) << 6 | (ord($c[1]) & 0x3F);
		}
		else if ($h <= 0xEF) {
			return ($h & 0x0F) << 12 | (ord($c[1]) & 0x3F) << 6 | (ord($c[2]) & 0x3F);
		}
		else if ($h <= 0xF4) {
			return ($h & 0x0F) << 18 | (ord($c[1]) & 0x3F) << 12 | (ord($c[2]) & 0x3F) << 6 | (ord($c[3]) & 0x3F);
		}
		else {
			throw new Exception("Invalid char. Unable to convert to unicode.");
		}
	}

	protected function toUTF8($string) {
		return $string;
	}

	protected function toCharset($string) {
		return $string;
	}

	public function getName() {
		return 'UTF-8';
	}

	public function getAliases() {
		return self::$aliases;
	}


	public function getStringLength($string) {
		if (is_array($string)) {
			return count($string);
		}
		else if (function_exists('mb_strlen')) {
			return (int) mb_strlen($string, $this->getName());
		} else if (function_exists('utf8_strlen')) {
			return (int) utf8_strlen($string);
		} else if (function_exists('iconv_strlen')) {
			return (int) iconv_strlen($string, $this->getName());
		} else {
			$pos = 0;
			$length = 0;
			while ($pos <= strlen($string)) {
				$bytes = self::getCharLength($string[$pos]);
				$length++;
				$pos += $bytes;
			}
			return $length;
		}
	}

	public function getCharAt($string, $index){
		if (is_array($string)) {
			if (count($string) <= $index) {
				throw new Customweb_Core_Exception_IndexOutOfBoundException();
			}
			return $string[$index];
		}
		else {
			return $this->getSubstring($string, $index, 1);
		}
	}

	public function getSubstring($string, $start, $length){
		if (is_array($string)) {
			return implode( array_slice( $string , $start , $length ) );
		}
		else if (function_exists('mb_substr')) {
			return mb_substr($string, $start, $length, $this->getName());
		} else if (function_exists('utf8_substr')) {
			return utf8_substr($string, $start, $length);
		} else if (function_exists('iconv_substr')) {
			return iconv_substr($string, $start, $length, $this->getName());
		} else {
			$array = $this->toArray($string);
			return implode( array_slice( $array , $start , $length ) );
		}
	}

	public function getStringPosition($stringSearchIn, $needle, $offset = 0){
		if (is_array($stringSearchIn)) {
			$stringSearchIn = implode($stringSearchIn);
		}
		if (function_exists('mb_strpos')) {
			return mb_strpos($stringSearchIn, (string) $needle, (int) $offset, $this->getName());
		} else if (function_exists('utf8_strpos')) {
			return utf8_strpos($stringSearchIn, (string) $needle, ($offset === 0 ? null : $offset));
		} else if (function_exists('iconv_strpos')) {
			return iconv_strpos($stringSearchIn, (string) $needle, (int) $offset, $this->getName());
		} else {
			if ($offset > 0) {
				$stringSearchIn = $this->getSubstring($stringSearchIn, $offset, 0);
			}

			if (($pos = strpos($stringSearchIn, $needle)) !== false) {
				$left = substr($stringSearchIn, 0, $pos);
				return ($offset > 0 ? $offset : 0) + $this->getStringLength($left);
			}
			return false;
		}
	}

	public function toUpperCase($string){
		if (is_array($string)) {
			$rs = array();
			foreach ($string as $char) {
				$rs[] = $this->toUpperCase($char);
			}
			return $rs;
		}
		else {
			if (function_exists('mb_strtoupper')) {
				return mb_strtoupper($string, $this->getName());
			}

			$table = self::getUpperCaseMap();
			return strtr($string, $table);
		}
	}

	public function toLowerCase($string){
		if (is_array($string)) {
			$rs = array();
			foreach ($string as $char) {
				$rs[] = $this->toLowerCase($char);
			}
			return $rs;
		}
		else {
			if (function_exists('mb_strtolower')) {
				return mb_strtolower($string, $this->getName());
			}

			$table = self::getLowerCaseMap();
			return strtr($string, $table);
		}
	}


	public function toArray($string) {
		if(empty($string)){
			return array();
		}
		if (is_array($string)) {
			return $string;
		}
		else {
			$split_length = 1;
			$str = (string) $string;
			$ret = array();

			if (self::isPcreUtf8Support()) {
				$str = self::cleanString($str);
				$ret = preg_split('//u', $str, null, PREG_SPLIT_NO_EMPTY);
			} else {

				$len = strlen($str);
				for($i = 0; $i < $len; $i ++) {
					if (($str[$i] & "\x80") === "\x00") {
						$ret[] = $str[$i];
					} else if ((($str[$i] & "\xE0") === "\xC0") && (isset($str[$i + 1]))) {
						if (($str[$i + 1] & "\xC0") === "\x80") {
							$ret[] = $str[$i] . $str[$i + 1];
							$i ++;
						}
					} else if ((($str[$i] & "\xF0") === "\xE0") && (isset($str[$i + 2]))) {
						if ((($str[$i + 1] & "\xC0") === "\x80") && (($str[$i + 2] & "\xC0") === "\x80")) {
							$ret[] = $str[$i] . $str[$i + 1] . $str[$i + 2];
							$i = $i + 2;
						}
					} else if ((($str[$i] & "\xF8") === "\xF0") && (isset($str[$i + 3]))) {
						if ((($str[$i + 1] & "\xC0") === "\x80") && (($str[$i + 2] & "\xC0") === "\x80") && (($str[$i + 3] & "\xC0") === "\x80")) {
							$ret[] = $str[$i] . $str[$i + 1] . $str[$i + 2] . $str[$i + 3];
							$i = $i + 3;
						}
					}
				}
			}

			if ($split_length > 1) {
				$ret = array_chunk($ret, $split_length);
				$ret = array_map('implode', $ret);
			}

			if ($ret[0] === '') {
				return array();
			}

			return $ret;
		}

	}

	public function trimStart($string, $chars = '') {
		$chars = $this->prepareCharList($chars);
		$chars = $this->prepareCharList($chars);
		$stringChars = $this->toArray($string);

		$len = count($stringChars);
		while ($len && isset($chars[$stringChars[$len - 1]])) {
			-- $len;
		}

		return $this->getSubstring($string, 0, $len);
	}

	public function trimEnd($string, $chars = '') {
		$chars = $this->prepareCharList($chars);
		$stringChars = $this->toArray($string);

		$count = 0;
		while (isset($stringChars[$count]) && isset($chars[$stringChars[$count]])) {
			++$count;
		}

		return $this->getSubstring($string, $count, 0);
	}

	public function getLastStringPosition($stringSearchIn, $needle, $offset = 0) {
		$offset = (int) $offset;

		$stringSearchIn = utf8_clean($stringSearchIn);

		if (function_exists('mb_strrpos')) {
			return mb_strrpos($stringSearchIn, $needle, $offset, 'UTF-8');
		}

		if (function_exists('iconv_strrpos') && $offset === 0) {
			return iconv_strrpos($stringSearchIn, $needle, 'UTF-8');
		}

		if ($offset > 0) {
			$stringSearchIn = $this->getSubstring($stringSearchIn, $offset, 0);
		} else if ($offset < 0) {
			$stringSearchIn = $this->getSubstring($stringSearchIn, 0, $offset);
		}

		if (($pos = strrpos($stringSearchIn, $needle)) !== false) {
			$left = substr($stringSearchIn, 0, $pos);
			return ($offset > 0 ? $offset : 0) + $this->getStringLength($left);
		}

		return false;
	}

	public function match($subject, $pattern, array &$matches = null, $flags = 0, $offset = 0) {
		$rs = $this->cleanUpRegexParameters($pattern, $subject);
		return parent::match($rs['subject'], $rs['pattern'], $matches, $flags, $offset);
	}

	public function matchAll($subject, $pattern, array &$matches = null, $flags = PREG_PATTERN_ORDER, $offset = 0) {
		$rs = $this->cleanUpRegexParameters($pattern, $subject);
		return parent::matchAll($rs['subject'], $rs['pattern'], $matches, $flags, $offset);
	}

	public function replaceAll($subject, $pattern, $replacement, $limit = -1, &$count = null) {
		$rs = $this->cleanUpRegexParameters($pattern, $subject, $replacement);
		$resultingString = parent::replaceAll($rs['subject'], $rs['pattern'], $rs['replacment'], $limit, $count);
		if ($rs['charset'] !== null) {
			return self::convert($resultingString, $rs['charset'], 'UTF-8');
		}
		else {
			return $resultingString;
		}
	}

	/**
	 * PHP has only limited support for UTF-8. This method tries to find the
	 * best way to handle this situation by adding modifiers or changing the
	 * charset if possible.
	 *
	 * @param string | string[] $pattern
	 * @param string $subject
	 * @param string | array $replacement
	 * @return string[]
	 */
	private function cleanUpRegexParameters($pattern, $subject, $replacement = null) {
		$pattern = $this->removeModifierU($pattern);

		$isSubjectMultiByte = $this->isContainingMultiByteChars($subject);
		$isPatternMultiByte = $this->isContainingMultiByteChars($pattern);

		$isReplacementMultiByte = false;
		if ($replacement !== null) {
			$isReplacementMultiByte = $this->isContainingMultiByteChars($replacement);
		}

		$charset = null;
		if ($isSubjectMultiByte || $isPatternMultiByte || $isReplacementMultiByte) {
			if ($this->isPcreUtf8Support() && false) {
				// We can add the 'u' modifier, which activates the UTF-8 support.
				if (is_array($pattern)) {
					foreach ($pattern as $key => $value) {
						$pattern[$key] = $value . 'u';
					}
				}
				else {
					$pattern .= 'u';
				}
			}
			else {
				$backup = self::getConversionBehavior();
				self::setConversionBehavior(self::CONVERSION_BEHAVIOR_EXCEPTION);
				$alternativeCharset = 'WINDOWS-1250';
				try {
					$subject = self::convert($subject, 'UTF-8', $alternativeCharset);
					if (is_array($replacement)) {
						foreach ($replacement as $key => $value) {
							$replacement[$key] = self::convert($value, 'UTF-8', $alternativeCharset);
						}
					}
					else if (is_string($replacement)) {
						$replacement = self::convert($replacement, 'UTF-8', $alternativeCharset);
					}
					if (is_array($pattern)) {
						foreach ($pattern as $key => $value) {
							$pattern[$key] = self::convert($value, 'UTF-8', $alternativeCharset);
						}
					}
					else {
						$pattern = self::convert($pattern, 'UTF-8', $alternativeCharset);
					}
					$charset = $alternativeCharset;
					self::setConversionBehavior($backup);
				} catch(Customweb_Core_Exception_UnexpectedCharException $e) {
					self::setConversionBehavior($backup);
					// As per documentation (http://www.php.net/manual/es/function.preg-match.php#95828)
					// we can add '(*UTF8)' to the pattern, to fix it. In case event a conversion of
					// the strings back in single byte charset fail. We should try this.
					if (is_array($pattern)) {
						foreach ($pattern as $key => $value) {
							$pattern[$key] = substr($value, 0, 1) . '(*UTF8)' . substr($value, 1);
						}
					}
					else {
						$pattern = substr($pattern, 0, 1) . '(*UTF8)' . substr($pattern, 1);
					}
				}
			}
		}

		return array(
			'pattern' => $pattern,
			'subject' => $subject,
			'replacment' => $replacement,
			'charset' => $charset,
		);
	}

	private function removeModifierU($pattern) {
		if (is_array($pattern)) {
			foreach ($pattern as $k => $v) {
				$pattern[$k] = $this->removeModifierU($v);
			}
			return $pattern;
		}
		else {
			$escapeChar = substr($pattern, 0, 1);
			$startModifiers = strrpos($pattern, $escapeChar);
			$modifiers = substr($pattern, $startModifiers);
			$modifiers = str_replace('u', '', $modifiers);

			return substr($pattern, 0, $startModifiers) . $modifiers;
		}
	}

	private function isContainingMultiByteChars($pattern) {
		if (is_array($pattern)) {
			foreach ($pattern as $v) {
				$rs = $this->isContainingMultiByteChars($v);
				if ($rs) {
					return true;
				}
			}
			return false;
		}
		else {
			if ($this->getStringLength($pattern) !== strlen($pattern)) {
				return true;
			}
			else {
				return false;
			}
		}
	}

	private function prepareCharList($chars) {
		if (empty($chars)) {
			$chars = self::getWhiteSpaceChars();
		} else if (is_string($chars)) {
			$chars = $this->toArray($chars);
		}
		return array_flip($chars);
	}

	private static function isPcreUtf8Support(){
		if (self::$pcreUtf8Support === null) {
			self::$pcreUtf8Support = @preg_match('//u', '');
		}

		return self::$pcreUtf8Support;
	}

	private static function cleanString($str){
		$regx = '/([\x00-\x7F]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3})|./s';
		$str = preg_replace($regx, '$1', $str);
		return $str;
	}

	/**
	 * This method returns the UTF-8 char length given by the first char in a sequence.
	 *
	 * @param string $firstCharOfSequence
	 * @return number
	 */
	private static function getCharLength($firstCharOfSequence){
		$ord = ord($firstCharOfSequence);
		if ($ord < 128) {
			return 1;
		} else if ($ord < 224) {
			return 2;
		} elseif ($ord < 240) {
			return 3;
		} elseif ($ord < 248) {
			return 4;
		} elseif ($ord = 252) {
			return 5;
		} else {
			return 6;
		}
	}

	private static function getLowerCaseMap() {

		if (self::$utf8CharLowerCaseMap === null) {
			self::$utf8CharLowerCaseMap = array_flip(self::getUpperCaseMap());
		}

		return self::$utf8CharLowerCaseMap;
	}

	private static function getWhiteSpaceChars() {
		if (self::$whiteSpaceChars === null) {
			self::$whiteSpaceChars = array(
				0 => "\x0", // NUL Byte
				9 => "\x9", // Tab
				10 => "\xa", // New Line
				11 => "\xb", // Vertical Tab
				13 => "\xd", // Carriage Return
				32 => "\x20", // Ordinary Space
				160 => "\xc2\xa0", // NO-BREAK SPACE
				5760 => "\xe1\x9a\x80", // OGHAM SPACE MARK
				6158 => "\xe1\xa0\x8e", // MONGOLIAN VOWEL SEPARATOR
				8192 => "\xe2\x80\x80", // EN QUAD
				8193 => "\xe2\x80\x81", // EM QUAD
				8194 => "\xe2\x80\x82", // EN SPACE
				8195 => "\xe2\x80\x83", // EM SPACE
				8196 => "\xe2\x80\x84", // THREE-PER-EM SPACE
				8197 => "\xe2\x80\x85", // FOUR-PER-EM SPACE
				8198 => "\xe2\x80\x86", // SIX-PER-EM SPACE
				8199 => "\xe2\x80\x87", // FIGURE SPACE
				8200 => "\xe2\x80\x88", // PUNCTUATION SPACE
				8201 => "\xe2\x80\x89", // THIN SPACE
				8202 => "\xe2\x80\x8a", // HAIR SPACE
				8232 => "\xe2\x80\xa8", // LINE SEPARATOR
				8233 => "\xe2\x80\xa9", // PARAGRAPH SEPARATOR
				8239 => "\xe2\x80\xaf", // NARROW NO-BREAK SPACE
				8287 => "\xe2\x81\x9f", // MEDIUM MATHEMATICAL SPACE
				12288 => "\xe3\x80\x80"  // IDEOGRAPHIC SPACE
			);
		}

		return self::$whiteSpaceChars;
	}

	private static function getUpperCaseMap() {

		if (self::$utf8CharUpperCaseMap !== null) {
			return self::$utf8CharUpperCaseMap;
		}

		self::$utf8CharUpperCaseMap = array(
			//lower => upper
			"\xf0\x90\x91\x8f"=>"\xf0\x90\x90\xa7","\xf0\x90\x91\x8e"=>"\xf0\x90\x90\xa6","\xf0\x90\x91\x8d"=>"\xf0\x90\x90\xa5",
			"\xf0\x90\x91\x8c"=>"\xf0\x90\x90\xa4","\xf0\x90\x91\x8b"=>"\xf0\x90\x90\xa3","\xf0\x90\x91\x8a"=>"\xf0\x90\x90\xa2",
			"\xf0\x90\x91\x89"=>"\xf0\x90\x90\xa1","\xf0\x90\x91\x88"=>"\xf0\x90\x90\xa0","\xf0\x90\x91\x87"=>"\xf0\x90\x90\x9f",
			"\xf0\x90\x91\x86"=>"\xf0\x90\x90\x9e","\xf0\x90\x91\x85"=>"\xf0\x90\x90\x9d","\xf0\x90\x91\x84"=>"\xf0\x90\x90\x9c",
			"\xf0\x90\x91\x83"=>"\xf0\x90\x90\x9b","\xf0\x90\x91\x82"=>"\xf0\x90\x90\x9a","\xf0\x90\x91\x81"=>"\xf0\x90\x90\x99",
			"\xf0\x90\x91\x80"=>"\xf0\x90\x90\x98","\xf0\x90\x90\xbf"=>"\xf0\x90\x90\x97","\xf0\x90\x90\xbe"=>"\xf0\x90\x90\x96",
			"\xf0\x90\x90\xbd"=>"\xf0\x90\x90\x95","\xf0\x90\x90\xbc"=>"\xf0\x90\x90\x94","\xf0\x90\x90\xbb"=>"\xf0\x90\x90\x93",
			"\xf0\x90\x90\xba"=>"\xf0\x90\x90\x92","\xf0\x90\x90\xb9"=>"\xf0\x90\x90\x91","\xf0\x90\x90\xb8"=>"\xf0\x90\x90\x90",
			"\xf0\x90\x90\xb7"=>"\xf0\x90\x90\x8f","\xf0\x90\x90\xb6"=>"\xf0\x90\x90\x8e","\xf0\x90\x90\xb5"=>"\xf0\x90\x90\x8d",
			"\xf0\x90\x90\xb4"=>"\xf0\x90\x90\x8c","\xf0\x90\x90\xb3"=>"\xf0\x90\x90\x8b","\xf0\x90\x90\xb2"=>"\xf0\x90\x90\x8a",
			"\xf0\x90\x90\xb1"=>"\xf0\x90\x90\x89","\xf0\x90\x90\xb0"=>"\xf0\x90\x90\x88","\xf0\x90\x90\xaf"=>"\xf0\x90\x90\x87",
			"\xf0\x90\x90\xae"=>"\xf0\x90\x90\x86","\xf0\x90\x90\xad"=>"\xf0\x90\x90\x85","\xf0\x90\x90\xac"=>"\xf0\x90\x90\x84",
			"\xf0\x90\x90\xab"=>"\xf0\x90\x90\x83","\xf0\x90\x90\xaa"=>"\xf0\x90\x90\x82","\xf0\x90\x90\xa9"=>"\xf0\x90\x90\x81",
			"\xf0\x90\x90\xa8"=>"\xf0\x90\x90\x80","\xef\xbd\x9a"=>"\xef\xbc\xba","\xef\xbd\x99"=>"\xef\xbc\xb9","\xef\xbd\x98"=>"\xef\xbc\xb8",
			"\xef\xbd\x97"=>"\xef\xbc\xb7","\xef\xbd\x96"=>"\xef\xbc\xb6","\xef\xbd\x95"=>"\xef\xbc\xb5","\xef\xbd\x94"=>"\xef\xbc\xb4",
			"\xef\xbd\x93"=>"\xef\xbc\xb3","\xef\xbd\x92"=>"\xef\xbc\xb2","\xef\xbd\x91"=>"\xef\xbc\xb1","\xef\xbd\x90"=>"\xef\xbc\xb0",
			"\xef\xbd\x8f"=>"\xef\xbc\xaf","\xef\xbd\x8e"=>"\xef\xbc\xae","\xef\xbd\x8d"=>"\xef\xbc\xad","\xef\xbd\x8c"=>"\xef\xbc\xac",
			"\xef\xbd\x8b"=>"\xef\xbc\xab","\xef\xbd\x8a"=>"\xef\xbc\xaa","\xef\xbd\x89"=>"\xef\xbc\xa9","\xef\xbd\x88"=>"\xef\xbc\xa8",
			"\xef\xbd\x87"=>"\xef\xbc\xa7","\xef\xbd\x86"=>"\xef\xbc\xa6","\xef\xbd\x85"=>"\xef\xbc\xa5","\xef\xbd\x84"=>"\xef\xbc\xa4",
			"\xef\xbd\x83"=>"\xef\xbc\xa3","\xef\xbd\x82"=>"\xef\xbc\xa2","\xef\xbd\x81"=>"\xef\xbc\xa1","\xea\x9e\x8c"=>"\xea\x9e\x8b",
			"\xea\x9e\x87"=>"\xea\x9e\x86","\xea\x9e\x85"=>"\xea\x9e\x84","\xea\x9e\x83"=>"\xea\x9e\x82","\xea\x9e\x81"=>"\xea\x9e\x80",
			"\xea\x9d\xbf"=>"\xea\x9d\xbe","\xea\x9d\xbc"=>"\xea\x9d\xbb","\xea\x9d\xba"=>"\xea\x9d\xb9","\xea\x9d\xaf"=>"\xea\x9d\xae",
			"\xea\x9d\xad"=>"\xea\x9d\xac","\xea\x9d\xab"=>"\xea\x9d\xaa","\xea\x9d\xa9"=>"\xea\x9d\xa8","\xea\x9d\xa7"=>"\xea\x9d\xa6",
			"\xea\x9d\xa5"=>"\xea\x9d\xa4","\xea\x9d\xa3"=>"\xea\x9d\xa2","\xea\x9d\xa1"=>"\xea\x9d\xa0","\xea\x9d\x9f"=>"\xea\x9d\x9e",
			"\xea\x9d\x9d"=>"\xea\x9d\x9c","\xea\x9d\x9b"=>"\xea\x9d\x9a","\xea\x9d\x99"=>"\xea\x9d\x98","\xea\x9d\x97"=>"\xea\x9d\x96",
			"\xea\x9d\x95"=>"\xea\x9d\x94","\xea\x9d\x93"=>"\xea\x9d\x92","\xea\x9d\x91"=>"\xea\x9d\x90","\xea\x9d\x8f"=>"\xea\x9d\x8e",
			"\xea\x9d\x8d"=>"\xea\x9d\x8c","\xea\x9d\x8b"=>"\xea\x9d\x8a","\xea\x9d\x89"=>"\xea\x9d\x88","\xea\x9d\x87"=>"\xea\x9d\x86",
			"\xea\x9d\x85"=>"\xea\x9d\x84","\xea\x9d\x83"=>"\xea\x9d\x82","\xea\x9d\x81"=>"\xea\x9d\x80","\xea\x9c\xbf"=>"\xea\x9c\xbe",
			"\xea\x9c\xbd"=>"\xea\x9c\xbc","\xea\x9c\xbb"=>"\xea\x9c\xba","\xea\x9c\xb9"=>"\xea\x9c\xb8","\xea\x9c\xb7"=>"\xea\x9c\xb6",
			"\xea\x9c\xb5"=>"\xea\x9c\xb4","\xea\x9c\xb3"=>"\xea\x9c\xb2","\xea\x9c\xaf"=>"\xea\x9c\xae","\xea\x9c\xad"=>"\xea\x9c\xac",
			"\xea\x9c\xab"=>"\xea\x9c\xaa","\xea\x9c\xa9"=>"\xea\x9c\xa8","\xea\x9c\xa7"=>"\xea\x9c\xa6","\xea\x9c\xa5"=>"\xea\x9c\xa4",
			"\xea\x9c\xa3"=>"\xea\x9c\xa2","\xea\x9a\x97"=>"\xea\x9a\x96","\xea\x9a\x95"=>"\xea\x9a\x94","\xea\x9a\x93"=>"\xea\x9a\x92",
			"\xea\x9a\x91"=>"\xea\x9a\x90","\xea\x9a\x8f"=>"\xea\x9a\x8e","\xea\x9a\x8d"=>"\xea\x9a\x8c","\xea\x9a\x8b"=>"\xea\x9a\x8a",
			"\xea\x9a\x89"=>"\xea\x9a\x88","\xea\x9a\x87"=>"\xea\x9a\x86","\xea\x9a\x85"=>"\xea\x9a\x84","\xea\x9a\x83"=>"\xea\x9a\x82",
			"\xea\x9a\x81"=>"\xea\x9a\x80","\xea\x99\xad"=>"\xea\x99\xac","\xea\x99\xab"=>"\xea\x99\xaa","\xea\x99\xa9"=>"\xea\x99\xa8",
			"\xea\x99\xa7"=>"\xea\x99\xa6","\xea\x99\xa5"=>"\xea\x99\xa4","\xea\x99\xa3"=>"\xea\x99\xa2","\xea\x99\x9f"=>"\xea\x99\x9e",
			"\xea\x99\x9d"=>"\xea\x99\x9c","\xea\x99\x9b"=>"\xea\x99\x9a","\xea\x99\x99"=>"\xea\x99\x98","\xea\x99\x97"=>"\xea\x99\x96",
			"\xea\x99\x95"=>"\xea\x99\x94","\xea\x99\x93"=>"\xea\x99\x92","\xea\x99\x91"=>"\xea\x99\x90","\xea\x99\x8f"=>"\xea\x99\x8e",
			"\xea\x99\x8d"=>"\xea\x99\x8c","\xea\x99\x8b"=>"\xea\x99\x8a","\xea\x99\x89"=>"\xea\x99\x88","\xea\x99\x87"=>"\xea\x99\x86",
			"\xea\x99\x85"=>"\xea\x99\x84","\xea\x99\x83"=>"\xea\x99\x82","\xea\x99\x81"=>"\xea\x99\x80","\xe2\xb4\xa5"=>"\xe1\x83\x85",
			"\xe2\xb4\xa4"=>"\xe1\x83\x84","\xe2\xb4\xa3"=>"\xe1\x83\x83","\xe2\xb4\xa2"=>"\xe1\x83\x82","\xe2\xb4\xa1"=>"\xe1\x83\x81",
			"\xe2\xb4\xa0"=>"\xe1\x83\x80","\xe2\xb4\x9f"=>"\xe1\x82\xbf","\xe2\xb4\x9e"=>"\xe1\x82\xbe","\xe2\xb4\x9d"=>"\xe1\x82\xbd",
			"\xe2\xb4\x9c"=>"\xe1\x82\xbc","\xe2\xb4\x9b"=>"\xe1\x82\xbb","\xe2\xb4\x9a"=>"\xe1\x82\xba","\xe2\xb4\x99"=>"\xe1\x82\xb9",
			"\xe2\xb4\x98"=>"\xe1\x82\xb8","\xe2\xb4\x97"=>"\xe1\x82\xb7","\xe2\xb4\x96"=>"\xe1\x82\xb6","\xe2\xb4\x95"=>"\xe1\x82\xb5",
			"\xe2\xb4\x94"=>"\xe1\x82\xb4","\xe2\xb4\x93"=>"\xe1\x82\xb3","\xe2\xb4\x92"=>"\xe1\x82\xb2","\xe2\xb4\x91"=>"\xe1\x82\xb1",
			"\xe2\xb4\x90"=>"\xe1\x82\xb0","\xe2\xb4\x8f"=>"\xe1\x82\xaf","\xe2\xb4\x8e"=>"\xe1\x82\xae","\xe2\xb4\x8d"=>"\xe1\x82\xad",
			"\xe2\xb4\x8c"=>"\xe1\x82\xac","\xe2\xb4\x8b"=>"\xe1\x82\xab","\xe2\xb4\x8a"=>"\xe1\x82\xaa","\xe2\xb4\x89"=>"\xe1\x82\xa9",
			"\xe2\xb4\x88"=>"\xe1\x82\xa8","\xe2\xb4\x87"=>"\xe1\x82\xa7","\xe2\xb4\x86"=>"\xe1\x82\xa6","\xe2\xb4\x85"=>"\xe1\x82\xa5",
			"\xe2\xb4\x84"=>"\xe1\x82\xa4","\xe2\xb4\x83"=>"\xe1\x82\xa3","\xe2\xb4\x82"=>"\xe1\x82\xa2","\xe2\xb4\x81"=>"\xe1\x82\xa1",
			"\xe2\xb4\x80"=>"\xe1\x82\xa0","\xe2\xb3\xae"=>"\xe2\xb3\xad","\xe2\xb3\xac"=>"\xe2\xb3\xab","\xe2\xb3\xa3"=>"\xe2\xb3\xa2",
			"\xe2\xb3\xa1"=>"\xe2\xb3\xa0","\xe2\xb3\x9f"=>"\xe2\xb3\x9e","\xe2\xb3\x9d"=>"\xe2\xb3\x9c","\xe2\xb3\x9b"=>"\xe2\xb3\x9a",
			"\xe2\xb3\x99"=>"\xe2\xb3\x98","\xe2\xb3\x97"=>"\xe2\xb3\x96","\xe2\xb3\x95"=>"\xe2\xb3\x94","\xe2\xb3\x93"=>"\xe2\xb3\x92",
			"\xe2\xb3\x91"=>"\xe2\xb3\x90","\xe2\xb3\x8f"=>"\xe2\xb3\x8e","\xe2\xb3\x8d"=>"\xe2\xb3\x8c","\xe2\xb3\x8b"=>"\xe2\xb3\x8a",
			"\xe2\xb3\x89"=>"\xe2\xb3\x88","\xe2\xb3\x87"=>"\xe2\xb3\x86","\xe2\xb3\x85"=>"\xe2\xb3\x84","\xe2\xb3\x83"=>"\xe2\xb3\x82",
			"\xe2\xb3\x81"=>"\xe2\xb3\x80","\xe2\xb2\xbf"=>"\xe2\xb2\xbe","\xe2\xb2\xbd"=>"\xe2\xb2\xbc","\xe2\xb2\xbb"=>"\xe2\xb2\xba",
			"\xe2\xb2\xb9"=>"\xe2\xb2\xb8","\xe2\xb2\xb7"=>"\xe2\xb2\xb6","\xe2\xb2\xb5"=>"\xe2\xb2\xb4","\xe2\xb2\xb3"=>"\xe2\xb2\xb2",
			"\xe2\xb2\xb1"=>"\xe2\xb2\xb0","\xe2\xb2\xaf"=>"\xe2\xb2\xae","\xe2\xb2\xad"=>"\xe2\xb2\xac","\xe2\xb2\xab"=>"\xe2\xb2\xaa",
			"\xe2\xb2\xa9"=>"\xe2\xb2\xa8","\xe2\xb2\xa7"=>"\xe2\xb2\xa6","\xe2\xb2\xa5"=>"\xe2\xb2\xa4","\xe2\xb2\xa3"=>"\xe2\xb2\xa2",
			"\xe2\xb2\xa1"=>"\xe2\xb2\xa0","\xe2\xb2\x9f"=>"\xe2\xb2\x9e","\xe2\xb2\x9d"=>"\xe2\xb2\x9c","\xe2\xb2\x9b"=>"\xe2\xb2\x9a",
			"\xe2\xb2\x99"=>"\xe2\xb2\x98","\xe2\xb2\x97"=>"\xe2\xb2\x96","\xe2\xb2\x95"=>"\xe2\xb2\x94","\xe2\xb2\x93"=>"\xe2\xb2\x92",
			"\xe2\xb2\x91"=>"\xe2\xb2\x90","\xe2\xb2\x8f"=>"\xe2\xb2\x8e","\xe2\xb2\x8d"=>"\xe2\xb2\x8c","\xe2\xb2\x8b"=>"\xe2\xb2\x8a",
			"\xe2\xb2\x89"=>"\xe2\xb2\x88","\xe2\xb2\x87"=>"\xe2\xb2\x86","\xe2\xb2\x85"=>"\xe2\xb2\x84","\xe2\xb2\x83"=>"\xe2\xb2\x82",
			"\xe2\xb2\x81"=>"\xe2\xb2\x80","\xe2\xb1\xb6"=>"\xe2\xb1\xb5","\xe2\xb1\xb3"=>"\xe2\xb1\xb2","\xe2\xb1\xac"=>"\xe2\xb1\xab",
			"\xe2\xb1\xaa"=>"\xe2\xb1\xa9","\xe2\xb1\xa8"=>"\xe2\xb1\xa7","\xe2\xb1\xa6"=>"\xc8\xbe","\xe2\xb1\xa5"=>"\xc8\xba",
			"\xe2\xb1\xa1"=>"\xe2\xb1\xa0","\xe2\xb1\x9e"=>"\xe2\xb0\xae","\xe2\xb1\x9d"=>"\xe2\xb0\xad","\xe2\xb1\x9c"=>"\xe2\xb0\xac",
			"\xe2\xb1\x9b"=>"\xe2\xb0\xab","\xe2\xb1\x9a"=>"\xe2\xb0\xaa","\xe2\xb1\x99"=>"\xe2\xb0\xa9","\xe2\xb1\x98"=>"\xe2\xb0\xa8",
			"\xe2\xb1\x97"=>"\xe2\xb0\xa7","\xe2\xb1\x96"=>"\xe2\xb0\xa6","\xe2\xb1\x95"=>"\xe2\xb0\xa5","\xe2\xb1\x94"=>"\xe2\xb0\xa4",
			"\xe2\xb1\x93"=>"\xe2\xb0\xa3","\xe2\xb1\x92"=>"\xe2\xb0\xa2","\xe2\xb1\x91"=>"\xe2\xb0\xa1","\xe2\xb1\x90"=>"\xe2\xb0\xa0",
			"\xe2\xb1\x8f"=>"\xe2\xb0\x9f","\xe2\xb1\x8e"=>"\xe2\xb0\x9e","\xe2\xb1\x8d"=>"\xe2\xb0\x9d","\xe2\xb1\x8c"=>"\xe2\xb0\x9c",
			"\xe2\xb1\x8b"=>"\xe2\xb0\x9b","\xe2\xb1\x8a"=>"\xe2\xb0\x9a","\xe2\xb1\x89"=>"\xe2\xb0\x99","\xe2\xb1\x88"=>"\xe2\xb0\x98",
			"\xe2\xb1\x87"=>"\xe2\xb0\x97","\xe2\xb1\x86"=>"\xe2\xb0\x96","\xe2\xb1\x85"=>"\xe2\xb0\x95","\xe2\xb1\x84"=>"\xe2\xb0\x94",
			"\xe2\xb1\x83"=>"\xe2\xb0\x93","\xe2\xb1\x82"=>"\xe2\xb0\x92","\xe2\xb1\x81"=>"\xe2\xb0\x91","\xe2\xb1\x80"=>"\xe2\xb0\x90",
			"\xe2\xb0\xbf"=>"\xe2\xb0\x8f","\xe2\xb0\xbe"=>"\xe2\xb0\x8e","\xe2\xb0\xbd"=>"\xe2\xb0\x8d","\xe2\xb0\xbc"=>"\xe2\xb0\x8c",
			"\xe2\xb0\xbb"=>"\xe2\xb0\x8b","\xe2\xb0\xba"=>"\xe2\xb0\x8a","\xe2\xb0\xb9"=>"\xe2\xb0\x89","\xe2\xb0\xb8"=>"\xe2\xb0\x88",
			"\xe2\xb0\xb7"=>"\xe2\xb0\x87","\xe2\xb0\xb6"=>"\xe2\xb0\x86","\xe2\xb0\xb5"=>"\xe2\xb0\x85","\xe2\xb0\xb4"=>"\xe2\xb0\x84",
			"\xe2\xb0\xb3"=>"\xe2\xb0\x83","\xe2\xb0\xb2"=>"\xe2\xb0\x82","\xe2\xb0\xb1"=>"\xe2\xb0\x81","\xe2\xb0\xb0"=>"\xe2\xb0\x80",
			"\xe2\x86\x84"=>"\xe2\x86\x83","\xe2\x85\x8e"=>"\xe2\x84\xb2","\xe1\xbf\xb3"=>"\xe1\xbf\xbc","\xe1\xbf\xa5"=>"\xe1\xbf\xac",
			"\xe1\xbf\xa1"=>"\xe1\xbf\xa9","\xe1\xbf\xa0"=>"\xe1\xbf\xa8","\xe1\xbf\x91"=>"\xe1\xbf\x99","\xe1\xbf\x90"=>"\xe1\xbf\x98",
			"\xe1\xbf\x83"=>"\xe1\xbf\x8c","\xe1\xbe\xbe"=>"\xce\x99","\xe1\xbe\xb3"=>"\xe1\xbe\xbc","\xe1\xbe\xb1"=>"\xe1\xbe\xb9",
			"\xe1\xbe\xb0"=>"\xe1\xbe\xb8","\xe1\xbe\xa7"=>"\xe1\xbe\xaf","\xe1\xbe\xa6"=>"\xe1\xbe\xae","\xe1\xbe\xa5"=>"\xe1\xbe\xad",
			"\xe1\xbe\xa4"=>"\xe1\xbe\xac","\xe1\xbe\xa3"=>"\xe1\xbe\xab","\xe1\xbe\xa2"=>"\xe1\xbe\xaa","\xe1\xbe\xa1"=>"\xe1\xbe\xa9",
			"\xe1\xbe\xa0"=>"\xe1\xbe\xa8","\xe1\xbe\x97"=>"\xe1\xbe\x9f","\xe1\xbe\x96"=>"\xe1\xbe\x9e","\xe1\xbe\x95"=>"\xe1\xbe\x9d",
			"\xe1\xbe\x94"=>"\xe1\xbe\x9c","\xe1\xbe\x93"=>"\xe1\xbe\x9b","\xe1\xbe\x92"=>"\xe1\xbe\x9a","\xe1\xbe\x91"=>"\xe1\xbe\x99",
			"\xe1\xbe\x90"=>"\xe1\xbe\x98","\xe1\xbe\x87"=>"\xe1\xbe\x8f","\xe1\xbe\x86"=>"\xe1\xbe\x8e","\xe1\xbe\x85"=>"\xe1\xbe\x8d",
			"\xe1\xbe\x84"=>"\xe1\xbe\x8c","\xe1\xbe\x83"=>"\xe1\xbe\x8b","\xe1\xbe\x82"=>"\xe1\xbe\x8a","\xe1\xbe\x81"=>"\xe1\xbe\x89",
			"\xe1\xbe\x80"=>"\xe1\xbe\x88","\xe1\xbd\xbd"=>"\xe1\xbf\xbb","\xe1\xbd\xbc"=>"\xe1\xbf\xba","\xe1\xbd\xbb"=>"\xe1\xbf\xab",
			"\xe1\xbd\xba"=>"\xe1\xbf\xaa","\xe1\xbd\xb9"=>"\xe1\xbf\xb9","\xe1\xbd\xb8"=>"\xe1\xbf\xb8","\xe1\xbd\xb7"=>"\xe1\xbf\x9b",
			"\xe1\xbd\xb6"=>"\xe1\xbf\x9a","\xe1\xbd\xb5"=>"\xe1\xbf\x8b","\xe1\xbd\xb4"=>"\xe1\xbf\x8a","\xe1\xbd\xb3"=>"\xe1\xbf\x89",
			"\xe1\xbd\xb2"=>"\xe1\xbf\x88","\xe1\xbd\xb1"=>"\xe1\xbe\xbb","\xe1\xbd\xb0"=>"\xe1\xbe\xba","\xe1\xbd\xa7"=>"\xe1\xbd\xaf",
			"\xe1\xbd\xa6"=>"\xe1\xbd\xae","\xe1\xbd\xa5"=>"\xe1\xbd\xad","\xe1\xbd\xa4"=>"\xe1\xbd\xac","\xe1\xbd\xa3"=>"\xe1\xbd\xab",
			"\xe1\xbd\xa2"=>"\xe1\xbd\xaa","\xe1\xbd\xa1"=>"\xe1\xbd\xa9","\xe1\xbd\xa0"=>"\xe1\xbd\xa8","\xe1\xbd\x97"=>"\xe1\xbd\x9f",
			"\xe1\xbd\x95"=>"\xe1\xbd\x9d","\xe1\xbd\x93"=>"\xe1\xbd\x9b","\xe1\xbd\x91"=>"\xe1\xbd\x99","\xe1\xbd\x85"=>"\xe1\xbd\x8d",
			"\xe1\xbd\x84"=>"\xe1\xbd\x8c","\xe1\xbd\x83"=>"\xe1\xbd\x8b","\xe1\xbd\x82"=>"\xe1\xbd\x8a","\xe1\xbd\x81"=>"\xe1\xbd\x89",
			"\xe1\xbd\x80"=>"\xe1\xbd\x88","\xe1\xbc\xb7"=>"\xe1\xbc\xbf","\xe1\xbc\xb6"=>"\xe1\xbc\xbe","\xe1\xbc\xb5"=>"\xe1\xbc\xbd",
			"\xe1\xbc\xb4"=>"\xe1\xbc\xbc","\xe1\xbc\xb3"=>"\xe1\xbc\xbb","\xe1\xbc\xb2"=>"\xe1\xbc\xba","\xe1\xbc\xb1"=>"\xe1\xbc\xb9",
			"\xe1\xbc\xb0"=>"\xe1\xbc\xb8","\xe1\xbc\xa7"=>"\xe1\xbc\xaf","\xe1\xbc\xa6"=>"\xe1\xbc\xae","\xe1\xbc\xa5"=>"\xe1\xbc\xad",
			"\xe1\xbc\xa4"=>"\xe1\xbc\xac","\xe1\xbc\xa3"=>"\xe1\xbc\xab","\xe1\xbc\xa2"=>"\xe1\xbc\xaa","\xe1\xbc\xa1"=>"\xe1\xbc\xa9",
			"\xe1\xbc\xa0"=>"\xe1\xbc\xa8","\xe1\xbc\x95"=>"\xe1\xbc\x9d","\xe1\xbc\x94"=>"\xe1\xbc\x9c","\xe1\xbc\x93"=>"\xe1\xbc\x9b",
			"\xe1\xbc\x92"=>"\xe1\xbc\x9a","\xe1\xbc\x91"=>"\xe1\xbc\x99","\xe1\xbc\x90"=>"\xe1\xbc\x98","\xe1\xbc\x87"=>"\xe1\xbc\x8f",
			"\xe1\xbc\x86"=>"\xe1\xbc\x8e","\xe1\xbc\x85"=>"\xe1\xbc\x8d","\xe1\xbc\x84"=>"\xe1\xbc\x8c","\xe1\xbc\x83"=>"\xe1\xbc\x8b",
			"\xe1\xbc\x82"=>"\xe1\xbc\x8a","\xe1\xbc\x81"=>"\xe1\xbc\x89","\xe1\xbc\x80"=>"\xe1\xbc\x88","\xe1\xbb\xbf"=>"\xe1\xbb\xbe",
			"\xe1\xbb\xbd"=>"\xe1\xbb\xbc","\xe1\xbb\xbb"=>"\xe1\xbb\xba","\xe1\xbb\xb9"=>"\xe1\xbb\xb8","\xe1\xbb\xb7"=>"\xe1\xbb\xb6",
			"\xe1\xbb\xb5"=>"\xe1\xbb\xb4","\xe1\xbb\xb3"=>"\xe1\xbb\xb2","\xe1\xbb\xb1"=>"\xe1\xbb\xb0","\xe1\xbb\xaf"=>"\xe1\xbb\xae",
			"\xe1\xbb\xad"=>"\xe1\xbb\xac","\xe1\xbb\xab"=>"\xe1\xbb\xaa","\xe1\xbb\xa9"=>"\xe1\xbb\xa8","\xe1\xbb\xa7"=>"\xe1\xbb\xa6",
			"\xe1\xbb\xa5"=>"\xe1\xbb\xa4","\xe1\xbb\xa3"=>"\xe1\xbb\xa2","\xe1\xbb\xa1"=>"\xe1\xbb\xa0","\xe1\xbb\x9f"=>"\xe1\xbb\x9e",
			"\xe1\xbb\x9d"=>"\xe1\xbb\x9c","\xe1\xbb\x9b"=>"\xe1\xbb\x9a","\xe1\xbb\x99"=>"\xe1\xbb\x98","\xe1\xbb\x97"=>"\xe1\xbb\x96",
			"\xe1\xbb\x95"=>"\xe1\xbb\x94","\xe1\xbb\x93"=>"\xe1\xbb\x92","\xe1\xbb\x91"=>"\xe1\xbb\x90","\xe1\xbb\x8f"=>"\xe1\xbb\x8e",
			"\xe1\xbb\x8d"=>"\xe1\xbb\x8c","\xe1\xbb\x8b"=>"\xe1\xbb\x8a","\xe1\xbb\x89"=>"\xe1\xbb\x88","\xe1\xbb\x87"=>"\xe1\xbb\x86",
			"\xe1\xbb\x85"=>"\xe1\xbb\x84","\xe1\xbb\x83"=>"\xe1\xbb\x82","\xe1\xbb\x81"=>"\xe1\xbb\x80","\xe1\xba\xbf"=>"\xe1\xba\xbe",
			"\xe1\xba\xbd"=>"\xe1\xba\xbc","\xe1\xba\xbb"=>"\xe1\xba\xba","\xe1\xba\xb9"=>"\xe1\xba\xb8","\xe1\xba\xb7"=>"\xe1\xba\xb6",
			"\xe1\xba\xb5"=>"\xe1\xba\xb4","\xe1\xba\xb3"=>"\xe1\xba\xb2","\xe1\xba\xb1"=>"\xe1\xba\xb0","\xe1\xba\xaf"=>"\xe1\xba\xae",
			"\xe1\xba\xad"=>"\xe1\xba\xac","\xe1\xba\xab"=>"\xe1\xba\xaa","\xe1\xba\xa9"=>"\xe1\xba\xa8","\xe1\xba\xa7"=>"\xe1\xba\xa6",
			"\xe1\xba\xa5"=>"\xe1\xba\xa4","\xe1\xba\xa3"=>"\xe1\xba\xa2","\xe1\xba\xa1"=>"\xe1\xba\xa0","\xe1\xba\x9b"=>"\xe1\xb9\xa0",
			"\xe1\xba\x95"=>"\xe1\xba\x94","\xe1\xba\x93"=>"\xe1\xba\x92","\xe1\xba\x91"=>"\xe1\xba\x90","\xe1\xba\x8f"=>"\xe1\xba\x8e",
			"\xe1\xba\x8d"=>"\xe1\xba\x8c","\xe1\xba\x8b"=>"\xe1\xba\x8a","\xe1\xba\x89"=>"\xe1\xba\x88","\xe1\xba\x87"=>"\xe1\xba\x86",
			"\xe1\xba\x85"=>"\xe1\xba\x84","\xe1\xba\x83"=>"\xe1\xba\x82","\xe1\xba\x81"=>"\xe1\xba\x80","\xe1\xb9\xbf"=>"\xe1\xb9\xbe",
			"\xe1\xb9\xbd"=>"\xe1\xb9\xbc","\xe1\xb9\xbb"=>"\xe1\xb9\xba","\xe1\xb9\xb9"=>"\xe1\xb9\xb8","\xe1\xb9\xb7"=>"\xe1\xb9\xb6",
			"\xe1\xb9\xb5"=>"\xe1\xb9\xb4","\xe1\xb9\xb3"=>"\xe1\xb9\xb2","\xe1\xb9\xb1"=>"\xe1\xb9\xb0","\xe1\xb9\xaf"=>"\xe1\xb9\xae",
			"\xe1\xb9\xad"=>"\xe1\xb9\xac","\xe1\xb9\xab"=>"\xe1\xb9\xaa","\xe1\xb9\xa9"=>"\xe1\xb9\xa8","\xe1\xb9\xa7"=>"\xe1\xb9\xa6",
			"\xe1\xb9\xa5"=>"\xe1\xb9\xa4","\xe1\xb9\xa3"=>"\xe1\xb9\xa2","\xe1\xb9\xa1"=>"\xe1\xb9\xa0","\xe1\xb9\x9f"=>"\xe1\xb9\x9e",
			"\xe1\xb9\x9d"=>"\xe1\xb9\x9c","\xe1\xb9\x9b"=>"\xe1\xb9\x9a","\xe1\xb9\x99"=>"\xe1\xb9\x98","\xe1\xb9\x97"=>"\xe1\xb9\x96",
			"\xe1\xb9\x95"=>"\xe1\xb9\x94","\xe1\xb9\x93"=>"\xe1\xb9\x92","\xe1\xb9\x91"=>"\xe1\xb9\x90","\xe1\xb9\x8f"=>"\xe1\xb9\x8e",
			"\xe1\xb9\x8d"=>"\xe1\xb9\x8c","\xe1\xb9\x8b"=>"\xe1\xb9\x8a","\xe1\xb9\x89"=>"\xe1\xb9\x88","\xe1\xb9\x87"=>"\xe1\xb9\x86",
			"\xe1\xb9\x85"=>"\xe1\xb9\x84","\xe1\xb9\x83"=>"\xe1\xb9\x82","\xe1\xb9\x81"=>"\xe1\xb9\x80","\xe1\xb8\xbf"=>"\xe1\xb8\xbe",
			"\xe1\xb8\xbd"=>"\xe1\xb8\xbc","\xe1\xb8\xbb"=>"\xe1\xb8\xba","\xe1\xb8\xb9"=>"\xe1\xb8\xb8","\xe1\xb8\xb7"=>"\xe1\xb8\xb6",
			"\xe1\xb8\xb5"=>"\xe1\xb8\xb4","\xe1\xb8\xb3"=>"\xe1\xb8\xb2","\xe1\xb8\xb1"=>"\xe1\xb8\xb0","\xe1\xb8\xaf"=>"\xe1\xb8\xae",
			"\xe1\xb8\xad"=>"\xe1\xb8\xac","\xe1\xb8\xab"=>"\xe1\xb8\xaa","\xe1\xb8\xa9"=>"\xe1\xb8\xa8","\xe1\xb8\xa7"=>"\xe1\xb8\xa6",
			"\xe1\xb8\xa5"=>"\xe1\xb8\xa4","\xe1\xb8\xa3"=>"\xe1\xb8\xa2","\xe1\xb8\xa1"=>"\xe1\xb8\xa0","\xe1\xb8\x9f"=>"\xe1\xb8\x9e",
			"\xe1\xb8\x9d"=>"\xe1\xb8\x9c","\xe1\xb8\x9b"=>"\xe1\xb8\x9a","\xe1\xb8\x99"=>"\xe1\xb8\x98","\xe1\xb8\x97"=>"\xe1\xb8\x96",
			"\xe1\xb8\x95"=>"\xe1\xb8\x94","\xe1\xb8\x93"=>"\xe1\xb8\x92","\xe1\xb8\x91"=>"\xe1\xb8\x90","\xe1\xb8\x8f"=>"\xe1\xb8\x8e",
			"\xe1\xb8\x8d"=>"\xe1\xb8\x8c","\xe1\xb8\x8b"=>"\xe1\xb8\x8a","\xe1\xb8\x89"=>"\xe1\xb8\x88","\xe1\xb8\x87"=>"\xe1\xb8\x86",
			"\xe1\xb8\x85"=>"\xe1\xb8\x84","\xe1\xb8\x83"=>"\xe1\xb8\x82","\xe1\xb8\x81"=>"\xe1\xb8\x80","\xe1\xb5\xbd"=>"\xe2\xb1\xa3",
			"\xe1\xb5\xb9"=>"\xea\x9d\xbd","\xd6\x86"=>"\xd5\x96","\xd6\x85"=>"\xd5\x95","\xd6\x84"=>"\xd5\x94",
			"\xd6\x83"=>"\xd5\x93","\xd6\x82"=>"\xd5\x92","\xd6\x81"=>"\xd5\x91","\xd6\x80"=>"\xd5\x90",
			"\xd5\xbf"=>"\xd5\x8f","\xd5\xbe"=>"\xd5\x8e","\xd5\xbd"=>"\xd5\x8d","\xd5\xbc"=>"\xd5\x8c",
			"\xd5\xbb"=>"\xd5\x8b","\xd5\xba"=>"\xd5\x8a","\xd5\xb9"=>"\xd5\x89","\xd5\xb8"=>"\xd5\x88",
			"\xd5\xb7"=>"\xd5\x87","\xd5\xb6"=>"\xd5\x86","\xd5\xb5"=>"\xd5\x85","\xd5\xb4"=>"\xd5\x84",
			"\xd5\xb3"=>"\xd5\x83","\xd5\xb2"=>"\xd5\x82","\xd5\xb1"=>"\xd5\x81","\xd5\xb0"=>"\xd5\x80",
			"\xd5\xaf"=>"\xd4\xbf","\xd5\xae"=>"\xd4\xbe","\xd5\xad"=>"\xd4\xbd","\xd5\xac"=>"\xd4\xbc",
			"\xd5\xab"=>"\xd4\xbb","\xd5\xaa"=>"\xd4\xba","\xd5\xa9"=>"\xd4\xb9","\xd5\xa8"=>"\xd4\xb8",
			"\xd5\xa7"=>"\xd4\xb7","\xd5\xa6"=>"\xd4\xb6","\xd5\xa5"=>"\xd4\xb5","\xd5\xa4"=>"\xd4\xb4",
			"\xd5\xa3"=>"\xd4\xb3","\xd5\xa2"=>"\xd4\xb2","\xd5\xa1"=>"\xd4\xb1","\xd4\xa5"=>"\xd4\xa4",
			"\xd4\xa3"=>"\xd4\xa2","\xd4\xa1"=>"\xd4\xa0","\xd4\x9f"=>"\xd4\x9e","\xd4\x9d"=>"\xd4\x9c",
			"\xd4\x9b"=>"\xd4\x9a","\xd4\x99"=>"\xd4\x98","\xd4\x97"=>"\xd4\x96","\xd4\x95"=>"\xd4\x94",
			"\xd4\x93"=>"\xd4\x92","\xd4\x91"=>"\xd4\x90","\xd4\x8f"=>"\xd4\x8e","\xd4\x8d"=>"\xd4\x8c",
			"\xd4\x8b"=>"\xd4\x8a","\xd4\x89"=>"\xd4\x88","\xd4\x87"=>"\xd4\x86","\xd4\x85"=>"\xd4\x84",
			"\xd4\x83"=>"\xd4\x82","\xd4\x81"=>"\xd4\x80","\xd3\xbf"=>"\xd3\xbe","\xd3\xbd"=>"\xd3\xbc",
			"\xd3\xbb"=>"\xd3\xba","\xd3\xb9"=>"\xd3\xb8","\xd3\xb7"=>"\xd3\xb6","\xd3\xb5"=>"\xd3\xb4",
			"\xd3\xb3"=>"\xd3\xb2","\xd3\xb1"=>"\xd3\xb0","\xd3\xaf"=>"\xd3\xae","\xd3\xad"=>"\xd3\xac",
			"\xd3\xab"=>"\xd3\xaa","\xd3\xa9"=>"\xd3\xa8","\xd3\xa7"=>"\xd3\xa6","\xd3\xa5"=>"\xd3\xa4",
			"\xd3\xa3"=>"\xd3\xa2","\xd3\xa1"=>"\xd3\xa0","\xd3\x9f"=>"\xd3\x9e","\xd3\x9d"=>"\xd3\x9c",
			"\xd3\x9b"=>"\xd3\x9a","\xd3\x99"=>"\xd3\x98","\xd3\x97"=>"\xd3\x96","\xd3\x95"=>"\xd3\x94",
			"\xd3\x93"=>"\xd3\x92","\xd3\x91"=>"\xd3\x90","\xd3\x8f"=>"\xd3\x80","\xd3\x8e"=>"\xd3\x8d",
			"\xd3\x8c"=>"\xd3\x8b","\xd3\x8a"=>"\xd3\x89","\xd3\x88"=>"\xd3\x87","\xd3\x86"=>"\xd3\x85",
			"\xd3\x84"=>"\xd3\x83","\xd3\x82"=>"\xd3\x81","\xd2\xbf"=>"\xd2\xbe","\xd2\xbd"=>"\xd2\xbc",
			"\xd2\xbb"=>"\xd2\xba","\xd2\xb9"=>"\xd2\xb8","\xd2\xb7"=>"\xd2\xb6","\xd2\xb5"=>"\xd2\xb4",
			"\xd2\xb3"=>"\xd2\xb2","\xd2\xb1"=>"\xd2\xb0","\xd2\xaf"=>"\xd2\xae","\xd2\xad"=>"\xd2\xac",
			"\xd2\xab"=>"\xd2\xaa","\xd2\xa9"=>"\xd2\xa8","\xd2\xa7"=>"\xd2\xa6","\xd2\xa5"=>"\xd2\xa4",
			"\xd2\xa3"=>"\xd2\xa2","\xd2\xa1"=>"\xd2\xa0","\xd2\x9f"=>"\xd2\x9e","\xd2\x9d"=>"\xd2\x9c",
			"\xd2\x9b"=>"\xd2\x9a","\xd2\x99"=>"\xd2\x98","\xd2\x97"=>"\xd2\x96","\xd2\x95"=>"\xd2\x94",
			"\xd2\x93"=>"\xd2\x92","\xd2\x91"=>"\xd2\x90","\xd2\x8f"=>"\xd2\x8e","\xd2\x8d"=>"\xd2\x8c",
			"\xd2\x8b"=>"\xd2\x8a","\xd2\x81"=>"\xd2\x80","\xd1\xbf"=>"\xd1\xbe","\xd1\xbd"=>"\xd1\xbc",
			"\xd1\xbb"=>"\xd1\xba","\xd1\xb9"=>"\xd1\xb8","\xd1\xb7"=>"\xd1\xb6","\xd1\xb5"=>"\xd1\xb4",
			"\xd1\xb3"=>"\xd1\xb2","\xd1\xb1"=>"\xd1\xb0","\xd1\xaf"=>"\xd1\xae","\xd1\xad"=>"\xd1\xac",
			"\xd1\xab"=>"\xd1\xaa","\xd1\xa9"=>"\xd1\xa8","\xd1\xa7"=>"\xd1\xa6","\xd1\xa5"=>"\xd1\xa4",
			"\xd1\xa3"=>"\xd1\xa2","\xd1\xa1"=>"\xd1\xa0","\xd1\x9f"=>"\xd0\x8f","\xd1\x9e"=>"\xd0\x8e",
			"\xd1\x9d"=>"\xd0\x8d","\xd1\x9c"=>"\xd0\x8c","\xd1\x9b"=>"\xd0\x8b","\xd1\x9a"=>"\xd0\x8a",
			"\xd1\x99"=>"\xd0\x89","\xd1\x98"=>"\xd0\x88","\xd1\x97"=>"\xd0\x87","\xd1\x96"=>"\xd0\x86",
			"\xd1\x95"=>"\xd0\x85","\xd1\x94"=>"\xd0\x84","\xd1\x93"=>"\xd0\x83","\xd1\x92"=>"\xd0\x82",
			"\xd1\x91"=>"\xd0\x81","\xd1\x90"=>"\xd0\x80","\xd1\x8f"=>"\xd0\xaf","\xd1\x8e"=>"\xd0\xae",
			"\xd1\x8d"=>"\xd0\xad","\xd1\x8c"=>"\xd0\xac","\xd1\x8b"=>"\xd0\xab","\xd1\x8a"=>"\xd0\xaa",
			"\xd1\x89"=>"\xd0\xa9","\xd1\x88"=>"\xd0\xa8","\xd1\x87"=>"\xd0\xa7","\xd1\x86"=>"\xd0\xa6",
			"\xd1\x85"=>"\xd0\xa5","\xd1\x84"=>"\xd0\xa4","\xd1\x83"=>"\xd0\xa3","\xd1\x82"=>"\xd0\xa2",
			"\xd1\x81"=>"\xd0\xa1","\xd1\x80"=>"\xd0\xa0","\xd0\xbf"=>"\xd0\x9f","\xd0\xbe"=>"\xd0\x9e",
			"\xd0\xbd"=>"\xd0\x9d","\xd0\xbc"=>"\xd0\x9c","\xd0\xbb"=>"\xd0\x9b","\xd0\xba"=>"\xd0\x9a",
			"\xd0\xb9"=>"\xd0\x99","\xd0\xb8"=>"\xd0\x98","\xd0\xb7"=>"\xd0\x97","\xd0\xb6"=>"\xd0\x96",
			"\xd0\xb5"=>"\xd0\x95","\xd0\xb4"=>"\xd0\x94","\xd0\xb3"=>"\xd0\x93","\xd0\xb2"=>"\xd0\x92",
			"\xd0\xb1"=>"\xd0\x91","\xd0\xb0"=>"\xd0\x90","\xcf\xbb"=>"\xcf\xba","\xcf\xb8"=>"\xcf\xb7",
			"\xcf\xb5"=>"\xce\x95","\xcf\xb2"=>"\xcf\xb9","\xcf\xb1"=>"\xce\xa1","\xcf\xb0"=>"\xce\x9a",
			"\xcf\xaf"=>"\xcf\xae","\xcf\xad"=>"\xcf\xac","\xcf\xab"=>"\xcf\xaa","\xcf\xa9"=>"\xcf\xa8",
			"\xcf\xa7"=>"\xcf\xa6","\xcf\xa5"=>"\xcf\xa4","\xcf\xa3"=>"\xcf\xa2","\xcf\xa1"=>"\xcf\xa0",
			"\xcf\x9f"=>"\xcf\x9e","\xcf\x9d"=>"\xcf\x9c","\xcf\x9b"=>"\xcf\x9a","\xcf\x99"=>"\xcf\x98",
			"\xcf\x97"=>"\xcf\x8f","\xcf\x96"=>"\xce\xa0","\xcf\x95"=>"\xce\xa6","\xcf\x91"=>"\xce\x98",
			"\xcf\x90"=>"\xce\x92","\xcf\x8e"=>"\xce\x8f","\xcf\x8d"=>"\xce\x8e","\xcf\x8c"=>"\xce\x8c",
			"\xcf\x8b"=>"\xce\xab","\xcf\x8a"=>"\xce\xaa","\xcf\x89"=>"\xce\xa9","\xcf\x88"=>"\xce\xa8",
			"\xcf\x87"=>"\xce\xa7","\xcf\x86"=>"\xce\xa6","\xcf\x85"=>"\xce\xa5","\xcf\x84"=>"\xce\xa4",
			"\xcf\x83"=>"\xce\xa3","\xcf\x82"=>"\xce\xa3","\xcf\x81"=>"\xce\xa1","\xcf\x80"=>"\xce\xa0",
			"\xce\xbf"=>"\xce\x9f","\xce\xbe"=>"\xce\x9e","\xce\xbd"=>"\xce\x9d","\xce\xbc"=>"\xce\x9c",
			"\xce\xbb"=>"\xce\x9b","\xce\xba"=>"\xce\x9a","\xce\xb9"=>"\xce\x99","\xce\xb8"=>"\xce\x98",
			"\xce\xb7"=>"\xce\x97","\xce\xb6"=>"\xce\x96","\xce\xb5"=>"\xce\x95","\xce\xb4"=>"\xce\x94",
			"\xce\xb3"=>"\xce\x93","\xce\xb2"=>"\xce\x92","\xce\xb1"=>"\xce\x91","\xce\xaf"=>"\xce\x8a",
			"\xce\xae"=>"\xce\x89","\xce\xad"=>"\xce\x88","\xce\xac"=>"\xce\x86","\xcd\xbd"=>"\xcf\xbf",
			"\xcd\xbc"=>"\xcf\xbe","\xcd\xbb"=>"\xcf\xbd","\xcd\xb7"=>"\xcd\xb6","\xcd\xb3"=>"\xcd\xb2",
			"\xcd\xb1"=>"\xcd\xb0","\xca\x92"=>"\xc6\xb7","\xca\x8c"=>"\xc9\x85","\xca\x8b"=>"\xc6\xb2",
			"\xca\x8a"=>"\xc6\xb1","\xca\x89"=>"\xc9\x84","\xca\x88"=>"\xc6\xae","\xca\x83"=>"\xc6\xa9",
			"\xca\x80"=>"\xc6\xa6","\xc9\xbd"=>"\xe2\xb1\xa4","\xc9\xb5"=>"\xc6\x9f","\xc9\xb2"=>"\xc6\x9d",
			"\xc9\xb1"=>"\xe2\xb1\xae","\xc9\xaf"=>"\xc6\x9c","\xc9\xab"=>"\xe2\xb1\xa2","\xc9\xa9"=>"\xc6\x96",
			"\xc9\xa8"=>"\xc6\x97","\xc9\xa5"=>"\xea\x9e\x8d","\xc9\xa3"=>"\xc6\x94","\xc9\xa0"=>"\xc6\x93",
			"\xc9\x9b"=>"\xc6\x90","\xc9\x99"=>"\xc6\x8f","\xc9\x97"=>"\xc6\x8a","\xc9\x96"=>"\xc6\x89",
			"\xc9\x94"=>"\xc6\x86","\xc9\x93"=>"\xc6\x81","\xc9\x92"=>"\xe2\xb1\xb0","\xc9\x91"=>"\xe2\xb1\xad",
			"\xc9\x90"=>"\xe2\xb1\xaf","\xc9\x8f"=>"\xc9\x8e","\xc9\x8d"=>"\xc9\x8c","\xc9\x8b"=>"\xc9\x8a",
			"\xc9\x89"=>"\xc9\x88","\xc9\x87"=>"\xc9\x86","\xc9\x82"=>"\xc9\x81","\xc9\x80"=>"\xe2\xb1\xbf",
			"\xc8\xbf"=>"\xe2\xb1\xbe","\xc8\xbc"=>"\xc8\xbb","\xc8\xb3"=>"\xc8\xb2","\xc8\xb1"=>"\xc8\xb0",
			"\xc8\xaf"=>"\xc8\xae","\xc8\xad"=>"\xc8\xac","\xc8\xab"=>"\xc8\xaa","\xc8\xa9"=>"\xc8\xa8",
			"\xc8\xa7"=>"\xc8\xa6","\xc8\xa5"=>"\xc8\xa4","\xc8\xa3"=>"\xc8\xa2","\xc8\x9f"=>"\xc8\x9e",
			"\xc8\x9d"=>"\xc8\x9c","\xc8\x9b"=>"\xc8\x9a","\xc8\x99"=>"\xc8\x98","\xc8\x97"=>"\xc8\x96",
			"\xc8\x95"=>"\xc8\x94","\xc8\x93"=>"\xc8\x92","\xc8\x91"=>"\xc8\x90","\xc8\x8f"=>"\xc8\x8e",
			"\xc8\x8d"=>"\xc8\x8c","\xc8\x8b"=>"\xc8\x8a","\xc8\x89"=>"\xc8\x88","\xc8\x87"=>"\xc8\x86",
			"\xc8\x85"=>"\xc8\x84","\xc8\x83"=>"\xc8\x82","\xc8\x81"=>"\xc8\x80","\xc7\xbf"=>"\xc7\xbe",
			"\xc7\xbd"=>"\xc7\xbc","\xc7\xbb"=>"\xc7\xba","\xc7\xb9"=>"\xc7\xb8","\xc7\xb5"=>"\xc7\xb4",
			"\xc7\xb3"=>"\xc7\xb2","\xc7\xaf"=>"\xc7\xae","\xc7\xad"=>"\xc7\xac","\xc7\xab"=>"\xc7\xaa",
			"\xc7\xa9"=>"\xc7\xa8","\xc7\xa7"=>"\xc7\xa6","\xc7\xa5"=>"\xc7\xa4","\xc7\xa3"=>"\xc7\xa2",
			"\xc7\xa1"=>"\xc7\xa0","\xc7\x9f"=>"\xc7\x9e","\xc7\x9d"=>"\xc6\x8e","\xc7\x9c"=>"\xc7\x9b",
			"\xc7\x9a"=>"\xc7\x99","\xc7\x98"=>"\xc7\x97","\xc7\x96"=>"\xc7\x95","\xc7\x94"=>"\xc7\x93",
			"\xc7\x92"=>"\xc7\x91","\xc7\x90"=>"\xc7\x8f","\xc7\x8e"=>"\xc7\x8d","\xc7\x8c"=>"\xc7\x8b",
			"\xc7\x89"=>"\xc7\x88","\xc7\x86"=>"\xc7\x85","\xc6\xbf"=>"\xc7\xb7","\xc6\xbd"=>"\xc6\xbc",
			"\xc6\xb9"=>"\xc6\xb8","\xc6\xb6"=>"\xc6\xb5","\xc6\xb4"=>"\xc6\xb3","\xc6\xb0"=>"\xc6\xaf",
			"\xc6\xad"=>"\xc6\xac","\xc6\xa8"=>"\xc6\xa7","\xc6\xa5"=>"\xc6\xa4","\xc6\xa3"=>"\xc6\xa2",
			"\xc6\xa1"=>"\xc6\xa0","\xc6\x9e"=>"\xc8\xa0","\xc6\x9a"=>"\xc8\xbd","\xc6\x99"=>"\xc6\x98",
			"\xc6\x95"=>"\xc7\xb6","\xc6\x92"=>"\xc6\x91","\xc6\x8c"=>"\xc6\x8b","\xc6\x88"=>"\xc6\x87",
			"\xc6\x85"=>"\xc6\x84","\xc6\x83"=>"\xc6\x82","\xc6\x80"=>"\xc9\x83","\xc5\xbf"=>"\x53",
			"\xc5\xbe"=>"\xc5\xbd","\xc5\xbc"=>"\xc5\xbb","\xc5\xba"=>"\xc5\xb9","\xc5\xb7"=>"\xc5\xb6",
			"\xc5\xb5"=>"\xc5\xb4","\xc5\xb3"=>"\xc5\xb2","\xc5\xb1"=>"\xc5\xb0","\xc5\xaf"=>"\xc5\xae",
			"\xc5\xad"=>"\xc5\xac","\xc5\xab"=>"\xc5\xaa","\xc5\xa9"=>"\xc5\xa8","\xc5\xa7"=>"\xc5\xa6",
			"\xc5\xa5"=>"\xc5\xa4","\xc5\xa3"=>"\xc5\xa2","\xc5\xa1"=>"\xc5\xa0","\xc5\x9f"=>"\xc5\x9e",
			"\xc5\x9d"=>"\xc5\x9c","\xc5\x9b"=>"\xc5\x9a","\xc5\x99"=>"\xc5\x98","\xc5\x97"=>"\xc5\x96",
			"\xc5\x95"=>"\xc5\x94","\xc5\x93"=>"\xc5\x92","\xc5\x91"=>"\xc5\x90","\xc5\x8f"=>"\xc5\x8e",
			"\xc5\x8d"=>"\xc5\x8c","\xc5\x8b"=>"\xc5\x8a","\xc5\x88"=>"\xc5\x87","\xc5\x86"=>"\xc5\x85",
			"\xc5\x84"=>"\xc5\x83","\xc5\x82"=>"\xc5\x81","\xc5\x80"=>"\xc4\xbf","\xc4\xbe"=>"\xc4\xbd",
			"\xc4\xbc"=>"\xc4\xbb","\xc4\xba"=>"\xc4\xb9","\xc4\xb7"=>"\xc4\xb6","\xc4\xb5"=>"\xc4\xb4",
			"\xc4\xb3"=>"\xc4\xb2","\xc4\xb1"=>"\x49","\xc4\xaf"=>"\xc4\xae","\xc4\xad"=>"\xc4\xac",
			"\xc4\xab"=>"\xc4\xaa","\xc4\xa9"=>"\xc4\xa8","\xc4\xa7"=>"\xc4\xa6","\xc4\xa5"=>"\xc4\xa4",
			"\xc4\xa3"=>"\xc4\xa2","\xc4\xa1"=>"\xc4\xa0","\xc4\x9f"=>"\xc4\x9e","\xc4\x9d"=>"\xc4\x9c",
			"\xc4\x9b"=>"\xc4\x9a","\xc4\x99"=>"\xc4\x98","\xc4\x97"=>"\xc4\x96","\xc4\x95"=>"\xc4\x94",
			"\xc4\x93"=>"\xc4\x92","\xc4\x91"=>"\xc4\x90","\xc4\x8f"=>"\xc4\x8e","\xc4\x8d"=>"\xc4\x8c",
			"\xc4\x8b"=>"\xc4\x8a","\xc4\x89"=>"\xc4\x88","\xc4\x87"=>"\xc4\x86","\xc4\x85"=>"\xc4\x84",
			"\xc4\x83"=>"\xc4\x82","\xc4\x81"=>"\xc4\x80","\xc3\xbf"=>"\xc5\xb8","\xc3\xbe"=>"\xc3\x9e",
			"\xc3\xbd"=>"\xc3\x9d","\xc3\xbc"=>"\xc3\x9c","\xc3\xbb"=>"\xc3\x9b","\xc3\xba"=>"\xc3\x9a",
			"\xc3\xb9"=>"\xc3\x99","\xc3\xb8"=>"\xc3\x98","\xc3\xb6"=>"\xc3\x96","\xc3\xb5"=>"\xc3\x95",
			"\xc3\xb4"=>"\xc3\x94","\xc3\xb3"=>"\xc3\x93","\xc3\xb2"=>"\xc3\x92","\xc3\xb1"=>"\xc3\x91",
			"\xc3\xb0"=>"\xc3\x90","\xc3\xaf"=>"\xc3\x8f","\xc3\xae"=>"\xc3\x8e","\xc3\xad"=>"\xc3\x8d",
			"\xc3\xac"=>"\xc3\x8c","\xc3\xab"=>"\xc3\x8b","\xc3\xaa"=>"\xc3\x8a","\xc3\xa9"=>"\xc3\x89",
			"\xc3\xa8"=>"\xc3\x88","\xc3\xa7"=>"\xc3\x87","\xc3\xa6"=>"\xc3\x86","\xc3\xa5"=>"\xc3\x85",
			"\xc3\xa4"=>"\xc3\x84","\xc3\xa3"=>"\xc3\x83","\xc3\xa2"=>"\xc3\x82","\xc3\xa1"=>"\xc3\x81",
			"\xc3\xa0"=>"\xc3\x80","\xc2\xb5"=>"\xce\x9c","\x7a"=>"\x5a","\x79"=>"\x59",
			"\x78"=>"\x58","\x77"=>"\x57","\x76"=>"\x56","\x75"=>"\x55",
			"\x74"=>"\x54","\x73"=>"\x53","\x72"=>"\x52","\x71"=>"\x51",
			"\x70"=>"\x50","\x6f"=>"\x4f","\x6e"=>"\x4e","\x6d"=>"\x4d",
			"\x6c"=>"\x4c","\x6b"=>"\x4b","\x6a"=>"\x4a","\x69"=>"\x49",
			"\x68"=>"\x48","\x67"=>"\x47","\x66"=>"\x46","\x65"=>"\x45",
			"\x64"=>"\x44","\x63"=>"\x43","\x62"=>"\x42","\x61"=>"\x41"
		);

		return self::$utf8CharUpperCaseMap;
	}


}

Spamworldpro Mini