GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( cac676...2c1c8e )
by gyeong-won
24:40 queued 13:58
created
classes/xml/XmlParser.class.php 3 patches
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -151,7 +151,7 @@  discard block
 block discarded – undo
151 151
 
152 152
 	/**
153 153
 	 * Start element handler.
154
-	 * @param resource $parse an instance of parser
154
+	 * @param resource $parser an instance of parser
155 155
 	 * @param string $node_name a name of node
156 156
 	 * @param array $attrs attributes to be set
157 157
 	 * @return array
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
 	/**
169 169
 	 * Character data handler
170 170
 	 * Variable in the last element of this->output
171
-	 * @param resource $parse an instance of parser
171
+	 * @param resource $parser an instance of parser
172 172
 	 * @param string $body a data to be added
173 173
 	 * @return void
174 174
 	 */
@@ -180,7 +180,7 @@  discard block
 block discarded – undo
180 180
 
181 181
 	/**
182 182
 	 * End element handler
183
-	 * @param resource $parse an instance of parser
183
+	 * @param resource $parser an instance of parser
184 184
 	 * @param string $node_name name of xml node
185 185
 	 * @return void
186 186
 	 */
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
 	 */
70 70
 	function loadXmlFile($filename)
71 71
 	{
72
-		if(!file_exists($filename))
72
+		if (!file_exists($filename))
73 73
 		{
74 74
 			return;
75 75
 		}
@@ -89,7 +89,7 @@  discard block
 block discarded – undo
89 89
 	function parse($input = '', $arg1 = NULL, $arg2 = NULL)
90 90
 	{
91 91
 		// Save the compile starting time for debugging
92
-		if(__DEBUG__ == 3)
92
+		if (__DEBUG__ == 3)
93 93
 		{
94 94
 			$start = getMicroTime();
95 95
 		}
@@ -103,13 +103,13 @@  discard block
 block discarded – undo
103 103
 		preg_match_all("/xml:lang=\"([^\"].+)\"/i", $this->input, $matches);
104 104
 
105 105
 		// extracts the supported lanuage when xml:lang is used
106
-		if(count($matches[1]) && $supported_lang = array_unique($matches[1]))
106
+		if (count($matches[1]) && $supported_lang = array_unique($matches[1]))
107 107
 		{
108 108
 			$tmpLangList = array_flip($supported_lang);
109 109
 			// if lang of the first log-in user doesn't exist, apply en by default if exists. Otherwise apply the first lang.
110
-			if(!isset($tmpLangList[$this->lang]))
110
+			if (!isset($tmpLangList[$this->lang]))
111 111
 			{
112
-				if(isset($tmpLangList['en']))
112
+				if (isset($tmpLangList['en']))
113 113
 				{
114 114
 					$this->lang = 'en';
115 115
 				}
@@ -134,14 +134,14 @@  discard block
 block discarded – undo
134 134
 		xml_parse($this->oParser, $this->input);
135 135
 		xml_parser_free($this->oParser);
136 136
 
137
-		if(!count($this->output))
137
+		if (!count($this->output))
138 138
 		{
139 139
 			return;
140 140
 		}
141 141
 
142 142
 		$output = array_shift($this->output);
143 143
 		// Save compile starting time for debugging
144
-		if(__DEBUG__ == 3)
144
+		if (__DEBUG__ == 3)
145 145
 		{
146 146
 			$GLOBALS['__xmlparse_elapsed__'] += getMicroTime() - $start;
147 147
 		}
@@ -189,19 +189,19 @@  discard block
 block discarded – undo
189 189
 		$node_name = strtolower($node_name);
190 190
 		$cur_obj = array_pop($this->output);
191 191
 		$parent_obj = &$this->output[count($this->output) - 1];
192
-		if($this->lang && $cur_obj->attrs->{'xml:lang'} && $cur_obj->attrs->{'xml:lang'} != $this->lang)
192
+		if ($this->lang && $cur_obj->attrs->{'xml:lang'} && $cur_obj->attrs->{'xml:lang'} != $this->lang)
193 193
 		{
194 194
 			return;
195 195
 		}
196
-		if($this->lang && $parent_obj->{$node_name}->attrs->{'xml:lang'} && $parent_obj->{$node_name}->attrs->{'xml:lang'} != $this->lang)
196
+		if ($this->lang && $parent_obj->{$node_name}->attrs->{'xml:lang'} && $parent_obj->{$node_name}->attrs->{'xml:lang'} != $this->lang)
197 197
 		{
198 198
 			return;
199 199
 		}
200 200
 
201
-		if(isset($parent_obj->{$node_name}))
201
+		if (isset($parent_obj->{$node_name}))
202 202
 		{
203 203
 			$tmp_obj = $parent_obj->{$node_name};
204
-			if(is_array($tmp_obj))
204
+			if (is_array($tmp_obj))
205 205
 			{
206 206
 				$parent_obj->{$node_name}[] = $cur_obj;
207 207
 			}
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
 		}
213 213
 		else
214 214
 		{
215
-			if(!is_object($parent_obj))
215
+			if (!is_object($parent_obj))
216 216
 			{
217 217
 				$parent_obj = (object) $parent_obj;
218 218
 			}
@@ -229,7 +229,7 @@  discard block
 block discarded – undo
229 229
 	function _arrToAttrsObj($arr)
230 230
 	{
231 231
 		$output = new Xml_Node_();
232
-		foreach($arr as $key => $val)
232
+		foreach ($arr as $key => $val)
233 233
 		{
234 234
 			$key = strtolower($key);
235 235
 			$output->{$key} = $val;
Please login to merge, or discard this patch.
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -112,15 +112,13 @@  discard block
 block discarded – undo
112 112
 				if(isset($tmpLangList['en']))
113 113
 				{
114 114
 					$this->lang = 'en';
115
-				}
116
-				else
115
+				} else
117 116
 				{
118 117
 					$this->lang = array_shift($supported_lang);
119 118
 				}
120 119
 			}
121 120
 			// uncheck the language if no specific language is set.
122
-		}
123
-		else
121
+		} else
124 122
 		{
125 123
 			$this->lang = '';
126 124
 		}
@@ -204,13 +202,11 @@  discard block
 block discarded – undo
204 202
 			if(is_array($tmp_obj))
205 203
 			{
206 204
 				$parent_obj->{$node_name}[] = $cur_obj;
207
-			}
208
-			else
205
+			} else
209 206
 			{
210 207
 				$parent_obj->{$node_name} = array($tmp_obj, $cur_obj);
211 208
 			}
212
-		}
213
-		else
209
+		} else
214 210
 		{
215 211
 			if(!is_object($parent_obj))
216 212
 			{
Please login to merge, or discard this patch.
classes/xml/xmlquery/argument/Argument.class.php 3 patches
Doc Comments   +6 added lines patch added patch discarded remove patch
@@ -90,6 +90,9 @@  discard block
 block discarded – undo
90 90
 		$this->type = $value;
91 91
 	}
92 92
 
93
+	/**
94
+	 * @param string $operation
95
+	 */
93 96
 	function setColumnOperation($operation)
94 97
 	{
95 98
 		$this->column_operation = $operation;
@@ -282,6 +285,9 @@  discard block
 block discarded – undo
282 285
 		return $this->errorMessage;
283 286
 	}
284 287
 
288
+	/**
289
+	 * @param integer $default_value
290
+	 */
285 291
 	function ensureDefaultValue($default_value)
286 292
 	{
287 293
 		if($this->value === NULL || $this->value === '')
Please login to merge, or discard this patch.
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -180,8 +180,7 @@  discard block
 block discarded – undo
180 180
 			if(!is_array($value))
181 181
 			{
182 182
 				$value = $this->_escapeStringValue($value);
183
-			}
184
-			else
183
+			} else
185 184
 			{
186 185
 				foreach($value as $key=>$val)
187 186
 				{
@@ -204,8 +203,7 @@  discard block
 block discarded – undo
204 203
 						$value[$key] = (int) $val;
205 204
 					}
206 205
 				}
207
-			}
208
-			else
206
+			} else
209 207
 			{
210 208
 				$value = (int) $value;
211 209
 			}
@@ -236,8 +234,7 @@  discard block
 block discarded – undo
236 234
 		{
237 235
 			// Valid byte sequence. Return unmodified.
238 236
 			return $captures[1];
239
-		}
240
-		else if(strlen($captures[2]))
237
+		} else if(strlen($captures[2]))
241 238
 		{
242 239
 			// Remove user defined area
243 240
 			if("\xF3\xB0\x80\x80" <= $captures[2])
@@ -246,8 +243,7 @@  discard block
 block discarded – undo
246 243
 			}
247 244
 
248 245
 			return $captures[2];
249
-		}
250
-		else
246
+		} else
251 247
 		{
252 248
 			return;
253 249
 		}
Please login to merge, or discard this patch.
Spacing   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -73,11 +73,11 @@  discard block
 block discarded – undo
73 73
 
74 74
 	function getType()
75 75
 	{
76
-		if(isset($this->type))
76
+		if (isset($this->type))
77 77
 		{
78 78
 			return $this->type;
79 79
 		}
80
-		if(is_string($this->value))
80
+		if (is_string($this->value))
81 81
 		{
82 82
 			return 'column_name';
83 83
 		}
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 
103 103
 	function getValue()
104 104
 	{
105
-		if(!isset($this->_value))
105
+		if (!isset($this->_value))
106 106
 		{
107 107
 			$value = $this->getEscapedValue();
108 108
 			$this->_value = $this->toString($value);
@@ -127,7 +127,7 @@  discard block
 block discarded – undo
127 127
 
128 128
 	function getUnescapedValue()
129 129
 	{
130
-		if($this->value === 'null')
130
+		if ($this->value === 'null')
131 131
 		{
132 132
 			return null;
133 133
 		}
@@ -141,17 +141,17 @@  discard block
 block discarded – undo
141 141
 	 */
142 142
 	function toString($value)
143 143
 	{
144
-		if(is_array($value))
144
+		if (is_array($value))
145 145
 		{
146
-			if(count($value) === 0)
146
+			if (count($value) === 0)
147 147
 			{
148 148
 				return '';
149 149
 			}
150
-			if(count($value) === 1 && $value[0] === '')
150
+			if (count($value) === 1 && $value[0] === '')
151 151
 			{
152 152
 				return '';
153 153
 			}
154
-			return '(' . implode(',', $value) . ')';
154
+			return '('.implode(',', $value).')';
155 155
 		}
156 156
 		return $value;
157 157
 	}
@@ -164,42 +164,42 @@  discard block
 block discarded – undo
164 164
 	function escapeValue($value)
165 165
 	{
166 166
 		$column_type = $this->getType();
167
-		if($column_type == 'column_name')
167
+		if ($column_type == 'column_name')
168 168
 		{
169 169
 			$dbParser = DB::getParser();
170 170
 			return $dbParser->parseExpression($value);
171 171
 		}
172
-		if(!isset($value))
172
+		if (!isset($value))
173 173
 		{
174 174
 			return null;
175 175
 		}
176 176
 
177 177
 		$columnTypeList = array('date' => 1, 'varchar' => 1, 'char' => 1, 'text' => 1, 'bigtext' => 1);
178
-		if(isset($columnTypeList[$column_type]))
178
+		if (isset($columnTypeList[$column_type]))
179 179
 		{
180
-			if(!is_array($value))
180
+			if (!is_array($value))
181 181
 			{
182 182
 				$value = $this->_escapeStringValue($value);
183 183
 			}
184 184
 			else
185 185
 			{
186
-				foreach($value as $key=>$val)
186
+				foreach ($value as $key=>$val)
187 187
 				{
188 188
 					$value[$key] = $this->_escapeStringValue($val);
189 189
 				}
190 190
 			}
191 191
 		}
192
-		if($this->uses_default_value)
192
+		if ($this->uses_default_value)
193 193
 		{
194 194
 			return $value;
195 195
 		}
196
-		if($column_type == 'number')
196
+		if ($column_type == 'number')
197 197
 		{
198
-			if(is_array($value))
198
+			if (is_array($value))
199 199
 			{
200
-				foreach($value AS $key => $val)
200
+				foreach ($value AS $key => $val)
201 201
 				{
202
-					if(isset($val) && $val !== '')
202
+					if (isset($val) && $val !== '')
203 203
 					{
204 204
 						$value[$key] = (int) $val;
205 205
 					}
@@ -227,20 +227,20 @@  discard block
 block discarded – undo
227 227
 		$value = preg_replace_callback($regex, array($this, 'utf8Replacer'), $value);
228 228
 		$db = DB::getInstance();
229 229
 		$value = $db->addQuotes($value);
230
-		return '\'' . $value . '\'';
230
+		return '\''.$value.'\'';
231 231
 	}
232 232
 
233 233
 	function utf8Replacer($captures)
234 234
 	{
235
-		if(strlen($captures[1]))
235
+		if (strlen($captures[1]))
236 236
 		{
237 237
 			// Valid byte sequence. Return unmodified.
238 238
 			return $captures[1];
239 239
 		}
240
-		else if(strlen($captures[2]))
240
+		else if (strlen($captures[2]))
241 241
 		{
242 242
 			// Remove user defined area
243
-			if("\xF3\xB0\x80\x80" <= $captures[2])
243
+			if ("\xF3\xB0\x80\x80" <= $captures[2])
244 244
 			{
245 245
 				return;
246 246
 			}
@@ -262,15 +262,15 @@  discard block
 block discarded – undo
262 262
 	{
263 263
 		$type = $this->getType();
264 264
 		$value = $this->getUnescapedValue();
265
-		if($type == 'column_name')
265
+		if ($type == 'column_name')
266 266
 		{
267 267
 			return TRUE;
268 268
 		}
269
-		if($type == 'number' && is_null($value))
269
+		if ($type == 'number' && is_null($value))
270 270
 		{
271 271
 			return FALSE;
272 272
 		}
273
-		if($type == 'number' && !is_numeric($value) && $this->uses_default_value)
273
+		if ($type == 'number' && !is_numeric($value) && $this->uses_default_value)
274 274
 		{
275 275
 			return TRUE;
276 276
 		}
@@ -284,7 +284,7 @@  discard block
 block discarded – undo
284 284
 
285 285
 	function ensureDefaultValue($default_value)
286 286
 	{
287
-		if($this->value === NULL || $this->value === '')
287
+		if ($this->value === NULL || $this->value === '')
288 288
 		{
289 289
 			$this->value = $default_value;
290 290
 			$this->uses_default_value = TRUE;
@@ -298,23 +298,23 @@  discard block
 block discarded – undo
298 298
 	 */
299 299
 	function checkFilter($filter_type)
300 300
 	{
301
-		if(isset($this->value) && $this->value != '')
301
+		if (isset($this->value) && $this->value != '')
302 302
 		{
303 303
 			global $lang;
304 304
 			$val = $this->value;
305 305
 			$key = $this->name;
306
-			switch($filter_type)
306
+			switch ($filter_type)
307 307
 			{
308 308
 				case 'email' :
309 309
 				case 'email_address' :
310
-					if(!preg_match('/^[\w-]+((?:\.|\+|\~)[\w-]+)*@[\w-]+(\.[\w-]+)+$/is', $val))
310
+					if (!preg_match('/^[\w-]+((?:\.|\+|\~)[\w-]+)*@[\w-]+(\.[\w-]+)+$/is', $val))
311 311
 					{
312 312
 						$this->isValid = FALSE;
313 313
 						$this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_email, $lang->{$key} ? $lang->{$key} : $key));
314 314
 					}
315 315
 					break;
316 316
 				case 'homepage' :
317
-					if(!preg_match('/^(http|https)+(:\/\/)+[0-9a-z_-]+\.[^ ]+$/is', $val))
317
+					if (!preg_match('/^(http|https)+(:\/\/)+[0-9a-z_-]+\.[^ ]+$/is', $val))
318 318
 					{
319 319
 						$this->isValid = FALSE;
320 320
 						$this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_homepage, $lang->{$key} ? $lang->{$key} : $key));
@@ -322,7 +322,7 @@  discard block
 block discarded – undo
322 322
 					break;
323 323
 				case 'userid' :
324 324
 				case 'user_id' :
325
-					if(!preg_match('/^[a-zA-Z]+([_0-9a-zA-Z]+)*$/is', $val))
325
+					if (!preg_match('/^[a-zA-Z]+([_0-9a-zA-Z]+)*$/is', $val))
326 326
 					{
327 327
 						$this->isValid = FALSE;
328 328
 						$this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_userid, $lang->{$key} ? $lang->{$key} : $key));
@@ -330,25 +330,25 @@  discard block
 block discarded – undo
330 330
 					break;
331 331
 				case 'number' :
332 332
 				case 'numbers' :
333
-					if(is_array($val))
333
+					if (is_array($val))
334 334
 					{
335 335
 						$val = join(',', $val);
336 336
 					}
337
-					if(!preg_match('/^(-?)[0-9]+(,\-?[0-9]+)*$/is', $val))
337
+					if (!preg_match('/^(-?)[0-9]+(,\-?[0-9]+)*$/is', $val))
338 338
 					{
339 339
 						$this->isValid = FALSE;
340 340
 						$this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_number, $lang->{$key} ? $lang->{$key} : $key));
341 341
 					}
342 342
 					break;
343 343
 				case 'alpha' :
344
-					if(!preg_match('/^[a-z]+$/is', $val))
344
+					if (!preg_match('/^[a-z]+$/is', $val))
345 345
 					{
346 346
 						$this->isValid = FALSE;
347 347
 						$this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_alpha, $lang->{$key} ? $lang->{$key} : $key));
348 348
 					}
349 349
 					break;
350 350
 				case 'alpha_number' :
351
-					if(!preg_match('/^[0-9a-z]+$/is', $val))
351
+					if (!preg_match('/^[0-9a-z]+$/is', $val))
352 352
 					{
353 353
 						$this->isValid = FALSE;
354 354
 						$this->errorMessage = new BaseObject(-1, sprintf($lang->filter->invalid_alpha_number, $lang->{$key} ? $lang->{$key} : $key));
@@ -360,7 +360,7 @@  discard block
 block discarded – undo
360 360
 
361 361
 	function checkMaxLength($length)
362 362
 	{
363
-		if($this->value && (strlen($this->value) > $length))
363
+		if ($this->value && (strlen($this->value) > $length))
364 364
 		{
365 365
 			global $lang;
366 366
 			$this->isValid = FALSE;
@@ -371,7 +371,7 @@  discard block
 block discarded – undo
371 371
 
372 372
 	function checkMinLength($length)
373 373
 	{
374
-		if($this->value && (strlen($this->value) < $length))
374
+		if ($this->value && (strlen($this->value) < $length))
375 375
 		{
376 376
 			global $lang;
377 377
 			$this->isValid = FALSE;
@@ -382,7 +382,7 @@  discard block
 block discarded – undo
382 382
 
383 383
 	function checkNotNull()
384 384
 	{
385
-		if(!isset($this->value))
385
+		if (!isset($this->value))
386 386
 		{
387 387
 			global $lang;
388 388
 			$this->isValid = FALSE;
Please login to merge, or discard this patch.
classes/xml/xmlquery/argument/ConditionArgument.class.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -116,7 +116,7 @@
 block discarded – undo
116 116
 	 * In this case, the column type is retrieved according to argument
117 117
 	 * value type (using the PHP function is_numeric).
118 118
 	 *
119
-	 * @return type string
119
+	 * @return string string
120 120
 	 */
121 121
 	function getType()
122 122
 	{
Please login to merge, or discard this patch.
Braces   +5 added lines, -10 removed lines patch added patch discarded remove patch
@@ -56,8 +56,7 @@  discard block
 block discarded – undo
56 56
 				if(defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1')
57 57
 				{
58 58
 					$this->value = '^' . str_replace('%', '(.*)', preg_quote($value));
59
-				}
60
-				else
59
+				} else
61 60
 				{
62 61
 					$this->value = $value . '%';
63 62
 				}
@@ -66,8 +65,7 @@  discard block
 block discarded – undo
66 65
 				if(defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1')
67 66
 				{
68 67
 					$this->value = str_replace('%', '(.*)', preg_quote($value)) . '$';
69
-				}
70
-				else
68
+				} else
71 69
 				{
72 70
 					$this->value = '%' . $value;
73 71
 				}
@@ -76,8 +74,7 @@  discard block
 block discarded – undo
76 74
 				if(defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1')
77 75
 				{
78 76
 					$this->value = str_replace('%', '(.*)', preg_quote($value));
79
-				}
80
-				else
77
+				} else
81 78
 				{
82 79
 					$this->value = '%' . $value . '%';
83 80
 				}
@@ -123,12 +120,10 @@  discard block
 block discarded – undo
123 120
 		if($this->type)
124 121
 		{
125 122
 			return $this->type;
126
-		}
127
-		else if(!is_numeric($this->value))
123
+		} else if(!is_numeric($this->value))
128 124
 		{
129 125
 			return 'varchar';
130
-		}
131
-		else
126
+		} else
132 127
 		{
133 128
 			return '';
134 129
 		}
Please login to merge, or discard this patch.
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
 	function ConditionArgument($name, $value, $operation)
27 27
 	{
28 28
 		$operationList = array('in' => 1, 'notin' => 1, 'not_in' => 1, 'between' => 1);
29
-		if(isset($value) && isset($operationList[$operation]) && !is_array($value) && $value != '')
29
+		if (isset($value) && isset($operationList[$operation]) && !is_array($value) && $value != '')
30 30
 		{
31 31
 			$value = str_replace(' ', '', $value);
32 32
 			$value = str_replace('\'', '', $value);
@@ -42,7 +42,7 @@  discard block
 block discarded – undo
42 42
 	 */
43 43
 	function createConditionValue()
44 44
 	{
45
-		if(!isset($this->value))
45
+		if (!isset($this->value))
46 46
 		{
47 47
 			return;
48 48
 		}
@@ -50,56 +50,56 @@  discard block
 block discarded – undo
50 50
 		$operation = $this->operation;
51 51
 		$value = $this->value;
52 52
 
53
-		switch($operation)
53
+		switch ($operation)
54 54
 		{
55 55
 			case 'like_prefix' :
56
-				if(defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1')
56
+				if (defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1')
57 57
 				{
58
-					$this->value = '^' . str_replace('%', '(.*)', preg_quote($value));
58
+					$this->value = '^'.str_replace('%', '(.*)', preg_quote($value));
59 59
 				}
60 60
 				else
61 61
 				{
62
-					$this->value = $value . '%';
62
+					$this->value = $value.'%';
63 63
 				}
64 64
 				break;
65 65
 			case 'like_tail' :
66
-				if(defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1')
66
+				if (defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1')
67 67
 				{
68
-					$this->value = str_replace('%', '(.*)', preg_quote($value)) . '$';
68
+					$this->value = str_replace('%', '(.*)', preg_quote($value)).'$';
69 69
 				}
70 70
 				else
71 71
 				{
72
-					$this->value = '%' . $value;
72
+					$this->value = '%'.$value;
73 73
 				}
74 74
 				break;
75 75
 			case 'like' :
76
-				if(defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1')
76
+				if (defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1')
77 77
 				{
78 78
 					$this->value = str_replace('%', '(.*)', preg_quote($value));
79 79
 				}
80 80
 				else
81 81
 				{
82
-					$this->value = '%' . $value . '%';
82
+					$this->value = '%'.$value.'%';
83 83
 				}
84 84
 				break;
85 85
 			case 'notlike' :
86
-				$this->value = '%' . $value . '%';
86
+				$this->value = '%'.$value.'%';
87 87
 				break;
88 88
 			case 'notlike_prefix' :
89
-				$this->value = $value . '%';
89
+				$this->value = $value.'%';
90 90
 				break;
91 91
 			case 'notlike_tail' :
92
-				$this->value = '%' . $value;
92
+				$this->value = '%'.$value;
93 93
 				break;
94 94
 			case 'in':
95
-				if(!is_array($value))
95
+				if (!is_array($value))
96 96
 				{
97 97
 					$this->value = array($value);
98 98
 				}
99 99
 				break;
100 100
 			case 'notin':
101 101
 			case 'not_in':
102
-				if(!is_array($value))
102
+				if (!is_array($value))
103 103
 				{
104 104
 					$this->value = array($value);
105 105
 				}
@@ -120,11 +120,11 @@  discard block
 block discarded – undo
120 120
 	 */
121 121
 	function getType()
122 122
 	{
123
-		if($this->type)
123
+		if ($this->type)
124 124
 		{
125 125
 			return $this->type;
126 126
 		}
127
-		else if(!is_numeric($this->value))
127
+		else if (!is_numeric($this->value))
128 128
 		{
129 129
 			return 'varchar';
130 130
 		}
@@ -136,11 +136,11 @@  discard block
 block discarded – undo
136 136
 
137 137
 	function setColumnType($column_type)
138 138
 	{
139
-		if(!isset($this->value))
139
+		if (!isset($this->value))
140 140
 		{
141 141
 			return;
142 142
 		}
143
-		if($column_type === '')
143
+		if ($column_type === '')
144 144
 		{
145 145
 			return;
146 146
 		}
Please login to merge, or discard this patch.
classes/xml/xmlquery/QueryParser.class.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -28,7 +28,7 @@
 block discarded – undo
28 28
 	 *
29 29
 	 * @param object $query XML object obtained after reading the XML Query file
30 30
 	 * @param bool $isSubQuery
31
-	 * @return void
31
+	 * @return string
32 32
 	 */
33 33
 	function QueryParser($query = NULL, $isSubQuery = FALSE)
34 34
 	{
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -59,8 +59,7 @@
 block discarded – undo
59 59
 			$target = 'modules';
60 60
 			$module = $id_args[0];
61 61
 			$id = $id_args[1];
62
-		}
63
-		else if(count($id_args) == 3)
62
+		} else if(count($id_args) == 3)
64 63
 		{
65 64
 			$target = $id_args[0];
66 65
 			$targetList = array('modules' => 1, 'addons' => 1, 'widgets' => 1);
Please login to merge, or discard this patch.
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
 	 */
33 33
 	function QueryParser($query = NULL, $isSubQuery = FALSE)
34 34
 	{
35
-		if($query)
35
+		if ($query)
36 36
 		{
37 37
 			$this->queryTag = new QueryTag($query, $isSubQuery);
38 38
 		}
@@ -54,17 +54,17 @@  discard block
 block discarded – undo
54 54
 		$module = '';
55 55
 
56 56
 		$id_args = explode('.', $query_id);
57
-		if(count($id_args) == 2)
57
+		if (count($id_args) == 2)
58 58
 		{
59 59
 			$target = 'modules';
60 60
 			$module = $id_args[0];
61 61
 			$id = $id_args[1];
62 62
 		}
63
-		else if(count($id_args) == 3)
63
+		else if (count($id_args) == 3)
64 64
 		{
65 65
 			$target = $id_args[0];
66 66
 			$targetList = array('modules' => 1, 'addons' => 1, 'widgets' => 1);
67
-			if(!isset($targetList[$target]))
67
+			if (!isset($targetList[$target]))
68 68
 			{
69 69
 				return;
70 70
 			}
@@ -74,33 +74,33 @@  discard block
 block discarded – undo
74 74
 
75 75
 		// get column properties from the table
76 76
 		$table_file = sprintf('%s%s/%s/schemas/%s.xml', _XE_PATH_, 'modules', $module, $table_name);
77
-		if(!file_exists($table_file))
77
+		if (!file_exists($table_file))
78 78
 		{
79
-			$searched_list = FileHandler::readDir(_XE_PATH_ . 'modules');
79
+			$searched_list = FileHandler::readDir(_XE_PATH_.'modules');
80 80
 			$searched_count = count($searched_list);
81
-			for($i = 0; $i < $searched_count; $i++)
81
+			for ($i = 0; $i < $searched_count; $i++)
82 82
 			{
83 83
 				$table_file = sprintf('%s%s/%s/schemas/%s.xml', _XE_PATH_, 'modules', $searched_list[$i], $table_name);
84
-				if(file_exists($table_file))
84
+				if (file_exists($table_file))
85 85
 				{
86 86
 					break;
87 87
 				}
88 88
 			}
89 89
 		}
90 90
 
91
-		if(file_exists($table_file))
91
+		if (file_exists($table_file))
92 92
 		{
93 93
 			$table_xml = FileHandler::readFile($table_file);
94 94
 			$xml_parser = new XmlParser();
95 95
 			$table_obj = $xml_parser->parse($table_xml);
96
-			if($table_obj->table)
96
+			if ($table_obj->table)
97 97
 			{
98
-				if(isset($table_obj->table->column) && !is_array($table_obj->table->column))
98
+				if (isset($table_obj->table->column) && !is_array($table_obj->table->column))
99 99
 				{
100 100
 					$table_obj->table->column = array($table_obj->table->column);
101 101
 				}
102 102
 
103
-				foreach($table_obj->table->column as $k => $v)
103
+				foreach ($table_obj->table->column as $k => $v)
104 104
 				{
105 105
 					$column_type[$v->attrs->name] = $v->attrs->type;
106 106
 				}
Please login to merge, or discard this patch.
classes/xml/xmlquery/tags/query/QueryTag.class.php 3 patches
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -169,6 +169,9 @@
 block discarded – undo
169 169
 		return $this->query->attrs->action;
170 170
 	}
171 171
 
172
+	/**
173
+	 * @param TablesTag $tables
174
+	 */
172 175
 	function setTableColumnTypes($tables)
173 176
 	{
174 177
 		$query_id = $this->getQueryId();
Please login to merge, or discard this patch.
Braces   +6 added lines, -12 removed lines patch added patch discarded remove patch
@@ -195,16 +195,13 @@  discard block
 block discarded – undo
195 195
 		if($this->action == 'select')
196 196
 		{
197 197
 			return $this->columns = new SelectColumnsTag($this->query->columns);
198
-		}
199
-		else if($this->action == 'insert' || $this->action == 'insert-select')
198
+		} else if($this->action == 'insert' || $this->action == 'insert-select')
200 199
 		{
201 200
 			return $this->columns = new InsertColumnsTag($this->query->columns->column);
202
-		}
203
-		else if($this->action == 'update')
201
+		} else if($this->action == 'update')
204 202
 		{
205 203
 			return $this->columns = new UpdateColumnsTag($this->query->columns->column);
206
-		}
207
-		else if($this->action == 'delete')
204
+		} else if($this->action == 'delete')
208 205
 		{
209 206
 			return $this->columns = null;
210 207
 		}
@@ -237,8 +234,7 @@  discard block
 block discarded – undo
237 234
 						{
238 235
 							$column_type = $this->column_type[$this->getQueryId()][$table_alias][$argument->getColumnName()];
239 236
 						}
240
-					}
241
-					else
237
+					} else
242 238
 					{
243 239
 						$current_tables = $this->column_type[$this->getQueryId()];
244 240
 						$column_name = $argument->getColumnName();
@@ -316,8 +312,7 @@  discard block
 block discarded – undo
316 312
 		if($this->query->index_hint && ($this->query->index_hint->attrs->for == 'ALL' || Context::getDBType() == strtolower($this->query->index_hint->attrs->for)))
317 313
 		{
318 314
 			return $this->tables = new TablesTag($this->query->tables, $this->query->index_hint);
319
-		}
320
-		else
315
+		} else
321 316
 		{
322 317
 			return $this->tables = new TablesTag($this->query->tables);
323 318
 		}
@@ -341,8 +336,7 @@  discard block
 block discarded – undo
341 336
 		if($this->query->groups)
342 337
 		{
343 338
 			return $this->groups = new GroupsTag($this->query->groups->group);
344
-		}
345
-		else
339
+		} else
346 340
 		{
347 341
 			return $this->groups = new GroupsTag(NULL);
348 342
 		}
Please login to merge, or discard this patch.
Spacing   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -126,11 +126,11 @@  discard block
 block discarded – undo
126 126
 		$this->priority = $query->attrs->priority;
127 127
 		$this->query = $query;
128 128
 		$this->isSubQuery = $isSubQuery;
129
-		if($this->isSubQuery)
129
+		if ($this->isSubQuery)
130 130
 		{
131 131
 			$this->action = 'select';
132 132
 		}
133
-		if($query->attrs->alias)
133
+		if ($query->attrs->alias)
134 134
 		{
135 135
 			$dbParser = DB::getParser();
136 136
 			$this->alias = $dbParser->escape($query->attrs->alias);
@@ -172,13 +172,13 @@  discard block
 block discarded – undo
172 172
 	function setTableColumnTypes($tables)
173 173
 	{
174 174
 		$query_id = $this->getQueryId();
175
-		if(!isset($this->column_type[$query_id]))
175
+		if (!isset($this->column_type[$query_id]))
176 176
 		{
177 177
 			$table_tags = $tables->getTables();
178 178
 			$column_type = array();
179
-			foreach($table_tags as $table_tag)
179
+			foreach ($table_tags as $table_tag)
180 180
 			{
181
-				if(is_a($table_tag, 'TableTag'))
181
+				if (is_a($table_tag, 'TableTag'))
182 182
 				{
183 183
 					$table_name = $table_tag->getTableName();
184 184
 					$table_alias = $table_tag->getTableAlias();
@@ -192,19 +192,19 @@  discard block
 block discarded – undo
192 192
 
193 193
 	function getColumns()
194 194
 	{
195
-		if($this->action == 'select')
195
+		if ($this->action == 'select')
196 196
 		{
197 197
 			return $this->columns = new SelectColumnsTag($this->query->columns);
198 198
 		}
199
-		else if($this->action == 'insert' || $this->action == 'insert-select')
199
+		else if ($this->action == 'insert' || $this->action == 'insert-select')
200 200
 		{
201 201
 			return $this->columns = new InsertColumnsTag($this->query->columns->column);
202 202
 		}
203
-		else if($this->action == 'update')
203
+		else if ($this->action == 'update')
204 204
 		{
205 205
 			return $this->columns = new UpdateColumnsTag($this->query->columns->column);
206 206
 		}
207
-		else if($this->action == 'delete')
207
+		else if ($this->action == 'delete')
208 208
 		{
209 209
 			return $this->columns = null;
210 210
 		}
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
 
213 213
 	function getPrebuff()
214 214
 	{
215
-		if($this->isSubQuery)
215
+		if ($this->isSubQuery)
216 216
 		{
217 217
 			return;
218 218
 		}
@@ -220,20 +220,20 @@  discard block
 block discarded – undo
220 220
 		$arguments = $this->getArguments();
221 221
 
222 222
 		$prebuff = '';
223
-		foreach($arguments as $argument)
223
+		foreach ($arguments as $argument)
224 224
 		{
225
-			if(isset($argument))
225
+			if (isset($argument))
226 226
 			{
227 227
 				$arg_name = $argument->getArgumentName();
228
-				if($arg_name)
228
+				if ($arg_name)
229 229
 				{
230 230
 					unset($column_type);
231 231
 					$prebuff .= $argument->toString();
232 232
 
233 233
 					$table_alias = $argument->getTableName();
234
-					if(isset($table_alias))
234
+					if (isset($table_alias))
235 235
 					{
236
-						if(isset($this->column_type[$this->getQueryId()][$table_alias][$argument->getColumnName()]))
236
+						if (isset($this->column_type[$this->getQueryId()][$table_alias][$argument->getColumnName()]))
237 237
 						{
238 238
 							$column_type = $this->column_type[$this->getQueryId()][$table_alias][$argument->getColumnName()];
239 239
 						}
@@ -242,18 +242,18 @@  discard block
 block discarded – undo
242 242
 					{
243 243
 						$current_tables = $this->column_type[$this->getQueryId()];
244 244
 						$column_name = $argument->getColumnName();
245
-						foreach($current_tables as $current_table)
245
+						foreach ($current_tables as $current_table)
246 246
 						{
247
-							if(isset($current_table[$column_name]))
247
+							if (isset($current_table[$column_name]))
248 248
 							{
249 249
 								$column_type = $current_table[$column_name];
250 250
 							}
251 251
 						}
252 252
 					}
253 253
 
254
-					if(isset($column_type))
254
+					if (isset($column_type))
255 255
 					{
256
-						$prebuff .= sprintf('if(${\'%s_argument\'} !== null) ${\'%s_argument\'}->setColumnType(\'%s\');' . "\n"
256
+						$prebuff .= sprintf('if(${\'%s_argument\'} !== null) ${\'%s_argument\'}->setColumnType(\'%s\');'."\n"
257 257
 								, $arg_name
258 258
 								, $arg_name
259 259
 								, $column_type);
@@ -269,43 +269,43 @@  discard block
 block discarded – undo
269 269
 	function getBuff()
270 270
 	{
271 271
 		$buff = '';
272
-		if($this->isSubQuery)
272
+		if ($this->isSubQuery)
273 273
 		{
274 274
 			$buff = 'new Subquery(';
275
-			$buff .= "'" . $this->alias . '\', ';
276
-			$buff .= ($this->columns ? $this->columns->toString() : 'null' ) . ', ' . PHP_EOL;
277
-			$buff .= $this->tables->toString() . ',' . PHP_EOL;
278
-			$buff .= $this->conditions->toString() . ',' . PHP_EOL;
279
-			$buff .= $this->groups->toString() . ',' . PHP_EOL;
280
-			$buff .= $this->navigation->getOrderByString() . ',' . PHP_EOL;
275
+			$buff .= "'".$this->alias.'\', ';
276
+			$buff .= ($this->columns ? $this->columns->toString() : 'null').', '.PHP_EOL;
277
+			$buff .= $this->tables->toString().','.PHP_EOL;
278
+			$buff .= $this->conditions->toString().','.PHP_EOL;
279
+			$buff .= $this->groups->toString().','.PHP_EOL;
280
+			$buff .= $this->navigation->getOrderByString().','.PHP_EOL;
281 281
 			$limit = $this->navigation->getLimitString();
282
-			$buff .= $limit ? $limit : 'null' . PHP_EOL;
283
-			$buff .= $this->join_type ? "'" . $this->join_type . "'" : '';
282
+			$buff .= $limit ? $limit : 'null'.PHP_EOL;
283
+			$buff .= $this->join_type ? "'".$this->join_type."'" : '';
284 284
 			$buff .= ')';
285 285
 
286 286
 			$this->buff = $buff;
287 287
 			return $this->buff;
288 288
 		}
289 289
 
290
-		$buff .= '$query = new Query();' . PHP_EOL;
290
+		$buff .= '$query = new Query();'.PHP_EOL;
291 291
 		$buff .= sprintf('$query->setQueryId("%s");%s', $this->query_id, "\n");
292 292
 		$buff .= sprintf('$query->setAction("%s");%s', $this->action, "\n");
293 293
 		$buff .= sprintf('$query->setPriority("%s");%s', $this->priority, "\n");
294 294
 		$buff .= $this->preBuff;
295
-		if($this->columns)
295
+		if ($this->columns)
296 296
 		{
297
-			$buff .= '$query->setColumns(' . $this->columns->toString() . ');' . PHP_EOL;
297
+			$buff .= '$query->setColumns('.$this->columns->toString().');'.PHP_EOL;
298 298
 		}
299 299
 
300
-		$buff .= '$query->setTables(' . $this->tables->toString() . ');' . PHP_EOL;
301
-		if($this->action == 'insert-select')
300
+		$buff .= '$query->setTables('.$this->tables->toString().');'.PHP_EOL;
301
+		if ($this->action == 'insert-select')
302 302
 		{
303
-			$buff .= '$query->setSubquery(' . $this->subquery->toString() . ');' . PHP_EOL;
303
+			$buff .= '$query->setSubquery('.$this->subquery->toString().');'.PHP_EOL;
304 304
 		}
305
-		$buff .= '$query->setConditions(' . $this->conditions->toString() . ');' . PHP_EOL;
306
-		$buff .= '$query->setGroups(' . $this->groups->toString() . ');' . PHP_EOL;
307
-		$buff .= '$query->setOrder(' . $this->navigation->getOrderByString() . ');' . PHP_EOL;
308
-		$buff .= '$query->setLimit(' . $this->navigation->getLimitString() . ');' . PHP_EOL;
305
+		$buff .= '$query->setConditions('.$this->conditions->toString().');'.PHP_EOL;
306
+		$buff .= '$query->setGroups('.$this->groups->toString().');'.PHP_EOL;
307
+		$buff .= '$query->setOrder('.$this->navigation->getOrderByString().');'.PHP_EOL;
308
+		$buff .= '$query->setLimit('.$this->navigation->getLimitString().');'.PHP_EOL;
309 309
 
310 310
 		$this->buff = $buff;
311 311
 		return $this->buff;
@@ -313,7 +313,7 @@  discard block
 block discarded – undo
313 313
 
314 314
 	function getTables()
315 315
 	{
316
-		if($this->query->index_hint && ($this->query->index_hint->attrs->for == 'ALL' || Context::getDBType() == strtolower($this->query->index_hint->attrs->for)))
316
+		if ($this->query->index_hint && ($this->query->index_hint->attrs->for == 'ALL' || Context::getDBType() == strtolower($this->query->index_hint->attrs->for)))
317 317
 		{
318 318
 			return $this->tables = new TablesTag($this->query->tables, $this->query->index_hint);
319 319
 		}
@@ -325,7 +325,7 @@  discard block
 block discarded – undo
325 325
 
326 326
 	function getSubquery()
327 327
 	{
328
-		if($this->query->query)
328
+		if ($this->query->query)
329 329
 		{
330 330
 			$this->subquery = new QueryTag($this->query->query, true);
331 331
 		}
@@ -338,7 +338,7 @@  discard block
 block discarded – undo
338 338
 
339 339
 	function getGroups()
340 340
 	{
341
-		if($this->query->groups)
341
+		if ($this->query->groups)
342 342
 		{
343 343
 			return $this->groups = new GroupsTag($this->query->groups->group);
344 344
 		}
@@ -376,11 +376,11 @@  discard block
 block discarded – undo
376 376
 	function getArguments()
377 377
 	{
378 378
 		$arguments = array();
379
-		if($this->columns)
379
+		if ($this->columns)
380 380
 		{
381 381
 			$arguments = array_merge($arguments, $this->columns->getArguments());
382 382
 		}
383
-		if($this->action == 'insert-select')
383
+		if ($this->action == 'insert-select')
384 384
 		{
385 385
 			$arguments = array_merge($arguments, $this->subquery->getArguments());
386 386
 		}
Please login to merge, or discard this patch.
classes/xml/XmlQueryParser.class.php 2 patches
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -79,9 +79,9 @@
 block discarded – undo
79 79
 	/**
80 80
 	 * Override for parent "parse" method
81 81
 	 *
82
-	 * @param null $query_id
83
-	 * @param null $xml_file
84
-	 * @param null $cache_file
82
+	 * @param string $query_id
83
+	 * @param string $xml_file
84
+	 * @param string $cache_file
85 85
 	 *
86 86
 	 * @return void
87 87
 	 */
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
 /**
5 5
  * File containing the XE 1.5 XmlQueryParserClass
6 6
  */
7
-if(!defined('__XE_LOADED_XML_CLASS__'))
7
+if (!defined('__XE_LOADED_XML_CLASS__'))
8 8
 {
9 9
 	define('__XE_LOADED_XML_CLASS__', 1);
10 10
 }
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
 	function &getInstance()
38 38
 	{
39 39
 		static $theInstance = NULL;
40
-		if(!isset($theInstance))
40
+		if (!isset($theInstance))
41 41
 		{
42 42
 			$theInstance = new XmlQueryParser();
43 43
 		}
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 
65 65
 		// insert, update, delete, select action
66 66
 		$action = strtolower($xml_obj->query->attrs->action);
67
-		if(!$action)
67
+		if (!$action)
68 68
 		{
69 69
 			return;
70 70
 		}
@@ -101,7 +101,7 @@  discard block
 block discarded – undo
101 101
 	{
102 102
 		$buff = FileHandler::readFile($xml_file);
103 103
 		$xml_obj = parent::parse($buff);
104
-		if(!$xml_obj)
104
+		if (!$xml_obj)
105 105
 		{
106 106
 			return;
107 107
 		}
Please login to merge, or discard this patch.
libs/FirePHPCore/fb.php 3 patches
Doc Comments   +1 added lines, -3 removed lines patch added patch discarded remove patch
@@ -50,7 +50,6 @@  discard block
 block discarded – undo
50 50
  * "Server" request tab.
51 51
  * 
52 52
  * @see http://www.firephp.org/Wiki/Reference/Fb
53
- * @param mixed $Object
54 53
  * @return true
55 54
  * @throws Exception
56 55
  */
@@ -130,7 +129,6 @@  discard block
 block discarded – undo
130 129
    * Log object to firebug
131 130
    * 
132 131
    * @see http://www.firephp.org/Wiki/Reference/Fb
133
-   * @param mixed $Object
134 132
    * @return true
135 133
    * @throws Exception
136 134
    */
@@ -150,7 +148,7 @@  discard block
 block discarded – undo
150 148
    *
151 149
    * @param string $Name
152 150
    * @param array $Options OPTIONAL Instructions on how to log the group
153
-   * @return true
151
+   * @return boolean
154 152
    */
155 153
   public static function group($Name, $Options=null) {
156 154
     $instance = FirePHP::getInstance(true);
Please login to merge, or discard this patch.
Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -73,8 +73,8 @@  discard block
 block discarded – undo
73 73
    * @return void
74 74
    */
75 75
   public static function setEnabled($Enabled) {
76
-    $instance = FirePHP::getInstance(true);
77
-    $instance->setEnabled($Enabled);
76
+	$instance = FirePHP::getInstance(true);
77
+	$instance->setEnabled($Enabled);
78 78
   }
79 79
   
80 80
   /**
@@ -84,8 +84,8 @@  discard block
 block discarded – undo
84 84
    * @return boolean TRUE if enabled
85 85
    */
86 86
   public static function getEnabled() {
87
-    $instance = FirePHP::getInstance(true);
88
-    return $instance->getEnabled();
87
+	$instance = FirePHP::getInstance(true);
88
+	return $instance->getEnabled();
89 89
   }  
90 90
   
91 91
   /**
@@ -99,8 +99,8 @@  discard block
 block discarded – undo
99 99
    * @return void
100 100
    */
101 101
   public static function setObjectFilter($Class, $Filter) {
102
-    $instance = FirePHP::getInstance(true);
103
-    $instance->setObjectFilter($Class, $Filter);
102
+	$instance = FirePHP::getInstance(true);
103
+	$instance->setObjectFilter($Class, $Filter);
104 104
   }
105 105
   
106 106
   /**
@@ -111,8 +111,8 @@  discard block
 block discarded – undo
111 111
    * @return void
112 112
    */
113 113
   public static function setOptions($Options) {
114
-    $instance = FirePHP::getInstance(true);
115
-    $instance->setOptions($Options);
114
+	$instance = FirePHP::getInstance(true);
115
+	$instance->setOptions($Options);
116 116
   }
117 117
 
118 118
   /**
@@ -122,8 +122,8 @@  discard block
 block discarded – undo
122 122
    * @return array The options
123 123
    */
124 124
   public static function getOptions() {
125
-    $instance = FirePHP::getInstance(true);
126
-    return $instance->getOptions();
125
+	$instance = FirePHP::getInstance(true);
126
+	return $instance->getOptions();
127 127
   }
128 128
 
129 129
   /**
@@ -136,9 +136,9 @@  discard block
 block discarded – undo
136 136
    */
137 137
   public static function send()
138 138
   {
139
-    $instance = FirePHP::getInstance(true);
140
-    $args = func_get_args();
141
-    return call_user_func_array(array($instance,'fb'),$args);
139
+	$instance = FirePHP::getInstance(true);
140
+	$args = func_get_args();
141
+	return call_user_func_array(array($instance,'fb'),$args);
142 142
   }
143 143
 
144 144
   /**
@@ -153,8 +153,8 @@  discard block
 block discarded – undo
153 153
    * @return true
154 154
    */
155 155
   public static function group($Name, $Options=null) {
156
-    $instance = FirePHP::getInstance(true);
157
-    return $instance->group($Name, $Options);
156
+	$instance = FirePHP::getInstance(true);
157
+	return $instance->group($Name, $Options);
158 158
   }
159 159
 
160 160
   /**
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
    * @throws Exception
165 165
    */
166 166
   public static function groupEnd() {
167
-    return self::send(null, null, FirePHP::GROUP_END);
167
+	return self::send(null, null, FirePHP::GROUP_END);
168 168
   }
169 169
 
170 170
   /**
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
    * @throws Exception
178 178
    */
179 179
   public static function log($Object, $Label=null) {
180
-    return self::send($Object, $Label, FirePHP::LOG);
180
+	return self::send($Object, $Label, FirePHP::LOG);
181 181
   } 
182 182
 
183 183
   /**
@@ -190,7 +190,7 @@  discard block
 block discarded – undo
190 190
    * @throws Exception
191 191
    */
192 192
   public static function info($Object, $Label=null) {
193
-    return self::send($Object, $Label, FirePHP::INFO);
193
+	return self::send($Object, $Label, FirePHP::INFO);
194 194
   } 
195 195
 
196 196
   /**
@@ -203,7 +203,7 @@  discard block
 block discarded – undo
203 203
    * @throws Exception
204 204
    */
205 205
   public static function warn($Object, $Label=null) {
206
-    return self::send($Object, $Label, FirePHP::WARN);
206
+	return self::send($Object, $Label, FirePHP::WARN);
207 207
   } 
208 208
 
209 209
   /**
@@ -216,7 +216,7 @@  discard block
 block discarded – undo
216 216
    * @throws Exception
217 217
    */
218 218
   public static function error($Object, $Label=null) {
219
-    return self::send($Object, $Label, FirePHP::ERROR);
219
+	return self::send($Object, $Label, FirePHP::ERROR);
220 220
   } 
221 221
 
222 222
   /**
@@ -229,7 +229,7 @@  discard block
 block discarded – undo
229 229
    * @throws Exception
230 230
    */
231 231
   public static function dump($Key, $Variable) {
232
-    return self::send($Variable, $Key, FirePHP::DUMP);
232
+	return self::send($Variable, $Key, FirePHP::DUMP);
233 233
   } 
234 234
 
235 235
   /**
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
    * @throws Exception
242 242
    */
243 243
   public static function trace($Label) {
244
-    return self::send($Label, FirePHP::TRACE);
244
+	return self::send($Label, FirePHP::TRACE);
245 245
   } 
246 246
 
247 247
   /**
@@ -254,7 +254,7 @@  discard block
 block discarded – undo
254 254
    * @throws Exception
255 255
    */
256 256
   public static function table($Label, $Table) {
257
-    return self::send($Table, $Label, FirePHP::TABLE);
257
+	return self::send($Table, $Label, FirePHP::TABLE);
258 258
   } 
259 259
 
260 260
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
   $instance = FirePHP::getInstance(true);
60 60
   
61 61
   $args = func_get_args();
62
-  return call_user_func_array(array($instance,'fb'),$args);
62
+  return call_user_func_array(array($instance, 'fb'), $args);
63 63
 }
64 64
 
65 65
 
@@ -138,7 +138,7 @@  discard block
 block discarded – undo
138 138
   {
139 139
     $instance = FirePHP::getInstance(true);
140 140
     $args = func_get_args();
141
-    return call_user_func_array(array($instance,'fb'),$args);
141
+    return call_user_func_array(array($instance, 'fb'), $args);
142 142
   }
143 143
 
144 144
   /**
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
    * @param array $Options OPTIONAL Instructions on how to log the group
153 153
    * @return true
154 154
    */
155
-  public static function group($Name, $Options=null) {
155
+  public static function group($Name, $Options = null) {
156 156
     $instance = FirePHP::getInstance(true);
157 157
     return $instance->group($Name, $Options);
158 158
   }
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
    * @return true
177 177
    * @throws Exception
178 178
    */
179
-  public static function log($Object, $Label=null) {
179
+  public static function log($Object, $Label = null) {
180 180
     return self::send($Object, $Label, FirePHP::LOG);
181 181
   } 
182 182
 
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
    * @return true
190 190
    * @throws Exception
191 191
    */
192
-  public static function info($Object, $Label=null) {
192
+  public static function info($Object, $Label = null) {
193 193
     return self::send($Object, $Label, FirePHP::INFO);
194 194
   } 
195 195
 
@@ -202,7 +202,7 @@  discard block
 block discarded – undo
202 202
    * @return true
203 203
    * @throws Exception
204 204
    */
205
-  public static function warn($Object, $Label=null) {
205
+  public static function warn($Object, $Label = null) {
206 206
     return self::send($Object, $Label, FirePHP::WARN);
207 207
   } 
208 208
 
@@ -215,7 +215,7 @@  discard block
 block discarded – undo
215 215
    * @return true
216 216
    * @throws Exception
217 217
    */
218
-  public static function error($Object, $Label=null) {
218
+  public static function error($Object, $Label = null) {
219 219
     return self::send($Object, $Label, FirePHP::ERROR);
220 220
   } 
221 221
 
Please login to merge, or discard this patch.
libs/ftp.class.php 4 patches
Doc Comments   +25 added lines patch added patch discarded remove patch
@@ -177,6 +177,9 @@  discard block
 block discarded – undo
177 177
             return $response;
178 178
         }
179 179
 
180
+        /**
181
+         * @param string $pathname
182
+         */
180 183
         function ftp_delete($pathname)
181 184
         {
182 185
             $this->ftp_putcmd("DELE", $pathname);
@@ -187,6 +190,9 @@  discard block
 block discarded – undo
187 190
             return $response;
188 191
         }
189 192
 
193
+        /**
194
+         * @param string $pathname
195
+         */
190 196
         function ftp_rmdir($pathname)
191 197
         {
192 198
             $this->ftp_putcmd("RMD", $pathname);
@@ -197,6 +203,9 @@  discard block
 block discarded – undo
197 203
             return $response;
198 204
         }
199 205
 
206
+        /**
207
+         * @param string $pathname
208
+         */
200 209
         function ftp_mkdir($pathname)
201 210
         {
202 211
             $this->ftp_putcmd("MKD", $pathname);
@@ -358,6 +367,10 @@  discard block
 block discarded – undo
358 367
             return $response;
359 368
         }
360 369
 
370
+        /**
371
+         * @param string $remotefile
372
+         * @param string $localfile
373
+         */
361 374
         function ftp_put($remotefile, $localfile, $mode = 1)
362 375
         {
363 376
             
@@ -408,6 +421,9 @@  discard block
 block discarded – undo
408 421
             return $response;
409 422
         }
410 423
 
424
+        /**
425
+         * @param string $command
426
+         */
411 427
         function ftp_site($command)
412 428
         {
413 429
             $this->ftp_putcmd("SITE", $command);
@@ -431,6 +447,9 @@  discard block
 block discarded – undo
431 447
 
432 448
         /* Private Functions */
433 449
 
450
+        /**
451
+         * @param integer $mode
452
+         */
434 453
         function ftp_type($mode)
435 454
         {
436 455
             if ($mode) {
@@ -468,6 +487,9 @@  discard block
 block discarded – undo
468 487
             return $ip_port;
469 488
         }
470 489
 
490
+        /**
491
+         * @param string $cmd
492
+         */
471 493
         function ftp_putcmd($cmd, $arg = "")
472 494
         {
473 495
             if ($arg != "") {
@@ -536,6 +558,9 @@  discard block
 block discarded – undo
536 558
             return fclose($sock);
537 559
         }
538 560
 
561
+        /**
562
+         * @param string $ip_port
563
+         */
539 564
         function ftp_open_data_connection($ip_port)
540 565
         {
541 566
             if (!preg_match("@[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+@", $ip_port)) {
Please login to merge, or discard this patch.
Indentation   +479 added lines, -479 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-    /*********************************************************************
2
+	/*********************************************************************
3 3
      *
4 4
      *    PHP FTP Client Class By TOMO ( [email protected] )
5 5
 	 *    Modified By NAVER ( [email protected] )
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
      *
19 19
      ********************************************************************/
20 20
 
21
-    /*********************************************************************
21
+	/*********************************************************************
22 22
      * List of available functions
23 23
      * ftp_connect($server, $port = 21)
24 24
      * ftp_login($user, $pass)
@@ -41,448 +41,448 @@  discard block
 block discarded – undo
41 41
      * ftp_quit()
42 42
      *********************************************************************/
43 43
 
44
-    class ftp
45
-    {
46
-        /* Public variables */
47
-        var $debug;
48
-        var $umask;
49
-        var $timeout;
50
-
51
-        /* Private variables */
52
-        var $ftp_sock;
53
-        var $ftp_resp;
54
-
55
-        /* Constractor */
56
-        function ftp()
57
-        {
58
-            $this->debug = false;
59
-            $this->umask = 0022;
60
-            $this->timeout = 30;
61
-
62
-            if (!defined("FTP_BINARY")) {
63
-                define("FTP_BINARY", 1);
64
-            }
65
-            if (!defined("FTP_ASCII")) {
66
-                define("FTP_ASCII", 0);
67
-            }
68
-
69
-            $this->ftp_resp = "";
70
-        }
71
-
72
-        /* Public functions */
73
-        function ftp_connect($server, $port = 21)
74
-        {
75
-            $this->ftp_debug("Trying to ".$server.":".$port." ...\n");
76
-            $this->ftp_sock = @fsockopen($server, $port, $errno, $errstr, $this->timeout);
77
-
78
-            if (!$this->ftp_sock || !$this->ftp_ok()) {
79
-                $this->ftp_debug("Error : Cannot connect to remote host \"".$server.":".$port."\"\n");
80
-                $this->ftp_debug("Error : fsockopen() ".$errstr." (".$errno.")\n");
81
-                return FALSE;
82
-            }
44
+	class ftp
45
+	{
46
+		/* Public variables */
47
+		var $debug;
48
+		var $umask;
49
+		var $timeout;
50
+
51
+		/* Private variables */
52
+		var $ftp_sock;
53
+		var $ftp_resp;
54
+
55
+		/* Constractor */
56
+		function ftp()
57
+		{
58
+			$this->debug = false;
59
+			$this->umask = 0022;
60
+			$this->timeout = 30;
61
+
62
+			if (!defined("FTP_BINARY")) {
63
+				define("FTP_BINARY", 1);
64
+			}
65
+			if (!defined("FTP_ASCII")) {
66
+				define("FTP_ASCII", 0);
67
+			}
68
+
69
+			$this->ftp_resp = "";
70
+		}
71
+
72
+		/* Public functions */
73
+		function ftp_connect($server, $port = 21)
74
+		{
75
+			$this->ftp_debug("Trying to ".$server.":".$port." ...\n");
76
+			$this->ftp_sock = @fsockopen($server, $port, $errno, $errstr, $this->timeout);
77
+
78
+			if (!$this->ftp_sock || !$this->ftp_ok()) {
79
+				$this->ftp_debug("Error : Cannot connect to remote host \"".$server.":".$port."\"\n");
80
+				$this->ftp_debug("Error : fsockopen() ".$errstr." (".$errno.")\n");
81
+				return FALSE;
82
+			}
83 83
 
84 84
 			if(substr($this->ftp_resp, 0, 3) !== '220')
85 85
 			{
86 86
 				return FALSE;
87 87
 			}
88 88
 
89
-            $this->ftp_debug("Connected to remote host \"".$server.":".$port."\"\n");
90
-
91
-            return TRUE;
92
-        }
93
-
94
-        function ftp_login($user, $pass)
95
-        {
96
-            $this->ftp_putcmd("USER", $user);
97
-            if (!$this->ftp_ok()) {
98
-                $this->ftp_debug("Error : USER command failed\n");
99
-                return FALSE;
100
-            }
101
-
102
-            $this->ftp_putcmd("PASS", $pass);
103
-            if (!$this->ftp_ok()) {
104
-                $this->ftp_debug("Error : PASS command failed\n");
105
-                return FALSE;
106
-            }
107
-            $this->ftp_debug("Authentication succeeded\n");
108
-
109
-            return TRUE;
110
-        }
111
-
112
-        function ftp_pwd()
113
-        {
114
-            $this->ftp_putcmd("PWD");
115
-            if (!$this->ftp_ok()) {
116
-                $this->ftp_debug("Error : PWD command failed\n");
117
-                return FALSE;
118
-            }
119
-
120
-            return preg_replace("@^[0-9]{3} \"(.+)\" .+\r\n@", "\\1", $this->ftp_resp);
121
-        }
122
-
123
-        function ftp_size($pathname)
124
-        {
125
-            $this->ftp_putcmd("SIZE", $pathname);
126
-            if (!$this->ftp_ok()) {
127
-                $this->ftp_debug("Error : SIZE command failed\n");
128
-                return -1;
129
-            }
130
-
131
-            return preg_replace("@^[0-9]{3} ([0-9]+)\r\n@", "\\1", $this->ftp_resp);
132
-        }
133
-
134
-        function ftp_mdtm($pathname)
135
-        {
136
-            $this->ftp_putcmd("MDTM", $pathname);
137
-            if (!$this->ftp_ok()) {
138
-                $this->ftp_debug("Error : MDTM command failed\n");
139
-                return -1;
140
-            }
141
-            $mdtm = preg_replace("@^[0-9]{3} ([0-9]+)\r\n@", "\\1", $this->ftp_resp);
142
-            $date = sscanf($mdtm, "%4d%2d%2d%2d%2d%2d");
143
-            $timestamp = mktime($date[3], $date[4], $date[5], $date[1], $date[2], $date[0]);
144
-
145
-            return $timestamp;
146
-        }
147
-
148
-        function ftp_systype()
149
-        {
150
-            $this->ftp_putcmd("SYST");
151
-            if (!$this->ftp_ok()) {
152
-                $this->ftp_debug("Error : SYST command failed\n");
153
-                return FALSE;
154
-            }
155
-            $DATA = explode(" ", $this->ftp_resp);
156
-
157
-            return $DATA[1];
158
-        }
159
-
160
-        function ftp_cdup()
161
-        {
162
-            $this->ftp_putcmd("CDUP");
163
-            $response = $this->ftp_ok();
164
-            if (!$response) {
165
-                $this->ftp_debug("Error : CDUP command failed\n");
166
-            }
167
-            return $response;
168
-        }
169
-
170
-        function ftp_chdir($pathname)
171
-        {
172
-            $this->ftp_putcmd("CWD", $pathname);
173
-            $response = $this->ftp_ok();
174
-            if (!$response) {
175
-                $this->ftp_debug("Error : CWD command failed\n");
176
-            }
177
-            return $response;
178
-        }
179
-
180
-        function ftp_delete($pathname)
181
-        {
182
-            $this->ftp_putcmd("DELE", $pathname);
183
-            $response = $this->ftp_ok();
184
-            if (!$response) {
185
-                $this->ftp_debug("Error : DELE command failed\n");
186
-            }
187
-            return $response;
188
-        }
189
-
190
-        function ftp_rmdir($pathname)
191
-        {
192
-            $this->ftp_putcmd("RMD", $pathname);
193
-            $response = $this->ftp_ok();
194
-            if (!$response) {
195
-                $this->ftp_debug("Error : RMD command failed\n");
196
-            }
197
-            return $response;
198
-        }
199
-
200
-        function ftp_mkdir($pathname)
201
-        {
202
-            $this->ftp_putcmd("MKD", $pathname);
203
-            $response = $this->ftp_ok();
204
-            if (!$response) {
205
-                $this->ftp_debug("Error : MKD command failed\n");
206
-            }
207
-            return $response;
208
-        }
209
-
210
-        function ftp_file_exists($pathname)
211
-        {
212
-            if (!($remote_list = $this->ftp_nlist("-a"))) {
213
-                $this->ftp_debug("Error : Cannot get remote file list\n");
214
-                return -1;
215
-            }
89
+			$this->ftp_debug("Connected to remote host \"".$server.":".$port."\"\n");
90
+
91
+			return TRUE;
92
+		}
93
+
94
+		function ftp_login($user, $pass)
95
+		{
96
+			$this->ftp_putcmd("USER", $user);
97
+			if (!$this->ftp_ok()) {
98
+				$this->ftp_debug("Error : USER command failed\n");
99
+				return FALSE;
100
+			}
101
+
102
+			$this->ftp_putcmd("PASS", $pass);
103
+			if (!$this->ftp_ok()) {
104
+				$this->ftp_debug("Error : PASS command failed\n");
105
+				return FALSE;
106
+			}
107
+			$this->ftp_debug("Authentication succeeded\n");
108
+
109
+			return TRUE;
110
+		}
111
+
112
+		function ftp_pwd()
113
+		{
114
+			$this->ftp_putcmd("PWD");
115
+			if (!$this->ftp_ok()) {
116
+				$this->ftp_debug("Error : PWD command failed\n");
117
+				return FALSE;
118
+			}
119
+
120
+			return preg_replace("@^[0-9]{3} \"(.+)\" .+\r\n@", "\\1", $this->ftp_resp);
121
+		}
122
+
123
+		function ftp_size($pathname)
124
+		{
125
+			$this->ftp_putcmd("SIZE", $pathname);
126
+			if (!$this->ftp_ok()) {
127
+				$this->ftp_debug("Error : SIZE command failed\n");
128
+				return -1;
129
+			}
130
+
131
+			return preg_replace("@^[0-9]{3} ([0-9]+)\r\n@", "\\1", $this->ftp_resp);
132
+		}
133
+
134
+		function ftp_mdtm($pathname)
135
+		{
136
+			$this->ftp_putcmd("MDTM", $pathname);
137
+			if (!$this->ftp_ok()) {
138
+				$this->ftp_debug("Error : MDTM command failed\n");
139
+				return -1;
140
+			}
141
+			$mdtm = preg_replace("@^[0-9]{3} ([0-9]+)\r\n@", "\\1", $this->ftp_resp);
142
+			$date = sscanf($mdtm, "%4d%2d%2d%2d%2d%2d");
143
+			$timestamp = mktime($date[3], $date[4], $date[5], $date[1], $date[2], $date[0]);
144
+
145
+			return $timestamp;
146
+		}
147
+
148
+		function ftp_systype()
149
+		{
150
+			$this->ftp_putcmd("SYST");
151
+			if (!$this->ftp_ok()) {
152
+				$this->ftp_debug("Error : SYST command failed\n");
153
+				return FALSE;
154
+			}
155
+			$DATA = explode(" ", $this->ftp_resp);
156
+
157
+			return $DATA[1];
158
+		}
159
+
160
+		function ftp_cdup()
161
+		{
162
+			$this->ftp_putcmd("CDUP");
163
+			$response = $this->ftp_ok();
164
+			if (!$response) {
165
+				$this->ftp_debug("Error : CDUP command failed\n");
166
+			}
167
+			return $response;
168
+		}
169
+
170
+		function ftp_chdir($pathname)
171
+		{
172
+			$this->ftp_putcmd("CWD", $pathname);
173
+			$response = $this->ftp_ok();
174
+			if (!$response) {
175
+				$this->ftp_debug("Error : CWD command failed\n");
176
+			}
177
+			return $response;
178
+		}
179
+
180
+		function ftp_delete($pathname)
181
+		{
182
+			$this->ftp_putcmd("DELE", $pathname);
183
+			$response = $this->ftp_ok();
184
+			if (!$response) {
185
+				$this->ftp_debug("Error : DELE command failed\n");
186
+			}
187
+			return $response;
188
+		}
189
+
190
+		function ftp_rmdir($pathname)
191
+		{
192
+			$this->ftp_putcmd("RMD", $pathname);
193
+			$response = $this->ftp_ok();
194
+			if (!$response) {
195
+				$this->ftp_debug("Error : RMD command failed\n");
196
+			}
197
+			return $response;
198
+		}
199
+
200
+		function ftp_mkdir($pathname)
201
+		{
202
+			$this->ftp_putcmd("MKD", $pathname);
203
+			$response = $this->ftp_ok();
204
+			if (!$response) {
205
+				$this->ftp_debug("Error : MKD command failed\n");
206
+			}
207
+			return $response;
208
+		}
209
+
210
+		function ftp_file_exists($pathname)
211
+		{
212
+			if (!($remote_list = $this->ftp_nlist("-a"))) {
213
+				$this->ftp_debug("Error : Cannot get remote file list\n");
214
+				return -1;
215
+			}
216 216
             
217
-            reset($remote_list);
218
-            while (list(,$value) = each($remote_list)) {
219
-                if ($value == $pathname) {
220
-                    $this->ftp_debug("Remote file ".$pathname." exists\n");
221
-                    return 1;
222
-                }
223
-            }
224
-            $this->ftp_debug("Remote file ".$pathname." does not exist\n");
225
-
226
-            return 0;
227
-        }
228
-
229
-        function ftp_rename($from, $to)
230
-        {
231
-            $this->ftp_putcmd("RNFR", $from);
232
-            if (!$this->ftp_ok()) {
233
-                $this->ftp_debug("Error : RNFR command failed\n");
234
-                return FALSE;
235
-            }
236
-            $this->ftp_putcmd("RNTO", $to);
237
-
238
-            $response = $this->ftp_ok();
239
-            if (!$response) {
240
-                $this->ftp_debug("Error : RNTO command failed\n");
241
-            }
242
-            return $response;
243
-        }
244
-
245
-        function ftp_nlist($arg = "", $pathname = "")
246
-        {
247
-            if (!($string = $this->ftp_pasv())) {
248
-                return FALSE;
249
-            }
250
-
251
-            if ($arg == "") {
252
-                $nlst = "NLST";
253
-            } else {
254
-                $nlst = "NLST ".$arg;
255
-            }
256
-            $this->ftp_putcmd($nlst, $pathname);
257
-
258
-            $sock_data = $this->ftp_open_data_connection($string);
259
-            if (!$sock_data || !$this->ftp_ok()) {
260
-                $this->ftp_debug("Error : Cannot connect to remote host\n");
261
-                $this->ftp_debug("Error : NLST command failed\n");
262
-                return FALSE;
263
-            }
264
-            $this->ftp_debug("Connected to remote host\n");
217
+			reset($remote_list);
218
+			while (list(,$value) = each($remote_list)) {
219
+				if ($value == $pathname) {
220
+					$this->ftp_debug("Remote file ".$pathname." exists\n");
221
+					return 1;
222
+				}
223
+			}
224
+			$this->ftp_debug("Remote file ".$pathname." does not exist\n");
225
+
226
+			return 0;
227
+		}
228
+
229
+		function ftp_rename($from, $to)
230
+		{
231
+			$this->ftp_putcmd("RNFR", $from);
232
+			if (!$this->ftp_ok()) {
233
+				$this->ftp_debug("Error : RNFR command failed\n");
234
+				return FALSE;
235
+			}
236
+			$this->ftp_putcmd("RNTO", $to);
237
+
238
+			$response = $this->ftp_ok();
239
+			if (!$response) {
240
+				$this->ftp_debug("Error : RNTO command failed\n");
241
+			}
242
+			return $response;
243
+		}
244
+
245
+		function ftp_nlist($arg = "", $pathname = "")
246
+		{
247
+			if (!($string = $this->ftp_pasv())) {
248
+				return FALSE;
249
+			}
250
+
251
+			if ($arg == "") {
252
+				$nlst = "NLST";
253
+			} else {
254
+				$nlst = "NLST ".$arg;
255
+			}
256
+			$this->ftp_putcmd($nlst, $pathname);
257
+
258
+			$sock_data = $this->ftp_open_data_connection($string);
259
+			if (!$sock_data || !$this->ftp_ok()) {
260
+				$this->ftp_debug("Error : Cannot connect to remote host\n");
261
+				$this->ftp_debug("Error : NLST command failed\n");
262
+				return FALSE;
263
+			}
264
+			$this->ftp_debug("Connected to remote host\n");
265 265
 
266 266
 			$list = array();
267
-            while (!feof($sock_data)) {
268
-                $list[] = preg_replace("@[\r\n]@", "", fgets($sock_data, 512));
269
-            }
270
-            $this->ftp_close_data_connection($sock_data);
271
-            $this->ftp_debug(implode("\n", $list));
272
-
273
-            if (!$this->ftp_ok()) {
274
-                $this->ftp_debug("Error : NLST command failed\n");
275
-                return FALSE;
276
-            }
277
-
278
-            return $list;
279
-        }
280
-
281
-        function ftp_rawlist($pathname = "")
282
-        {
283
-            if (!($string = $this->ftp_pasv())) {
284
-                return FALSE;
285
-            }
286
-
287
-            $this->ftp_putcmd("LIST", $pathname);
288
-
289
-            $sock_data = $this->ftp_open_data_connection($string);
290
-            if (!$sock_data || !$this->ftp_ok()) {
291
-                $this->ftp_debug("Error : Cannot connect to remote host\n");
292
-                $this->ftp_debug("Error : LIST command failed\n");
293
-                return FALSE;
294
-            }
295
-
296
-            $this->ftp_debug("Connected to remote host\n");
297
-
298
-            while (!feof($sock_data)) {
299
-                $list[] = preg_replace("@[\r\n]@", "", fgets($sock_data, 512));
300
-            }
301
-            $this->ftp_debug(implode("\n", $list));
302
-            $this->ftp_close_data_connection($sock_data);
303
-
304
-            if (!$this->ftp_ok()) {
305
-                $this->ftp_debug("Error : LIST command failed\n");
306
-                return FALSE;
307
-            }
308
-
309
-            return $list;
310
-        }
311
-
312
-        function ftp_get($localfile, $remotefile, $mode = 1)
313
-        {
314
-            umask($this->umask);
315
-
316
-            if (@file_exists($localfile)) {
317
-                $this->ftp_debug("Warning : local file will be overwritten\n");
318
-            }
319
-
320
-            $fp = @fopen($localfile, "w");
321
-            if (!$fp) {
322
-                $this->ftp_debug("Error : Cannot create \"".$localfile."\"");
323
-                $this->ftp_debug("Error : GET command failed\n");
324
-                return FALSE;
325
-            }
326
-
327
-            if (!$this->ftp_type($mode)) {
328
-                $this->ftp_debug("Error : GET command failed\n");
329
-                return FALSE;
330
-            }
331
-
332
-            if (!($string = $this->ftp_pasv())) {
333
-                $this->ftp_debug("Error : GET command failed\n");
334
-                return FALSE;
335
-            }
336
-
337
-            $this->ftp_putcmd("RETR", $remotefile);
338
-
339
-            $sock_data = $this->ftp_open_data_connection($string);
340
-            if (!$sock_data || !$this->ftp_ok()) {
341
-                $this->ftp_debug("Error : Cannot connect to remote host\n");
342
-                $this->ftp_debug("Error : GET command failed\n");
343
-                return FALSE;
344
-            }
345
-            $this->ftp_debug("Connected to remote host\n");
346
-            $this->ftp_debug("Retrieving remote file \"".$remotefile."\" to local file \"".$localfile."\"\n");
347
-            while (!feof($sock_data)) {
348
-                fputs($fp, fread($sock_data, 4096));
349
-            }
350
-            fclose($fp);
351
-
352
-            $this->ftp_close_data_connection($sock_data);
353
-
354
-            $response = $this->ftp_ok();
355
-            if (!$response) {
356
-                $this->ftp_debug("Error : GET command failed\n");
357
-            }
358
-            return $response;
359
-        }
360
-
361
-        function ftp_put($remotefile, $localfile, $mode = 1)
362
-        {
267
+			while (!feof($sock_data)) {
268
+				$list[] = preg_replace("@[\r\n]@", "", fgets($sock_data, 512));
269
+			}
270
+			$this->ftp_close_data_connection($sock_data);
271
+			$this->ftp_debug(implode("\n", $list));
272
+
273
+			if (!$this->ftp_ok()) {
274
+				$this->ftp_debug("Error : NLST command failed\n");
275
+				return FALSE;
276
+			}
277
+
278
+			return $list;
279
+		}
280
+
281
+		function ftp_rawlist($pathname = "")
282
+		{
283
+			if (!($string = $this->ftp_pasv())) {
284
+				return FALSE;
285
+			}
286
+
287
+			$this->ftp_putcmd("LIST", $pathname);
288
+
289
+			$sock_data = $this->ftp_open_data_connection($string);
290
+			if (!$sock_data || !$this->ftp_ok()) {
291
+				$this->ftp_debug("Error : Cannot connect to remote host\n");
292
+				$this->ftp_debug("Error : LIST command failed\n");
293
+				return FALSE;
294
+			}
295
+
296
+			$this->ftp_debug("Connected to remote host\n");
297
+
298
+			while (!feof($sock_data)) {
299
+				$list[] = preg_replace("@[\r\n]@", "", fgets($sock_data, 512));
300
+			}
301
+			$this->ftp_debug(implode("\n", $list));
302
+			$this->ftp_close_data_connection($sock_data);
303
+
304
+			if (!$this->ftp_ok()) {
305
+				$this->ftp_debug("Error : LIST command failed\n");
306
+				return FALSE;
307
+			}
308
+
309
+			return $list;
310
+		}
311
+
312
+		function ftp_get($localfile, $remotefile, $mode = 1)
313
+		{
314
+			umask($this->umask);
315
+
316
+			if (@file_exists($localfile)) {
317
+				$this->ftp_debug("Warning : local file will be overwritten\n");
318
+			}
319
+
320
+			$fp = @fopen($localfile, "w");
321
+			if (!$fp) {
322
+				$this->ftp_debug("Error : Cannot create \"".$localfile."\"");
323
+				$this->ftp_debug("Error : GET command failed\n");
324
+				return FALSE;
325
+			}
326
+
327
+			if (!$this->ftp_type($mode)) {
328
+				$this->ftp_debug("Error : GET command failed\n");
329
+				return FALSE;
330
+			}
331
+
332
+			if (!($string = $this->ftp_pasv())) {
333
+				$this->ftp_debug("Error : GET command failed\n");
334
+				return FALSE;
335
+			}
336
+
337
+			$this->ftp_putcmd("RETR", $remotefile);
338
+
339
+			$sock_data = $this->ftp_open_data_connection($string);
340
+			if (!$sock_data || !$this->ftp_ok()) {
341
+				$this->ftp_debug("Error : Cannot connect to remote host\n");
342
+				$this->ftp_debug("Error : GET command failed\n");
343
+				return FALSE;
344
+			}
345
+			$this->ftp_debug("Connected to remote host\n");
346
+			$this->ftp_debug("Retrieving remote file \"".$remotefile."\" to local file \"".$localfile."\"\n");
347
+			while (!feof($sock_data)) {
348
+				fputs($fp, fread($sock_data, 4096));
349
+			}
350
+			fclose($fp);
351
+
352
+			$this->ftp_close_data_connection($sock_data);
353
+
354
+			$response = $this->ftp_ok();
355
+			if (!$response) {
356
+				$this->ftp_debug("Error : GET command failed\n");
357
+			}
358
+			return $response;
359
+		}
360
+
361
+		function ftp_put($remotefile, $localfile, $mode = 1)
362
+		{
363 363
             
364
-            if (!@file_exists($localfile)) {
365
-                $this->ftp_debug("Error : No such file or directory \"".$localfile."\"\n");
366
-                $this->ftp_debug("Error : PUT command failed\n");
367
-                return FALSE;
368
-            }
369
-
370
-            $fp = @fopen($localfile, "r");
371
-            if (!$fp) {
372
-                $this->ftp_debug("Error : Cannot read file \"".$localfile."\"\n");
373
-                $this->ftp_debug("Error : PUT command failed\n");
374
-                return FALSE;
375
-            }
376
-
377
-            if (!$this->ftp_type($mode)) {
378
-                $this->ftp_debug("Error : PUT command failed\n");
379
-                return FALSE;
380
-            }
381
-
382
-            if (!($string = $this->ftp_pasv())) {
383
-                $this->ftp_debug("Error : PUT command failed\n");
384
-                return FALSE;
385
-            }
386
-
387
-            $this->ftp_putcmd("STOR", $remotefile);
388
-
389
-            $sock_data = $this->ftp_open_data_connection($string);
390
-            if (!$sock_data || !$this->ftp_ok()) {
391
-                $this->ftp_debug("Error : Cannot connect to remote host\n");
392
-                $this->ftp_debug("Error : PUT command failed\n");
393
-                return FALSE;
394
-            }
395
-            $this->ftp_debug("Connected to remote host\n");
396
-            $this->ftp_debug("Storing local file \"".$localfile."\" to remote file \"".$remotefile."\"\n");
397
-            while (!feof($fp)) {
398
-                fputs($sock_data, fread($fp, 4096));
399
-            }
400
-            fclose($fp);
401
-
402
-            $this->ftp_close_data_connection($sock_data);
403
-
404
-            $response = $this->ftp_ok();
405
-            if (!$response) {
406
-                $this->ftp_debug("Error : PUT command failed\n");
407
-            }
408
-            return $response;
409
-        }
410
-
411
-        function ftp_site($command)
412
-        {
413
-            $this->ftp_putcmd("SITE", $command);
414
-            $response = $this->ftp_ok();
415
-            if (!$response) {
416
-                $this->ftp_debug("Error : SITE command failed\n");
417
-            }
418
-            return $response;
419
-        }
420
-
421
-        function ftp_quit()
422
-        {
423
-            $this->ftp_putcmd("QUIT");
424
-            if (!$this->ftp_ok() || !fclose($this->ftp_sock)) {
425
-                $this->ftp_debug("Error : QUIT command failed\n");
426
-                return FALSE;
427
-            }
428
-            $this->ftp_debug("Disconnected from remote host\n");
429
-            return TRUE;
430
-        }
431
-
432
-        /* Private Functions */
433
-
434
-        function ftp_type($mode)
435
-        {
436
-            if ($mode) {
437
-                $type = "I"; //Binary mode
438
-            } else {
439
-                $type = "A"; //ASCII mode
440
-            }
441
-            $this->ftp_putcmd("TYPE", $type);
442
-            $response = $this->ftp_ok();
443
-            if (!$response) {
444
-                $this->ftp_debug("Error : TYPE command failed\n");
445
-            }
446
-            return $response;
447
-        }
448
-
449
-        function ftp_port($ip_port)
450
-        {
451
-            $this->ftp_putcmd("PORT", $ip_port);
452
-            $response = $this->ftp_ok();
453
-            if (!$response) {
454
-                $this->ftp_debug("Error : PORT command failed\n");
455
-            }
456
-            return $response;
457
-        }
458
-
459
-        function ftp_pasv()
460
-        {
461
-            $this->ftp_putcmd("PASV");
462
-            if (!$this->ftp_ok()) {
463
-                $this->ftp_debug("Error : PASV command failed\n");
464
-                return FALSE;
465
-            }
466
-
467
-            $ip_port = preg_replace("@^.+ \\(?([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+)\\)?.*\r\n$@", "\\1", $this->ftp_resp);
468
-            return $ip_port;
469
-        }
470
-
471
-        function ftp_putcmd($cmd, $arg = "")
472
-        {
473
-            if ($arg != "") {
474
-                $cmd = $cmd." ".$arg;
475
-            }
476
-
477
-            fputs($this->ftp_sock, $cmd."\r\n");
478
-            $this->ftp_debug("> ".$cmd."\n");
479
-
480
-            return TRUE;
481
-        }
482
-
483
-        function ftp_ok()
484
-        {
485
-            $this->ftp_resp = "";
364
+			if (!@file_exists($localfile)) {
365
+				$this->ftp_debug("Error : No such file or directory \"".$localfile."\"\n");
366
+				$this->ftp_debug("Error : PUT command failed\n");
367
+				return FALSE;
368
+			}
369
+
370
+			$fp = @fopen($localfile, "r");
371
+			if (!$fp) {
372
+				$this->ftp_debug("Error : Cannot read file \"".$localfile."\"\n");
373
+				$this->ftp_debug("Error : PUT command failed\n");
374
+				return FALSE;
375
+			}
376
+
377
+			if (!$this->ftp_type($mode)) {
378
+				$this->ftp_debug("Error : PUT command failed\n");
379
+				return FALSE;
380
+			}
381
+
382
+			if (!($string = $this->ftp_pasv())) {
383
+				$this->ftp_debug("Error : PUT command failed\n");
384
+				return FALSE;
385
+			}
386
+
387
+			$this->ftp_putcmd("STOR", $remotefile);
388
+
389
+			$sock_data = $this->ftp_open_data_connection($string);
390
+			if (!$sock_data || !$this->ftp_ok()) {
391
+				$this->ftp_debug("Error : Cannot connect to remote host\n");
392
+				$this->ftp_debug("Error : PUT command failed\n");
393
+				return FALSE;
394
+			}
395
+			$this->ftp_debug("Connected to remote host\n");
396
+			$this->ftp_debug("Storing local file \"".$localfile."\" to remote file \"".$remotefile."\"\n");
397
+			while (!feof($fp)) {
398
+				fputs($sock_data, fread($fp, 4096));
399
+			}
400
+			fclose($fp);
401
+
402
+			$this->ftp_close_data_connection($sock_data);
403
+
404
+			$response = $this->ftp_ok();
405
+			if (!$response) {
406
+				$this->ftp_debug("Error : PUT command failed\n");
407
+			}
408
+			return $response;
409
+		}
410
+
411
+		function ftp_site($command)
412
+		{
413
+			$this->ftp_putcmd("SITE", $command);
414
+			$response = $this->ftp_ok();
415
+			if (!$response) {
416
+				$this->ftp_debug("Error : SITE command failed\n");
417
+			}
418
+			return $response;
419
+		}
420
+
421
+		function ftp_quit()
422
+		{
423
+			$this->ftp_putcmd("QUIT");
424
+			if (!$this->ftp_ok() || !fclose($this->ftp_sock)) {
425
+				$this->ftp_debug("Error : QUIT command failed\n");
426
+				return FALSE;
427
+			}
428
+			$this->ftp_debug("Disconnected from remote host\n");
429
+			return TRUE;
430
+		}
431
+
432
+		/* Private Functions */
433
+
434
+		function ftp_type($mode)
435
+		{
436
+			if ($mode) {
437
+				$type = "I"; //Binary mode
438
+			} else {
439
+				$type = "A"; //ASCII mode
440
+			}
441
+			$this->ftp_putcmd("TYPE", $type);
442
+			$response = $this->ftp_ok();
443
+			if (!$response) {
444
+				$this->ftp_debug("Error : TYPE command failed\n");
445
+			}
446
+			return $response;
447
+		}
448
+
449
+		function ftp_port($ip_port)
450
+		{
451
+			$this->ftp_putcmd("PORT", $ip_port);
452
+			$response = $this->ftp_ok();
453
+			if (!$response) {
454
+				$this->ftp_debug("Error : PORT command failed\n");
455
+			}
456
+			return $response;
457
+		}
458
+
459
+		function ftp_pasv()
460
+		{
461
+			$this->ftp_putcmd("PASV");
462
+			if (!$this->ftp_ok()) {
463
+				$this->ftp_debug("Error : PASV command failed\n");
464
+				return FALSE;
465
+			}
466
+
467
+			$ip_port = preg_replace("@^.+ \\(?([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+)\\)?.*\r\n$@", "\\1", $this->ftp_resp);
468
+			return $ip_port;
469
+		}
470
+
471
+		function ftp_putcmd($cmd, $arg = "")
472
+		{
473
+			if ($arg != "") {
474
+				$cmd = $cmd." ".$arg;
475
+			}
476
+
477
+			fputs($this->ftp_sock, $cmd."\r\n");
478
+			$this->ftp_debug("> ".$cmd."\n");
479
+
480
+			return TRUE;
481
+		}
482
+
483
+		function ftp_ok()
484
+		{
485
+			$this->ftp_resp = "";
486 486
 
487 487
 			// 한줄을 읽는다.
488 488
 			$line = '';
@@ -521,49 +521,49 @@  discard block
 block discarded – undo
521 521
 				}while($line);
522 522
 			}
523 523
 
524
-            $this->ftp_debug(str_replace("\r\n", "\n", $this->ftp_resp));
525
-
526
-            if (!preg_match("@^[123]@", $this->ftp_resp)) {
527
-                return FALSE;
528
-            }
529
-
530
-            return TRUE;
531
-        }
532
-
533
-        function ftp_close_data_connection($sock)
534
-        {
535
-            $this->ftp_debug("Disconnected from remote host\n");
536
-            return fclose($sock);
537
-        }
538
-
539
-        function ftp_open_data_connection($ip_port)
540
-        {
541
-            if (!preg_match("@[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+@", $ip_port)) {
542
-                $this->ftp_debug("Error : Illegal ip-port format(".$ip_port.")\n");
543
-                return FALSE;
544
-            }
545
-
546
-            $DATA = explode(",", $ip_port);
547
-            $ipaddr = $DATA[0].".".$DATA[1].".".$DATA[2].".".$DATA[3];
548
-            $port   = $DATA[4]*256 + $DATA[5];
549
-            $this->ftp_debug("Trying to ".$ipaddr.":".$port." ...\n");
550
-            $data_connection = @fsockopen($ipaddr, $port, $errno, $errstr);
551
-            if (!$data_connection) {
552
-                $this->ftp_debug("Error : Cannot open data connection to ".$ipaddr.":".$port."\n");
553
-                $this->ftp_debug("Error : ".$errstr." (".$errno.")\n");
554
-                return FALSE;
555
-            }
556
-
557
-            return $data_connection;
558
-        }
559
-
560
-        function ftp_debug($message = "")
561
-        {
562
-            if ($this->debug) {
563
-                echo $message;
564
-            }
565
-
566
-            return TRUE;
567
-        }
568
-    }
524
+			$this->ftp_debug(str_replace("\r\n", "\n", $this->ftp_resp));
525
+
526
+			if (!preg_match("@^[123]@", $this->ftp_resp)) {
527
+				return FALSE;
528
+			}
529
+
530
+			return TRUE;
531
+		}
532
+
533
+		function ftp_close_data_connection($sock)
534
+		{
535
+			$this->ftp_debug("Disconnected from remote host\n");
536
+			return fclose($sock);
537
+		}
538
+
539
+		function ftp_open_data_connection($ip_port)
540
+		{
541
+			if (!preg_match("@[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+@", $ip_port)) {
542
+				$this->ftp_debug("Error : Illegal ip-port format(".$ip_port.")\n");
543
+				return FALSE;
544
+			}
545
+
546
+			$DATA = explode(",", $ip_port);
547
+			$ipaddr = $DATA[0].".".$DATA[1].".".$DATA[2].".".$DATA[3];
548
+			$port   = $DATA[4]*256 + $DATA[5];
549
+			$this->ftp_debug("Trying to ".$ipaddr.":".$port." ...\n");
550
+			$data_connection = @fsockopen($ipaddr, $port, $errno, $errstr);
551
+			if (!$data_connection) {
552
+				$this->ftp_debug("Error : Cannot open data connection to ".$ipaddr.":".$port."\n");
553
+				$this->ftp_debug("Error : ".$errstr." (".$errno.")\n");
554
+				return FALSE;
555
+			}
556
+
557
+			return $data_connection;
558
+		}
559
+
560
+		function ftp_debug($message = "")
561
+		{
562
+			if ($this->debug) {
563
+				echo $message;
564
+			}
565
+
566
+			return TRUE;
567
+		}
568
+	}
569 569
 ?>
Please login to merge, or discard this patch.
Braces   +9 added lines, -3 removed lines patch added patch discarded remove patch
@@ -489,7 +489,9 @@  discard block
 block discarded – undo
489 489
 			while(($char = fgetc($this->ftp_sock)) !== FALSE)
490 490
 			{
491 491
 				$line .= $char;
492
-				if($char === "\n") break;
492
+				if($char === "\n") {
493
+					break;
494
+				}
493 495
 			}
494 496
 				
495 497
 			// 세자리 응답 코드가 나와야 한다.
@@ -512,12 +514,16 @@  discard block
 block discarded – undo
512 514
 					while(($char = fgetc($this->ftp_sock)) !== FALSE)
513 515
 					{
514 516
 						$line .= $char;
515
-						if($char === "\n") break;
517
+						if($char === "\n") {
518
+							break;
519
+						}
516 520
 					}
517 521
 					$this->ftp_resp .= $line;
518 522
 
519 523
 					// 응답 코드와 같은 코드가 나오고 공백이 있으면 끝
520
-					if($code . ' ' === substr($line, 0, 4)) break;
524
+					if($code . ' ' === substr($line, 0, 4)) {
525
+						break;
526
+					}
521 527
 				}while($line);
522 528
 			}
523 529
 
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
                 return FALSE;
82 82
             }
83 83
 
84
-			if(substr($this->ftp_resp, 0, 3) !== '220')
84
+			if (substr($this->ftp_resp, 0, 3) !== '220')
85 85
 			{
86 86
 				return FALSE;
87 87
 			}
@@ -486,14 +486,14 @@  discard block
 block discarded – undo
486 486
 
487 487
 			// 한줄을 읽는다.
488 488
 			$line = '';
489
-			while(($char = fgetc($this->ftp_sock)) !== FALSE)
489
+			while (($char = fgetc($this->ftp_sock)) !== FALSE)
490 490
 			{
491 491
 				$line .= $char;
492
-				if($char === "\n") break;
492
+				if ($char === "\n") break;
493 493
 			}
494 494
 				
495 495
 			// 세자리 응답 코드가 나와야 한다.
496
-			if(!preg_match('@^[0-9]{3}@', $line))
496
+			if (!preg_match('@^[0-9]{3}@', $line))
497 497
 			{
498 498
 				return FALSE;
499 499
 			}
@@ -501,7 +501,7 @@  discard block
 block discarded – undo
501 501
 			$this->ftp_resp = $line;
502 502
 
503 503
 			// 4번째 문자가 -이면 여러줄인 응답이다.
504
-			if($line[3] === '-')
504
+			if ($line[3] === '-')
505 505
 			{
506 506
 				$code = substr($line, 0, 3);
507 507
 
@@ -509,16 +509,16 @@  discard block
 block discarded – undo
509 509
 				do
510 510
 				{
511 511
 					$line = '';
512
-					while(($char = fgetc($this->ftp_sock)) !== FALSE)
512
+					while (($char = fgetc($this->ftp_sock)) !== FALSE)
513 513
 					{
514 514
 						$line .= $char;
515
-						if($char === "\n") break;
515
+						if ($char === "\n") break;
516 516
 					}
517 517
 					$this->ftp_resp .= $line;
518 518
 
519 519
 					// 응답 코드와 같은 코드가 나오고 공백이 있으면 끝
520
-					if($code . ' ' === substr($line, 0, 4)) break;
521
-				}while($line);
520
+					if ($code.' ' === substr($line, 0, 4)) break;
521
+				} while ($line);
522 522
 			}
523 523
 
524 524
             $this->ftp_debug(str_replace("\r\n", "\n", $this->ftp_resp));
@@ -545,7 +545,7 @@  discard block
 block discarded – undo
545 545
 
546 546
             $DATA = explode(",", $ip_port);
547 547
             $ipaddr = $DATA[0].".".$DATA[1].".".$DATA[2].".".$DATA[3];
548
-            $port   = $DATA[4]*256 + $DATA[5];
548
+            $port   = $DATA[4] * 256 + $DATA[5];
549 549
             $this->ftp_debug("Trying to ".$ipaddr.":".$port." ...\n");
550 550
             $data_connection = @fsockopen($ipaddr, $port, $errno, $errstr);
551 551
             if (!$data_connection) {
Please login to merge, or discard this patch.
libs/idna_convert/idna_convert.class.php 3 patches
Doc Comments   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
      * the constructor
89 89
      *
90 90
      * @param array $options
91
-     * @return boolean
91
+     * @return boolean|null
92 92
      * @since 0.5.2
93 93
      */
94 94
     public function __construct($options = false)
@@ -393,7 +393,7 @@  discard block
 block discarded – undo
393 393
     /**
394 394
      * Use this method to get the last error ocurred
395 395
      * @param    void
396
-     * @return   string   The last error, that occured
396
+     * @return   boolean   The last error, that occured
397 397
      */
398 398
     public function get_last_error()
399 399
     {
@@ -403,7 +403,7 @@  discard block
 block discarded – undo
403 403
     /**
404 404
      * The actual decoding algorithm
405 405
      * @param string
406
-     * @return mixed
406
+     * @return false|string
407 407
      */
408 408
     protected function _decode($encoded)
409 409
     {
@@ -464,7 +464,7 @@  discard block
 block discarded – undo
464 464
     /**
465 465
      * The actual encoding algorithm
466 466
      * @param  string
467
-     * @return mixed
467
+     * @return false|string
468 468
      */
469 469
     protected function _encode($decoded)
470 470
     {
@@ -699,7 +699,7 @@  discard block
 block discarded – undo
699 699
      * Decomposes a Hangul syllable
700 700
      * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
701 701
      * @param    integer  32bit UCS4 code point
702
-     * @return   array    Either Hangul Syllable decomposed or original 32bit value as one value array
702
+     * @return   integer[]    Either Hangul Syllable decomposed or original 32bit value as one value array
703 703
      */
704 704
     protected function _hangul_decompose($char)
705 705
     {
Please login to merge, or discard this patch.
Indentation   +3367 added lines, -3367 removed lines patch added patch discarded remove patch
@@ -51,3411 +51,3411 @@
 block discarded – undo
51 51
  */
52 52
 class idna_convert {
53 53
 
54
-    private $version = '0.9.0';
55
-    protected $sub_version = 'main';
54
+	private $version = '0.9.0';
55
+	protected $sub_version = 'main';
56 56
 
57
-    // NP See below
58
-    // Internal settings, do not mess with them
59
-    protected $_punycode_prefix = 'xn--';
60
-    protected $_invalid_ucs = 0x80000000;
61
-    protected $_max_ucs = 0x10FFFF;
62
-    protected $_base = 36;
63
-    protected $_tmin = 1;
64
-    protected $_tmax = 26;
65
-    protected $_skew = 38;
66
-    protected $_damp = 700;
67
-    protected $_initial_bias = 72;
68
-    protected $_initial_n = 0x80;
69
-    protected $_sbase = 0xAC00;
70
-    protected $_lbase = 0x1100;
71
-    protected $_vbase = 0x1161;
72
-    protected $_tbase = 0x11A7;
73
-    protected $_lcount = 19;
74
-    protected $_vcount = 21;
75
-    protected $_tcount = 28;
76
-    protected $_ncount = 588;   // _vcount * _tcount
77
-    protected $_scount = 11172; // _lcount * _tcount * _vcount
78
-    protected $_error = false;
79
-    protected static $_mb_string_overload = null;
80
-    // See {@link set_paramter()} for details of how to change the following
81
-    // settings from within your script / application
82
-    protected $_api_encoding = 'utf8';   // Default input charset is UTF-8
83
-    protected $_allow_overlong = false;  // Overlong UTF-8 encodings are forbidden
84
-    protected $_strict_mode = false;     // Behave strict or not
85
-    protected $_idn_version = 2003;      // Can be either 2003 (old, default) or 2008
57
+	// NP See below
58
+	// Internal settings, do not mess with them
59
+	protected $_punycode_prefix = 'xn--';
60
+	protected $_invalid_ucs = 0x80000000;
61
+	protected $_max_ucs = 0x10FFFF;
62
+	protected $_base = 36;
63
+	protected $_tmin = 1;
64
+	protected $_tmax = 26;
65
+	protected $_skew = 38;
66
+	protected $_damp = 700;
67
+	protected $_initial_bias = 72;
68
+	protected $_initial_n = 0x80;
69
+	protected $_sbase = 0xAC00;
70
+	protected $_lbase = 0x1100;
71
+	protected $_vbase = 0x1161;
72
+	protected $_tbase = 0x11A7;
73
+	protected $_lcount = 19;
74
+	protected $_vcount = 21;
75
+	protected $_tcount = 28;
76
+	protected $_ncount = 588;   // _vcount * _tcount
77
+	protected $_scount = 11172; // _lcount * _tcount * _vcount
78
+	protected $_error = false;
79
+	protected static $_mb_string_overload = null;
80
+	// See {@link set_paramter()} for details of how to change the following
81
+	// settings from within your script / application
82
+	protected $_api_encoding = 'utf8';   // Default input charset is UTF-8
83
+	protected $_allow_overlong = false;  // Overlong UTF-8 encodings are forbidden
84
+	protected $_strict_mode = false;     // Behave strict or not
85
+	protected $_idn_version = 2003;      // Can be either 2003 (old, default) or 2008
86 86
 
87
-    /**
88
-     * the constructor
89
-     *
90
-     * @param array $options
91
-     * @return boolean
92
-     * @since 0.5.2
93
-     */
94
-    public function __construct($options = false)
95
-    {
96
-        $this->slast = $this->_sbase + $this->_lcount * $this->_vcount * $this->_tcount;
97
-        // If parameters are given, pass these to the respective method
98
-        if (is_array($options)) {
99
-            $this->set_parameter($options);
100
-        }
87
+	/**
88
+	 * the constructor
89
+	 *
90
+	 * @param array $options
91
+	 * @return boolean
92
+	 * @since 0.5.2
93
+	 */
94
+	public function __construct($options = false)
95
+	{
96
+		$this->slast = $this->_sbase + $this->_lcount * $this->_vcount * $this->_tcount;
97
+		// If parameters are given, pass these to the respective method
98
+		if (is_array($options)) {
99
+			$this->set_parameter($options);
100
+		}
101 101
 
102
-        // populate mbstring overloading cache if not set
103
-        if (self::$_mb_string_overload === null) {
104
-            self::$_mb_string_overload = (extension_loaded('mbstring') && (ini_get('mbstring.func_overload') & 0x02) === 0x02);
105
-        }
106
-    }
102
+		// populate mbstring overloading cache if not set
103
+		if (self::$_mb_string_overload === null) {
104
+			self::$_mb_string_overload = (extension_loaded('mbstring') && (ini_get('mbstring.func_overload') & 0x02) === 0x02);
105
+		}
106
+	}
107 107
 
108
-    public function get_version()
109
-    {
110
-        return $this->version.'-'.$this->sub_version;
111
-    }
108
+	public function get_version()
109
+	{
110
+		return $this->version.'-'.$this->sub_version;
111
+	}
112 112
 
113
-    /**
114
-     * Sets a new option value. Available options and values:
115
-     * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
116
-     *         'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
117
-     * [overlong - Unicode does not allow unnecessarily long encodings of chars,
118
-     *             to allow this, set this parameter to true, else to false;
119
-     *             default is false.]
120
-     * [strict - true: strict mode, good for registration purposes - Causes errors
121
-     *           on failures; false: loose mode, ideal for "wildlife" applications
122
-     *           by silently ignoring errors and returning the original input instead
123
-     *
124
-     * @param    mixed     Parameter to set (string: single parameter; array of Parameter => Value pairs)
125
-     * @param    string    Value to use (if parameter 1 is a string)
126
-     * @return   boolean   true on success, false otherwise
127
-     */
128
-    public function set_parameter($option, $value = false)
129
-    {
130
-        if (!is_array($option)) {
131
-            $option = array($option => $value);
132
-        }
133
-        foreach ($option as $k => $v) {
134
-            switch ($k) {
135
-                case 'encoding':
136
-                    switch ($v) {
137
-                        case 'utf8':
138
-                        case 'ucs4_string':
139
-                        case 'ucs4_array':
140
-                            $this->_api_encoding = $v;
141
-                            break;
142
-                        default:
143
-                            $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
144
-                            return false;
145
-                    }
146
-                    break;
147
-                case 'overlong':
148
-                    $this->_allow_overlong = ($v) ? true : false;
149
-                    break;
150
-                case 'strict':
151
-                    $this->_strict_mode = ($v) ? true : false;
152
-                    break;
153
-                case 'idn_version':
154
-                    if (in_array($v, array('2003', '2008'))) {
155
-                        $this->_idn_version = $v;
156
-                    } else {
157
-                        $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
158
-                    }
159
-                    break;
160
-                case 'encode_german_sz': // Deprecated
161
-                    if (!$v) {
162
-                        self::$NP['replacemaps'][0xDF] = array(0x73, 0x73);
163
-                    } else {
164
-                        unset(self::$NP['replacemaps'][0xDF]);
165
-                    }
166
-                    break;
167
-                default:
168
-                    $this->_error('Set Parameter: Unknown option ' . $k);
169
-                    return false;
170
-            }
171
-        }
172
-        return true;
173
-    }
113
+	/**
114
+	 * Sets a new option value. Available options and values:
115
+	 * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
116
+	 *         'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
117
+	 * [overlong - Unicode does not allow unnecessarily long encodings of chars,
118
+	 *             to allow this, set this parameter to true, else to false;
119
+	 *             default is false.]
120
+	 * [strict - true: strict mode, good for registration purposes - Causes errors
121
+	 *           on failures; false: loose mode, ideal for "wildlife" applications
122
+	 *           by silently ignoring errors and returning the original input instead
123
+	 *
124
+	 * @param    mixed     Parameter to set (string: single parameter; array of Parameter => Value pairs)
125
+	 * @param    string    Value to use (if parameter 1 is a string)
126
+	 * @return   boolean   true on success, false otherwise
127
+	 */
128
+	public function set_parameter($option, $value = false)
129
+	{
130
+		if (!is_array($option)) {
131
+			$option = array($option => $value);
132
+		}
133
+		foreach ($option as $k => $v) {
134
+			switch ($k) {
135
+				case 'encoding':
136
+					switch ($v) {
137
+						case 'utf8':
138
+						case 'ucs4_string':
139
+						case 'ucs4_array':
140
+							$this->_api_encoding = $v;
141
+							break;
142
+						default:
143
+							$this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
144
+							return false;
145
+					}
146
+					break;
147
+				case 'overlong':
148
+					$this->_allow_overlong = ($v) ? true : false;
149
+					break;
150
+				case 'strict':
151
+					$this->_strict_mode = ($v) ? true : false;
152
+					break;
153
+				case 'idn_version':
154
+					if (in_array($v, array('2003', '2008'))) {
155
+						$this->_idn_version = $v;
156
+					} else {
157
+						$this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
158
+					}
159
+					break;
160
+				case 'encode_german_sz': // Deprecated
161
+					if (!$v) {
162
+						self::$NP['replacemaps'][0xDF] = array(0x73, 0x73);
163
+					} else {
164
+						unset(self::$NP['replacemaps'][0xDF]);
165
+					}
166
+					break;
167
+				default:
168
+					$this->_error('Set Parameter: Unknown option ' . $k);
169
+					return false;
170
+			}
171
+		}
172
+		return true;
173
+	}
174 174
 
175
-    /**
176
-     * Decode a given ACE domain name
177
-     * @param    string   Domain name (ACE string)
178
-     * [@param    string   Desired output encoding, see {@link set_parameter}]
179
-     * @return   string   Decoded Domain name (UTF-8 or UCS-4)
180
-     */
181
-    public function decode($input, $one_time_encoding = false)
182
-    {
183
-        // Optionally set
184
-        if ($one_time_encoding) {
185
-            switch ($one_time_encoding) {
186
-                case 'utf8':
187
-                case 'ucs4_string':
188
-                case 'ucs4_array':
189
-                    break;
190
-                default:
191
-                    $this->_error('Unknown encoding ' . $one_time_encoding);
192
-                    return false;
193
-            }
194
-        }
195
-        // Make sure to drop any newline characters around
196
-        $input = trim($input);
175
+	/**
176
+	 * Decode a given ACE domain name
177
+	 * @param    string   Domain name (ACE string)
178
+	 * [@param    string   Desired output encoding, see {@link set_parameter}]
179
+	 * @return   string   Decoded Domain name (UTF-8 or UCS-4)
180
+	 */
181
+	public function decode($input, $one_time_encoding = false)
182
+	{
183
+		// Optionally set
184
+		if ($one_time_encoding) {
185
+			switch ($one_time_encoding) {
186
+				case 'utf8':
187
+				case 'ucs4_string':
188
+				case 'ucs4_array':
189
+					break;
190
+				default:
191
+					$this->_error('Unknown encoding ' . $one_time_encoding);
192
+					return false;
193
+			}
194
+		}
195
+		// Make sure to drop any newline characters around
196
+		$input = trim($input);
197 197
 
198
-        // Negotiate input and try to determine, whether it is a plain string,
199
-        // an email address or something like a complete URL
200
-        if (strpos($input, '@')) { // Maybe it is an email address
201
-            // No no in strict mode
202
-            if ($this->_strict_mode) {
203
-                $this->_error('Only simple domain name parts can be handled in strict mode');
204
-                return false;
205
-            }
206
-            list ($email_pref, $input) = explode('@', $input, 2);
207
-            $arr = explode('.', $input);
208
-            foreach ($arr as $k => $v) {
209
-                if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
210
-                    $conv = $this->_decode($v);
211
-                    if ($conv) {
212
-                        $arr[$k] = $conv;
213
-                    }
214
-                }
215
-            }
216
-            $input = join('.', $arr);
217
-            $arr = explode('.', $email_pref);
218
-            foreach ($arr as $k => $v) {
219
-                if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
220
-                    $conv = $this->_decode($v);
221
-                    if ($conv) {
222
-                        $arr[$k] = $conv;
223
-                    }
224
-                }
225
-            }
226
-            $email_pref = join('.', $arr);
227
-            $return = $email_pref . '@' . $input;
228
-        } elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters)
229
-            // No no in strict mode
230
-            if ($this->_strict_mode) {
231
-                $this->_error('Only simple domain name parts can be handled in strict mode');
232
-                return false;
233
-            }
234
-            $parsed = parse_url($input);
235
-            if (isset($parsed['host'])) {
236
-                $arr = explode('.', $parsed['host']);
237
-                foreach ($arr as $k => $v) {
238
-                    $conv = $this->_decode($v);
239
-                    if ($conv) {
240
-                        $arr[$k] = $conv;
241
-                    }
242
-                }
243
-                $parsed['host'] = join('.', $arr);
244
-                $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
245
-                        (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
246
-                        $parsed['host'].
247
-                        (empty($parsed['port']) ? '' : ':' . $parsed['port']).
248
-                        (empty($parsed['path']) ? '' : $parsed['path']).
249
-                        (empty($parsed['query']) ? '' : '?' . $parsed['query']).
250
-                        (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
251
-            } else { // parse_url seems to have failed, try without it
252
-                $arr = explode('.', $input);
253
-                foreach ($arr as $k => $v) {
254
-                    $conv = $this->_decode($v);
255
-                    $arr[$k] = ($conv) ? $conv : $v;
256
-                }
257
-                $return = join('.', $arr);
258
-            }
259
-        } else { // Otherwise we consider it being a pure domain name string
260
-            $return = $this->_decode($input);
261
-            if (!$return) {
262
-                $return = $input;
263
-            }
264
-        }
265
-        // The output is UTF-8 by default, other output formats need conversion here
266
-        // If one time encoding is given, use this, else the objects property
267
-        switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) {
268
-            case 'utf8':        return $return; // break;
269
-            case 'ucs4_string': return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));  // break;
270
-            case 'ucs4_array':  return $this->_utf8_to_ucs4($return); // break;
271
-            default:            $this->_error('Unsupported output format'); return false;
272
-        }
273
-    }
198
+		// Negotiate input and try to determine, whether it is a plain string,
199
+		// an email address or something like a complete URL
200
+		if (strpos($input, '@')) { // Maybe it is an email address
201
+			// No no in strict mode
202
+			if ($this->_strict_mode) {
203
+				$this->_error('Only simple domain name parts can be handled in strict mode');
204
+				return false;
205
+			}
206
+			list ($email_pref, $input) = explode('@', $input, 2);
207
+			$arr = explode('.', $input);
208
+			foreach ($arr as $k => $v) {
209
+				if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
210
+					$conv = $this->_decode($v);
211
+					if ($conv) {
212
+						$arr[$k] = $conv;
213
+					}
214
+				}
215
+			}
216
+			$input = join('.', $arr);
217
+			$arr = explode('.', $email_pref);
218
+			foreach ($arr as $k => $v) {
219
+				if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
220
+					$conv = $this->_decode($v);
221
+					if ($conv) {
222
+						$arr[$k] = $conv;
223
+					}
224
+				}
225
+			}
226
+			$email_pref = join('.', $arr);
227
+			$return = $email_pref . '@' . $input;
228
+		} elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters)
229
+			// No no in strict mode
230
+			if ($this->_strict_mode) {
231
+				$this->_error('Only simple domain name parts can be handled in strict mode');
232
+				return false;
233
+			}
234
+			$parsed = parse_url($input);
235
+			if (isset($parsed['host'])) {
236
+				$arr = explode('.', $parsed['host']);
237
+				foreach ($arr as $k => $v) {
238
+					$conv = $this->_decode($v);
239
+					if ($conv) {
240
+						$arr[$k] = $conv;
241
+					}
242
+				}
243
+				$parsed['host'] = join('.', $arr);
244
+				$return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
245
+						(empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
246
+						$parsed['host'].
247
+						(empty($parsed['port']) ? '' : ':' . $parsed['port']).
248
+						(empty($parsed['path']) ? '' : $parsed['path']).
249
+						(empty($parsed['query']) ? '' : '?' . $parsed['query']).
250
+						(empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
251
+			} else { // parse_url seems to have failed, try without it
252
+				$arr = explode('.', $input);
253
+				foreach ($arr as $k => $v) {
254
+					$conv = $this->_decode($v);
255
+					$arr[$k] = ($conv) ? $conv : $v;
256
+				}
257
+				$return = join('.', $arr);
258
+			}
259
+		} else { // Otherwise we consider it being a pure domain name string
260
+			$return = $this->_decode($input);
261
+			if (!$return) {
262
+				$return = $input;
263
+			}
264
+		}
265
+		// The output is UTF-8 by default, other output formats need conversion here
266
+		// If one time encoding is given, use this, else the objects property
267
+		switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) {
268
+			case 'utf8':        return $return; // break;
269
+			case 'ucs4_string': return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));  // break;
270
+			case 'ucs4_array':  return $this->_utf8_to_ucs4($return); // break;
271
+			default:            $this->_error('Unsupported output format'); return false;
272
+		}
273
+	}
274 274
 
275
-    /**
276
-     * Encode a given UTF-8 domain name
277
-     * @param    string   Domain name (UTF-8 or UCS-4)
278
-     * [@param    string   Desired input encoding, see {@link set_parameter}]
279
-     * @return   string   Encoded Domain name (ACE string)
280
-     */
281
-    public function encode($decoded, $one_time_encoding = false)
282
-    {
283
-        // Forcing conversion of input to UCS4 array
284
-        // If one time encoding is given, use this, else the objects property
285
-        switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) {
286
-            case 'utf8':
287
-                $decoded = $this->_utf8_to_ucs4($decoded);
288
-                break;
289
-            case 'ucs4_string':
290
-                $decoded = $this->_ucs4_string_to_ucs4($decoded);
291
-            case 'ucs4_array':
292
-                break;
293
-            default:
294
-                $this->_error('Unsupported input format: ' . ($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
295
-                return false;
296
-        }
275
+	/**
276
+	 * Encode a given UTF-8 domain name
277
+	 * @param    string   Domain name (UTF-8 or UCS-4)
278
+	 * [@param    string   Desired input encoding, see {@link set_parameter}]
279
+	 * @return   string   Encoded Domain name (ACE string)
280
+	 */
281
+	public function encode($decoded, $one_time_encoding = false)
282
+	{
283
+		// Forcing conversion of input to UCS4 array
284
+		// If one time encoding is given, use this, else the objects property
285
+		switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) {
286
+			case 'utf8':
287
+				$decoded = $this->_utf8_to_ucs4($decoded);
288
+				break;
289
+			case 'ucs4_string':
290
+				$decoded = $this->_ucs4_string_to_ucs4($decoded);
291
+			case 'ucs4_array':
292
+				break;
293
+			default:
294
+				$this->_error('Unsupported input format: ' . ($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
295
+				return false;
296
+		}
297 297
 
298
-        // No input, no output, what else did you expect?
299
-        if (empty($decoded)) {
300
-            return '';
301
-        }
298
+		// No input, no output, what else did you expect?
299
+		if (empty($decoded)) {
300
+			return '';
301
+		}
302 302
 
303
-        // Anchors for iteration
304
-        $last_begin = 0;
305
-        // Output string
306
-        $output = '';
307
-        foreach ($decoded as $k => $v) {
308
-            // Make sure to use just the plain dot
309
-            switch ($v) {
310
-                case 0x3002:
311
-                case 0xFF0E:
312
-                case 0xFF61:
313
-                    $decoded[$k] = 0x2E;
314
-                    // Right, no break here, the above are converted to dots anyway
315
-                // Stumbling across an anchoring character
316
-                case 0x2E:
317
-                case 0x2F:
318
-                case 0x3A:
319
-                case 0x3F:
320
-                case 0x40:
321
-                    // Neither email addresses nor URLs allowed in strict mode
322
-                    if ($this->_strict_mode) {
323
-                        $this->_error('Neither email addresses nor URLs are allowed in strict mode.');
324
-                        return false;
325
-                    } else {
326
-                        // Skip first char
327
-                        if ($k) {
328
-                            $encoded = '';
329
-                            $encoded = $this->_encode(array_slice($decoded, $last_begin, (($k) - $last_begin)));
330
-                            if ($encoded) {
331
-                                $output .= $encoded;
332
-                            } else {
333
-                                $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k) - $last_begin)));
334
-                            }
335
-                            $output .= chr($decoded[$k]);
336
-                        }
337
-                        $last_begin = $k + 1;
338
-                    }
339
-            }
340
-        }
341
-        // Catch the rest of the string
342
-        if ($last_begin) {
343
-            $inp_len = sizeof($decoded);
344
-            $encoded = '';
345
-            $encoded = $this->_encode(array_slice($decoded, $last_begin, (($inp_len) - $last_begin)));
346
-            if ($encoded) {
347
-                $output .= $encoded;
348
-            } else {
349
-                $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($inp_len) - $last_begin)));
350
-            }
351
-            return $output;
352
-        } else {
353
-            if (false !== ($output = $this->_encode($decoded))) {
354
-                return $output;
355
-            } else {
356
-                return $this->_ucs4_to_utf8($decoded);
357
-            }
358
-        }
359
-    }
303
+		// Anchors for iteration
304
+		$last_begin = 0;
305
+		// Output string
306
+		$output = '';
307
+		foreach ($decoded as $k => $v) {
308
+			// Make sure to use just the plain dot
309
+			switch ($v) {
310
+				case 0x3002:
311
+				case 0xFF0E:
312
+				case 0xFF61:
313
+					$decoded[$k] = 0x2E;
314
+					// Right, no break here, the above are converted to dots anyway
315
+				// Stumbling across an anchoring character
316
+				case 0x2E:
317
+				case 0x2F:
318
+				case 0x3A:
319
+				case 0x3F:
320
+				case 0x40:
321
+					// Neither email addresses nor URLs allowed in strict mode
322
+					if ($this->_strict_mode) {
323
+						$this->_error('Neither email addresses nor URLs are allowed in strict mode.');
324
+						return false;
325
+					} else {
326
+						// Skip first char
327
+						if ($k) {
328
+							$encoded = '';
329
+							$encoded = $this->_encode(array_slice($decoded, $last_begin, (($k) - $last_begin)));
330
+							if ($encoded) {
331
+								$output .= $encoded;
332
+							} else {
333
+								$output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k) - $last_begin)));
334
+							}
335
+							$output .= chr($decoded[$k]);
336
+						}
337
+						$last_begin = $k + 1;
338
+					}
339
+			}
340
+		}
341
+		// Catch the rest of the string
342
+		if ($last_begin) {
343
+			$inp_len = sizeof($decoded);
344
+			$encoded = '';
345
+			$encoded = $this->_encode(array_slice($decoded, $last_begin, (($inp_len) - $last_begin)));
346
+			if ($encoded) {
347
+				$output .= $encoded;
348
+			} else {
349
+				$output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($inp_len) - $last_begin)));
350
+			}
351
+			return $output;
352
+		} else {
353
+			if (false !== ($output = $this->_encode($decoded))) {
354
+				return $output;
355
+			} else {
356
+				return $this->_ucs4_to_utf8($decoded);
357
+			}
358
+		}
359
+	}
360 360
 
361
-    /**
362
-     * Removes a weakness of encode(), which cannot properly handle URIs but instead encodes their
363
-     * path or query components, too.
364
-     * @param string  $uri  Expects the URI as a UTF-8 (or ASCII) string
365
-     * @return  string  The URI encoded to Punycode, everything but the host component is left alone
366
-     * @since 0.6.4
367
-     */
368
-    public function encode_uri($uri)
369
-    {
370
-        $parsed = parse_url($uri);
371
-        if (!isset($parsed['host'])) {
372
-            $this->_error('The given string does not look like a URI');
373
-            return false;
374
-        }
375
-        $arr = explode('.', $parsed['host']);
376
-        foreach ($arr as $k => $v) {
377
-            $conv = $this->encode($v, 'utf8');
378
-            if ($conv) {
379
-                $arr[$k] = $conv;
380
-            }
381
-        }
382
-        $parsed['host'] = join('.', $arr);
383
-        $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
384
-                (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
385
-                $parsed['host'].
386
-                (empty($parsed['port']) ? '' : ':' . $parsed['port']).
387
-                (empty($parsed['path']) ? '' : $parsed['path']).
388
-                (empty($parsed['query']) ? '' : '?' . $parsed['query']).
389
-                (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
390
-        return $return;
391
-    }
361
+	/**
362
+	 * Removes a weakness of encode(), which cannot properly handle URIs but instead encodes their
363
+	 * path or query components, too.
364
+	 * @param string  $uri  Expects the URI as a UTF-8 (or ASCII) string
365
+	 * @return  string  The URI encoded to Punycode, everything but the host component is left alone
366
+	 * @since 0.6.4
367
+	 */
368
+	public function encode_uri($uri)
369
+	{
370
+		$parsed = parse_url($uri);
371
+		if (!isset($parsed['host'])) {
372
+			$this->_error('The given string does not look like a URI');
373
+			return false;
374
+		}
375
+		$arr = explode('.', $parsed['host']);
376
+		foreach ($arr as $k => $v) {
377
+			$conv = $this->encode($v, 'utf8');
378
+			if ($conv) {
379
+				$arr[$k] = $conv;
380
+			}
381
+		}
382
+		$parsed['host'] = join('.', $arr);
383
+		$return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
384
+				(empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
385
+				$parsed['host'].
386
+				(empty($parsed['port']) ? '' : ':' . $parsed['port']).
387
+				(empty($parsed['path']) ? '' : $parsed['path']).
388
+				(empty($parsed['query']) ? '' : '?' . $parsed['query']).
389
+				(empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
390
+		return $return;
391
+	}
392 392
 
393
-    /**
394
-     * Use this method to get the last error ocurred
395
-     * @param    void
396
-     * @return   string   The last error, that occured
397
-     */
398
-    public function get_last_error()
399
-    {
400
-        return $this->_error;
401
-    }
393
+	/**
394
+	 * Use this method to get the last error ocurred
395
+	 * @param    void
396
+	 * @return   string   The last error, that occured
397
+	 */
398
+	public function get_last_error()
399
+	{
400
+		return $this->_error;
401
+	}
402 402
 
403
-    /**
404
-     * The actual decoding algorithm
405
-     * @param string
406
-     * @return mixed
407
-     */
408
-    protected function _decode($encoded)
409
-    {
410
-        $decoded = array();
411
-        // find the Punycode prefix
412
-        if (!preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $encoded)) {
413
-            $this->_error('This is not a punycode string');
414
-            return false;
415
-        }
416
-        $encode_test = preg_replace('!^' . preg_quote($this->_punycode_prefix, '!') . '!', '', $encoded);
417
-        // If nothing left after removing the prefix, it is hopeless
418
-        if (!$encode_test) {
419
-            $this->_error('The given encoded string was empty');
420
-            return false;
421
-        }
422
-        // Find last occurence of the delimiter
423
-        $delim_pos = strrpos($encoded, '-');
424
-        if ($delim_pos > self::byteLength($this->_punycode_prefix)) {
425
-            for ($k = self::byteLength($this->_punycode_prefix); $k < $delim_pos; ++$k) {
426
-                $decoded[] = ord($encoded{$k});
427
-            }
428
-        }
429
-        $deco_len = count($decoded);
430
-        $enco_len = self::byteLength($encoded);
403
+	/**
404
+	 * The actual decoding algorithm
405
+	 * @param string
406
+	 * @return mixed
407
+	 */
408
+	protected function _decode($encoded)
409
+	{
410
+		$decoded = array();
411
+		// find the Punycode prefix
412
+		if (!preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $encoded)) {
413
+			$this->_error('This is not a punycode string');
414
+			return false;
415
+		}
416
+		$encode_test = preg_replace('!^' . preg_quote($this->_punycode_prefix, '!') . '!', '', $encoded);
417
+		// If nothing left after removing the prefix, it is hopeless
418
+		if (!$encode_test) {
419
+			$this->_error('The given encoded string was empty');
420
+			return false;
421
+		}
422
+		// Find last occurence of the delimiter
423
+		$delim_pos = strrpos($encoded, '-');
424
+		if ($delim_pos > self::byteLength($this->_punycode_prefix)) {
425
+			for ($k = self::byteLength($this->_punycode_prefix); $k < $delim_pos; ++$k) {
426
+				$decoded[] = ord($encoded{$k});
427
+			}
428
+		}
429
+		$deco_len = count($decoded);
430
+		$enco_len = self::byteLength($encoded);
431 431
 
432
-        // Wandering through the strings; init
433
-        $is_first = true;
434
-        $bias = $this->_initial_bias;
435
-        $idx = 0;
436
-        $char = $this->_initial_n;
432
+		// Wandering through the strings; init
433
+		$is_first = true;
434
+		$bias = $this->_initial_bias;
435
+		$idx = 0;
436
+		$char = $this->_initial_n;
437 437
 
438
-        for ($enco_idx = ($delim_pos) ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) {
439
-            for ($old_idx = $idx, $w = 1, $k = $this->_base; 1; $k += $this->_base) {
440
-                $digit = $this->_decode_digit($encoded{$enco_idx++});
441
-                $idx += $digit * $w;
442
-                $t = ($k <= $bias) ? $this->_tmin :
443
-                        (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
444
-                if ($digit < $t) {
445
-                    break;
446
-                }
447
-                $w = (int) ($w * ($this->_base - $t));
448
-            }
449
-            $bias = $this->_adapt($idx - $old_idx, $deco_len + 1, $is_first);
450
-            $is_first = false;
451
-            $char += (int) ($idx / ($deco_len + 1));
452
-            $idx %= ($deco_len + 1);
453
-            if ($deco_len > 0) {
454
-                // Make room for the decoded char
455
-                for ($i = $deco_len; $i > $idx; $i--) {
456
-                    $decoded[$i] = $decoded[($i - 1)];
457
-                }
458
-            }
459
-            $decoded[$idx++] = $char;
460
-        }
461
-        return $this->_ucs4_to_utf8($decoded);
462
-    }
438
+		for ($enco_idx = ($delim_pos) ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) {
439
+			for ($old_idx = $idx, $w = 1, $k = $this->_base; 1; $k += $this->_base) {
440
+				$digit = $this->_decode_digit($encoded{$enco_idx++});
441
+				$idx += $digit * $w;
442
+				$t = ($k <= $bias) ? $this->_tmin :
443
+						(($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
444
+				if ($digit < $t) {
445
+					break;
446
+				}
447
+				$w = (int) ($w * ($this->_base - $t));
448
+			}
449
+			$bias = $this->_adapt($idx - $old_idx, $deco_len + 1, $is_first);
450
+			$is_first = false;
451
+			$char += (int) ($idx / ($deco_len + 1));
452
+			$idx %= ($deco_len + 1);
453
+			if ($deco_len > 0) {
454
+				// Make room for the decoded char
455
+				for ($i = $deco_len; $i > $idx; $i--) {
456
+					$decoded[$i] = $decoded[($i - 1)];
457
+				}
458
+			}
459
+			$decoded[$idx++] = $char;
460
+		}
461
+		return $this->_ucs4_to_utf8($decoded);
462
+	}
463 463
 
464
-    /**
465
-     * The actual encoding algorithm
466
-     * @param  string
467
-     * @return mixed
468
-     */
469
-    protected function _encode($decoded)
470
-    {
471
-        // We cannot encode a domain name containing the Punycode prefix
472
-        $extract = self::byteLength($this->_punycode_prefix);
473
-        $check_pref = $this->_utf8_to_ucs4($this->_punycode_prefix);
474
-        $check_deco = array_slice($decoded, 0, $extract);
464
+	/**
465
+	 * The actual encoding algorithm
466
+	 * @param  string
467
+	 * @return mixed
468
+	 */
469
+	protected function _encode($decoded)
470
+	{
471
+		// We cannot encode a domain name containing the Punycode prefix
472
+		$extract = self::byteLength($this->_punycode_prefix);
473
+		$check_pref = $this->_utf8_to_ucs4($this->_punycode_prefix);
474
+		$check_deco = array_slice($decoded, 0, $extract);
475 475
 
476
-        if ($check_pref == $check_deco) {
477
-            $this->_error('This is already a punycode string');
478
-            return false;
479
-        }
480
-        // We will not try to encode strings consisting of basic code points only
481
-        $encodable = false;
482
-        foreach ($decoded as $k => $v) {
483
-            if ($v > 0x7a) {
484
-                $encodable = true;
485
-                break;
486
-            }
487
-        }
488
-        if (!$encodable) {
489
-            $this->_error('The given string does not contain encodable chars');
490
-            return false;
491
-        }
492
-        // Do NAMEPREP
493
-        $decoded = $this->_nameprep($decoded);
494
-        if (!$decoded || !is_array($decoded)) {
495
-            return false; // NAMEPREP failed
496
-        }
497
-        $deco_len = count($decoded);
498
-        if (!$deco_len) {
499
-            return false; // Empty array
500
-        }
501
-        $codecount = 0; // How many chars have been consumed
502
-        $encoded = '';
503
-        // Copy all basic code points to output
504
-        for ($i = 0; $i < $deco_len; ++$i) {
505
-            $test = $decoded[$i];
506
-            // Will match [-0-9a-zA-Z]
507
-            if ((0x2F < $test && $test < 0x40) || (0x40 < $test && $test < 0x5B) || (0x60 < $test && $test <= 0x7B) || (0x2D == $test)) {
508
-                $encoded .= chr($decoded[$i]);
509
-                $codecount++;
510
-            }
511
-        }
512
-        if ($codecount == $deco_len) {
513
-            return $encoded; // All codepoints were basic ones
514
-        }
515
-        // Start with the prefix; copy it to output
516
-        $encoded = $this->_punycode_prefix . $encoded;
517
-        // If we have basic code points in output, add an hyphen to the end
518
-        if ($codecount) {
519
-            $encoded .= '-';
520
-        }
521
-        // Now find and encode all non-basic code points
522
-        $is_first = true;
523
-        $cur_code = $this->_initial_n;
524
-        $bias = $this->_initial_bias;
525
-        $delta = 0;
526
-        while ($codecount < $deco_len) {
527
-            // Find the smallest code point >= the current code point and
528
-            // remember the last ouccrence of it in the input
529
-            for ($i = 0, $next_code = $this->_max_ucs; $i < $deco_len; $i++) {
530
-                if ($decoded[$i] >= $cur_code && $decoded[$i] <= $next_code) {
531
-                    $next_code = $decoded[$i];
532
-                }
533
-            }
534
-            $delta += ($next_code - $cur_code) * ($codecount + 1);
535
-            $cur_code = $next_code;
476
+		if ($check_pref == $check_deco) {
477
+			$this->_error('This is already a punycode string');
478
+			return false;
479
+		}
480
+		// We will not try to encode strings consisting of basic code points only
481
+		$encodable = false;
482
+		foreach ($decoded as $k => $v) {
483
+			if ($v > 0x7a) {
484
+				$encodable = true;
485
+				break;
486
+			}
487
+		}
488
+		if (!$encodable) {
489
+			$this->_error('The given string does not contain encodable chars');
490
+			return false;
491
+		}
492
+		// Do NAMEPREP
493
+		$decoded = $this->_nameprep($decoded);
494
+		if (!$decoded || !is_array($decoded)) {
495
+			return false; // NAMEPREP failed
496
+		}
497
+		$deco_len = count($decoded);
498
+		if (!$deco_len) {
499
+			return false; // Empty array
500
+		}
501
+		$codecount = 0; // How many chars have been consumed
502
+		$encoded = '';
503
+		// Copy all basic code points to output
504
+		for ($i = 0; $i < $deco_len; ++$i) {
505
+			$test = $decoded[$i];
506
+			// Will match [-0-9a-zA-Z]
507
+			if ((0x2F < $test && $test < 0x40) || (0x40 < $test && $test < 0x5B) || (0x60 < $test && $test <= 0x7B) || (0x2D == $test)) {
508
+				$encoded .= chr($decoded[$i]);
509
+				$codecount++;
510
+			}
511
+		}
512
+		if ($codecount == $deco_len) {
513
+			return $encoded; // All codepoints were basic ones
514
+		}
515
+		// Start with the prefix; copy it to output
516
+		$encoded = $this->_punycode_prefix . $encoded;
517
+		// If we have basic code points in output, add an hyphen to the end
518
+		if ($codecount) {
519
+			$encoded .= '-';
520
+		}
521
+		// Now find and encode all non-basic code points
522
+		$is_first = true;
523
+		$cur_code = $this->_initial_n;
524
+		$bias = $this->_initial_bias;
525
+		$delta = 0;
526
+		while ($codecount < $deco_len) {
527
+			// Find the smallest code point >= the current code point and
528
+			// remember the last ouccrence of it in the input
529
+			for ($i = 0, $next_code = $this->_max_ucs; $i < $deco_len; $i++) {
530
+				if ($decoded[$i] >= $cur_code && $decoded[$i] <= $next_code) {
531
+					$next_code = $decoded[$i];
532
+				}
533
+			}
534
+			$delta += ($next_code - $cur_code) * ($codecount + 1);
535
+			$cur_code = $next_code;
536 536
 
537
-            // Scan input again and encode all characters whose code point is $cur_code
538
-            for ($i = 0; $i < $deco_len; $i++) {
539
-                if ($decoded[$i] < $cur_code) {
540
-                    $delta++;
541
-                } elseif ($decoded[$i] == $cur_code) {
542
-                    for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) {
543
-                        $t = ($k <= $bias) ? $this->_tmin :
544
-                                (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
545
-                        if ($q < $t) {
546
-                            break;
547
-                        }
548
-                        $encoded .= $this->_encode_digit(intval($t + (($q - $t) % ($this->_base - $t)))); //v0.4.5 Changed from ceil() to intval()
549
-                        $q = (int) (($q - $t) / ($this->_base - $t));
550
-                    }
551
-                    $encoded .= $this->_encode_digit($q);
552
-                    $bias = $this->_adapt($delta, $codecount + 1, $is_first);
553
-                    $codecount++;
554
-                    $delta = 0;
555
-                    $is_first = false;
556
-                }
557
-            }
558
-            $delta++;
559
-            $cur_code++;
560
-        }
561
-        return $encoded;
562
-    }
537
+			// Scan input again and encode all characters whose code point is $cur_code
538
+			for ($i = 0; $i < $deco_len; $i++) {
539
+				if ($decoded[$i] < $cur_code) {
540
+					$delta++;
541
+				} elseif ($decoded[$i] == $cur_code) {
542
+					for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) {
543
+						$t = ($k <= $bias) ? $this->_tmin :
544
+								(($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
545
+						if ($q < $t) {
546
+							break;
547
+						}
548
+						$encoded .= $this->_encode_digit(intval($t + (($q - $t) % ($this->_base - $t)))); //v0.4.5 Changed from ceil() to intval()
549
+						$q = (int) (($q - $t) / ($this->_base - $t));
550
+					}
551
+					$encoded .= $this->_encode_digit($q);
552
+					$bias = $this->_adapt($delta, $codecount + 1, $is_first);
553
+					$codecount++;
554
+					$delta = 0;
555
+					$is_first = false;
556
+				}
557
+			}
558
+			$delta++;
559
+			$cur_code++;
560
+		}
561
+		return $encoded;
562
+	}
563 563
 
564
-    /**
565
-     * Adapt the bias according to the current code point and position
566
-     * @param int $delta
567
-     * @param int $npoints
568
-     * @param int $is_first
569
-     * @return int
570
-     */
571
-    protected function _adapt($delta, $npoints, $is_first)
572
-    {
573
-        $delta = intval($is_first ? ($delta / $this->_damp) : ($delta / 2));
574
-        $delta += intval($delta / $npoints);
575
-        for ($k = 0; $delta > (($this->_base - $this->_tmin) * $this->_tmax) / 2; $k += $this->_base) {
576
-            $delta = intval($delta / ($this->_base - $this->_tmin));
577
-        }
578
-        return intval($k + ($this->_base - $this->_tmin + 1) * $delta / ($delta + $this->_skew));
579
-    }
564
+	/**
565
+	 * Adapt the bias according to the current code point and position
566
+	 * @param int $delta
567
+	 * @param int $npoints
568
+	 * @param int $is_first
569
+	 * @return int
570
+	 */
571
+	protected function _adapt($delta, $npoints, $is_first)
572
+	{
573
+		$delta = intval($is_first ? ($delta / $this->_damp) : ($delta / 2));
574
+		$delta += intval($delta / $npoints);
575
+		for ($k = 0; $delta > (($this->_base - $this->_tmin) * $this->_tmax) / 2; $k += $this->_base) {
576
+			$delta = intval($delta / ($this->_base - $this->_tmin));
577
+		}
578
+		return intval($k + ($this->_base - $this->_tmin + 1) * $delta / ($delta + $this->_skew));
579
+	}
580 580
 
581
-    /**
582
-     * Encoding a certain digit
583
-     * @param    int $d
584
-     * @return string
585
-     */
586
-    protected function _encode_digit($d)
587
-    {
588
-        return chr($d + 22 + 75 * ($d < 26));
589
-    }
581
+	/**
582
+	 * Encoding a certain digit
583
+	 * @param    int $d
584
+	 * @return string
585
+	 */
586
+	protected function _encode_digit($d)
587
+	{
588
+		return chr($d + 22 + 75 * ($d < 26));
589
+	}
590 590
 
591
-    /**
592
-     * Decode a certain digit
593
-     * @param    int $cp
594
-     * @return int
595
-     */
596
-    protected function _decode_digit($cp)
597
-    {
598
-        $cp = ord($cp);
599
-        return ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $this->_base));
600
-    }
591
+	/**
592
+	 * Decode a certain digit
593
+	 * @param    int $cp
594
+	 * @return int
595
+	 */
596
+	protected function _decode_digit($cp)
597
+	{
598
+		$cp = ord($cp);
599
+		return ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $this->_base));
600
+	}
601 601
 
602
-    /**
603
-     * Internal error handling method
604
-     * @param  string $error
605
-     */
606
-    protected function _error($error = '')
607
-    {
608
-        $this->_error = $error;
609
-    }
602
+	/**
603
+	 * Internal error handling method
604
+	 * @param  string $error
605
+	 */
606
+	protected function _error($error = '')
607
+	{
608
+		$this->_error = $error;
609
+	}
610 610
 
611
-    /**
612
-     * Do Nameprep according to RFC3491 and RFC3454
613
-     * @param    array    Unicode Characters
614
-     * @return   string   Unicode Characters, Nameprep'd
615
-     */
616
-    protected function _nameprep($input)
617
-    {
618
-        $output = array();
619
-        //
620
-        // Mapping
621
-        // Walking through the input array, performing the required steps on each of
622
-        // the input chars and putting the result into the output array
623
-        // While mapping required chars we apply the cannonical ordering
624
-        foreach ($input as $v) {
625
-            // Map to nothing == skip that code point
626
-            if (in_array($v, self::$NP['map_nothing'])) {
627
-                continue;
628
-            }
629
-            // Try to find prohibited input
630
-            if (in_array($v, self::$NP['prohibit']) || in_array($v, self::$NP['general_prohibited'])) {
631
-                $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
632
-                return false;
633
-            }
634
-            foreach (self::$NP['prohibit_ranges'] as $range) {
635
-                if ($range[0] <= $v && $v <= $range[1]) {
636
-                    $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
637
-                    return false;
638
-                }
639
-            }
611
+	/**
612
+	 * Do Nameprep according to RFC3491 and RFC3454
613
+	 * @param    array    Unicode Characters
614
+	 * @return   string   Unicode Characters, Nameprep'd
615
+	 */
616
+	protected function _nameprep($input)
617
+	{
618
+		$output = array();
619
+		//
620
+		// Mapping
621
+		// Walking through the input array, performing the required steps on each of
622
+		// the input chars and putting the result into the output array
623
+		// While mapping required chars we apply the cannonical ordering
624
+		foreach ($input as $v) {
625
+			// Map to nothing == skip that code point
626
+			if (in_array($v, self::$NP['map_nothing'])) {
627
+				continue;
628
+			}
629
+			// Try to find prohibited input
630
+			if (in_array($v, self::$NP['prohibit']) || in_array($v, self::$NP['general_prohibited'])) {
631
+				$this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
632
+				return false;
633
+			}
634
+			foreach (self::$NP['prohibit_ranges'] as $range) {
635
+				if ($range[0] <= $v && $v <= $range[1]) {
636
+					$this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
637
+					return false;
638
+				}
639
+			}
640 640
 
641
-            if (0xAC00 <= $v && $v <= 0xD7AF) {
642
-                // Hangul syllable decomposition
643
-                foreach ($this->_hangul_decompose($v) as $out) {
644
-                    $output[] = (int) $out;
645
-                }
646
-            } elseif (($this->_idn_version == '2003') && isset(self::$NP['replacemaps_2003'][$v])) {
647
-                foreach ($this->_apply_cannonical_ordering(self::$NP['replacemaps_2003'][$v]) as $out) {
648
-                    $output[] = (int) $out;
649
-                }
650
-            } elseif (($this->_idn_version == '2008') && isset(self::$NP['replacemaps'][$v])) {
651
-                foreach ($this->_apply_cannonical_ordering(self::$NP['replacemaps'][$v]) as $out) {
652
-                    $output[] = (int) $out;
653
-                }
654
-            } else {
655
-                $output[] = (int) $v;
656
-            }
657
-        }
658
-        // Before applying any Combining, try to rearrange any Hangul syllables
659
-        $output = $this->_hangul_compose($output);
660
-        //
661
-        // Combine code points
662
-        //
663
-        $last_class = 0;
664
-        $last_starter = 0;
665
-        $out_len = count($output);
666
-        for ($i = 0; $i < $out_len; ++$i) {
667
-            $class = $this->_get_combining_class($output[$i]);
668
-            if ((!$last_class || $last_class > $class) && $class) {
669
-                // Try to match
670
-                $seq_len = $i - $last_starter;
671
-                $out = $this->_combine(array_slice($output, $last_starter, $seq_len));
672
-                // On match: Replace the last starter with the composed character and remove
673
-                // the now redundant non-starter(s)
674
-                if ($out) {
675
-                    $output[$last_starter] = $out;
676
-                    if (count($out) != $seq_len) {
677
-                        for ($j = $i + 1; $j < $out_len; ++$j) {
678
-                            $output[$j - 1] = $output[$j];
679
-                        }
680
-                        unset($output[$out_len]);
681
-                    }
682
-                    // Rewind the for loop by one, since there can be more possible compositions
683
-                    $i--;
684
-                    $out_len--;
685
-                    $last_class = ($i == $last_starter) ? 0 : $this->_get_combining_class($output[$i - 1]);
686
-                    continue;
687
-                }
688
-            }
689
-            // The current class is 0
690
-            if (!$class) {
691
-                $last_starter = $i;
692
-            }
693
-            $last_class = $class;
694
-        }
695
-        return $output;
696
-    }
641
+			if (0xAC00 <= $v && $v <= 0xD7AF) {
642
+				// Hangul syllable decomposition
643
+				foreach ($this->_hangul_decompose($v) as $out) {
644
+					$output[] = (int) $out;
645
+				}
646
+			} elseif (($this->_idn_version == '2003') && isset(self::$NP['replacemaps_2003'][$v])) {
647
+				foreach ($this->_apply_cannonical_ordering(self::$NP['replacemaps_2003'][$v]) as $out) {
648
+					$output[] = (int) $out;
649
+				}
650
+			} elseif (($this->_idn_version == '2008') && isset(self::$NP['replacemaps'][$v])) {
651
+				foreach ($this->_apply_cannonical_ordering(self::$NP['replacemaps'][$v]) as $out) {
652
+					$output[] = (int) $out;
653
+				}
654
+			} else {
655
+				$output[] = (int) $v;
656
+			}
657
+		}
658
+		// Before applying any Combining, try to rearrange any Hangul syllables
659
+		$output = $this->_hangul_compose($output);
660
+		//
661
+		// Combine code points
662
+		//
663
+		$last_class = 0;
664
+		$last_starter = 0;
665
+		$out_len = count($output);
666
+		for ($i = 0; $i < $out_len; ++$i) {
667
+			$class = $this->_get_combining_class($output[$i]);
668
+			if ((!$last_class || $last_class > $class) && $class) {
669
+				// Try to match
670
+				$seq_len = $i - $last_starter;
671
+				$out = $this->_combine(array_slice($output, $last_starter, $seq_len));
672
+				// On match: Replace the last starter with the composed character and remove
673
+				// the now redundant non-starter(s)
674
+				if ($out) {
675
+					$output[$last_starter] = $out;
676
+					if (count($out) != $seq_len) {
677
+						for ($j = $i + 1; $j < $out_len; ++$j) {
678
+							$output[$j - 1] = $output[$j];
679
+						}
680
+						unset($output[$out_len]);
681
+					}
682
+					// Rewind the for loop by one, since there can be more possible compositions
683
+					$i--;
684
+					$out_len--;
685
+					$last_class = ($i == $last_starter) ? 0 : $this->_get_combining_class($output[$i - 1]);
686
+					continue;
687
+				}
688
+			}
689
+			// The current class is 0
690
+			if (!$class) {
691
+				$last_starter = $i;
692
+			}
693
+			$last_class = $class;
694
+		}
695
+		return $output;
696
+	}
697 697
 
698
-    /**
699
-     * Decomposes a Hangul syllable
700
-     * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
701
-     * @param    integer  32bit UCS4 code point
702
-     * @return   array    Either Hangul Syllable decomposed or original 32bit value as one value array
703
-     */
704
-    protected function _hangul_decompose($char)
705
-    {
706
-        $sindex = (int) $char - $this->_sbase;
707
-        if ($sindex < 0 || $sindex >= $this->_scount) {
708
-            return array($char);
709
-        }
710
-        $result = array();
711
-        $result[] = (int) $this->_lbase + $sindex / $this->_ncount;
712
-        $result[] = (int) $this->_vbase + ($sindex % $this->_ncount) / $this->_tcount;
713
-        $T = intval($this->_tbase + $sindex % $this->_tcount);
714
-        if ($T != $this->_tbase) {
715
-            $result[] = $T;
716
-        }
717
-        return $result;
718
-    }
698
+	/**
699
+	 * Decomposes a Hangul syllable
700
+	 * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
701
+	 * @param    integer  32bit UCS4 code point
702
+	 * @return   array    Either Hangul Syllable decomposed or original 32bit value as one value array
703
+	 */
704
+	protected function _hangul_decompose($char)
705
+	{
706
+		$sindex = (int) $char - $this->_sbase;
707
+		if ($sindex < 0 || $sindex >= $this->_scount) {
708
+			return array($char);
709
+		}
710
+		$result = array();
711
+		$result[] = (int) $this->_lbase + $sindex / $this->_ncount;
712
+		$result[] = (int) $this->_vbase + ($sindex % $this->_ncount) / $this->_tcount;
713
+		$T = intval($this->_tbase + $sindex % $this->_tcount);
714
+		if ($T != $this->_tbase) {
715
+			$result[] = $T;
716
+		}
717
+		return $result;
718
+	}
719 719
 
720
-    /**
721
-     * Ccomposes a Hangul syllable
722
-     * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
723
-     * @param    array    Decomposed UCS4 sequence
724
-     * @return   array    UCS4 sequence with syllables composed
725
-     */
726
-    protected function _hangul_compose($input)
727
-    {
728
-        $inp_len = count($input);
729
-        if (!$inp_len) {
730
-            return array();
731
-        }
732
-        $result = array();
733
-        $last = (int) $input[0];
734
-        $result[] = $last; // copy first char from input to output
720
+	/**
721
+	 * Ccomposes a Hangul syllable
722
+	 * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
723
+	 * @param    array    Decomposed UCS4 sequence
724
+	 * @return   array    UCS4 sequence with syllables composed
725
+	 */
726
+	protected function _hangul_compose($input)
727
+	{
728
+		$inp_len = count($input);
729
+		if (!$inp_len) {
730
+			return array();
731
+		}
732
+		$result = array();
733
+		$last = (int) $input[0];
734
+		$result[] = $last; // copy first char from input to output
735 735
 
736
-        for ($i = 1; $i < $inp_len; ++$i) {
737
-            $char = (int) $input[$i];
738
-            $sindex = $last - $this->_sbase;
739
-            $lindex = $last - $this->_lbase;
740
-            $vindex = $char - $this->_vbase;
741
-            $tindex = $char - $this->_tbase;
742
-            // Find out, whether two current characters are LV and T
743
-            if (0 <= $sindex && $sindex < $this->_scount && ($sindex % $this->_tcount == 0) && 0 <= $tindex && $tindex <= $this->_tcount) {
744
-                // create syllable of form LVT
745
-                $last += $tindex;
746
-                $result[(count($result) - 1)] = $last; // reset last
747
-                continue; // discard char
748
-            }
749
-            // Find out, whether two current characters form L and V
750
-            if (0 <= $lindex && $lindex < $this->_lcount && 0 <= $vindex && $vindex < $this->_vcount) {
751
-                // create syllable of form LV
752
-                $last = (int) $this->_sbase + ($lindex * $this->_vcount + $vindex) * $this->_tcount;
753
-                $result[(count($result) - 1)] = $last; // reset last
754
-                continue; // discard char
755
-            }
756
-            // if neither case was true, just add the character
757
-            $last = $char;
758
-            $result[] = $char;
759
-        }
760
-        return $result;
761
-    }
736
+		for ($i = 1; $i < $inp_len; ++$i) {
737
+			$char = (int) $input[$i];
738
+			$sindex = $last - $this->_sbase;
739
+			$lindex = $last - $this->_lbase;
740
+			$vindex = $char - $this->_vbase;
741
+			$tindex = $char - $this->_tbase;
742
+			// Find out, whether two current characters are LV and T
743
+			if (0 <= $sindex && $sindex < $this->_scount && ($sindex % $this->_tcount == 0) && 0 <= $tindex && $tindex <= $this->_tcount) {
744
+				// create syllable of form LVT
745
+				$last += $tindex;
746
+				$result[(count($result) - 1)] = $last; // reset last
747
+				continue; // discard char
748
+			}
749
+			// Find out, whether two current characters form L and V
750
+			if (0 <= $lindex && $lindex < $this->_lcount && 0 <= $vindex && $vindex < $this->_vcount) {
751
+				// create syllable of form LV
752
+				$last = (int) $this->_sbase + ($lindex * $this->_vcount + $vindex) * $this->_tcount;
753
+				$result[(count($result) - 1)] = $last; // reset last
754
+				continue; // discard char
755
+			}
756
+			// if neither case was true, just add the character
757
+			$last = $char;
758
+			$result[] = $char;
759
+		}
760
+		return $result;
761
+	}
762 762
 
763
-    /**
764
-     * Returns the combining class of a certain wide char
765
-     * @param    integer    Wide char to check (32bit integer)
766
-     * @return   integer    Combining class if found, else 0
767
-     */
768
-    protected function _get_combining_class($char)
769
-    {
770
-        return isset(self::$NP['norm_combcls'][$char]) ? self::$NP['norm_combcls'][$char] : 0;
771
-    }
763
+	/**
764
+	 * Returns the combining class of a certain wide char
765
+	 * @param    integer    Wide char to check (32bit integer)
766
+	 * @return   integer    Combining class if found, else 0
767
+	 */
768
+	protected function _get_combining_class($char)
769
+	{
770
+		return isset(self::$NP['norm_combcls'][$char]) ? self::$NP['norm_combcls'][$char] : 0;
771
+	}
772 772
 
773
-    /**
774
-     * Applies the cannonical ordering of a decomposed UCS4 sequence
775
-     * @param    array      Decomposed UCS4 sequence
776
-     * @return   array      Ordered USC4 sequence
777
-     */
778
-    protected function _apply_cannonical_ordering($input)
779
-    {
780
-        $swap = true;
781
-        $size = count($input);
782
-        while ($swap) {
783
-            $swap = false;
784
-            $last = $this->_get_combining_class(intval($input[0]));
785
-            for ($i = 0; $i < $size - 1; ++$i) {
786
-                $next = $this->_get_combining_class(intval($input[$i + 1]));
787
-                if ($next != 0 && $last > $next) {
788
-                    // Move item leftward until it fits
789
-                    for ($j = $i + 1; $j > 0; --$j) {
790
-                        if ($this->_get_combining_class(intval($input[$j - 1])) <= $next) {
791
-                            break;
792
-                        }
793
-                        $t = intval($input[$j]);
794
-                        $input[$j] = intval($input[$j - 1]);
795
-                        $input[$j - 1] = $t;
796
-                        $swap = true;
797
-                    }
798
-                    // Reentering the loop looking at the old character again
799
-                    $next = $last;
800
-                }
801
-                $last = $next;
802
-            }
803
-        }
804
-        return $input;
805
-    }
773
+	/**
774
+	 * Applies the cannonical ordering of a decomposed UCS4 sequence
775
+	 * @param    array      Decomposed UCS4 sequence
776
+	 * @return   array      Ordered USC4 sequence
777
+	 */
778
+	protected function _apply_cannonical_ordering($input)
779
+	{
780
+		$swap = true;
781
+		$size = count($input);
782
+		while ($swap) {
783
+			$swap = false;
784
+			$last = $this->_get_combining_class(intval($input[0]));
785
+			for ($i = 0; $i < $size - 1; ++$i) {
786
+				$next = $this->_get_combining_class(intval($input[$i + 1]));
787
+				if ($next != 0 && $last > $next) {
788
+					// Move item leftward until it fits
789
+					for ($j = $i + 1; $j > 0; --$j) {
790
+						if ($this->_get_combining_class(intval($input[$j - 1])) <= $next) {
791
+							break;
792
+						}
793
+						$t = intval($input[$j]);
794
+						$input[$j] = intval($input[$j - 1]);
795
+						$input[$j - 1] = $t;
796
+						$swap = true;
797
+					}
798
+					// Reentering the loop looking at the old character again
799
+					$next = $last;
800
+				}
801
+				$last = $next;
802
+			}
803
+		}
804
+		return $input;
805
+	}
806 806
 
807
-    /**
808
-     * Do composition of a sequence of starter and non-starter
809
-     * @param    array      UCS4 Decomposed sequence
810
-     * @return   array      Ordered USC4 sequence
811
-     */
812
-    protected function _combine($input)
813
-    {
814
-        $inp_len = count($input);
815
-        if (0 == $inp_len) {
816
-            return false;
817
-        }
818
-        foreach (self::$NP['replacemaps'] as $np_src => $np_target) {
819
-            if ($np_target[0] != $input[0]) {
820
-                continue;
821
-            }
822
-            if (count($np_target) != $inp_len) {
823
-                continue;
824
-            }
825
-            $hit = false;
826
-            foreach ($input as $k2 => $v2) {
827
-                if ($v2 == $np_target[$k2]) {
828
-                    $hit = true;
829
-                } else {
830
-                    $hit = false;
831
-                    break;
832
-                }
833
-            }
834
-            if ($hit) {
835
-                return $np_src;
836
-            }
837
-        }
838
-        return false;
839
-    }
807
+	/**
808
+	 * Do composition of a sequence of starter and non-starter
809
+	 * @param    array      UCS4 Decomposed sequence
810
+	 * @return   array      Ordered USC4 sequence
811
+	 */
812
+	protected function _combine($input)
813
+	{
814
+		$inp_len = count($input);
815
+		if (0 == $inp_len) {
816
+			return false;
817
+		}
818
+		foreach (self::$NP['replacemaps'] as $np_src => $np_target) {
819
+			if ($np_target[0] != $input[0]) {
820
+				continue;
821
+			}
822
+			if (count($np_target) != $inp_len) {
823
+				continue;
824
+			}
825
+			$hit = false;
826
+			foreach ($input as $k2 => $v2) {
827
+				if ($v2 == $np_target[$k2]) {
828
+					$hit = true;
829
+				} else {
830
+					$hit = false;
831
+					break;
832
+				}
833
+			}
834
+			if ($hit) {
835
+				return $np_src;
836
+			}
837
+		}
838
+		return false;
839
+	}
840 840
 
841
-    /**
842
-     * This converts an UTF-8 encoded string to its UCS-4 representation
843
-     * By talking about UCS-4 "strings" we mean arrays of 32bit integers representing
844
-     * each of the "chars". This is due to PHP not being able to handle strings with
845
-     * bit depth different from 8. This apllies to the reverse method _ucs4_to_utf8(), too.
846
-     * The following UTF-8 encodings are supported:
847
-     * bytes bits  representation
848
-     * 1        7  0xxxxxxx
849
-     * 2       11  110xxxxx 10xxxxxx
850
-     * 3       16  1110xxxx 10xxxxxx 10xxxxxx
851
-     * 4       21  11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
852
-     * 5       26  111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
853
-     * 6       31  1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
854
-     * Each x represents a bit that can be used to store character data.
855
-     * The five and six byte sequences are part of Annex D of ISO/IEC 10646-1:2000
856
-     * @param string $input
857
-     * @return string
858
-     */
859
-    protected function _utf8_to_ucs4($input)
860
-    {
861
-        $output = array();
862
-        $out_len = 0;
863
-        $inp_len = self::byteLength($input);
864
-        $mode = 'next';
865
-        $test = 'none';
866
-        for ($k = 0; $k < $inp_len; ++$k) {
867
-            $v = ord($input{$k}); // Extract byte from input string
868
-            if ($v < 128) { // We found an ASCII char - put into stirng as is
869
-                $output[$out_len] = $v;
870
-                ++$out_len;
871
-                if ('add' == $mode) {
872
-                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
873
-                    return false;
874
-                }
875
-                continue;
876
-            }
877
-            if ('next' == $mode) { // Try to find the next start byte; determine the width of the Unicode char
878
-                $start_byte = $v;
879
-                $mode = 'add';
880
-                $test = 'range';
881
-                if ($v >> 5 == 6) { // &110xxxxx 10xxxxx
882
-                    $next_byte = 0; // Tells, how many times subsequent bitmasks must rotate 6bits to the left
883
-                    $v = ($v - 192) << 6;
884
-                } elseif ($v >> 4 == 14) { // &1110xxxx 10xxxxxx 10xxxxxx
885
-                    $next_byte = 1;
886
-                    $v = ($v - 224) << 12;
887
-                } elseif ($v >> 3 == 30) { // &11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
888
-                    $next_byte = 2;
889
-                    $v = ($v - 240) << 18;
890
-                } elseif ($v >> 2 == 62) { // &111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
891
-                    $next_byte = 3;
892
-                    $v = ($v - 248) << 24;
893
-                } elseif ($v >> 1 == 126) { // &1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
894
-                    $next_byte = 4;
895
-                    $v = ($v - 252) << 30;
896
-                } else {
897
-                    $this->_error('This might be UTF-8, but I don\'t understand it at byte ' . $k);
898
-                    return false;
899
-                }
900
-                if ('add' == $mode) {
901
-                    $output[$out_len] = (int) $v;
902
-                    ++$out_len;
903
-                    continue;
904
-                }
905
-            }
906
-            if ('add' == $mode) {
907
-                if (!$this->_allow_overlong && $test == 'range') {
908
-                    $test = 'none';
909
-                    if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) {
910
-                        $this->_error('Bogus UTF-8 character detected (out of legal range) at byte ' . $k);
911
-                        return false;
912
-                    }
913
-                }
914
-                if ($v >> 6 == 2) { // Bit mask must be 10xxxxxx
915
-                    $v = ($v - 128) << ($next_byte * 6);
916
-                    $output[($out_len - 1)] += $v;
917
-                    --$next_byte;
918
-                } else {
919
-                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
920
-                    return false;
921
-                }
922
-                if ($next_byte < 0) {
923
-                    $mode = 'next';
924
-                }
925
-            }
926
-        } // for
927
-        return $output;
928
-    }
841
+	/**
842
+	 * This converts an UTF-8 encoded string to its UCS-4 representation
843
+	 * By talking about UCS-4 "strings" we mean arrays of 32bit integers representing
844
+	 * each of the "chars". This is due to PHP not being able to handle strings with
845
+	 * bit depth different from 8. This apllies to the reverse method _ucs4_to_utf8(), too.
846
+	 * The following UTF-8 encodings are supported:
847
+	 * bytes bits  representation
848
+	 * 1        7  0xxxxxxx
849
+	 * 2       11  110xxxxx 10xxxxxx
850
+	 * 3       16  1110xxxx 10xxxxxx 10xxxxxx
851
+	 * 4       21  11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
852
+	 * 5       26  111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
853
+	 * 6       31  1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
854
+	 * Each x represents a bit that can be used to store character data.
855
+	 * The five and six byte sequences are part of Annex D of ISO/IEC 10646-1:2000
856
+	 * @param string $input
857
+	 * @return string
858
+	 */
859
+	protected function _utf8_to_ucs4($input)
860
+	{
861
+		$output = array();
862
+		$out_len = 0;
863
+		$inp_len = self::byteLength($input);
864
+		$mode = 'next';
865
+		$test = 'none';
866
+		for ($k = 0; $k < $inp_len; ++$k) {
867
+			$v = ord($input{$k}); // Extract byte from input string
868
+			if ($v < 128) { // We found an ASCII char - put into stirng as is
869
+				$output[$out_len] = $v;
870
+				++$out_len;
871
+				if ('add' == $mode) {
872
+					$this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
873
+					return false;
874
+				}
875
+				continue;
876
+			}
877
+			if ('next' == $mode) { // Try to find the next start byte; determine the width of the Unicode char
878
+				$start_byte = $v;
879
+				$mode = 'add';
880
+				$test = 'range';
881
+				if ($v >> 5 == 6) { // &110xxxxx 10xxxxx
882
+					$next_byte = 0; // Tells, how many times subsequent bitmasks must rotate 6bits to the left
883
+					$v = ($v - 192) << 6;
884
+				} elseif ($v >> 4 == 14) { // &1110xxxx 10xxxxxx 10xxxxxx
885
+					$next_byte = 1;
886
+					$v = ($v - 224) << 12;
887
+				} elseif ($v >> 3 == 30) { // &11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
888
+					$next_byte = 2;
889
+					$v = ($v - 240) << 18;
890
+				} elseif ($v >> 2 == 62) { // &111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
891
+					$next_byte = 3;
892
+					$v = ($v - 248) << 24;
893
+				} elseif ($v >> 1 == 126) { // &1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
894
+					$next_byte = 4;
895
+					$v = ($v - 252) << 30;
896
+				} else {
897
+					$this->_error('This might be UTF-8, but I don\'t understand it at byte ' . $k);
898
+					return false;
899
+				}
900
+				if ('add' == $mode) {
901
+					$output[$out_len] = (int) $v;
902
+					++$out_len;
903
+					continue;
904
+				}
905
+			}
906
+			if ('add' == $mode) {
907
+				if (!$this->_allow_overlong && $test == 'range') {
908
+					$test = 'none';
909
+					if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) {
910
+						$this->_error('Bogus UTF-8 character detected (out of legal range) at byte ' . $k);
911
+						return false;
912
+					}
913
+				}
914
+				if ($v >> 6 == 2) { // Bit mask must be 10xxxxxx
915
+					$v = ($v - 128) << ($next_byte * 6);
916
+					$output[($out_len - 1)] += $v;
917
+					--$next_byte;
918
+				} else {
919
+					$this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
920
+					return false;
921
+				}
922
+				if ($next_byte < 0) {
923
+					$mode = 'next';
924
+				}
925
+			}
926
+		} // for
927
+		return $output;
928
+	}
929 929
 
930
-    /**
931
-     * Convert UCS-4 string into UTF-8 string
932
-     * See _utf8_to_ucs4() for details
933
-     * @param string  $input
934
-     * @return string
935
-     */
936
-    protected function _ucs4_to_utf8($input)
937
-    {
938
-        $output = '';
939
-        foreach ($input as $k => $v) {
940
-            if ($v < 128) { // 7bit are transferred literally
941
-                $output .= chr($v);
942
-            } elseif ($v < (1 << 11)) { // 2 bytes
943
-                $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
944
-            } elseif ($v < (1 << 16)) { // 3 bytes
945
-                $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
946
-            } elseif ($v < (1 << 21)) { // 4 bytes
947
-                $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
948
-            } else {
949
-                $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte ' . $k);
950
-                return false;
951
-            }
952
-        }
953
-        return $output;
954
-    }
930
+	/**
931
+	 * Convert UCS-4 string into UTF-8 string
932
+	 * See _utf8_to_ucs4() for details
933
+	 * @param string  $input
934
+	 * @return string
935
+	 */
936
+	protected function _ucs4_to_utf8($input)
937
+	{
938
+		$output = '';
939
+		foreach ($input as $k => $v) {
940
+			if ($v < 128) { // 7bit are transferred literally
941
+				$output .= chr($v);
942
+			} elseif ($v < (1 << 11)) { // 2 bytes
943
+				$output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
944
+			} elseif ($v < (1 << 16)) { // 3 bytes
945
+				$output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
946
+			} elseif ($v < (1 << 21)) { // 4 bytes
947
+				$output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
948
+			} else {
949
+				$this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte ' . $k);
950
+				return false;
951
+			}
952
+		}
953
+		return $output;
954
+	}
955 955
 
956
-    /**
957
-     * Convert UCS-4 array into UCS-4 string
958
-     *
959
-     * @param array $input
960
-     * @return string
961
-     */
962
-    protected function _ucs4_to_ucs4_string($input)
963
-    {
964
-        $output = '';
965
-        // Take array values and split output to 4 bytes per value
966
-        // The bit mask is 255, which reads &11111111
967
-        foreach ($input as $v) {
968
-            $output .= chr(($v >> 24) & 255) . chr(($v >> 16) & 255) . chr(($v >> 8) & 255) . chr($v & 255);
969
-        }
970
-        return $output;
971
-    }
956
+	/**
957
+	 * Convert UCS-4 array into UCS-4 string
958
+	 *
959
+	 * @param array $input
960
+	 * @return string
961
+	 */
962
+	protected function _ucs4_to_ucs4_string($input)
963
+	{
964
+		$output = '';
965
+		// Take array values and split output to 4 bytes per value
966
+		// The bit mask is 255, which reads &11111111
967
+		foreach ($input as $v) {
968
+			$output .= chr(($v >> 24) & 255) . chr(($v >> 16) & 255) . chr(($v >> 8) & 255) . chr($v & 255);
969
+		}
970
+		return $output;
971
+	}
972 972
 
973
-    /**
974
-     * Convert UCS-4 strin into UCS-4 garray
975
-     *
976
-     * @param  string $input
977
-     * @return array
978
-     */
979
-    protected function _ucs4_string_to_ucs4($input)
980
-    {
981
-        $output = array();
982
-        $inp_len = self::byteLength($input);
983
-        // Input length must be dividable by 4
984
-        if ($inp_len % 4) {
985
-            $this->_error('Input UCS4 string is broken');
986
-            return false;
987
-        }
988
-        // Empty input - return empty output
989
-        if (!$inp_len) {
990
-            return $output;
991
-        }
992
-        for ($i = 0, $out_len = -1; $i < $inp_len; ++$i) {
993
-            // Increment output position every 4 input bytes
994
-            if (!($i % 4)) {
995
-                $out_len++;
996
-                $output[$out_len] = 0;
997
-            }
998
-            $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4) ) );
999
-        }
1000
-        return $output;
1001
-    }
973
+	/**
974
+	 * Convert UCS-4 strin into UCS-4 garray
975
+	 *
976
+	 * @param  string $input
977
+	 * @return array
978
+	 */
979
+	protected function _ucs4_string_to_ucs4($input)
980
+	{
981
+		$output = array();
982
+		$inp_len = self::byteLength($input);
983
+		// Input length must be dividable by 4
984
+		if ($inp_len % 4) {
985
+			$this->_error('Input UCS4 string is broken');
986
+			return false;
987
+		}
988
+		// Empty input - return empty output
989
+		if (!$inp_len) {
990
+			return $output;
991
+		}
992
+		for ($i = 0, $out_len = -1; $i < $inp_len; ++$i) {
993
+			// Increment output position every 4 input bytes
994
+			if (!($i % 4)) {
995
+				$out_len++;
996
+				$output[$out_len] = 0;
997
+			}
998
+			$output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4) ) );
999
+		}
1000
+		return $output;
1001
+	}
1002 1002
 
1003
-    /**
1004
-     * Gets the length of a string in bytes even if mbstring function
1005
-     * overloading is turned on
1006
-     *
1007
-     * @param string $string the string for which to get the length.
1008
-     * @return integer the length of the string in bytes.
1009
-     */
1010
-    protected static function byteLength($string)
1011
-    {
1012
-        if (self::$_mb_string_overload) {
1013
-            return mb_strlen($string, '8bit');
1014
-        }
1015
-        return strlen((binary) $string);
1016
-    }
1003
+	/**
1004
+	 * Gets the length of a string in bytes even if mbstring function
1005
+	 * overloading is turned on
1006
+	 *
1007
+	 * @param string $string the string for which to get the length.
1008
+	 * @return integer the length of the string in bytes.
1009
+	 */
1010
+	protected static function byteLength($string)
1011
+	{
1012
+		if (self::$_mb_string_overload) {
1013
+			return mb_strlen($string, '8bit');
1014
+		}
1015
+		return strlen((binary) $string);
1016
+	}
1017 1017
 
1018
-    /**
1019
-     * Attempts to return a concrete IDNA instance.
1020
-     *
1021
-     * @param array $params Set of paramaters
1022
-     * @return idna_convert
1023
-     * @access public
1024
-     */
1025
-    public function getInstance($params = array())
1026
-    {
1027
-        return new idna_convert($params);
1028
-    }
1018
+	/**
1019
+	 * Attempts to return a concrete IDNA instance.
1020
+	 *
1021
+	 * @param array $params Set of paramaters
1022
+	 * @return idna_convert
1023
+	 * @access public
1024
+	 */
1025
+	public function getInstance($params = array())
1026
+	{
1027
+		return new idna_convert($params);
1028
+	}
1029 1029
 
1030
-    /**
1031
-     * Attempts to return a concrete IDNA instance for either php4 or php5,
1032
-     * only creating a new instance if no IDNA instance with the same
1033
-     * parameters currently exists.
1034
-     *
1035
-     * @param array $params Set of paramaters
1036
-     *
1037
-     * @return object idna_convert
1038
-     * @access public
1039
-     */
1040
-    public function singleton($params = array())
1041
-    {
1042
-        static $instances = array();
1030
+	/**
1031
+	 * Attempts to return a concrete IDNA instance for either php4 or php5,
1032
+	 * only creating a new instance if no IDNA instance with the same
1033
+	 * parameters currently exists.
1034
+	 *
1035
+	 * @param array $params Set of paramaters
1036
+	 *
1037
+	 * @return object idna_convert
1038
+	 * @access public
1039
+	 */
1040
+	public function singleton($params = array())
1041
+	{
1042
+		static $instances = array();
1043 1043
 
1044
-        $signature = serialize($params);
1045
-        if (!isset($instances[$signature])) {
1046
-            $instances[$signature] = idna_convert::getInstance($params);
1047
-        }
1048
-        return $instances[$signature];
1049
-    }
1044
+		$signature = serialize($params);
1045
+		if (!isset($instances[$signature])) {
1046
+			$instances[$signature] = idna_convert::getInstance($params);
1047
+		}
1048
+		return $instances[$signature];
1049
+	}
1050 1050
 
1051
-    /**
1052
-     * Holds all relevant mapping tables
1053
-     * See RFC3454 for details
1054
-     *
1055
-     * @private array
1056
-     * @since 0.5.2
1057
-     */
1058
-    protected static $NP = array(
1059
-            'map_nothing' => array(0xAD, 0x34F, 0x1806, 0x180B, 0x180C, 0x180D, 0x200B, 0x200C,
1060
-                    0x200D, 0x2060, 0xFE00, 0xFE01, 0xFE02, 0xFE03, 0xFE04, 0xFE05, 0xFE06, 0xFE07,
1061
-                    0xFE08, 0xFE09, 0xFE0A, 0xFE0B, 0xFE0C, 0xFE0D, 0xFE0E, 0xFE0F, 0xFEFF
1062
-            ),
1063
-            'general_prohibited' => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1064
-                    20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1065
-                    43, 44, 47, 59, 60, 61, 62, 63, 64, 91, 92, 93, 94, 95, 96, 123, 124, 125, 126, 127, 0x3002
1066
-            ),
1067
-            'prohibit' => array(0xA0, 0x340, 0x341, 0x6DD, 0x70F, 0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003,
1068
-                    0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x200B, 0x200C, 0x200D, 0x200E, 0x200F,
1069
-                    0x2028, 0x2029, 0x202A, 0x202B, 0x202C, 0x202D, 0x202E, 0x202F, 0x205F, 0x206A, 0x206B, 0x206C,
1070
-                    0x206D, 0x206E, 0x206F, 0x3000, 0x33C2, 0xFEFF, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE, 0xFFFF,
1071
-                    0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, 0x6FFFE,
1072
-                    0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, 0xBFFFF,
1073
-                    0xCFFFE, 0xCFFFF, 0xDFFFE, 0xDFFFF, 0xE0001, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, 0x10FFFE, 0x10FFFF
1074
-            ),
1075
-            'prohibit_ranges' => array(array(0x80, 0x9F), array(0x2060, 0x206F), array(0x1D173, 0x1D17A),
1076
-                    array(0xE000, 0xF8FF), array(0xF0000, 0xFFFFD), array(0x100000, 0x10FFFD),
1077
-                    array(0xFDD0, 0xFDEF), array(0xD800, 0xDFFF), array(0x2FF0, 0x2FFB), array(0xE0020, 0xE007F)
1078
-            ),
1079
-            'replacemaps_2003' => array(0x41 => array(0x61), 0x42 => array(0x62), 0x43 => array(0x63),
1080
-                    0x44 => array(0x64), 0x45 => array(0x65), 0x46 => array(0x66), 0x47 => array(0x67),
1081
-                    0x48 => array(0x68), 0x49 => array(0x69), 0x4A => array(0x6A), 0x4B => array(0x6B),
1082
-                    0x4C => array(0x6C), 0x4D => array(0x6D), 0x4E => array(0x6E), 0x4F => array(0x6F),
1083
-                    0x50 => array(0x70), 0x51 => array(0x71), 0x52 => array(0x72), 0x53 => array(0x73),
1084
-                    0x54 => array(0x74), 0x55 => array(0x75), 0x56 => array(0x76), 0x57 => array(0x77),
1085
-                    0x58 => array(0x78), 0x59 => array(0x79), 0x5A => array(0x7A), 0xB5 => array(0x3BC),
1086
-                    0xC0 => array(0xE0), 0xC1 => array(0xE1), 0xC2 => array(0xE2), 0xC3 => array(0xE3),
1087
-                    0xC4 => array(0xE4), 0xC5 => array(0xE5), 0xC6 => array(0xE6), 0xC7 => array(0xE7),
1088
-                    0xC8 => array(0xE8), 0xC9 => array(0xE9), 0xCA => array(0xEA), 0xCB => array(0xEB),
1089
-                    0xCC => array(0xEC), 0xCD => array(0xED), 0xCE => array(0xEE), 0xCF => array(0xEF),
1090
-                    0xD0 => array(0xF0), 0xD1 => array(0xF1), 0xD2 => array(0xF2), 0xD3 => array(0xF3),
1091
-                    0xD4 => array(0xF4), 0xD5 => array(0xF5), 0xD6 => array(0xF6), 0xD8 => array(0xF8),
1092
-                    0xD9 => array(0xF9), 0xDA => array(0xFA), 0xDB => array(0xFB), 0xDC => array(0xFC),
1093
-                    0xDD => array(0xFD), 0xDE => array(0xFE), 0xDF => array(0x73, 0x73),
1094
-                    0x100 => array(0x101), 0x102 => array(0x103), 0x104 => array(0x105),
1095
-                    0x106 => array(0x107), 0x108 => array(0x109), 0x10A => array(0x10B),
1096
-                    0x10C => array(0x10D), 0x10E => array(0x10F), 0x110 => array(0x111),
1097
-                    0x112 => array(0x113), 0x114 => array(0x115), 0x116 => array(0x117),
1098
-                    0x118 => array(0x119), 0x11A => array(0x11B), 0x11C => array(0x11D),
1099
-                    0x11E => array(0x11F), 0x120 => array(0x121), 0x122 => array(0x123),
1100
-                    0x124 => array(0x125), 0x126 => array(0x127), 0x128 => array(0x129),
1101
-                    0x12A => array(0x12B), 0x12C => array(0x12D), 0x12E => array(0x12F),
1102
-                    0x130 => array(0x69, 0x307), 0x132 => array(0x133), 0x134 => array(0x135),
1103
-                    0x136 => array(0x137), 0x139 => array(0x13A), 0x13B => array(0x13C),
1104
-                    0x13D => array(0x13E), 0x13F => array(0x140), 0x141 => array(0x142),
1105
-                    0x143 => array(0x144), 0x145 => array(0x146), 0x147 => array(0x148),
1106
-                    0x149 => array(0x2BC, 0x6E), 0x14A => array(0x14B), 0x14C => array(0x14D),
1107
-                    0x14E => array(0x14F), 0x150 => array(0x151), 0x152 => array(0x153),
1108
-                    0x154 => array(0x155), 0x156 => array(0x157), 0x158 => array(0x159),
1109
-                    0x15A => array(0x15B), 0x15C => array(0x15D), 0x15E => array(0x15F),
1110
-                    0x160 => array(0x161), 0x162 => array(0x163), 0x164 => array(0x165),
1111
-                    0x166 => array(0x167), 0x168 => array(0x169), 0x16A => array(0x16B),
1112
-                    0x16C => array(0x16D), 0x16E => array(0x16F), 0x170 => array(0x171),
1113
-                    0x172 => array(0x173), 0x174 => array(0x175), 0x176 => array(0x177),
1114
-                    0x178 => array(0xFF), 0x179 => array(0x17A), 0x17B => array(0x17C),
1115
-                    0x17D => array(0x17E), 0x17F => array(0x73), 0x181 => array(0x253),
1116
-                    0x182 => array(0x183), 0x184 => array(0x185), 0x186 => array(0x254),
1117
-                    0x187 => array(0x188), 0x189 => array(0x256), 0x18A => array(0x257),
1118
-                    0x18B => array(0x18C), 0x18E => array(0x1DD), 0x18F => array(0x259),
1119
-                    0x190 => array(0x25B), 0x191 => array(0x192), 0x193 => array(0x260),
1120
-                    0x194 => array(0x263), 0x196 => array(0x269), 0x197 => array(0x268),
1121
-                    0x198 => array(0x199), 0x19C => array(0x26F), 0x19D => array(0x272),
1122
-                    0x19F => array(0x275), 0x1A0 => array(0x1A1), 0x1A2 => array(0x1A3),
1123
-                    0x1A4 => array(0x1A5), 0x1A6 => array(0x280), 0x1A7 => array(0x1A8),
1124
-                    0x1A9 => array(0x283), 0x1AC => array(0x1AD), 0x1AE => array(0x288),
1125
-                    0x1AF => array(0x1B0), 0x1B1 => array(0x28A), 0x1B2 => array(0x28B),
1126
-                    0x1B3 => array(0x1B4), 0x1B5 => array(0x1B6), 0x1B7 => array(0x292),
1127
-                    0x1B8 => array(0x1B9), 0x1BC => array(0x1BD), 0x1C4 => array(0x1C6),
1128
-                    0x1C5 => array(0x1C6), 0x1C7 => array(0x1C9), 0x1C8 => array(0x1C9),
1129
-                    0x1CA => array(0x1CC), 0x1CB => array(0x1CC), 0x1CD => array(0x1CE),
1130
-                    0x1CF => array(0x1D0), 0x1D1 => array(0x1D2), 0x1D3 => array(0x1D4),
1131
-                    0x1D5 => array(0x1D6), 0x1D7 => array(0x1D8), 0x1D9 => array(0x1DA),
1132
-                    0x1DB => array(0x1DC), 0x1DE => array(0x1DF), 0x1E0 => array(0x1E1),
1133
-                    0x1E2 => array(0x1E3), 0x1E4 => array(0x1E5), 0x1E6 => array(0x1E7),
1134
-                    0x1E8 => array(0x1E9), 0x1EA => array(0x1EB), 0x1EC => array(0x1ED),
1135
-                    0x1EE => array(0x1EF), 0x1F0 => array(0x6A, 0x30C), 0x1F1 => array(0x1F3),
1136
-                    0x1F2 => array(0x1F3), 0x1F4 => array(0x1F5), 0x1F6 => array(0x195),
1137
-                    0x1F7 => array(0x1BF), 0x1F8 => array(0x1F9), 0x1FA => array(0x1FB),
1138
-                    0x1FC => array(0x1FD), 0x1FE => array(0x1FF), 0x200 => array(0x201),
1139
-                    0x202 => array(0x203), 0x204 => array(0x205), 0x206 => array(0x207),
1140
-                    0x208 => array(0x209), 0x20A => array(0x20B), 0x20C => array(0x20D),
1141
-                    0x20E => array(0x20F), 0x210 => array(0x211), 0x212 => array(0x213),
1142
-                    0x214 => array(0x215), 0x216 => array(0x217), 0x218 => array(0x219),
1143
-                    0x21A => array(0x21B), 0x21C => array(0x21D), 0x21E => array(0x21F),
1144
-                    0x220 => array(0x19E), 0x222 => array(0x223), 0x224 => array(0x225),
1145
-                    0x226 => array(0x227), 0x228 => array(0x229), 0x22A => array(0x22B),
1146
-                    0x22C => array(0x22D), 0x22E => array(0x22F), 0x230 => array(0x231),
1147
-                    0x232 => array(0x233), 0x345 => array(0x3B9), 0x37A => array(0x20, 0x3B9),
1148
-                    0x386 => array(0x3AC), 0x388 => array(0x3AD), 0x389 => array(0x3AE),
1149
-                    0x38A => array(0x3AF), 0x38C => array(0x3CC), 0x38E => array(0x3CD),
1150
-                    0x38F => array(0x3CE), 0x390 => array(0x3B9, 0x308, 0x301),
1151
-                    0x391 => array(0x3B1), 0x392 => array(0x3B2), 0x393 => array(0x3B3),
1152
-                    0x394 => array(0x3B4), 0x395 => array(0x3B5), 0x396 => array(0x3B6),
1153
-                    0x397 => array(0x3B7), 0x398 => array(0x3B8), 0x399 => array(0x3B9),
1154
-                    0x39A => array(0x3BA), 0x39B => array(0x3BB), 0x39C => array(0x3BC),
1155
-                    0x39D => array(0x3BD), 0x39E => array(0x3BE), 0x39F => array(0x3BF),
1156
-                    0x3A0 => array(0x3C0), 0x3A1 => array(0x3C1), 0x3A3 => array(0x3C3),
1157
-                    0x3A4 => array(0x3C4), 0x3A5 => array(0x3C5), 0x3A6 => array(0x3C6),
1158
-                    0x3A7 => array(0x3C7), 0x3A8 => array(0x3C8), 0x3A9 => array(0x3C9),
1159
-                    0x3AA => array(0x3CA), 0x3AB => array(0x3CB), 0x3B0 => array(0x3C5, 0x308, 0x301),
1160
-                    0x3C2 => array(0x3C3), 0x3D0 => array(0x3B2), 0x3D1 => array(0x3B8),
1161
-                    0x3D2 => array(0x3C5), 0x3D3 => array(0x3CD), 0x3D4 => array(0x3CB),
1162
-                    0x3D5 => array(0x3C6), 0x3D6 => array(0x3C0), 0x3D8 => array(0x3D9),
1163
-                    0x3DA => array(0x3DB), 0x3DC => array(0x3DD), 0x3DE => array(0x3DF),
1164
-                    0x3E0 => array(0x3E1), 0x3E2 => array(0x3E3), 0x3E4 => array(0x3E5),
1165
-                    0x3E6 => array(0x3E7), 0x3E8 => array(0x3E9), 0x3EA => array(0x3EB),
1166
-                    0x3EC => array(0x3ED), 0x3EE => array(0x3EF), 0x3F0 => array(0x3BA),
1167
-                    0x3F1 => array(0x3C1), 0x3F2 => array(0x3C3), 0x3F4 => array(0x3B8),
1168
-                    0x3F5 => array(0x3B5), 0x400 => array(0x450), 0x401 => array(0x451),
1169
-                    0x402 => array(0x452), 0x403 => array(0x453), 0x404 => array(0x454),
1170
-                    0x405 => array(0x455), 0x406 => array(0x456), 0x407 => array(0x457),
1171
-                    0x408 => array(0x458), 0x409 => array(0x459), 0x40A => array(0x45A),
1172
-                    0x40B => array(0x45B), 0x40C => array(0x45C), 0x40D => array(0x45D),
1173
-                    0x40E => array(0x45E), 0x40F => array(0x45F), 0x410 => array(0x430),
1174
-                    0x411 => array(0x431), 0x412 => array(0x432), 0x413 => array(0x433),
1175
-                    0x414 => array(0x434), 0x415 => array(0x435), 0x416 => array(0x436),
1176
-                    0x417 => array(0x437), 0x418 => array(0x438), 0x419 => array(0x439),
1177
-                    0x41A => array(0x43A), 0x41B => array(0x43B), 0x41C => array(0x43C),
1178
-                    0x41D => array(0x43D), 0x41E => array(0x43E), 0x41F => array(0x43F),
1179
-                    0x420 => array(0x440), 0x421 => array(0x441), 0x422 => array(0x442),
1180
-                    0x423 => array(0x443), 0x424 => array(0x444), 0x425 => array(0x445),
1181
-                    0x426 => array(0x446), 0x427 => array(0x447), 0x428 => array(0x448),
1182
-                    0x429 => array(0x449), 0x42A => array(0x44A), 0x42B => array(0x44B),
1183
-                    0x42C => array(0x44C), 0x42D => array(0x44D), 0x42E => array(0x44E),
1184
-                    0x42F => array(0x44F), 0x460 => array(0x461), 0x462 => array(0x463),
1185
-                    0x464 => array(0x465), 0x466 => array(0x467), 0x468 => array(0x469),
1186
-                    0x46A => array(0x46B), 0x46C => array(0x46D), 0x46E => array(0x46F),
1187
-                    0x470 => array(0x471), 0x472 => array(0x473), 0x474 => array(0x475),
1188
-                    0x476 => array(0x477), 0x478 => array(0x479), 0x47A => array(0x47B),
1189
-                    0x47C => array(0x47D), 0x47E => array(0x47F), 0x480 => array(0x481),
1190
-                    0x48A => array(0x48B), 0x48C => array(0x48D), 0x48E => array(0x48F),
1191
-                    0x490 => array(0x491), 0x492 => array(0x493), 0x494 => array(0x495),
1192
-                    0x496 => array(0x497), 0x498 => array(0x499), 0x49A => array(0x49B),
1193
-                    0x49C => array(0x49D), 0x49E => array(0x49F), 0x4A0 => array(0x4A1),
1194
-                    0x4A2 => array(0x4A3), 0x4A4 => array(0x4A5), 0x4A6 => array(0x4A7),
1195
-                    0x4A8 => array(0x4A9), 0x4AA => array(0x4AB), 0x4AC => array(0x4AD),
1196
-                    0x4AE => array(0x4AF), 0x4B0 => array(0x4B1), 0x4B2 => array(0x4B3),
1197
-                    0x4B4 => array(0x4B5), 0x4B6 => array(0x4B7), 0x4B8 => array(0x4B9),
1198
-                    0x4BA => array(0x4BB), 0x4BC => array(0x4BD), 0x4BE => array(0x4BF),
1199
-                    0x4C1 => array(0x4C2), 0x4C3 => array(0x4C4), 0x4C5 => array(0x4C6),
1200
-                    0x4C7 => array(0x4C8), 0x4C9 => array(0x4CA), 0x4CB => array(0x4CC),
1201
-                    0x4CD => array(0x4CE), 0x4D0 => array(0x4D1), 0x4D2 => array(0x4D3),
1202
-                    0x4D4 => array(0x4D5), 0x4D6 => array(0x4D7), 0x4D8 => array(0x4D9),
1203
-                    0x4DA => array(0x4DB), 0x4DC => array(0x4DD), 0x4DE => array(0x4DF),
1204
-                    0x4E0 => array(0x4E1), 0x4E2 => array(0x4E3), 0x4E4 => array(0x4E5),
1205
-                    0x4E6 => array(0x4E7), 0x4E8 => array(0x4E9), 0x4EA => array(0x4EB),
1206
-                    0x4EC => array(0x4ED), 0x4EE => array(0x4EF), 0x4F0 => array(0x4F1),
1207
-                    0x4F2 => array(0x4F3), 0x4F4 => array(0x4F5), 0x4F8 => array(0x4F9),
1208
-                    0x500 => array(0x501), 0x502 => array(0x503), 0x504 => array(0x505),
1209
-                    0x506 => array(0x507), 0x508 => array(0x509), 0x50A => array(0x50B),
1210
-                    0x50C => array(0x50D), 0x50E => array(0x50F), 0x531 => array(0x561),
1211
-                    0x532 => array(0x562), 0x533 => array(0x563), 0x534 => array(0x564),
1212
-                    0x535 => array(0x565), 0x536 => array(0x566), 0x537 => array(0x567),
1213
-                    0x538 => array(0x568), 0x539 => array(0x569), 0x53A => array(0x56A),
1214
-                    0x53B => array(0x56B), 0x53C => array(0x56C), 0x53D => array(0x56D),
1215
-                    0x53E => array(0x56E), 0x53F => array(0x56F), 0x540 => array(0x570),
1216
-                    0x541 => array(0x571), 0x542 => array(0x572), 0x543 => array(0x573),
1217
-                    0x544 => array(0x574), 0x545 => array(0x575), 0x546 => array(0x576),
1218
-                    0x547 => array(0x577), 0x548 => array(0x578), 0x549 => array(0x579),
1219
-                    0x54A => array(0x57A), 0x54B => array(0x57B), 0x54C => array(0x57C),
1220
-                    0x54D => array(0x57D), 0x54E => array(0x57E), 0x54F => array(0x57F),
1221
-                    0x550 => array(0x580), 0x551 => array(0x581), 0x552 => array(0x582),
1222
-                    0x553 => array(0x583), 0x554 => array(0x584), 0x555 => array(0x585),
1223
-                    0x556 => array(0x586), 0x587 => array(0x565, 0x582), 0xE33 => array(0xE4D, 0xE32),
1224
-                    0x1E00 => array(0x1E01), 0x1E02 => array(0x1E03), 0x1E04 => array(0x1E05),
1225
-                    0x1E06 => array(0x1E07), 0x1E08 => array(0x1E09), 0x1E0A => array(0x1E0B),
1226
-                    0x1E0C => array(0x1E0D), 0x1E0E => array(0x1E0F), 0x1E10 => array(0x1E11),
1227
-                    0x1E12 => array(0x1E13), 0x1E14 => array(0x1E15), 0x1E16 => array(0x1E17),
1228
-                    0x1E18 => array(0x1E19), 0x1E1A => array(0x1E1B), 0x1E1C => array(0x1E1D),
1229
-                    0x1E1E => array(0x1E1F), 0x1E20 => array(0x1E21), 0x1E22 => array(0x1E23),
1230
-                    0x1E24 => array(0x1E25), 0x1E26 => array(0x1E27), 0x1E28 => array(0x1E29),
1231
-                    0x1E2A => array(0x1E2B), 0x1E2C => array(0x1E2D), 0x1E2E => array(0x1E2F),
1232
-                    0x1E30 => array(0x1E31), 0x1E32 => array(0x1E33), 0x1E34 => array(0x1E35),
1233
-                    0x1E36 => array(0x1E37), 0x1E38 => array(0x1E39), 0x1E3A => array(0x1E3B),
1234
-                    0x1E3C => array(0x1E3D), 0x1E3E => array(0x1E3F), 0x1E40 => array(0x1E41),
1235
-                    0x1E42 => array(0x1E43), 0x1E44 => array(0x1E45), 0x1E46 => array(0x1E47),
1236
-                    0x1E48 => array(0x1E49), 0x1E4A => array(0x1E4B), 0x1E4C => array(0x1E4D),
1237
-                    0x1E4E => array(0x1E4F), 0x1E50 => array(0x1E51), 0x1E52 => array(0x1E53),
1238
-                    0x1E54 => array(0x1E55), 0x1E56 => array(0x1E57), 0x1E58 => array(0x1E59),
1239
-                    0x1E5A => array(0x1E5B), 0x1E5C => array(0x1E5D), 0x1E5E => array(0x1E5F),
1240
-                    0x1E60 => array(0x1E61), 0x1E62 => array(0x1E63), 0x1E64 => array(0x1E65),
1241
-                    0x1E66 => array(0x1E67), 0x1E68 => array(0x1E69), 0x1E6A => array(0x1E6B),
1242
-                    0x1E6C => array(0x1E6D), 0x1E6E => array(0x1E6F), 0x1E70 => array(0x1E71),
1243
-                    0x1E72 => array(0x1E73), 0x1E74 => array(0x1E75), 0x1E76 => array(0x1E77),
1244
-                    0x1E78 => array(0x1E79), 0x1E7A => array(0x1E7B), 0x1E7C => array(0x1E7D),
1245
-                    0x1E7E => array(0x1E7F), 0x1E80 => array(0x1E81), 0x1E82 => array(0x1E83),
1246
-                    0x1E84 => array(0x1E85), 0x1E86 => array(0x1E87), 0x1E88 => array(0x1E89),
1247
-                    0x1E8A => array(0x1E8B), 0x1E8C => array(0x1E8D), 0x1E8E => array(0x1E8F),
1248
-                    0x1E90 => array(0x1E91), 0x1E92 => array(0x1E93), 0x1E94 => array(0x1E95),
1249
-                    0x1E96 => array(0x68, 0x331), 0x1E97 => array(0x74, 0x308), 0x1E98 => array(0x77, 0x30A),
1250
-                    0x1E99 => array(0x79, 0x30A), 0x1E9A => array(0x61, 0x2BE), 0x1E9B => array(0x1E61),
1251
-                    0x1EA0 => array(0x1EA1), 0x1EA2 => array(0x1EA3), 0x1EA4 => array(0x1EA5),
1252
-                    0x1EA6 => array(0x1EA7), 0x1EA8 => array(0x1EA9), 0x1EAA => array(0x1EAB),
1253
-                    0x1EAC => array(0x1EAD), 0x1EAE => array(0x1EAF), 0x1EB0 => array(0x1EB1),
1254
-                    0x1EB2 => array(0x1EB3), 0x1EB4 => array(0x1EB5), 0x1EB6 => array(0x1EB7),
1255
-                    0x1EB8 => array(0x1EB9), 0x1EBA => array(0x1EBB), 0x1EBC => array(0x1EBD),
1256
-                    0x1EBE => array(0x1EBF), 0x1EC0 => array(0x1EC1), 0x1EC2 => array(0x1EC3),
1257
-                    0x1EC4 => array(0x1EC5), 0x1EC6 => array(0x1EC7), 0x1EC8 => array(0x1EC9),
1258
-                    0x1ECA => array(0x1ECB), 0x1ECC => array(0x1ECD), 0x1ECE => array(0x1ECF),
1259
-                    0x1ED0 => array(0x1ED1), 0x1ED2 => array(0x1ED3), 0x1ED4 => array(0x1ED5),
1260
-                    0x1ED6 => array(0x1ED7), 0x1ED8 => array(0x1ED9), 0x1EDA => array(0x1EDB),
1261
-                    0x1EDC => array(0x1EDD), 0x1EDE => array(0x1EDF), 0x1EE0 => array(0x1EE1),
1262
-                    0x1EE2 => array(0x1EE3), 0x1EE4 => array(0x1EE5), 0x1EE6 => array(0x1EE7),
1263
-                    0x1EE8 => array(0x1EE9), 0x1EEA => array(0x1EEB), 0x1EEC => array(0x1EED),
1264
-                    0x1EEE => array(0x1EEF), 0x1EF0 => array(0x1EF1), 0x1EF2 => array(0x1EF3),
1265
-                    0x1EF4 => array(0x1EF5), 0x1EF6 => array(0x1EF7), 0x1EF8 => array(0x1EF9),
1266
-                    0x1F08 => array(0x1F00), 0x1F09 => array(0x1F01), 0x1F0A => array(0x1F02),
1267
-                    0x1F0B => array(0x1F03), 0x1F0C => array(0x1F04), 0x1F0D => array(0x1F05),
1268
-                    0x1F0E => array(0x1F06), 0x1F0F => array(0x1F07), 0x1F18 => array(0x1F10),
1269
-                    0x1F19 => array(0x1F11), 0x1F1A => array(0x1F12), 0x1F1B => array(0x1F13),
1270
-                    0x1F1C => array(0x1F14), 0x1F1D => array(0x1F15), 0x1F28 => array(0x1F20),
1271
-                    0x1F29 => array(0x1F21), 0x1F2A => array(0x1F22), 0x1F2B => array(0x1F23),
1272
-                    0x1F2C => array(0x1F24), 0x1F2D => array(0x1F25), 0x1F2E => array(0x1F26),
1273
-                    0x1F2F => array(0x1F27), 0x1F38 => array(0x1F30), 0x1F39 => array(0x1F31),
1274
-                    0x1F3A => array(0x1F32), 0x1F3B => array(0x1F33), 0x1F3C => array(0x1F34),
1275
-                    0x1F3D => array(0x1F35), 0x1F3E => array(0x1F36), 0x1F3F => array(0x1F37),
1276
-                    0x1F48 => array(0x1F40), 0x1F49 => array(0x1F41), 0x1F4A => array(0x1F42),
1277
-                    0x1F4B => array(0x1F43), 0x1F4C => array(0x1F44), 0x1F4D => array(0x1F45),
1278
-                    0x1F50 => array(0x3C5, 0x313), 0x1F52 => array(0x3C5, 0x313, 0x300),
1279
-                    0x1F54 => array(0x3C5, 0x313, 0x301), 0x1F56 => array(0x3C5, 0x313, 0x342),
1280
-                    0x1F59 => array(0x1F51), 0x1F5B => array(0x1F53), 0x1F5D => array(0x1F55),
1281
-                    0x1F5F => array(0x1F57), 0x1F68 => array(0x1F60), 0x1F69 => array(0x1F61),
1282
-                    0x1F6A => array(0x1F62), 0x1F6B => array(0x1F63), 0x1F6C => array(0x1F64),
1283
-                    0x1F6D => array(0x1F65), 0x1F6E => array(0x1F66), 0x1F6F => array(0x1F67),
1284
-                    0x1F80 => array(0x1F00, 0x3B9), 0x1F81 => array(0x1F01, 0x3B9),
1285
-                    0x1F82 => array(0x1F02, 0x3B9), 0x1F83 => array(0x1F03, 0x3B9),
1286
-                    0x1F84 => array(0x1F04, 0x3B9), 0x1F85 => array(0x1F05, 0x3B9),
1287
-                    0x1F86 => array(0x1F06, 0x3B9), 0x1F87 => array(0x1F07, 0x3B9),
1288
-                    0x1F88 => array(0x1F00, 0x3B9), 0x1F89 => array(0x1F01, 0x3B9),
1289
-                    0x1F8A => array(0x1F02, 0x3B9), 0x1F8B => array(0x1F03, 0x3B9),
1290
-                    0x1F8C => array(0x1F04, 0x3B9), 0x1F8D => array(0x1F05, 0x3B9),
1291
-                    0x1F8E => array(0x1F06, 0x3B9), 0x1F8F => array(0x1F07, 0x3B9),
1292
-                    0x1F90 => array(0x1F20, 0x3B9), 0x1F91 => array(0x1F21, 0x3B9),
1293
-                    0x1F92 => array(0x1F22, 0x3B9), 0x1F93 => array(0x1F23, 0x3B9),
1294
-                    0x1F94 => array(0x1F24, 0x3B9), 0x1F95 => array(0x1F25, 0x3B9),
1295
-                    0x1F96 => array(0x1F26, 0x3B9), 0x1F97 => array(0x1F27, 0x3B9),
1296
-                    0x1F98 => array(0x1F20, 0x3B9), 0x1F99 => array(0x1F21, 0x3B9),
1297
-                    0x1F9A => array(0x1F22, 0x3B9), 0x1F9B => array(0x1F23, 0x3B9),
1298
-                    0x1F9C => array(0x1F24, 0x3B9), 0x1F9D => array(0x1F25, 0x3B9),
1299
-                    0x1F9E => array(0x1F26, 0x3B9), 0x1F9F => array(0x1F27, 0x3B9),
1300
-                    0x1FA0 => array(0x1F60, 0x3B9), 0x1FA1 => array(0x1F61, 0x3B9),
1301
-                    0x1FA2 => array(0x1F62, 0x3B9), 0x1FA3 => array(0x1F63, 0x3B9),
1302
-                    0x1FA4 => array(0x1F64, 0x3B9), 0x1FA5 => array(0x1F65, 0x3B9),
1303
-                    0x1FA6 => array(0x1F66, 0x3B9), 0x1FA7 => array(0x1F67, 0x3B9),
1304
-                    0x1FA8 => array(0x1F60, 0x3B9), 0x1FA9 => array(0x1F61, 0x3B9),
1305
-                    0x1FAA => array(0x1F62, 0x3B9), 0x1FAB => array(0x1F63, 0x3B9),
1306
-                    0x1FAC => array(0x1F64, 0x3B9), 0x1FAD => array(0x1F65, 0x3B9),
1307
-                    0x1FAE => array(0x1F66, 0x3B9), 0x1FAF => array(0x1F67, 0x3B9),
1308
-                    0x1FB2 => array(0x1F70, 0x3B9), 0x1FB3 => array(0x3B1, 0x3B9),
1309
-                    0x1FB4 => array(0x3AC, 0x3B9), 0x1FB6 => array(0x3B1, 0x342),
1310
-                    0x1FB7 => array(0x3B1, 0x342, 0x3B9), 0x1FB8 => array(0x1FB0),
1311
-                    0x1FB9 => array(0x1FB1), 0x1FBA => array(0x1F70), 0x1FBB => array(0x1F71),
1312
-                    0x1FBC => array(0x3B1, 0x3B9), 0x1FBE => array(0x3B9),
1313
-                    0x1FC2 => array(0x1F74, 0x3B9), 0x1FC3 => array(0x3B7, 0x3B9),
1314
-                    0x1FC4 => array(0x3AE, 0x3B9), 0x1FC6 => array(0x3B7, 0x342),
1315
-                    0x1FC7 => array(0x3B7, 0x342, 0x3B9), 0x1FC8 => array(0x1F72),
1316
-                    0x1FC9 => array(0x1F73), 0x1FCA => array(0x1F74), 0x1FCB => array(0x1F75),
1317
-                    0x1FCC => array(0x3B7, 0x3B9), 0x1FD2 => array(0x3B9, 0x308, 0x300),
1318
-                    0x1FD3 => array(0x3B9, 0x308, 0x301), 0x1FD6 => array(0x3B9, 0x342),
1319
-                    0x1FD7 => array(0x3B9, 0x308, 0x342), 0x1FD8 => array(0x1FD0),
1320
-                    0x1FD9 => array(0x1FD1), 0x1FDA => array(0x1F76),
1321
-                    0x1FDB => array(0x1F77), 0x1FE2 => array(0x3C5, 0x308, 0x300),
1322
-                    0x1FE3 => array(0x3C5, 0x308, 0x301), 0x1FE4 => array(0x3C1, 0x313),
1323
-                    0x1FE6 => array(0x3C5, 0x342), 0x1FE7 => array(0x3C5, 0x308, 0x342),
1324
-                    0x1FE8 => array(0x1FE0), 0x1FE9 => array(0x1FE1),
1325
-                    0x1FEA => array(0x1F7A), 0x1FEB => array(0x1F7B),
1326
-                    0x1FEC => array(0x1FE5), 0x1FF2 => array(0x1F7C, 0x3B9),
1327
-                    0x1FF3 => array(0x3C9, 0x3B9), 0x1FF4 => array(0x3CE, 0x3B9),
1328
-                    0x1FF6 => array(0x3C9, 0x342), 0x1FF7 => array(0x3C9, 0x342, 0x3B9),
1329
-                    0x1FF8 => array(0x1F78), 0x1FF9 => array(0x1F79), 0x1FFA => array(0x1F7C),
1330
-                    0x1FFB => array(0x1F7D), 0x1FFC => array(0x3C9, 0x3B9),
1331
-                    0x20A8 => array(0x72, 0x73), 0x2102 => array(0x63), 0x2103 => array(0xB0, 0x63),
1332
-                    0x2107 => array(0x25B), 0x2109 => array(0xB0, 0x66), 0x210B => array(0x68),
1333
-                    0x210C => array(0x68), 0x210D => array(0x68), 0x2110 => array(0x69),
1334
-                    0x2111 => array(0x69), 0x2112 => array(0x6C), 0x2115 => array(0x6E),
1335
-                    0x2116 => array(0x6E, 0x6F), 0x2119 => array(0x70), 0x211A => array(0x71),
1336
-                    0x211B => array(0x72), 0x211C => array(0x72), 0x211D => array(0x72),
1337
-                    0x2120 => array(0x73, 0x6D), 0x2121 => array(0x74, 0x65, 0x6C),
1338
-                    0x2122 => array(0x74, 0x6D), 0x2124 => array(0x7A), 0x2126 => array(0x3C9),
1339
-                    0x2128 => array(0x7A), 0x212A => array(0x6B), 0x212B => array(0xE5),
1340
-                    0x212C => array(0x62), 0x212D => array(0x63), 0x2130 => array(0x65),
1341
-                    0x2131 => array(0x66), 0x2133 => array(0x6D), 0x213E => array(0x3B3),
1342
-                    0x213F => array(0x3C0), 0x2145 => array(0x64), 0x2160 => array(0x2170),
1343
-                    0x2161 => array(0x2171), 0x2162 => array(0x2172), 0x2163 => array(0x2173),
1344
-                    0x2164 => array(0x2174), 0x2165 => array(0x2175), 0x2166 => array(0x2176),
1345
-                    0x2167 => array(0x2177), 0x2168 => array(0x2178), 0x2169 => array(0x2179),
1346
-                    0x216A => array(0x217A), 0x216B => array(0x217B), 0x216C => array(0x217C),
1347
-                    0x216D => array(0x217D), 0x216E => array(0x217E), 0x216F => array(0x217F),
1348
-                    0x24B6 => array(0x24D0), 0x24B7 => array(0x24D1), 0x24B8 => array(0x24D2),
1349
-                    0x24B9 => array(0x24D3), 0x24BA => array(0x24D4), 0x24BB => array(0x24D5),
1350
-                    0x24BC => array(0x24D6), 0x24BD => array(0x24D7), 0x24BE => array(0x24D8),
1351
-                    0x24BF => array(0x24D9), 0x24C0 => array(0x24DA), 0x24C1 => array(0x24DB),
1352
-                    0x24C2 => array(0x24DC), 0x24C3 => array(0x24DD), 0x24C4 => array(0x24DE),
1353
-                    0x24C5 => array(0x24DF), 0x24C6 => array(0x24E0), 0x24C7 => array(0x24E1),
1354
-                    0x24C8 => array(0x24E2), 0x24C9 => array(0x24E3), 0x24CA => array(0x24E4),
1355
-                    0x24CB => array(0x24E5), 0x24CC => array(0x24E6), 0x24CD => array(0x24E7),
1356
-                    0x24CE => array(0x24E8), 0x24CF => array(0x24E9), 0x3371 => array(0x68, 0x70, 0x61),
1357
-                    0x3373 => array(0x61, 0x75), 0x3375 => array(0x6F, 0x76),
1358
-                    0x3380 => array(0x70, 0x61), 0x3381 => array(0x6E, 0x61),
1359
-                    0x3382 => array(0x3BC, 0x61), 0x3383 => array(0x6D, 0x61),
1360
-                    0x3384 => array(0x6B, 0x61), 0x3385 => array(0x6B, 0x62),
1361
-                    0x3386 => array(0x6D, 0x62), 0x3387 => array(0x67, 0x62),
1362
-                    0x338A => array(0x70, 0x66), 0x338B => array(0x6E, 0x66),
1363
-                    0x338C => array(0x3BC, 0x66), 0x3390 => array(0x68, 0x7A),
1364
-                    0x3391 => array(0x6B, 0x68, 0x7A), 0x3392 => array(0x6D, 0x68, 0x7A),
1365
-                    0x3393 => array(0x67, 0x68, 0x7A), 0x3394 => array(0x74, 0x68, 0x7A),
1366
-                    0x33A9 => array(0x70, 0x61), 0x33AA => array(0x6B, 0x70, 0x61),
1367
-                    0x33AB => array(0x6D, 0x70, 0x61), 0x33AC => array(0x67, 0x70, 0x61),
1368
-                    0x33B4 => array(0x70, 0x76), 0x33B5 => array(0x6E, 0x76),
1369
-                    0x33B6 => array(0x3BC, 0x76), 0x33B7 => array(0x6D, 0x76),
1370
-                    0x33B8 => array(0x6B, 0x76), 0x33B9 => array(0x6D, 0x76),
1371
-                    0x33BA => array(0x70, 0x77), 0x33BB => array(0x6E, 0x77),
1372
-                    0x33BC => array(0x3BC, 0x77), 0x33BD => array(0x6D, 0x77),
1373
-                    0x33BE => array(0x6B, 0x77), 0x33BF => array(0x6D, 0x77),
1374
-                    0x33C0 => array(0x6B, 0x3C9), 0x33C1 => array(0x6D, 0x3C9), /*
1051
+	/**
1052
+	 * Holds all relevant mapping tables
1053
+	 * See RFC3454 for details
1054
+	 *
1055
+	 * @private array
1056
+	 * @since 0.5.2
1057
+	 */
1058
+	protected static $NP = array(
1059
+			'map_nothing' => array(0xAD, 0x34F, 0x1806, 0x180B, 0x180C, 0x180D, 0x200B, 0x200C,
1060
+					0x200D, 0x2060, 0xFE00, 0xFE01, 0xFE02, 0xFE03, 0xFE04, 0xFE05, 0xFE06, 0xFE07,
1061
+					0xFE08, 0xFE09, 0xFE0A, 0xFE0B, 0xFE0C, 0xFE0D, 0xFE0E, 0xFE0F, 0xFEFF
1062
+			),
1063
+			'general_prohibited' => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1064
+					20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1065
+					43, 44, 47, 59, 60, 61, 62, 63, 64, 91, 92, 93, 94, 95, 96, 123, 124, 125, 126, 127, 0x3002
1066
+			),
1067
+			'prohibit' => array(0xA0, 0x340, 0x341, 0x6DD, 0x70F, 0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003,
1068
+					0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x200B, 0x200C, 0x200D, 0x200E, 0x200F,
1069
+					0x2028, 0x2029, 0x202A, 0x202B, 0x202C, 0x202D, 0x202E, 0x202F, 0x205F, 0x206A, 0x206B, 0x206C,
1070
+					0x206D, 0x206E, 0x206F, 0x3000, 0x33C2, 0xFEFF, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE, 0xFFFF,
1071
+					0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, 0x6FFFE,
1072
+					0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, 0xBFFFF,
1073
+					0xCFFFE, 0xCFFFF, 0xDFFFE, 0xDFFFF, 0xE0001, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, 0x10FFFE, 0x10FFFF
1074
+			),
1075
+			'prohibit_ranges' => array(array(0x80, 0x9F), array(0x2060, 0x206F), array(0x1D173, 0x1D17A),
1076
+					array(0xE000, 0xF8FF), array(0xF0000, 0xFFFFD), array(0x100000, 0x10FFFD),
1077
+					array(0xFDD0, 0xFDEF), array(0xD800, 0xDFFF), array(0x2FF0, 0x2FFB), array(0xE0020, 0xE007F)
1078
+			),
1079
+			'replacemaps_2003' => array(0x41 => array(0x61), 0x42 => array(0x62), 0x43 => array(0x63),
1080
+					0x44 => array(0x64), 0x45 => array(0x65), 0x46 => array(0x66), 0x47 => array(0x67),
1081
+					0x48 => array(0x68), 0x49 => array(0x69), 0x4A => array(0x6A), 0x4B => array(0x6B),
1082
+					0x4C => array(0x6C), 0x4D => array(0x6D), 0x4E => array(0x6E), 0x4F => array(0x6F),
1083
+					0x50 => array(0x70), 0x51 => array(0x71), 0x52 => array(0x72), 0x53 => array(0x73),
1084
+					0x54 => array(0x74), 0x55 => array(0x75), 0x56 => array(0x76), 0x57 => array(0x77),
1085
+					0x58 => array(0x78), 0x59 => array(0x79), 0x5A => array(0x7A), 0xB5 => array(0x3BC),
1086
+					0xC0 => array(0xE0), 0xC1 => array(0xE1), 0xC2 => array(0xE2), 0xC3 => array(0xE3),
1087
+					0xC4 => array(0xE4), 0xC5 => array(0xE5), 0xC6 => array(0xE6), 0xC7 => array(0xE7),
1088
+					0xC8 => array(0xE8), 0xC9 => array(0xE9), 0xCA => array(0xEA), 0xCB => array(0xEB),
1089
+					0xCC => array(0xEC), 0xCD => array(0xED), 0xCE => array(0xEE), 0xCF => array(0xEF),
1090
+					0xD0 => array(0xF0), 0xD1 => array(0xF1), 0xD2 => array(0xF2), 0xD3 => array(0xF3),
1091
+					0xD4 => array(0xF4), 0xD5 => array(0xF5), 0xD6 => array(0xF6), 0xD8 => array(0xF8),
1092
+					0xD9 => array(0xF9), 0xDA => array(0xFA), 0xDB => array(0xFB), 0xDC => array(0xFC),
1093
+					0xDD => array(0xFD), 0xDE => array(0xFE), 0xDF => array(0x73, 0x73),
1094
+					0x100 => array(0x101), 0x102 => array(0x103), 0x104 => array(0x105),
1095
+					0x106 => array(0x107), 0x108 => array(0x109), 0x10A => array(0x10B),
1096
+					0x10C => array(0x10D), 0x10E => array(0x10F), 0x110 => array(0x111),
1097
+					0x112 => array(0x113), 0x114 => array(0x115), 0x116 => array(0x117),
1098
+					0x118 => array(0x119), 0x11A => array(0x11B), 0x11C => array(0x11D),
1099
+					0x11E => array(0x11F), 0x120 => array(0x121), 0x122 => array(0x123),
1100
+					0x124 => array(0x125), 0x126 => array(0x127), 0x128 => array(0x129),
1101
+					0x12A => array(0x12B), 0x12C => array(0x12D), 0x12E => array(0x12F),
1102
+					0x130 => array(0x69, 0x307), 0x132 => array(0x133), 0x134 => array(0x135),
1103
+					0x136 => array(0x137), 0x139 => array(0x13A), 0x13B => array(0x13C),
1104
+					0x13D => array(0x13E), 0x13F => array(0x140), 0x141 => array(0x142),
1105
+					0x143 => array(0x144), 0x145 => array(0x146), 0x147 => array(0x148),
1106
+					0x149 => array(0x2BC, 0x6E), 0x14A => array(0x14B), 0x14C => array(0x14D),
1107
+					0x14E => array(0x14F), 0x150 => array(0x151), 0x152 => array(0x153),
1108
+					0x154 => array(0x155), 0x156 => array(0x157), 0x158 => array(0x159),
1109
+					0x15A => array(0x15B), 0x15C => array(0x15D), 0x15E => array(0x15F),
1110
+					0x160 => array(0x161), 0x162 => array(0x163), 0x164 => array(0x165),
1111
+					0x166 => array(0x167), 0x168 => array(0x169), 0x16A => array(0x16B),
1112
+					0x16C => array(0x16D), 0x16E => array(0x16F), 0x170 => array(0x171),
1113
+					0x172 => array(0x173), 0x174 => array(0x175), 0x176 => array(0x177),
1114
+					0x178 => array(0xFF), 0x179 => array(0x17A), 0x17B => array(0x17C),
1115
+					0x17D => array(0x17E), 0x17F => array(0x73), 0x181 => array(0x253),
1116
+					0x182 => array(0x183), 0x184 => array(0x185), 0x186 => array(0x254),
1117
+					0x187 => array(0x188), 0x189 => array(0x256), 0x18A => array(0x257),
1118
+					0x18B => array(0x18C), 0x18E => array(0x1DD), 0x18F => array(0x259),
1119
+					0x190 => array(0x25B), 0x191 => array(0x192), 0x193 => array(0x260),
1120
+					0x194 => array(0x263), 0x196 => array(0x269), 0x197 => array(0x268),
1121
+					0x198 => array(0x199), 0x19C => array(0x26F), 0x19D => array(0x272),
1122
+					0x19F => array(0x275), 0x1A0 => array(0x1A1), 0x1A2 => array(0x1A3),
1123
+					0x1A4 => array(0x1A5), 0x1A6 => array(0x280), 0x1A7 => array(0x1A8),
1124
+					0x1A9 => array(0x283), 0x1AC => array(0x1AD), 0x1AE => array(0x288),
1125
+					0x1AF => array(0x1B0), 0x1B1 => array(0x28A), 0x1B2 => array(0x28B),
1126
+					0x1B3 => array(0x1B4), 0x1B5 => array(0x1B6), 0x1B7 => array(0x292),
1127
+					0x1B8 => array(0x1B9), 0x1BC => array(0x1BD), 0x1C4 => array(0x1C6),
1128
+					0x1C5 => array(0x1C6), 0x1C7 => array(0x1C9), 0x1C8 => array(0x1C9),
1129
+					0x1CA => array(0x1CC), 0x1CB => array(0x1CC), 0x1CD => array(0x1CE),
1130
+					0x1CF => array(0x1D0), 0x1D1 => array(0x1D2), 0x1D3 => array(0x1D4),
1131
+					0x1D5 => array(0x1D6), 0x1D7 => array(0x1D8), 0x1D9 => array(0x1DA),
1132
+					0x1DB => array(0x1DC), 0x1DE => array(0x1DF), 0x1E0 => array(0x1E1),
1133
+					0x1E2 => array(0x1E3), 0x1E4 => array(0x1E5), 0x1E6 => array(0x1E7),
1134
+					0x1E8 => array(0x1E9), 0x1EA => array(0x1EB), 0x1EC => array(0x1ED),
1135
+					0x1EE => array(0x1EF), 0x1F0 => array(0x6A, 0x30C), 0x1F1 => array(0x1F3),
1136
+					0x1F2 => array(0x1F3), 0x1F4 => array(0x1F5), 0x1F6 => array(0x195),
1137
+					0x1F7 => array(0x1BF), 0x1F8 => array(0x1F9), 0x1FA => array(0x1FB),
1138
+					0x1FC => array(0x1FD), 0x1FE => array(0x1FF), 0x200 => array(0x201),
1139
+					0x202 => array(0x203), 0x204 => array(0x205), 0x206 => array(0x207),
1140
+					0x208 => array(0x209), 0x20A => array(0x20B), 0x20C => array(0x20D),
1141
+					0x20E => array(0x20F), 0x210 => array(0x211), 0x212 => array(0x213),
1142
+					0x214 => array(0x215), 0x216 => array(0x217), 0x218 => array(0x219),
1143
+					0x21A => array(0x21B), 0x21C => array(0x21D), 0x21E => array(0x21F),
1144
+					0x220 => array(0x19E), 0x222 => array(0x223), 0x224 => array(0x225),
1145
+					0x226 => array(0x227), 0x228 => array(0x229), 0x22A => array(0x22B),
1146
+					0x22C => array(0x22D), 0x22E => array(0x22F), 0x230 => array(0x231),
1147
+					0x232 => array(0x233), 0x345 => array(0x3B9), 0x37A => array(0x20, 0x3B9),
1148
+					0x386 => array(0x3AC), 0x388 => array(0x3AD), 0x389 => array(0x3AE),
1149
+					0x38A => array(0x3AF), 0x38C => array(0x3CC), 0x38E => array(0x3CD),
1150
+					0x38F => array(0x3CE), 0x390 => array(0x3B9, 0x308, 0x301),
1151
+					0x391 => array(0x3B1), 0x392 => array(0x3B2), 0x393 => array(0x3B3),
1152
+					0x394 => array(0x3B4), 0x395 => array(0x3B5), 0x396 => array(0x3B6),
1153
+					0x397 => array(0x3B7), 0x398 => array(0x3B8), 0x399 => array(0x3B9),
1154
+					0x39A => array(0x3BA), 0x39B => array(0x3BB), 0x39C => array(0x3BC),
1155
+					0x39D => array(0x3BD), 0x39E => array(0x3BE), 0x39F => array(0x3BF),
1156
+					0x3A0 => array(0x3C0), 0x3A1 => array(0x3C1), 0x3A3 => array(0x3C3),
1157
+					0x3A4 => array(0x3C4), 0x3A5 => array(0x3C5), 0x3A6 => array(0x3C6),
1158
+					0x3A7 => array(0x3C7), 0x3A8 => array(0x3C8), 0x3A9 => array(0x3C9),
1159
+					0x3AA => array(0x3CA), 0x3AB => array(0x3CB), 0x3B0 => array(0x3C5, 0x308, 0x301),
1160
+					0x3C2 => array(0x3C3), 0x3D0 => array(0x3B2), 0x3D1 => array(0x3B8),
1161
+					0x3D2 => array(0x3C5), 0x3D3 => array(0x3CD), 0x3D4 => array(0x3CB),
1162
+					0x3D5 => array(0x3C6), 0x3D6 => array(0x3C0), 0x3D8 => array(0x3D9),
1163
+					0x3DA => array(0x3DB), 0x3DC => array(0x3DD), 0x3DE => array(0x3DF),
1164
+					0x3E0 => array(0x3E1), 0x3E2 => array(0x3E3), 0x3E4 => array(0x3E5),
1165
+					0x3E6 => array(0x3E7), 0x3E8 => array(0x3E9), 0x3EA => array(0x3EB),
1166
+					0x3EC => array(0x3ED), 0x3EE => array(0x3EF), 0x3F0 => array(0x3BA),
1167
+					0x3F1 => array(0x3C1), 0x3F2 => array(0x3C3), 0x3F4 => array(0x3B8),
1168
+					0x3F5 => array(0x3B5), 0x400 => array(0x450), 0x401 => array(0x451),
1169
+					0x402 => array(0x452), 0x403 => array(0x453), 0x404 => array(0x454),
1170
+					0x405 => array(0x455), 0x406 => array(0x456), 0x407 => array(0x457),
1171
+					0x408 => array(0x458), 0x409 => array(0x459), 0x40A => array(0x45A),
1172
+					0x40B => array(0x45B), 0x40C => array(0x45C), 0x40D => array(0x45D),
1173
+					0x40E => array(0x45E), 0x40F => array(0x45F), 0x410 => array(0x430),
1174
+					0x411 => array(0x431), 0x412 => array(0x432), 0x413 => array(0x433),
1175
+					0x414 => array(0x434), 0x415 => array(0x435), 0x416 => array(0x436),
1176
+					0x417 => array(0x437), 0x418 => array(0x438), 0x419 => array(0x439),
1177
+					0x41A => array(0x43A), 0x41B => array(0x43B), 0x41C => array(0x43C),
1178
+					0x41D => array(0x43D), 0x41E => array(0x43E), 0x41F => array(0x43F),
1179
+					0x420 => array(0x440), 0x421 => array(0x441), 0x422 => array(0x442),
1180
+					0x423 => array(0x443), 0x424 => array(0x444), 0x425 => array(0x445),
1181
+					0x426 => array(0x446), 0x427 => array(0x447), 0x428 => array(0x448),
1182
+					0x429 => array(0x449), 0x42A => array(0x44A), 0x42B => array(0x44B),
1183
+					0x42C => array(0x44C), 0x42D => array(0x44D), 0x42E => array(0x44E),
1184
+					0x42F => array(0x44F), 0x460 => array(0x461), 0x462 => array(0x463),
1185
+					0x464 => array(0x465), 0x466 => array(0x467), 0x468 => array(0x469),
1186
+					0x46A => array(0x46B), 0x46C => array(0x46D), 0x46E => array(0x46F),
1187
+					0x470 => array(0x471), 0x472 => array(0x473), 0x474 => array(0x475),
1188
+					0x476 => array(0x477), 0x478 => array(0x479), 0x47A => array(0x47B),
1189
+					0x47C => array(0x47D), 0x47E => array(0x47F), 0x480 => array(0x481),
1190
+					0x48A => array(0x48B), 0x48C => array(0x48D), 0x48E => array(0x48F),
1191
+					0x490 => array(0x491), 0x492 => array(0x493), 0x494 => array(0x495),
1192
+					0x496 => array(0x497), 0x498 => array(0x499), 0x49A => array(0x49B),
1193
+					0x49C => array(0x49D), 0x49E => array(0x49F), 0x4A0 => array(0x4A1),
1194
+					0x4A2 => array(0x4A3), 0x4A4 => array(0x4A5), 0x4A6 => array(0x4A7),
1195
+					0x4A8 => array(0x4A9), 0x4AA => array(0x4AB), 0x4AC => array(0x4AD),
1196
+					0x4AE => array(0x4AF), 0x4B0 => array(0x4B1), 0x4B2 => array(0x4B3),
1197
+					0x4B4 => array(0x4B5), 0x4B6 => array(0x4B7), 0x4B8 => array(0x4B9),
1198
+					0x4BA => array(0x4BB), 0x4BC => array(0x4BD), 0x4BE => array(0x4BF),
1199
+					0x4C1 => array(0x4C2), 0x4C3 => array(0x4C4), 0x4C5 => array(0x4C6),
1200
+					0x4C7 => array(0x4C8), 0x4C9 => array(0x4CA), 0x4CB => array(0x4CC),
1201
+					0x4CD => array(0x4CE), 0x4D0 => array(0x4D1), 0x4D2 => array(0x4D3),
1202
+					0x4D4 => array(0x4D5), 0x4D6 => array(0x4D7), 0x4D8 => array(0x4D9),
1203
+					0x4DA => array(0x4DB), 0x4DC => array(0x4DD), 0x4DE => array(0x4DF),
1204
+					0x4E0 => array(0x4E1), 0x4E2 => array(0x4E3), 0x4E4 => array(0x4E5),
1205
+					0x4E6 => array(0x4E7), 0x4E8 => array(0x4E9), 0x4EA => array(0x4EB),
1206
+					0x4EC => array(0x4ED), 0x4EE => array(0x4EF), 0x4F0 => array(0x4F1),
1207
+					0x4F2 => array(0x4F3), 0x4F4 => array(0x4F5), 0x4F8 => array(0x4F9),
1208
+					0x500 => array(0x501), 0x502 => array(0x503), 0x504 => array(0x505),
1209
+					0x506 => array(0x507), 0x508 => array(0x509), 0x50A => array(0x50B),
1210
+					0x50C => array(0x50D), 0x50E => array(0x50F), 0x531 => array(0x561),
1211
+					0x532 => array(0x562), 0x533 => array(0x563), 0x534 => array(0x564),
1212
+					0x535 => array(0x565), 0x536 => array(0x566), 0x537 => array(0x567),
1213
+					0x538 => array(0x568), 0x539 => array(0x569), 0x53A => array(0x56A),
1214
+					0x53B => array(0x56B), 0x53C => array(0x56C), 0x53D => array(0x56D),
1215
+					0x53E => array(0x56E), 0x53F => array(0x56F), 0x540 => array(0x570),
1216
+					0x541 => array(0x571), 0x542 => array(0x572), 0x543 => array(0x573),
1217
+					0x544 => array(0x574), 0x545 => array(0x575), 0x546 => array(0x576),
1218
+					0x547 => array(0x577), 0x548 => array(0x578), 0x549 => array(0x579),
1219
+					0x54A => array(0x57A), 0x54B => array(0x57B), 0x54C => array(0x57C),
1220
+					0x54D => array(0x57D), 0x54E => array(0x57E), 0x54F => array(0x57F),
1221
+					0x550 => array(0x580), 0x551 => array(0x581), 0x552 => array(0x582),
1222
+					0x553 => array(0x583), 0x554 => array(0x584), 0x555 => array(0x585),
1223
+					0x556 => array(0x586), 0x587 => array(0x565, 0x582), 0xE33 => array(0xE4D, 0xE32),
1224
+					0x1E00 => array(0x1E01), 0x1E02 => array(0x1E03), 0x1E04 => array(0x1E05),
1225
+					0x1E06 => array(0x1E07), 0x1E08 => array(0x1E09), 0x1E0A => array(0x1E0B),
1226
+					0x1E0C => array(0x1E0D), 0x1E0E => array(0x1E0F), 0x1E10 => array(0x1E11),
1227
+					0x1E12 => array(0x1E13), 0x1E14 => array(0x1E15), 0x1E16 => array(0x1E17),
1228
+					0x1E18 => array(0x1E19), 0x1E1A => array(0x1E1B), 0x1E1C => array(0x1E1D),
1229
+					0x1E1E => array(0x1E1F), 0x1E20 => array(0x1E21), 0x1E22 => array(0x1E23),
1230
+					0x1E24 => array(0x1E25), 0x1E26 => array(0x1E27), 0x1E28 => array(0x1E29),
1231
+					0x1E2A => array(0x1E2B), 0x1E2C => array(0x1E2D), 0x1E2E => array(0x1E2F),
1232
+					0x1E30 => array(0x1E31), 0x1E32 => array(0x1E33), 0x1E34 => array(0x1E35),
1233
+					0x1E36 => array(0x1E37), 0x1E38 => array(0x1E39), 0x1E3A => array(0x1E3B),
1234
+					0x1E3C => array(0x1E3D), 0x1E3E => array(0x1E3F), 0x1E40 => array(0x1E41),
1235
+					0x1E42 => array(0x1E43), 0x1E44 => array(0x1E45), 0x1E46 => array(0x1E47),
1236
+					0x1E48 => array(0x1E49), 0x1E4A => array(0x1E4B), 0x1E4C => array(0x1E4D),
1237
+					0x1E4E => array(0x1E4F), 0x1E50 => array(0x1E51), 0x1E52 => array(0x1E53),
1238
+					0x1E54 => array(0x1E55), 0x1E56 => array(0x1E57), 0x1E58 => array(0x1E59),
1239
+					0x1E5A => array(0x1E5B), 0x1E5C => array(0x1E5D), 0x1E5E => array(0x1E5F),
1240
+					0x1E60 => array(0x1E61), 0x1E62 => array(0x1E63), 0x1E64 => array(0x1E65),
1241
+					0x1E66 => array(0x1E67), 0x1E68 => array(0x1E69), 0x1E6A => array(0x1E6B),
1242
+					0x1E6C => array(0x1E6D), 0x1E6E => array(0x1E6F), 0x1E70 => array(0x1E71),
1243
+					0x1E72 => array(0x1E73), 0x1E74 => array(0x1E75), 0x1E76 => array(0x1E77),
1244
+					0x1E78 => array(0x1E79), 0x1E7A => array(0x1E7B), 0x1E7C => array(0x1E7D),
1245
+					0x1E7E => array(0x1E7F), 0x1E80 => array(0x1E81), 0x1E82 => array(0x1E83),
1246
+					0x1E84 => array(0x1E85), 0x1E86 => array(0x1E87), 0x1E88 => array(0x1E89),
1247
+					0x1E8A => array(0x1E8B), 0x1E8C => array(0x1E8D), 0x1E8E => array(0x1E8F),
1248
+					0x1E90 => array(0x1E91), 0x1E92 => array(0x1E93), 0x1E94 => array(0x1E95),
1249
+					0x1E96 => array(0x68, 0x331), 0x1E97 => array(0x74, 0x308), 0x1E98 => array(0x77, 0x30A),
1250
+					0x1E99 => array(0x79, 0x30A), 0x1E9A => array(0x61, 0x2BE), 0x1E9B => array(0x1E61),
1251
+					0x1EA0 => array(0x1EA1), 0x1EA2 => array(0x1EA3), 0x1EA4 => array(0x1EA5),
1252
+					0x1EA6 => array(0x1EA7), 0x1EA8 => array(0x1EA9), 0x1EAA => array(0x1EAB),
1253
+					0x1EAC => array(0x1EAD), 0x1EAE => array(0x1EAF), 0x1EB0 => array(0x1EB1),
1254
+					0x1EB2 => array(0x1EB3), 0x1EB4 => array(0x1EB5), 0x1EB6 => array(0x1EB7),
1255
+					0x1EB8 => array(0x1EB9), 0x1EBA => array(0x1EBB), 0x1EBC => array(0x1EBD),
1256
+					0x1EBE => array(0x1EBF), 0x1EC0 => array(0x1EC1), 0x1EC2 => array(0x1EC3),
1257
+					0x1EC4 => array(0x1EC5), 0x1EC6 => array(0x1EC7), 0x1EC8 => array(0x1EC9),
1258
+					0x1ECA => array(0x1ECB), 0x1ECC => array(0x1ECD), 0x1ECE => array(0x1ECF),
1259
+					0x1ED0 => array(0x1ED1), 0x1ED2 => array(0x1ED3), 0x1ED4 => array(0x1ED5),
1260
+					0x1ED6 => array(0x1ED7), 0x1ED8 => array(0x1ED9), 0x1EDA => array(0x1EDB),
1261
+					0x1EDC => array(0x1EDD), 0x1EDE => array(0x1EDF), 0x1EE0 => array(0x1EE1),
1262
+					0x1EE2 => array(0x1EE3), 0x1EE4 => array(0x1EE5), 0x1EE6 => array(0x1EE7),
1263
+					0x1EE8 => array(0x1EE9), 0x1EEA => array(0x1EEB), 0x1EEC => array(0x1EED),
1264
+					0x1EEE => array(0x1EEF), 0x1EF0 => array(0x1EF1), 0x1EF2 => array(0x1EF3),
1265
+					0x1EF4 => array(0x1EF5), 0x1EF6 => array(0x1EF7), 0x1EF8 => array(0x1EF9),
1266
+					0x1F08 => array(0x1F00), 0x1F09 => array(0x1F01), 0x1F0A => array(0x1F02),
1267
+					0x1F0B => array(0x1F03), 0x1F0C => array(0x1F04), 0x1F0D => array(0x1F05),
1268
+					0x1F0E => array(0x1F06), 0x1F0F => array(0x1F07), 0x1F18 => array(0x1F10),
1269
+					0x1F19 => array(0x1F11), 0x1F1A => array(0x1F12), 0x1F1B => array(0x1F13),
1270
+					0x1F1C => array(0x1F14), 0x1F1D => array(0x1F15), 0x1F28 => array(0x1F20),
1271
+					0x1F29 => array(0x1F21), 0x1F2A => array(0x1F22), 0x1F2B => array(0x1F23),
1272
+					0x1F2C => array(0x1F24), 0x1F2D => array(0x1F25), 0x1F2E => array(0x1F26),
1273
+					0x1F2F => array(0x1F27), 0x1F38 => array(0x1F30), 0x1F39 => array(0x1F31),
1274
+					0x1F3A => array(0x1F32), 0x1F3B => array(0x1F33), 0x1F3C => array(0x1F34),
1275
+					0x1F3D => array(0x1F35), 0x1F3E => array(0x1F36), 0x1F3F => array(0x1F37),
1276
+					0x1F48 => array(0x1F40), 0x1F49 => array(0x1F41), 0x1F4A => array(0x1F42),
1277
+					0x1F4B => array(0x1F43), 0x1F4C => array(0x1F44), 0x1F4D => array(0x1F45),
1278
+					0x1F50 => array(0x3C5, 0x313), 0x1F52 => array(0x3C5, 0x313, 0x300),
1279
+					0x1F54 => array(0x3C5, 0x313, 0x301), 0x1F56 => array(0x3C5, 0x313, 0x342),
1280
+					0x1F59 => array(0x1F51), 0x1F5B => array(0x1F53), 0x1F5D => array(0x1F55),
1281
+					0x1F5F => array(0x1F57), 0x1F68 => array(0x1F60), 0x1F69 => array(0x1F61),
1282
+					0x1F6A => array(0x1F62), 0x1F6B => array(0x1F63), 0x1F6C => array(0x1F64),
1283
+					0x1F6D => array(0x1F65), 0x1F6E => array(0x1F66), 0x1F6F => array(0x1F67),
1284
+					0x1F80 => array(0x1F00, 0x3B9), 0x1F81 => array(0x1F01, 0x3B9),
1285
+					0x1F82 => array(0x1F02, 0x3B9), 0x1F83 => array(0x1F03, 0x3B9),
1286
+					0x1F84 => array(0x1F04, 0x3B9), 0x1F85 => array(0x1F05, 0x3B9),
1287
+					0x1F86 => array(0x1F06, 0x3B9), 0x1F87 => array(0x1F07, 0x3B9),
1288
+					0x1F88 => array(0x1F00, 0x3B9), 0x1F89 => array(0x1F01, 0x3B9),
1289
+					0x1F8A => array(0x1F02, 0x3B9), 0x1F8B => array(0x1F03, 0x3B9),
1290
+					0x1F8C => array(0x1F04, 0x3B9), 0x1F8D => array(0x1F05, 0x3B9),
1291
+					0x1F8E => array(0x1F06, 0x3B9), 0x1F8F => array(0x1F07, 0x3B9),
1292
+					0x1F90 => array(0x1F20, 0x3B9), 0x1F91 => array(0x1F21, 0x3B9),
1293
+					0x1F92 => array(0x1F22, 0x3B9), 0x1F93 => array(0x1F23, 0x3B9),
1294
+					0x1F94 => array(0x1F24, 0x3B9), 0x1F95 => array(0x1F25, 0x3B9),
1295
+					0x1F96 => array(0x1F26, 0x3B9), 0x1F97 => array(0x1F27, 0x3B9),
1296
+					0x1F98 => array(0x1F20, 0x3B9), 0x1F99 => array(0x1F21, 0x3B9),
1297
+					0x1F9A => array(0x1F22, 0x3B9), 0x1F9B => array(0x1F23, 0x3B9),
1298
+					0x1F9C => array(0x1F24, 0x3B9), 0x1F9D => array(0x1F25, 0x3B9),
1299
+					0x1F9E => array(0x1F26, 0x3B9), 0x1F9F => array(0x1F27, 0x3B9),
1300
+					0x1FA0 => array(0x1F60, 0x3B9), 0x1FA1 => array(0x1F61, 0x3B9),
1301
+					0x1FA2 => array(0x1F62, 0x3B9), 0x1FA3 => array(0x1F63, 0x3B9),
1302
+					0x1FA4 => array(0x1F64, 0x3B9), 0x1FA5 => array(0x1F65, 0x3B9),
1303
+					0x1FA6 => array(0x1F66, 0x3B9), 0x1FA7 => array(0x1F67, 0x3B9),
1304
+					0x1FA8 => array(0x1F60, 0x3B9), 0x1FA9 => array(0x1F61, 0x3B9),
1305
+					0x1FAA => array(0x1F62, 0x3B9), 0x1FAB => array(0x1F63, 0x3B9),
1306
+					0x1FAC => array(0x1F64, 0x3B9), 0x1FAD => array(0x1F65, 0x3B9),
1307
+					0x1FAE => array(0x1F66, 0x3B9), 0x1FAF => array(0x1F67, 0x3B9),
1308
+					0x1FB2 => array(0x1F70, 0x3B9), 0x1FB3 => array(0x3B1, 0x3B9),
1309
+					0x1FB4 => array(0x3AC, 0x3B9), 0x1FB6 => array(0x3B1, 0x342),
1310
+					0x1FB7 => array(0x3B1, 0x342, 0x3B9), 0x1FB8 => array(0x1FB0),
1311
+					0x1FB9 => array(0x1FB1), 0x1FBA => array(0x1F70), 0x1FBB => array(0x1F71),
1312
+					0x1FBC => array(0x3B1, 0x3B9), 0x1FBE => array(0x3B9),
1313
+					0x1FC2 => array(0x1F74, 0x3B9), 0x1FC3 => array(0x3B7, 0x3B9),
1314
+					0x1FC4 => array(0x3AE, 0x3B9), 0x1FC6 => array(0x3B7, 0x342),
1315
+					0x1FC7 => array(0x3B7, 0x342, 0x3B9), 0x1FC8 => array(0x1F72),
1316
+					0x1FC9 => array(0x1F73), 0x1FCA => array(0x1F74), 0x1FCB => array(0x1F75),
1317
+					0x1FCC => array(0x3B7, 0x3B9), 0x1FD2 => array(0x3B9, 0x308, 0x300),
1318
+					0x1FD3 => array(0x3B9, 0x308, 0x301), 0x1FD6 => array(0x3B9, 0x342),
1319
+					0x1FD7 => array(0x3B9, 0x308, 0x342), 0x1FD8 => array(0x1FD0),
1320
+					0x1FD9 => array(0x1FD1), 0x1FDA => array(0x1F76),
1321
+					0x1FDB => array(0x1F77), 0x1FE2 => array(0x3C5, 0x308, 0x300),
1322
+					0x1FE3 => array(0x3C5, 0x308, 0x301), 0x1FE4 => array(0x3C1, 0x313),
1323
+					0x1FE6 => array(0x3C5, 0x342), 0x1FE7 => array(0x3C5, 0x308, 0x342),
1324
+					0x1FE8 => array(0x1FE0), 0x1FE9 => array(0x1FE1),
1325
+					0x1FEA => array(0x1F7A), 0x1FEB => array(0x1F7B),
1326
+					0x1FEC => array(0x1FE5), 0x1FF2 => array(0x1F7C, 0x3B9),
1327
+					0x1FF3 => array(0x3C9, 0x3B9), 0x1FF4 => array(0x3CE, 0x3B9),
1328
+					0x1FF6 => array(0x3C9, 0x342), 0x1FF7 => array(0x3C9, 0x342, 0x3B9),
1329
+					0x1FF8 => array(0x1F78), 0x1FF9 => array(0x1F79), 0x1FFA => array(0x1F7C),
1330
+					0x1FFB => array(0x1F7D), 0x1FFC => array(0x3C9, 0x3B9),
1331
+					0x20A8 => array(0x72, 0x73), 0x2102 => array(0x63), 0x2103 => array(0xB0, 0x63),
1332
+					0x2107 => array(0x25B), 0x2109 => array(0xB0, 0x66), 0x210B => array(0x68),
1333
+					0x210C => array(0x68), 0x210D => array(0x68), 0x2110 => array(0x69),
1334
+					0x2111 => array(0x69), 0x2112 => array(0x6C), 0x2115 => array(0x6E),
1335
+					0x2116 => array(0x6E, 0x6F), 0x2119 => array(0x70), 0x211A => array(0x71),
1336
+					0x211B => array(0x72), 0x211C => array(0x72), 0x211D => array(0x72),
1337
+					0x2120 => array(0x73, 0x6D), 0x2121 => array(0x74, 0x65, 0x6C),
1338
+					0x2122 => array(0x74, 0x6D), 0x2124 => array(0x7A), 0x2126 => array(0x3C9),
1339
+					0x2128 => array(0x7A), 0x212A => array(0x6B), 0x212B => array(0xE5),
1340
+					0x212C => array(0x62), 0x212D => array(0x63), 0x2130 => array(0x65),
1341
+					0x2131 => array(0x66), 0x2133 => array(0x6D), 0x213E => array(0x3B3),
1342
+					0x213F => array(0x3C0), 0x2145 => array(0x64), 0x2160 => array(0x2170),
1343
+					0x2161 => array(0x2171), 0x2162 => array(0x2172), 0x2163 => array(0x2173),
1344
+					0x2164 => array(0x2174), 0x2165 => array(0x2175), 0x2166 => array(0x2176),
1345
+					0x2167 => array(0x2177), 0x2168 => array(0x2178), 0x2169 => array(0x2179),
1346
+					0x216A => array(0x217A), 0x216B => array(0x217B), 0x216C => array(0x217C),
1347
+					0x216D => array(0x217D), 0x216E => array(0x217E), 0x216F => array(0x217F),
1348
+					0x24B6 => array(0x24D0), 0x24B7 => array(0x24D1), 0x24B8 => array(0x24D2),
1349
+					0x24B9 => array(0x24D3), 0x24BA => array(0x24D4), 0x24BB => array(0x24D5),
1350
+					0x24BC => array(0x24D6), 0x24BD => array(0x24D7), 0x24BE => array(0x24D8),
1351
+					0x24BF => array(0x24D9), 0x24C0 => array(0x24DA), 0x24C1 => array(0x24DB),
1352
+					0x24C2 => array(0x24DC), 0x24C3 => array(0x24DD), 0x24C4 => array(0x24DE),
1353
+					0x24C5 => array(0x24DF), 0x24C6 => array(0x24E0), 0x24C7 => array(0x24E1),
1354
+					0x24C8 => array(0x24E2), 0x24C9 => array(0x24E3), 0x24CA => array(0x24E4),
1355
+					0x24CB => array(0x24E5), 0x24CC => array(0x24E6), 0x24CD => array(0x24E7),
1356
+					0x24CE => array(0x24E8), 0x24CF => array(0x24E9), 0x3371 => array(0x68, 0x70, 0x61),
1357
+					0x3373 => array(0x61, 0x75), 0x3375 => array(0x6F, 0x76),
1358
+					0x3380 => array(0x70, 0x61), 0x3381 => array(0x6E, 0x61),
1359
+					0x3382 => array(0x3BC, 0x61), 0x3383 => array(0x6D, 0x61),
1360
+					0x3384 => array(0x6B, 0x61), 0x3385 => array(0x6B, 0x62),
1361
+					0x3386 => array(0x6D, 0x62), 0x3387 => array(0x67, 0x62),
1362
+					0x338A => array(0x70, 0x66), 0x338B => array(0x6E, 0x66),
1363
+					0x338C => array(0x3BC, 0x66), 0x3390 => array(0x68, 0x7A),
1364
+					0x3391 => array(0x6B, 0x68, 0x7A), 0x3392 => array(0x6D, 0x68, 0x7A),
1365
+					0x3393 => array(0x67, 0x68, 0x7A), 0x3394 => array(0x74, 0x68, 0x7A),
1366
+					0x33A9 => array(0x70, 0x61), 0x33AA => array(0x6B, 0x70, 0x61),
1367
+					0x33AB => array(0x6D, 0x70, 0x61), 0x33AC => array(0x67, 0x70, 0x61),
1368
+					0x33B4 => array(0x70, 0x76), 0x33B5 => array(0x6E, 0x76),
1369
+					0x33B6 => array(0x3BC, 0x76), 0x33B7 => array(0x6D, 0x76),
1370
+					0x33B8 => array(0x6B, 0x76), 0x33B9 => array(0x6D, 0x76),
1371
+					0x33BA => array(0x70, 0x77), 0x33BB => array(0x6E, 0x77),
1372
+					0x33BC => array(0x3BC, 0x77), 0x33BD => array(0x6D, 0x77),
1373
+					0x33BE => array(0x6B, 0x77), 0x33BF => array(0x6D, 0x77),
1374
+					0x33C0 => array(0x6B, 0x3C9), 0x33C1 => array(0x6D, 0x3C9), /*
1375 1375
                     0x33C2  => array(0x61, 0x2E, 0x6D, 0x2E), */
1376
-                    0x33C3 => array(0x62, 0x71), 0x33C6 => array(0x63, 0x2215, 0x6B, 0x67),
1377
-                    0x33C7 => array(0x63, 0x6F, 0x2E), 0x33C8 => array(0x64, 0x62),
1378
-                    0x33C9 => array(0x67, 0x79), 0x33CB => array(0x68, 0x70),
1379
-                    0x33CD => array(0x6B, 0x6B), 0x33CE => array(0x6B, 0x6D),
1380
-                    0x33D7 => array(0x70, 0x68), 0x33D9 => array(0x70, 0x70, 0x6D),
1381
-                    0x33DA => array(0x70, 0x72), 0x33DC => array(0x73, 0x76),
1382
-                    0x33DD => array(0x77, 0x62), 0xFB00 => array(0x66, 0x66),
1383
-                    0xFB01 => array(0x66, 0x69), 0xFB02 => array(0x66, 0x6C),
1384
-                    0xFB03 => array(0x66, 0x66, 0x69), 0xFB04 => array(0x66, 0x66, 0x6C),
1385
-                    0xFB05 => array(0x73, 0x74), 0xFB06 => array(0x73, 0x74),
1386
-                    0xFB13 => array(0x574, 0x576), 0xFB14 => array(0x574, 0x565),
1387
-                    0xFB15 => array(0x574, 0x56B), 0xFB16 => array(0x57E, 0x576),
1388
-                    0xFB17 => array(0x574, 0x56D), 0xFF21 => array(0xFF41),
1389
-                    0xFF22 => array(0xFF42), 0xFF23 => array(0xFF43), 0xFF24 => array(0xFF44),
1390
-                    0xFF25 => array(0xFF45), 0xFF26 => array(0xFF46), 0xFF27 => array(0xFF47),
1391
-                    0xFF28 => array(0xFF48), 0xFF29 => array(0xFF49), 0xFF2A => array(0xFF4A),
1392
-                    0xFF2B => array(0xFF4B), 0xFF2C => array(0xFF4C), 0xFF2D => array(0xFF4D),
1393
-                    0xFF2E => array(0xFF4E), 0xFF2F => array(0xFF4F), 0xFF30 => array(0xFF50),
1394
-                    0xFF31 => array(0xFF51), 0xFF32 => array(0xFF52), 0xFF33 => array(0xFF53),
1395
-                    0xFF34 => array(0xFF54), 0xFF35 => array(0xFF55), 0xFF36 => array(0xFF56),
1396
-                    0xFF37 => array(0xFF57), 0xFF38 => array(0xFF58), 0xFF39 => array(0xFF59),
1397
-                    0xFF3A => array(0xFF5A), 0x10400 => array(0x10428), 0x10401 => array(0x10429),
1398
-                    0x10402 => array(0x1042A), 0x10403 => array(0x1042B), 0x10404 => array(0x1042C),
1399
-                    0x10405 => array(0x1042D), 0x10406 => array(0x1042E), 0x10407 => array(0x1042F),
1400
-                    0x10408 => array(0x10430), 0x10409 => array(0x10431), 0x1040A => array(0x10432),
1401
-                    0x1040B => array(0x10433), 0x1040C => array(0x10434), 0x1040D => array(0x10435),
1402
-                    0x1040E => array(0x10436), 0x1040F => array(0x10437), 0x10410 => array(0x10438),
1403
-                    0x10411 => array(0x10439), 0x10412 => array(0x1043A), 0x10413 => array(0x1043B),
1404
-                    0x10414 => array(0x1043C), 0x10415 => array(0x1043D), 0x10416 => array(0x1043E),
1405
-                    0x10417 => array(0x1043F), 0x10418 => array(0x10440), 0x10419 => array(0x10441),
1406
-                    0x1041A => array(0x10442), 0x1041B => array(0x10443), 0x1041C => array(0x10444),
1407
-                    0x1041D => array(0x10445), 0x1041E => array(0x10446), 0x1041F => array(0x10447),
1408
-                    0x10420 => array(0x10448), 0x10421 => array(0x10449), 0x10422 => array(0x1044A),
1409
-                    0x10423 => array(0x1044B), 0x10424 => array(0x1044C), 0x10425 => array(0x1044D),
1410
-                    0x1D400 => array(0x61), 0x1D401 => array(0x62), 0x1D402 => array(0x63),
1411
-                    0x1D403 => array(0x64), 0x1D404 => array(0x65), 0x1D405 => array(0x66),
1412
-                    0x1D406 => array(0x67), 0x1D407 => array(0x68), 0x1D408 => array(0x69),
1413
-                    0x1D409 => array(0x6A), 0x1D40A => array(0x6B), 0x1D40B => array(0x6C),
1414
-                    0x1D40C => array(0x6D), 0x1D40D => array(0x6E), 0x1D40E => array(0x6F),
1415
-                    0x1D40F => array(0x70), 0x1D410 => array(0x71), 0x1D411 => array(0x72),
1416
-                    0x1D412 => array(0x73), 0x1D413 => array(0x74), 0x1D414 => array(0x75),
1417
-                    0x1D415 => array(0x76), 0x1D416 => array(0x77), 0x1D417 => array(0x78),
1418
-                    0x1D418 => array(0x79), 0x1D419 => array(0x7A), 0x1D434 => array(0x61),
1419
-                    0x1D435 => array(0x62), 0x1D436 => array(0x63), 0x1D437 => array(0x64),
1420
-                    0x1D438 => array(0x65), 0x1D439 => array(0x66), 0x1D43A => array(0x67),
1421
-                    0x1D43B => array(0x68), 0x1D43C => array(0x69), 0x1D43D => array(0x6A),
1422
-                    0x1D43E => array(0x6B), 0x1D43F => array(0x6C), 0x1D440 => array(0x6D),
1423
-                    0x1D441 => array(0x6E), 0x1D442 => array(0x6F), 0x1D443 => array(0x70),
1424
-                    0x1D444 => array(0x71), 0x1D445 => array(0x72), 0x1D446 => array(0x73),
1425
-                    0x1D447 => array(0x74), 0x1D448 => array(0x75), 0x1D449 => array(0x76),
1426
-                    0x1D44A => array(0x77), 0x1D44B => array(0x78), 0x1D44C => array(0x79),
1427
-                    0x1D44D => array(0x7A), 0x1D468 => array(0x61), 0x1D469 => array(0x62),
1428
-                    0x1D46A => array(0x63), 0x1D46B => array(0x64), 0x1D46C => array(0x65),
1429
-                    0x1D46D => array(0x66), 0x1D46E => array(0x67), 0x1D46F => array(0x68),
1430
-                    0x1D470 => array(0x69), 0x1D471 => array(0x6A), 0x1D472 => array(0x6B),
1431
-                    0x1D473 => array(0x6C), 0x1D474 => array(0x6D), 0x1D475 => array(0x6E),
1432
-                    0x1D476 => array(0x6F), 0x1D477 => array(0x70), 0x1D478 => array(0x71),
1433
-                    0x1D479 => array(0x72), 0x1D47A => array(0x73), 0x1D47B => array(0x74),
1434
-                    0x1D47C => array(0x75), 0x1D47D => array(0x76), 0x1D47E => array(0x77),
1435
-                    0x1D47F => array(0x78), 0x1D480 => array(0x79), 0x1D481 => array(0x7A),
1436
-                    0x1D49C => array(0x61), 0x1D49E => array(0x63), 0x1D49F => array(0x64),
1437
-                    0x1D4A2 => array(0x67), 0x1D4A5 => array(0x6A), 0x1D4A6 => array(0x6B),
1438
-                    0x1D4A9 => array(0x6E), 0x1D4AA => array(0x6F), 0x1D4AB => array(0x70),
1439
-                    0x1D4AC => array(0x71), 0x1D4AE => array(0x73), 0x1D4AF => array(0x74),
1440
-                    0x1D4B0 => array(0x75), 0x1D4B1 => array(0x76), 0x1D4B2 => array(0x77),
1441
-                    0x1D4B3 => array(0x78), 0x1D4B4 => array(0x79), 0x1D4B5 => array(0x7A),
1442
-                    0x1D4D0 => array(0x61), 0x1D4D1 => array(0x62), 0x1D4D2 => array(0x63),
1443
-                    0x1D4D3 => array(0x64), 0x1D4D4 => array(0x65), 0x1D4D5 => array(0x66),
1444
-                    0x1D4D6 => array(0x67), 0x1D4D7 => array(0x68), 0x1D4D8 => array(0x69),
1445
-                    0x1D4D9 => array(0x6A), 0x1D4DA => array(0x6B), 0x1D4DB => array(0x6C),
1446
-                    0x1D4DC => array(0x6D), 0x1D4DD => array(0x6E), 0x1D4DE => array(0x6F),
1447
-                    0x1D4DF => array(0x70), 0x1D4E0 => array(0x71), 0x1D4E1 => array(0x72),
1448
-                    0x1D4E2 => array(0x73), 0x1D4E3 => array(0x74), 0x1D4E4 => array(0x75),
1449
-                    0x1D4E5 => array(0x76), 0x1D4E6 => array(0x77), 0x1D4E7 => array(0x78),
1450
-                    0x1D4E8 => array(0x79), 0x1D4E9 => array(0x7A), 0x1D504 => array(0x61),
1451
-                    0x1D505 => array(0x62), 0x1D507 => array(0x64), 0x1D508 => array(0x65),
1452
-                    0x1D509 => array(0x66), 0x1D50A => array(0x67), 0x1D50D => array(0x6A),
1453
-                    0x1D50E => array(0x6B), 0x1D50F => array(0x6C), 0x1D510 => array(0x6D),
1454
-                    0x1D511 => array(0x6E), 0x1D512 => array(0x6F), 0x1D513 => array(0x70),
1455
-                    0x1D514 => array(0x71), 0x1D516 => array(0x73), 0x1D517 => array(0x74),
1456
-                    0x1D518 => array(0x75), 0x1D519 => array(0x76), 0x1D51A => array(0x77),
1457
-                    0x1D51B => array(0x78), 0x1D51C => array(0x79), 0x1D538 => array(0x61),
1458
-                    0x1D539 => array(0x62), 0x1D53B => array(0x64), 0x1D53C => array(0x65),
1459
-                    0x1D53D => array(0x66), 0x1D53E => array(0x67), 0x1D540 => array(0x69),
1460
-                    0x1D541 => array(0x6A), 0x1D542 => array(0x6B), 0x1D543 => array(0x6C),
1461
-                    0x1D544 => array(0x6D), 0x1D546 => array(0x6F), 0x1D54A => array(0x73),
1462
-                    0x1D54B => array(0x74), 0x1D54C => array(0x75), 0x1D54D => array(0x76),
1463
-                    0x1D54E => array(0x77), 0x1D54F => array(0x78), 0x1D550 => array(0x79),
1464
-                    0x1D56C => array(0x61), 0x1D56D => array(0x62), 0x1D56E => array(0x63),
1465
-                    0x1D56F => array(0x64), 0x1D570 => array(0x65), 0x1D571 => array(0x66),
1466
-                    0x1D572 => array(0x67), 0x1D573 => array(0x68), 0x1D574 => array(0x69),
1467
-                    0x1D575 => array(0x6A), 0x1D576 => array(0x6B), 0x1D577 => array(0x6C),
1468
-                    0x1D578 => array(0x6D), 0x1D579 => array(0x6E), 0x1D57A => array(0x6F),
1469
-                    0x1D57B => array(0x70), 0x1D57C => array(0x71), 0x1D57D => array(0x72),
1470
-                    0x1D57E => array(0x73), 0x1D57F => array(0x74), 0x1D580 => array(0x75),
1471
-                    0x1D581 => array(0x76), 0x1D582 => array(0x77), 0x1D583 => array(0x78),
1472
-                    0x1D584 => array(0x79), 0x1D585 => array(0x7A), 0x1D5A0 => array(0x61),
1473
-                    0x1D5A1 => array(0x62), 0x1D5A2 => array(0x63), 0x1D5A3 => array(0x64),
1474
-                    0x1D5A4 => array(0x65), 0x1D5A5 => array(0x66), 0x1D5A6 => array(0x67),
1475
-                    0x1D5A7 => array(0x68), 0x1D5A8 => array(0x69), 0x1D5A9 => array(0x6A),
1476
-                    0x1D5AA => array(0x6B), 0x1D5AB => array(0x6C), 0x1D5AC => array(0x6D),
1477
-                    0x1D5AD => array(0x6E), 0x1D5AE => array(0x6F), 0x1D5AF => array(0x70),
1478
-                    0x1D5B0 => array(0x71), 0x1D5B1 => array(0x72), 0x1D5B2 => array(0x73),
1479
-                    0x1D5B3 => array(0x74), 0x1D5B4 => array(0x75), 0x1D5B5 => array(0x76),
1480
-                    0x1D5B6 => array(0x77), 0x1D5B7 => array(0x78), 0x1D5B8 => array(0x79),
1481
-                    0x1D5B9 => array(0x7A), 0x1D5D4 => array(0x61), 0x1D5D5 => array(0x62),
1482
-                    0x1D5D6 => array(0x63), 0x1D5D7 => array(0x64), 0x1D5D8 => array(0x65),
1483
-                    0x1D5D9 => array(0x66), 0x1D5DA => array(0x67), 0x1D5DB => array(0x68),
1484
-                    0x1D5DC => array(0x69), 0x1D5DD => array(0x6A), 0x1D5DE => array(0x6B),
1485
-                    0x1D5DF => array(0x6C), 0x1D5E0 => array(0x6D), 0x1D5E1 => array(0x6E),
1486
-                    0x1D5E2 => array(0x6F), 0x1D5E3 => array(0x70), 0x1D5E4 => array(0x71),
1487
-                    0x1D5E5 => array(0x72), 0x1D5E6 => array(0x73), 0x1D5E7 => array(0x74),
1488
-                    0x1D5E8 => array(0x75), 0x1D5E9 => array(0x76), 0x1D5EA => array(0x77),
1489
-                    0x1D5EB => array(0x78), 0x1D5EC => array(0x79), 0x1D5ED => array(0x7A),
1490
-                    0x1D608 => array(0x61), 0x1D609 => array(0x62), 0x1D60A => array(0x63),
1491
-                    0x1D60B => array(0x64), 0x1D60C => array(0x65), 0x1D60D => array(0x66),
1492
-                    0x1D60E => array(0x67), 0x1D60F => array(0x68), 0x1D610 => array(0x69),
1493
-                    0x1D611 => array(0x6A), 0x1D612 => array(0x6B), 0x1D613 => array(0x6C),
1494
-                    0x1D614 => array(0x6D), 0x1D615 => array(0x6E), 0x1D616 => array(0x6F),
1495
-                    0x1D617 => array(0x70), 0x1D618 => array(0x71), 0x1D619 => array(0x72),
1496
-                    0x1D61A => array(0x73), 0x1D61B => array(0x74), 0x1D61C => array(0x75),
1497
-                    0x1D61D => array(0x76), 0x1D61E => array(0x77), 0x1D61F => array(0x78),
1498
-                    0x1D620 => array(0x79), 0x1D621 => array(0x7A), 0x1D63C => array(0x61),
1499
-                    0x1D63D => array(0x62), 0x1D63E => array(0x63), 0x1D63F => array(0x64),
1500
-                    0x1D640 => array(0x65), 0x1D641 => array(0x66), 0x1D642 => array(0x67),
1501
-                    0x1D643 => array(0x68), 0x1D644 => array(0x69), 0x1D645 => array(0x6A),
1502
-                    0x1D646 => array(0x6B), 0x1D647 => array(0x6C), 0x1D648 => array(0x6D),
1503
-                    0x1D649 => array(0x6E), 0x1D64A => array(0x6F), 0x1D64B => array(0x70),
1504
-                    0x1D64C => array(0x71), 0x1D64D => array(0x72), 0x1D64E => array(0x73),
1505
-                    0x1D64F => array(0x74), 0x1D650 => array(0x75), 0x1D651 => array(0x76),
1506
-                    0x1D652 => array(0x77), 0x1D653 => array(0x78), 0x1D654 => array(0x79),
1507
-                    0x1D655 => array(0x7A), 0x1D670 => array(0x61), 0x1D671 => array(0x62),
1508
-                    0x1D672 => array(0x63), 0x1D673 => array(0x64), 0x1D674 => array(0x65),
1509
-                    0x1D675 => array(0x66), 0x1D676 => array(0x67), 0x1D677 => array(0x68),
1510
-                    0x1D678 => array(0x69), 0x1D679 => array(0x6A), 0x1D67A => array(0x6B),
1511
-                    0x1D67B => array(0x6C), 0x1D67C => array(0x6D), 0x1D67D => array(0x6E),
1512
-                    0x1D67E => array(0x6F), 0x1D67F => array(0x70), 0x1D680 => array(0x71),
1513
-                    0x1D681 => array(0x72), 0x1D682 => array(0x73), 0x1D683 => array(0x74),
1514
-                    0x1D684 => array(0x75), 0x1D685 => array(0x76), 0x1D686 => array(0x77),
1515
-                    0x1D687 => array(0x78), 0x1D688 => array(0x79), 0x1D689 => array(0x7A),
1516
-                    0x1D6A8 => array(0x3B1), 0x1D6A9 => array(0x3B2), 0x1D6AA => array(0x3B3),
1517
-                    0x1D6AB => array(0x3B4), 0x1D6AC => array(0x3B5), 0x1D6AD => array(0x3B6),
1518
-                    0x1D6AE => array(0x3B7), 0x1D6AF => array(0x3B8), 0x1D6B0 => array(0x3B9),
1519
-                    0x1D6B1 => array(0x3BA), 0x1D6B2 => array(0x3BB), 0x1D6B3 => array(0x3BC),
1520
-                    0x1D6B4 => array(0x3BD), 0x1D6B5 => array(0x3BE), 0x1D6B6 => array(0x3BF),
1521
-                    0x1D6B7 => array(0x3C0), 0x1D6B8 => array(0x3C1), 0x1D6B9 => array(0x3B8),
1522
-                    0x1D6BA => array(0x3C3), 0x1D6BB => array(0x3C4), 0x1D6BC => array(0x3C5),
1523
-                    0x1D6BD => array(0x3C6), 0x1D6BE => array(0x3C7), 0x1D6BF => array(0x3C8),
1524
-                    0x1D6C0 => array(0x3C9), 0x1D6D3 => array(0x3C3), 0x1D6E2 => array(0x3B1),
1525
-                    0x1D6E3 => array(0x3B2), 0x1D6E4 => array(0x3B3), 0x1D6E5 => array(0x3B4),
1526
-                    0x1D6E6 => array(0x3B5), 0x1D6E7 => array(0x3B6), 0x1D6E8 => array(0x3B7),
1527
-                    0x1D6E9 => array(0x3B8), 0x1D6EA => array(0x3B9), 0x1D6EB => array(0x3BA),
1528
-                    0x1D6EC => array(0x3BB), 0x1D6ED => array(0x3BC), 0x1D6EE => array(0x3BD),
1529
-                    0x1D6EF => array(0x3BE), 0x1D6F0 => array(0x3BF), 0x1D6F1 => array(0x3C0),
1530
-                    0x1D6F2 => array(0x3C1), 0x1D6F3 => array(0x3B8), 0x1D6F4 => array(0x3C3),
1531
-                    0x1D6F5 => array(0x3C4), 0x1D6F6 => array(0x3C5), 0x1D6F7 => array(0x3C6),
1532
-                    0x1D6F8 => array(0x3C7), 0x1D6F9 => array(0x3C8), 0x1D6FA => array(0x3C9),
1533
-                    0x1D70D => array(0x3C3), 0x1D71C => array(0x3B1), 0x1D71D => array(0x3B2),
1534
-                    0x1D71E => array(0x3B3), 0x1D71F => array(0x3B4), 0x1D720 => array(0x3B5),
1535
-                    0x1D721 => array(0x3B6), 0x1D722 => array(0x3B7), 0x1D723 => array(0x3B8),
1536
-                    0x1D724 => array(0x3B9), 0x1D725 => array(0x3BA), 0x1D726 => array(0x3BB),
1537
-                    0x1D727 => array(0x3BC), 0x1D728 => array(0x3BD), 0x1D729 => array(0x3BE),
1538
-                    0x1D72A => array(0x3BF), 0x1D72B => array(0x3C0), 0x1D72C => array(0x3C1),
1539
-                    0x1D72D => array(0x3B8), 0x1D72E => array(0x3C3), 0x1D72F => array(0x3C4),
1540
-                    0x1D730 => array(0x3C5), 0x1D731 => array(0x3C6), 0x1D732 => array(0x3C7),
1541
-                    0x1D733 => array(0x3C8), 0x1D734 => array(0x3C9), 0x1D747 => array(0x3C3),
1542
-                    0x1D756 => array(0x3B1), 0x1D757 => array(0x3B2), 0x1D758 => array(0x3B3),
1543
-                    0x1D759 => array(0x3B4), 0x1D75A => array(0x3B5), 0x1D75B => array(0x3B6),
1544
-                    0x1D75C => array(0x3B7), 0x1D75D => array(0x3B8), 0x1D75E => array(0x3B9),
1545
-                    0x1D75F => array(0x3BA), 0x1D760 => array(0x3BB), 0x1D761 => array(0x3BC),
1546
-                    0x1D762 => array(0x3BD), 0x1D763 => array(0x3BE), 0x1D764 => array(0x3BF),
1547
-                    0x1D765 => array(0x3C0), 0x1D766 => array(0x3C1), 0x1D767 => array(0x3B8),
1548
-                    0x1D768 => array(0x3C3), 0x1D769 => array(0x3C4), 0x1D76A => array(0x3C5),
1549
-                    0x1D76B => array(0x3C6), 0x1D76C => array(0x3C7), 0x1D76D => array(0x3C8),
1550
-                    0x1D76E => array(0x3C9), 0x1D781 => array(0x3C3), 0x1D790 => array(0x3B1),
1551
-                    0x1D791 => array(0x3B2), 0x1D792 => array(0x3B3), 0x1D793 => array(0x3B4),
1552
-                    0x1D794 => array(0x3B5), 0x1D795 => array(0x3B6), 0x1D796 => array(0x3B7),
1553
-                    0x1D797 => array(0x3B8), 0x1D798 => array(0x3B9), 0x1D799 => array(0x3BA),
1554
-                    0x1D79A => array(0x3BB), 0x1D79B => array(0x3BC), 0x1D79C => array(0x3BD),
1555
-                    0x1D79D => array(0x3BE), 0x1D79E => array(0x3BF), 0x1D79F => array(0x3C0),
1556
-                    0x1D7A0 => array(0x3C1), 0x1D7A1 => array(0x3B8), 0x1D7A2 => array(0x3C3),
1557
-                    0x1D7A3 => array(0x3C4), 0x1D7A4 => array(0x3C5), 0x1D7A5 => array(0x3C6),
1558
-                    0x1D7A6 => array(0x3C7), 0x1D7A7 => array(0x3C8), 0x1D7A8 => array(0x3C9),
1559
-                    0x1D7BB => array(0x3C3), 0x3F9 => array(0x3C3), 0x1D2C => array(0x61),
1560
-                    0x1D2D => array(0xE6), 0x1D2E => array(0x62), 0x1D30 => array(0x64),
1561
-                    0x1D31 => array(0x65), 0x1D32 => array(0x1DD), 0x1D33 => array(0x67),
1562
-                    0x1D34 => array(0x68), 0x1D35 => array(0x69), 0x1D36 => array(0x6A),
1563
-                    0x1D37 => array(0x6B), 0x1D38 => array(0x6C), 0x1D39 => array(0x6D),
1564
-                    0x1D3A => array(0x6E), 0x1D3C => array(0x6F), 0x1D3D => array(0x223),
1565
-                    0x1D3E => array(0x70), 0x1D3F => array(0x72), 0x1D40 => array(0x74),
1566
-                    0x1D41 => array(0x75), 0x1D42 => array(0x77), 0x213B => array(0x66, 0x61, 0x78),
1567
-                    0x3250 => array(0x70, 0x74, 0x65), 0x32CC => array(0x68, 0x67),
1568
-                    0x32CE => array(0x65, 0x76), 0x32CF => array(0x6C, 0x74, 0x64),
1569
-                    0x337A => array(0x69, 0x75), 0x33DE => array(0x76, 0x2215, 0x6D),
1570
-                    0x33DF => array(0x61, 0x2215, 0x6D)
1571
-            ),
1572
-            'replacemaps' => array(0x41 => array(0x61), 0x42 => array(0x62), 0x43 => array(0x63),
1573
-                    0x44 => array(0x64), 0x45 => array(0x65), 0x46 => array(0x66),
1574
-                    0x47 => array(0x67), 0x48 => array(0x68), 0x49 => array(0x69),
1575
-                    0x4A => array(0x6A), 0x4B => array(0x6B), 0x4C => array(0x6C),
1576
-                    0x4D => array(0x6D), 0x4E => array(0x6E), 0x4F => array(0x6F),
1577
-                    0x50 => array(0x70), 0x51 => array(0x71), 0x52 => array(0x72),
1578
-                    0x53 => array(0x73), 0x54 => array(0x74), 0x55 => array(0x75),
1579
-                    0x56 => array(0x76), 0x57 => array(0x77), 0x58 => array(0x78),
1580
-                    0x59 => array(0x79), 0x5A => array(0x7A), 0xAA => array(0x61),
1581
-                    0xB2 => array(0x32), 0xB3 => array(0x33), 0xB5 => array(0x3BC),
1582
-                    0xB9 => array(0x31), 0xBA => array(0x6F), 0xBC => array(0x31, 0x2044, 0x34),
1583
-                    0xBD => array(0x31, 0x2044, 0x32), 0xBE => array(0x33, 0x2044, 0x34), 0xC0 => array(0xE0),
1584
-                    0xC1 => array(0xE1), 0xC2 => array(0xE2), 0xC3 => array(0xE3),
1585
-                    0xC4 => array(0xE4), 0xC5 => array(0xE5), 0xC6 => array(0xE6),
1586
-                    0xC7 => array(0xE7), 0xC8 => array(0xE8), 0xC9 => array(0xE9),
1587
-                    0xCA => array(0xEA), 0xCB => array(0xEB), 0xCC => array(0xEC),
1588
-                    0xCD => array(0xED), 0xCE => array(0xEE), 0xCF => array(0xEF),
1589
-                    0xD0 => array(0xF0), 0xD1 => array(0xF1), 0xD2 => array(0xF2),
1590
-                    0xD3 => array(0xF3), 0xD4 => array(0xF4), 0xD5 => array(0xF5),
1591
-                    0xD6 => array(0xF6), 0xD8 => array(0xF8), 0xD9 => array(0xF9),
1592
-                    0xDA => array(0xFA), 0xDB => array(0xFB), 0xDC => array(0xFC),
1593
-                    0xDD => array(0xFD), 0xDE => array(0xFE), 0x100 => array(0x101),
1594
-                    0x102 => array(0x103), 0x104 => array(0x105), 0x106 => array(0x107),
1595
-                    0x108 => array(0x109), 0x10A => array(0x10B), 0x10C => array(0x10D),
1596
-                    0x10E => array(0x10F), 0x110 => array(0x111), 0x112 => array(0x113),
1597
-                    0x114 => array(0x115), 0x116 => array(0x117), 0x118 => array(0x119),
1598
-                    0x11A => array(0x11B), 0x11C => array(0x11D), 0x11E => array(0x11F),
1599
-                    0x120 => array(0x121), 0x122 => array(0x123), 0x124 => array(0x125),
1600
-                    0x126 => array(0x127), 0x128 => array(0x129), 0x12A => array(0x12B),
1601
-                    0x12C => array(0x12D), 0x12E => array(0x12F), 0x130 => array(0x69, 0x307),
1602
-                    0x132 => array(0x69, 0x6A), 0x133 => array(0x69, 0x6A), 0x134 => array(0x135),
1603
-                    0x136 => array(0x137), 0x139 => array(0x13A), 0x13B => array(0x13C),
1604
-                    0x13D => array(0x13E), 0x13F => array(0x6C, 0xB7), 0x140 => array(0x6C, 0xB7),
1605
-                    0x141 => array(0x142), 0x143 => array(0x144), 0x145 => array(0x146),
1606
-                    0x147 => array(0x148), 0x149 => array(0x2BC, 0x6E), 0x14A => array(0x14B),
1607
-                    0x14C => array(0x14D), 0x14E => array(0x14F), 0x150 => array(0x151),
1608
-                    0x152 => array(0x153), 0x154 => array(0x155), 0x156 => array(0x157),
1609
-                    0x158 => array(0x159), 0x15A => array(0x15B), 0x15C => array(0x15D),
1610
-                    0x15E => array(0x15F), 0x160 => array(0x161), 0x162 => array(0x163),
1611
-                    0x164 => array(0x165), 0x166 => array(0x167), 0x168 => array(0x169),
1612
-                    0x16A => array(0x16B), 0x16C => array(0x16D), 0x16E => array(0x16F),
1613
-                    0x170 => array(0x171), 0x172 => array(0x173), 0x174 => array(0x175),
1614
-                    0x176 => array(0x177), 0x178 => array(0xFF), 0x179 => array(0x17A),
1615
-                    0x17B => array(0x17C), 0x17D => array(0x17E), 0x17F => array(0x73),
1616
-                    0x181 => array(0x253), 0x182 => array(0x183), 0x184 => array(0x185),
1617
-                    0x186 => array(0x254), 0x187 => array(0x188), 0x189 => array(0x256),
1618
-                    0x18A => array(0x257), 0x18B => array(0x18C), 0x18E => array(0x1DD),
1619
-                    0x18F => array(0x259), 0x190 => array(0x25B), 0x191 => array(0x192),
1620
-                    0x193 => array(0x260), 0x194 => array(0x263), 0x196 => array(0x269),
1621
-                    0x197 => array(0x268), 0x198 => array(0x199), 0x19C => array(0x26F),
1622
-                    0x19D => array(0x272), 0x19F => array(0x275), 0x1A0 => array(0x1A1),
1623
-                    0x1A2 => array(0x1A3), 0x1A4 => array(0x1A5), 0x1A6 => array(0x280),
1624
-                    0x1A7 => array(0x1A8), 0x1A9 => array(0x283), 0x1AC => array(0x1AD),
1625
-                    0x1AE => array(0x288), 0x1AF => array(0x1B0), 0x1B1 => array(0x28A),
1626
-                    0x1B2 => array(0x28B), 0x1B3 => array(0x1B4), 0x1B5 => array(0x1B6),
1627
-                    0x1B7 => array(0x292), 0x1B8 => array(0x1B9), 0x1BC => array(0x1BD),
1628
-                    0x1C4 => array(0x64, 0x17E), 0x1C5 => array(0x64, 0x17E), 0x1C6 => array(0x64, 0x17E),
1629
-                    0x1C7 => array(0x6C, 0x6A), 0x1C8 => array(0x6C, 0x6A), 0x1C9 => array(0x6C, 0x6A),
1630
-                    0x1CA => array(0x6E, 0x6A), 0x1CB => array(0x6E, 0x6A), 0x1CC => array(0x6E, 0x6A),
1631
-                    0x1CD => array(0x1CE), 0x1CF => array(0x1D0), 0x1D1 => array(0x1D2),
1632
-                    0x1D3 => array(0x1D4), 0x1D5 => array(0x1D6), 0x1D7 => array(0x1D8),
1633
-                    0x1D9 => array(0x1DA), 0x1DB => array(0x1DC), 0x1DE => array(0x1DF),
1634
-                    0x1E0 => array(0x1E1), 0x1E2 => array(0x1E3), 0x1E4 => array(0x1E5),
1635
-                    0x1E6 => array(0x1E7), 0x1E8 => array(0x1E9), 0x1EA => array(0x1EB),
1636
-                    0x1EC => array(0x1ED), 0x1EE => array(0x1EF), 0x1F1 => array(0x64, 0x7A),
1637
-                    0x1F2 => array(0x64, 0x7A), 0x1F3 => array(0x64, 0x7A), 0x1F4 => array(0x1F5),
1638
-                    0x1F6 => array(0x195), 0x1F7 => array(0x1BF), 0x1F8 => array(0x1F9),
1639
-                    0x1FA => array(0x1FB), 0x1FC => array(0x1FD), 0x1FE => array(0x1FF),
1640
-                    0x200 => array(0x201), 0x202 => array(0x203), 0x204 => array(0x205),
1641
-                    0x206 => array(0x207), 0x208 => array(0x209), 0x20A => array(0x20B),
1642
-                    0x20C => array(0x20D), 0x20E => array(0x20F), 0x210 => array(0x211),
1643
-                    0x212 => array(0x213), 0x214 => array(0x215), 0x216 => array(0x217),
1644
-                    0x218 => array(0x219), 0x21A => array(0x21B), 0x21C => array(0x21D),
1645
-                    0x21E => array(0x21F), 0x220 => array(0x19E), 0x222 => array(0x223),
1646
-                    0x224 => array(0x225), 0x226 => array(0x227), 0x228 => array(0x229),
1647
-                    0x22A => array(0x22B), 0x22C => array(0x22D), 0x22E => array(0x22F),
1648
-                    0x230 => array(0x231), 0x232 => array(0x233), 0x23A => array(0x2C65),
1649
-                    0x23B => array(0x23C), 0x23D => array(0x19A), 0x23E => array(0x2C66),
1650
-                    0x241 => array(0x242), 0x243 => array(0x180), 0x244 => array(0x289),
1651
-                    0x245 => array(0x28C), 0x246 => array(0x247), 0x248 => array(0x249),
1652
-                    0x24A => array(0x24B), 0x24C => array(0x24D), 0x24E => array(0x24F),
1653
-                    0x2B0 => array(0x68), 0x2B1 => array(0x266), 0x2B2 => array(0x6A),
1654
-                    0x2B3 => array(0x72), 0x2B4 => array(0x279), 0x2B5 => array(0x27B),
1655
-                    0x2B6 => array(0x281), 0x2B7 => array(0x77), 0x2B8 => array(0x79),
1656
-                    0x2E0 => array(0x263), 0x2E1 => array(0x6C), 0x2E2 => array(0x73),
1657
-                    0x2E3 => array(0x78), 0x2E4 => array(0x295), 0x340 => array(0x300),
1658
-                    0x341 => array(0x301), 0x343 => array(0x313), 0x344 => array(0x308, 0x301),
1659
-                    0x345 => array(0x3B9), 0x370 => array(0x371), 0x372 => array(0x373),
1660
-                    0x374 => array(0x2B9), 0x376 => array(0x377), 0x37F => array(0x3F3),
1661
-                    0x386 => array(0x3AC), 0x387 => array(0xB7), 0x388 => array(0x3AD),
1662
-                    0x389 => array(0x3AE), 0x38A => array(0x3AF), 0x38C => array(0x3CC),
1663
-                    0x38E => array(0x3CD), 0x38F => array(0x3CE), 0x391 => array(0x3B1),
1664
-                    0x392 => array(0x3B2), 0x393 => array(0x3B3), 0x394 => array(0x3B4),
1665
-                    0x395 => array(0x3B5), 0x396 => array(0x3B6), 0x397 => array(0x3B7),
1666
-                    0x398 => array(0x3B8), 0x399 => array(0x3B9), 0x39A => array(0x3BA),
1667
-                    0x39B => array(0x3BB), 0x39C => array(0x3BC), 0x39D => array(0x3BD),
1668
-                    0x39E => array(0x3BE), 0x39F => array(0x3BF), 0x3A0 => array(0x3C0),
1669
-                    0x3A1 => array(0x3C1), 0x3A3 => array(0x3C3), 0x3A4 => array(0x3C4),
1670
-                    0x3A5 => array(0x3C5), 0x3A6 => array(0x3C6), 0x3A7 => array(0x3C7),
1671
-                    0x3A8 => array(0x3C8), 0x3A9 => array(0x3C9), 0x3AA => array(0x3CA),
1672
-                    0x3AB => array(0x3CB), 0x3CF => array(0x3D7), 0x3D0 => array(0x3B2),
1673
-                    0x3D1 => array(0x3B8), 0x3D2 => array(0x3C5), 0x3D3 => array(0x3CD),
1674
-                    0x3D4 => array(0x3CB), 0x3D5 => array(0x3C6), 0x3D6 => array(0x3C0),
1675
-                    0x3D8 => array(0x3D9), 0x3DA => array(0x3DB), 0x3DC => array(0x3DD),
1676
-                    0x3DE => array(0x3DF), 0x3E0 => array(0x3E1), 0x3E2 => array(0x3E3),
1677
-                    0x3E4 => array(0x3E5), 0x3E6 => array(0x3E7), 0x3E8 => array(0x3E9),
1678
-                    0x3EA => array(0x3EB), 0x3EC => array(0x3ED), 0x3EE => array(0x3EF),
1679
-                    0x3F0 => array(0x3BA), 0x3F1 => array(0x3C1), 0x3F2 => array(0x3C3),
1680
-                    0x3F4 => array(0x3B8), 0x3F5 => array(0x3B5), 0x3F7 => array(0x3F8),
1681
-                    0x3F9 => array(0x3C3), 0x3FA => array(0x3FB), 0x3FD => array(0x37B),
1682
-                    0x3FE => array(0x37C), 0x3FF => array(0x37D), 0x400 => array(0x450),
1683
-                    0x401 => array(0x451), 0x402 => array(0x452), 0x403 => array(0x453),
1684
-                    0x404 => array(0x454), 0x405 => array(0x455), 0x406 => array(0x456),
1685
-                    0x407 => array(0x457), 0x408 => array(0x458), 0x409 => array(0x459),
1686
-                    0x40A => array(0x45A), 0x40B => array(0x45B), 0x40C => array(0x45C),
1687
-                    0x40D => array(0x45D), 0x40E => array(0x45E), 0x40F => array(0x45F),
1688
-                    0x410 => array(0x430), 0x411 => array(0x431), 0x412 => array(0x432),
1689
-                    0x413 => array(0x433), 0x414 => array(0x434), 0x415 => array(0x435),
1690
-                    0x416 => array(0x436), 0x417 => array(0x437), 0x418 => array(0x438),
1691
-                    0x419 => array(0x439), 0x41A => array(0x43A), 0x41B => array(0x43B),
1692
-                    0x41C => array(0x43C), 0x41D => array(0x43D), 0x41E => array(0x43E),
1693
-                    0x41F => array(0x43F), 0x420 => array(0x440), 0x421 => array(0x441),
1694
-                    0x422 => array(0x442), 0x423 => array(0x443), 0x424 => array(0x444),
1695
-                    0x425 => array(0x445), 0x426 => array(0x446), 0x427 => array(0x447),
1696
-                    0x428 => array(0x448), 0x429 => array(0x449), 0x42A => array(0x44A),
1697
-                    0x42B => array(0x44B), 0x42C => array(0x44C), 0x42D => array(0x44D),
1698
-                    0x42E => array(0x44E), 0x42F => array(0x44F), 0x460 => array(0x461),
1699
-                    0x462 => array(0x463), 0x464 => array(0x465), 0x466 => array(0x467),
1700
-                    0x468 => array(0x469), 0x46A => array(0x46B), 0x46C => array(0x46D),
1701
-                    0x46E => array(0x46F), 0x470 => array(0x471), 0x472 => array(0x473),
1702
-                    0x474 => array(0x475), 0x476 => array(0x477), 0x478 => array(0x479),
1703
-                    0x47A => array(0x47B), 0x47C => array(0x47D), 0x47E => array(0x47F),
1704
-                    0x480 => array(0x481), 0x48A => array(0x48B), 0x48C => array(0x48D),
1705
-                    0x48E => array(0x48F), 0x490 => array(0x491), 0x492 => array(0x493),
1706
-                    0x494 => array(0x495), 0x496 => array(0x497), 0x498 => array(0x499),
1707
-                    0x49A => array(0x49B), 0x49C => array(0x49D), 0x49E => array(0x49F),
1708
-                    0x4A0 => array(0x4A1), 0x4A2 => array(0x4A3), 0x4A4 => array(0x4A5),
1709
-                    0x4A6 => array(0x4A7), 0x4A8 => array(0x4A9), 0x4AA => array(0x4AB),
1710
-                    0x4AC => array(0x4AD), 0x4AE => array(0x4AF), 0x4B0 => array(0x4B1),
1711
-                    0x4B2 => array(0x4B3), 0x4B4 => array(0x4B5), 0x4B6 => array(0x4B7),
1712
-                    0x4B8 => array(0x4B9), 0x4BA => array(0x4BB), 0x4BC => array(0x4BD),
1713
-                    0x4BE => array(0x4BF), 0x4C1 => array(0x4C2), 0x4C3 => array(0x4C4),
1714
-                    0x4C5 => array(0x4C6), 0x4C7 => array(0x4C8), 0x4C9 => array(0x4CA),
1715
-                    0x4CB => array(0x4CC), 0x4CD => array(0x4CE), 0x4D0 => array(0x4D1),
1716
-                    0x4D2 => array(0x4D3), 0x4D4 => array(0x4D5), 0x4D6 => array(0x4D7),
1717
-                    0x4D8 => array(0x4D9), 0x4DA => array(0x4DB), 0x4DC => array(0x4DD),
1718
-                    0x4DE => array(0x4DF), 0x4E0 => array(0x4E1), 0x4E2 => array(0x4E3),
1719
-                    0x4E4 => array(0x4E5), 0x4E6 => array(0x4E7), 0x4E8 => array(0x4E9),
1720
-                    0x4EA => array(0x4EB), 0x4EC => array(0x4ED), 0x4EE => array(0x4EF),
1721
-                    0x4F0 => array(0x4F1), 0x4F2 => array(0x4F3), 0x4F4 => array(0x4F5),
1722
-                    0x4F6 => array(0x4F7), 0x4F8 => array(0x4F9), 0x4FA => array(0x4FB),
1723
-                    0x4FC => array(0x4FD), 0x4FE => array(0x4FF), 0x500 => array(0x501),
1724
-                    0x502 => array(0x503), 0x504 => array(0x505), 0x506 => array(0x507),
1725
-                    0x508 => array(0x509), 0x50A => array(0x50B), 0x50C => array(0x50D),
1726
-                    0x50E => array(0x50F), 0x510 => array(0x511), 0x512 => array(0x513),
1727
-                    0x514 => array(0x515), 0x516 => array(0x517), 0x518 => array(0x519),
1728
-                    0x51A => array(0x51B), 0x51C => array(0x51D), 0x51E => array(0x51F),
1729
-                    0x520 => array(0x521), 0x522 => array(0x523), 0x524 => array(0x525),
1730
-                    0x526 => array(0x527), 0x528 => array(0x529), 0x52A => array(0x52B),
1731
-                    0x52C => array(0x52D), 0x52E => array(0x52F), 0x531 => array(0x561),
1732
-                    0x532 => array(0x562), 0x533 => array(0x563), 0x534 => array(0x564),
1733
-                    0x535 => array(0x565), 0x536 => array(0x566), 0x537 => array(0x567),
1734
-                    0x538 => array(0x568), 0x539 => array(0x569), 0x53A => array(0x56A),
1735
-                    0x53B => array(0x56B), 0x53C => array(0x56C), 0x53D => array(0x56D),
1736
-                    0x53E => array(0x56E), 0x53F => array(0x56F), 0x540 => array(0x570),
1737
-                    0x541 => array(0x571), 0x542 => array(0x572), 0x543 => array(0x573),
1738
-                    0x544 => array(0x574), 0x545 => array(0x575), 0x546 => array(0x576),
1739
-                    0x547 => array(0x577), 0x548 => array(0x578), 0x549 => array(0x579),
1740
-                    0x54A => array(0x57A), 0x54B => array(0x57B), 0x54C => array(0x57C),
1741
-                    0x54D => array(0x57D), 0x54E => array(0x57E), 0x54F => array(0x57F),
1742
-                    0x550 => array(0x580), 0x551 => array(0x581), 0x552 => array(0x582),
1743
-                    0x553 => array(0x583), 0x554 => array(0x584), 0x555 => array(0x585),
1744
-                    0x556 => array(0x586), 0x587 => array(0x565, 0x582), 0x675 => array(0x627, 0x674),
1745
-                    0x676 => array(0x648, 0x674), 0x677 => array(0x6C7, 0x674), 0x678 => array(0x64A, 0x674),
1746
-                    0x958 => array(0x915, 0x93C), 0x959 => array(0x916, 0x93C), 0x95A => array(0x917, 0x93C),
1747
-                    0x95B => array(0x91C, 0x93C), 0x95C => array(0x921, 0x93C), 0x95D => array(0x922, 0x93C),
1748
-                    0x95E => array(0x92B, 0x93C), 0x95F => array(0x92F, 0x93C), 0x9DC => array(0x9A1, 0x9BC),
1749
-                    0x9DD => array(0x9A2, 0x9BC), 0x9DF => array(0x9AF, 0x9BC), 0xA33 => array(0xA32, 0xA3C),
1750
-                    0xA36 => array(0xA38, 0xA3C), 0xA59 => array(0xA16, 0xA3C), 0xA5A => array(0xA17, 0xA3C),
1751
-                    0xA5B => array(0xA1C, 0xA3C), 0xA5E => array(0xA2B, 0xA3C), 0xB5C => array(0xB21, 0xB3C),
1752
-                    0xB5D => array(0xB22, 0xB3C), 0xE33 => array(0xE4D, 0xE32), 0xEB3 => array(0xECD, 0xEB2),
1753
-                    0xEDC => array(0xEAB, 0xE99), 0xEDD => array(0xEAB, 0xEA1), 0xF0C => array(0xF0B),
1754
-                    0xF43 => array(0xF42, 0xFB7), 0xF4D => array(0xF4C, 0xFB7), 0xF52 => array(0xF51, 0xFB7),
1755
-                    0xF57 => array(0xF56, 0xFB7), 0xF5C => array(0xF5B, 0xFB7), 0xF69 => array(0xF40, 0xFB5),
1756
-                    0xF73 => array(0xF71, 0xF72), 0xF75 => array(0xF71, 0xF74), 0xF76 => array(0xFB2, 0xF80),
1757
-                    0xF77 => array(0xFB2, 0xF71, 0xF80), 0xF78 => array(0xFB3, 0xF80), 0xF79 => array(0xFB3, 0xF71, 0xF80),
1758
-                    0xF81 => array(0xF71, 0xF80), 0xF93 => array(0xF92, 0xFB7), 0xF9D => array(0xF9C, 0xFB7),
1759
-                    0xFA2 => array(0xFA1, 0xFB7), 0xFA7 => array(0xFA6, 0xFB7), 0xFAC => array(0xFAB, 0xFB7),
1760
-                    0xFB9 => array(0xF90, 0xFB5), 0x10C7 => array(0x2D27), 0x10CD => array(0x2D2D),
1761
-                    0x10FC => array(0x10DC), 0x1D2C => array(0x61), 0x1D2D => array(0xE6),
1762
-                    0x1D2E => array(0x62), 0x1D30 => array(0x64), 0x1D31 => array(0x65),
1763
-                    0x1D32 => array(0x1DD), 0x1D33 => array(0x67), 0x1D34 => array(0x68),
1764
-                    0x1D35 => array(0x69), 0x1D36 => array(0x6A), 0x1D37 => array(0x6B),
1765
-                    0x1D38 => array(0x6C), 0x1D39 => array(0x6D), 0x1D3A => array(0x6E),
1766
-                    0x1D3C => array(0x6F), 0x1D3D => array(0x223), 0x1D3E => array(0x70),
1767
-                    0x1D3F => array(0x72), 0x1D40 => array(0x74), 0x1D41 => array(0x75),
1768
-                    0x1D42 => array(0x77), 0x1D43 => array(0x61), 0x1D44 => array(0x250),
1769
-                    0x1D45 => array(0x251), 0x1D46 => array(0x1D02), 0x1D47 => array(0x62),
1770
-                    0x1D48 => array(0x64), 0x1D49 => array(0x65), 0x1D4A => array(0x259),
1771
-                    0x1D4B => array(0x25B), 0x1D4C => array(0x25C), 0x1D4D => array(0x67),
1772
-                    0x1D4F => array(0x6B), 0x1D50 => array(0x6D), 0x1D51 => array(0x14B),
1773
-                    0x1D52 => array(0x6F), 0x1D53 => array(0x254), 0x1D54 => array(0x1D16),
1774
-                    0x1D55 => array(0x1D17), 0x1D56 => array(0x70), 0x1D57 => array(0x74),
1775
-                    0x1D58 => array(0x75), 0x1D59 => array(0x1D1D), 0x1D5A => array(0x26F),
1776
-                    0x1D5B => array(0x76), 0x1D5C => array(0x1D25), 0x1D5D => array(0x3B2),
1777
-                    0x1D5E => array(0x3B3), 0x1D5F => array(0x3B4), 0x1D60 => array(0x3C6),
1778
-                    0x1D61 => array(0x3C7), 0x1D62 => array(0x69), 0x1D63 => array(0x72),
1779
-                    0x1D64 => array(0x75), 0x1D65 => array(0x76), 0x1D66 => array(0x3B2),
1780
-                    0x1D67 => array(0x3B3), 0x1D68 => array(0x3C1), 0x1D69 => array(0x3C6),
1781
-                    0x1D6A => array(0x3C7), 0x1D78 => array(0x43D), 0x1D9B => array(0x252),
1782
-                    0x1D9C => array(0x63), 0x1D9D => array(0x255), 0x1D9E => array(0xF0),
1783
-                    0x1D9F => array(0x25C), 0x1DA0 => array(0x66), 0x1DA1 => array(0x25F),
1784
-                    0x1DA2 => array(0x261), 0x1DA3 => array(0x265), 0x1DA4 => array(0x268),
1785
-                    0x1DA5 => array(0x269), 0x1DA6 => array(0x26A), 0x1DA7 => array(0x1D7B),
1786
-                    0x1DA8 => array(0x29D), 0x1DA9 => array(0x26D), 0x1DAA => array(0x1D85),
1787
-                    0x1DAB => array(0x29F), 0x1DAC => array(0x271), 0x1DAD => array(0x270),
1788
-                    0x1DAE => array(0x272), 0x1DAF => array(0x273), 0x1DB0 => array(0x274),
1789
-                    0x1DB1 => array(0x275), 0x1DB2 => array(0x278), 0x1DB3 => array(0x282),
1790
-                    0x1DB4 => array(0x283), 0x1DB5 => array(0x1AB), 0x1DB6 => array(0x289),
1791
-                    0x1DB7 => array(0x28A), 0x1DB8 => array(0x1D1C), 0x1DB9 => array(0x28B),
1792
-                    0x1DBA => array(0x28C), 0x1DBB => array(0x7A), 0x1DBC => array(0x290),
1793
-                    0x1DBD => array(0x291), 0x1DBE => array(0x292), 0x1DBF => array(0x3B8),
1794
-                    0x1E00 => array(0x1E01), 0x1E02 => array(0x1E03), 0x1E04 => array(0x1E05),
1795
-                    0x1E06 => array(0x1E07), 0x1E08 => array(0x1E09), 0x1E0A => array(0x1E0B),
1796
-                    0x1E0C => array(0x1E0D), 0x1E0E => array(0x1E0F), 0x1E10 => array(0x1E11),
1797
-                    0x1E12 => array(0x1E13), 0x1E14 => array(0x1E15), 0x1E16 => array(0x1E17),
1798
-                    0x1E18 => array(0x1E19), 0x1E1A => array(0x1E1B), 0x1E1C => array(0x1E1D),
1799
-                    0x1E1E => array(0x1E1F), 0x1E20 => array(0x1E21), 0x1E22 => array(0x1E23),
1800
-                    0x1E24 => array(0x1E25), 0x1E26 => array(0x1E27), 0x1E28 => array(0x1E29),
1801
-                    0x1E2A => array(0x1E2B), 0x1E2C => array(0x1E2D), 0x1E2E => array(0x1E2F),
1802
-                    0x1E30 => array(0x1E31), 0x1E32 => array(0x1E33), 0x1E34 => array(0x1E35),
1803
-                    0x1E36 => array(0x1E37), 0x1E38 => array(0x1E39), 0x1E3A => array(0x1E3B),
1804
-                    0x1E3C => array(0x1E3D), 0x1E3E => array(0x1E3F), 0x1E40 => array(0x1E41),
1805
-                    0x1E42 => array(0x1E43), 0x1E44 => array(0x1E45), 0x1E46 => array(0x1E47),
1806
-                    0x1E48 => array(0x1E49), 0x1E4A => array(0x1E4B), 0x1E4C => array(0x1E4D),
1807
-                    0x1E4E => array(0x1E4F), 0x1E50 => array(0x1E51), 0x1E52 => array(0x1E53),
1808
-                    0x1E54 => array(0x1E55), 0x1E56 => array(0x1E57), 0x1E58 => array(0x1E59),
1809
-                    0x1E5A => array(0x1E5B), 0x1E5C => array(0x1E5D), 0x1E5E => array(0x1E5F),
1810
-                    0x1E60 => array(0x1E61), 0x1E62 => array(0x1E63), 0x1E64 => array(0x1E65),
1811
-                    0x1E66 => array(0x1E67), 0x1E68 => array(0x1E69), 0x1E6A => array(0x1E6B),
1812
-                    0x1E6C => array(0x1E6D), 0x1E6E => array(0x1E6F), 0x1E70 => array(0x1E71),
1813
-                    0x1E72 => array(0x1E73), 0x1E74 => array(0x1E75), 0x1E76 => array(0x1E77),
1814
-                    0x1E78 => array(0x1E79), 0x1E7A => array(0x1E7B), 0x1E7C => array(0x1E7D),
1815
-                    0x1E7E => array(0x1E7F), 0x1E80 => array(0x1E81), 0x1E82 => array(0x1E83),
1816
-                    0x1E84 => array(0x1E85), 0x1E86 => array(0x1E87), 0x1E88 => array(0x1E89),
1817
-                    0x1E8A => array(0x1E8B), 0x1E8C => array(0x1E8D), 0x1E8E => array(0x1E8F),
1818
-                    0x1E90 => array(0x1E91), 0x1E92 => array(0x1E93), 0x1E94 => array(0x1E95),
1819
-                    0x1E9A => array(0x61, 0x2BE), 0x1E9B => array(0x1E61), 0x1E9E => array(0x73, 0x73),
1820
-                    0x1EA0 => array(0x1EA1), 0x1EA2 => array(0x1EA3), 0x1EA4 => array(0x1EA5),
1821
-                    0x1EA6 => array(0x1EA7), 0x1EA8 => array(0x1EA9), 0x1EAA => array(0x1EAB),
1822
-                    0x1EAC => array(0x1EAD), 0x1EAE => array(0x1EAF), 0x1EB0 => array(0x1EB1),
1823
-                    0x1EB2 => array(0x1EB3), 0x1EB4 => array(0x1EB5), 0x1EB6 => array(0x1EB7),
1824
-                    0x1EB8 => array(0x1EB9), 0x1EBA => array(0x1EBB), 0x1EBC => array(0x1EBD),
1825
-                    0x1EBE => array(0x1EBF), 0x1EC0 => array(0x1EC1), 0x1EC2 => array(0x1EC3),
1826
-                    0x1EC4 => array(0x1EC5), 0x1EC6 => array(0x1EC7), 0x1EC8 => array(0x1EC9),
1827
-                    0x1ECA => array(0x1ECB), 0x1ECC => array(0x1ECD), 0x1ECE => array(0x1ECF),
1828
-                    0x1ED0 => array(0x1ED1), 0x1ED2 => array(0x1ED3), 0x1ED4 => array(0x1ED5),
1829
-                    0x1ED6 => array(0x1ED7), 0x1ED8 => array(0x1ED9), 0x1EDA => array(0x1EDB),
1830
-                    0x1EDC => array(0x1EDD), 0x1EDE => array(0x1EDF), 0x1EE0 => array(0x1EE1),
1831
-                    0x1EE2 => array(0x1EE3), 0x1EE4 => array(0x1EE5), 0x1EE6 => array(0x1EE7),
1832
-                    0x1EE8 => array(0x1EE9), 0x1EEA => array(0x1EEB), 0x1EEC => array(0x1EED),
1833
-                    0x1EEE => array(0x1EEF), 0x1EF0 => array(0x1EF1), 0x1EF2 => array(0x1EF3),
1834
-                    0x1EF4 => array(0x1EF5), 0x1EF6 => array(0x1EF7), 0x1EF8 => array(0x1EF9),
1835
-                    0x1EFA => array(0x1EFB), 0x1EFC => array(0x1EFD), 0x1EFE => array(0x1EFF),
1836
-                    0x1F08 => array(0x1F00), 0x1F09 => array(0x1F01), 0x1F0A => array(0x1F02),
1837
-                    0x1F0B => array(0x1F03), 0x1F0C => array(0x1F04), 0x1F0D => array(0x1F05),
1838
-                    0x1F0E => array(0x1F06), 0x1F0F => array(0x1F07), 0x1F18 => array(0x1F10),
1839
-                    0x1F19 => array(0x1F11), 0x1F1A => array(0x1F12), 0x1F1B => array(0x1F13),
1840
-                    0x1F1C => array(0x1F14), 0x1F1D => array(0x1F15), 0x1F28 => array(0x1F20),
1841
-                    0x1F29 => array(0x1F21), 0x1F2A => array(0x1F22), 0x1F2B => array(0x1F23),
1842
-                    0x1F2C => array(0x1F24), 0x1F2D => array(0x1F25), 0x1F2E => array(0x1F26),
1843
-                    0x1F2F => array(0x1F27), 0x1F38 => array(0x1F30), 0x1F39 => array(0x1F31),
1844
-                    0x1F3A => array(0x1F32), 0x1F3B => array(0x1F33), 0x1F3C => array(0x1F34),
1845
-                    0x1F3D => array(0x1F35), 0x1F3E => array(0x1F36), 0x1F3F => array(0x1F37),
1846
-                    0x1F48 => array(0x1F40), 0x1F49 => array(0x1F41), 0x1F4A => array(0x1F42),
1847
-                    0x1F4B => array(0x1F43), 0x1F4C => array(0x1F44), 0x1F4D => array(0x1F45),
1848
-                    0x1F59 => array(0x1F51), 0x1F5B => array(0x1F53), 0x1F5D => array(0x1F55),
1849
-                    0x1F5F => array(0x1F57), 0x1F68 => array(0x1F60), 0x1F69 => array(0x1F61),
1850
-                    0x1F6A => array(0x1F62), 0x1F6B => array(0x1F63), 0x1F6C => array(0x1F64),
1851
-                    0x1F6D => array(0x1F65), 0x1F6E => array(0x1F66), 0x1F6F => array(0x1F67),
1852
-                    0x1F71 => array(0x3AC), 0x1F73 => array(0x3AD), 0x1F75 => array(0x3AE),
1853
-                    0x1F77 => array(0x3AF), 0x1F79 => array(0x3CC), 0x1F7B => array(0x3CD),
1854
-                    0x1F7D => array(0x3CE), 0x1F80 => array(0x1F00, 0x3B9), 0x1F81 => array(0x1F01, 0x3B9),
1855
-                    0x1F82 => array(0x1F02, 0x3B9), 0x1F83 => array(0x1F03, 0x3B9), 0x1F84 => array(0x1F04, 0x3B9),
1856
-                    0x1F85 => array(0x1F05, 0x3B9), 0x1F86 => array(0x1F06, 0x3B9), 0x1F87 => array(0x1F07, 0x3B9),
1857
-                    0x1F88 => array(0x1F00, 0x3B9), 0x1F89 => array(0x1F01, 0x3B9), 0x1F8A => array(0x1F02, 0x3B9),
1858
-                    0x1F8B => array(0x1F03, 0x3B9), 0x1F8C => array(0x1F04, 0x3B9), 0x1F8D => array(0x1F05, 0x3B9),
1859
-                    0x1F8E => array(0x1F06, 0x3B9), 0x1F8F => array(0x1F07, 0x3B9), 0x1F90 => array(0x1F20, 0x3B9),
1860
-                    0x1F91 => array(0x1F21, 0x3B9), 0x1F92 => array(0x1F22, 0x3B9), 0x1F93 => array(0x1F23, 0x3B9),
1861
-                    0x1F94 => array(0x1F24, 0x3B9), 0x1F95 => array(0x1F25, 0x3B9), 0x1F96 => array(0x1F26, 0x3B9),
1862
-                    0x1F97 => array(0x1F27, 0x3B9), 0x1F98 => array(0x1F20, 0x3B9), 0x1F99 => array(0x1F21, 0x3B9),
1863
-                    0x1F9A => array(0x1F22, 0x3B9), 0x1F9B => array(0x1F23, 0x3B9), 0x1F9C => array(0x1F24, 0x3B9),
1864
-                    0x1F9D => array(0x1F25, 0x3B9), 0x1F9E => array(0x1F26, 0x3B9), 0x1F9F => array(0x1F27, 0x3B9),
1865
-                    0x1FA0 => array(0x1F60, 0x3B9), 0x1FA1 => array(0x1F61, 0x3B9), 0x1FA2 => array(0x1F62, 0x3B9),
1866
-                    0x1FA3 => array(0x1F63, 0x3B9), 0x1FA4 => array(0x1F64, 0x3B9), 0x1FA5 => array(0x1F65, 0x3B9),
1867
-                    0x1FA6 => array(0x1F66, 0x3B9), 0x1FA7 => array(0x1F67, 0x3B9), 0x1FA8 => array(0x1F60, 0x3B9),
1868
-                    0x1FA9 => array(0x1F61, 0x3B9), 0x1FAA => array(0x1F62, 0x3B9), 0x1FAB => array(0x1F63, 0x3B9),
1869
-                    0x1FAC => array(0x1F64, 0x3B9), 0x1FAD => array(0x1F65, 0x3B9), 0x1FAE => array(0x1F66, 0x3B9),
1870
-                    0x1FAF => array(0x1F67, 0x3B9), 0x1FB2 => array(0x1F70, 0x3B9), 0x1FB3 => array(0x3B1, 0x3B9),
1871
-                    0x1FB4 => array(0x3AC, 0x3B9), 0x1FB7 => array(0x1FB6, 0x3B9), 0x1FB8 => array(0x1FB0),
1872
-                    0x1FB9 => array(0x1FB1), 0x1FBA => array(0x1F70), 0x1FBB => array(0x3AC),
1873
-                    0x1FBC => array(0x3B1, 0x3B9), 0x1FBE => array(0x3B9), 0x1FC2 => array(0x1F74, 0x3B9),
1874
-                    0x1FC3 => array(0x3B7, 0x3B9), 0x1FC4 => array(0x3AE, 0x3B9), 0x1FC7 => array(0x1FC6, 0x3B9),
1875
-                    0x1FC8 => array(0x1F72), 0x1FC9 => array(0x3AD), 0x1FCA => array(0x1F74),
1876
-                    0x1FCB => array(0x3AE), 0x1FCC => array(0x3B7, 0x3B9), 0x1FD3 => array(0x390),
1877
-                    0x1FD8 => array(0x1FD0), 0x1FD9 => array(0x1FD1), 0x1FDA => array(0x1F76),
1878
-                    0x1FDB => array(0x3AF), 0x1FE3 => array(0x3B0), 0x1FE8 => array(0x1FE0),
1879
-                    0x1FE9 => array(0x1FE1), 0x1FEA => array(0x1F7A), 0x1FEB => array(0x3CD),
1880
-                    0x1FEC => array(0x1FE5), 0x1FF2 => array(0x1F7C, 0x3B9), 0x1FF3 => array(0x3C9, 0x3B9),
1881
-                    0x1FF4 => array(0x3CE, 0x3B9), 0x1FF7 => array(0x1FF6, 0x3B9), 0x1FF8 => array(0x1F78),
1882
-                    0x1FF9 => array(0x3CC), 0x1FFA => array(0x1F7C), 0x1FFB => array(0x3CE),
1883
-                    0x1FFC => array(0x3C9, 0x3B9), 0x2011 => array(0x2010), 0x2033 => array(0x2032, 0x2032),
1884
-                    0x2034 => array(0x2032, 0x2032, 0x2032), 0x2036 => array(0x2035, 0x2035), 0x2037 => array(0x2035, 0x2035, 0x2035),
1885
-                    0x2057 => array(0x2032, 0x2032, 0x2032, 0x2032), 0x2070 => array(0x30), 0x2071 => array(0x69),
1886
-                    0x2074 => array(0x34), 0x2075 => array(0x35), 0x2076 => array(0x36),
1887
-                    0x2077 => array(0x37), 0x2078 => array(0x38), 0x2079 => array(0x39),
1888
-                    0x207B => array(0x2212), 0x207F => array(0x6E), 0x2080 => array(0x30),
1889
-                    0x2081 => array(0x31), 0x2082 => array(0x32), 0x2083 => array(0x33),
1890
-                    0x2084 => array(0x34), 0x2085 => array(0x35), 0x2086 => array(0x36),
1891
-                    0x2087 => array(0x37), 0x2088 => array(0x38), 0x2089 => array(0x39),
1892
-                    0x208B => array(0x2212), 0x2090 => array(0x61), 0x2091 => array(0x65),
1893
-                    0x2092 => array(0x6F), 0x2093 => array(0x78), 0x2094 => array(0x259),
1894
-                    0x2095 => array(0x68), 0x2096 => array(0x6B), 0x2097 => array(0x6C),
1895
-                    0x2098 => array(0x6D), 0x2099 => array(0x6E), 0x209A => array(0x70),
1896
-                    0x209B => array(0x73), 0x209C => array(0x74), 0x20A8 => array(0x72, 0x73),
1897
-                    0x2102 => array(0x63), 0x2103 => array(0xB0, 0x63), 0x2107 => array(0x25B),
1898
-                    0x2109 => array(0xB0, 0x66), 0x210A => array(0x67), 0x210B => array(0x68),
1899
-                    0x210C => array(0x68), 0x210D => array(0x68), 0x210E => array(0x68),
1900
-                    0x210F => array(0x127), 0x2110 => array(0x69), 0x2111 => array(0x69),
1901
-                    0x2112 => array(0x6C), 0x2113 => array(0x6C), 0x2115 => array(0x6E),
1902
-                    0x2116 => array(0x6E, 0x6F), 0x2119 => array(0x70), 0x211A => array(0x71),
1903
-                    0x211B => array(0x72), 0x211C => array(0x72), 0x211D => array(0x72),
1904
-                    0x2120 => array(0x73, 0x6D), 0x2121 => array(0x74, 0x65, 0x6C), 0x2122 => array(0x74, 0x6D),
1905
-                    0x2124 => array(0x7A), 0x2126 => array(0x3C9), 0x2128 => array(0x7A),
1906
-                    0x212A => array(0x6B), 0x212B => array(0xE5), 0x212C => array(0x62),
1907
-                    0x212D => array(0x63), 0x212F => array(0x65), 0x2130 => array(0x65),
1908
-                    0x2131 => array(0x66), 0x2133 => array(0x6D), 0x2134 => array(0x6F),
1909
-                    0x2135 => array(0x5D0), 0x2136 => array(0x5D1), 0x2137 => array(0x5D2),
1910
-                    0x2138 => array(0x5D3), 0x2139 => array(0x69), 0x213B => array(0x66, 0x61, 0x78),
1911
-                    0x213C => array(0x3C0), 0x213D => array(0x3B3), 0x213E => array(0x3B3),
1912
-                    0x213F => array(0x3C0), 0x2140 => array(0x2211), 0x2145 => array(0x64),
1913
-                    0x2146 => array(0x64), 0x2147 => array(0x65), 0x2148 => array(0x69),
1914
-                    0x2149 => array(0x6A), 0x2150 => array(0x31, 0x2044, 0x37), 0x2151 => array(0x31, 0x2044, 0x39),
1915
-                    0x2152 => array(0x31, 0x2044, 0x31, 0x30), 0x2153 => array(0x31, 0x2044, 0x33), 0x2154 => array(0x32, 0x2044, 0x33),
1916
-                    0x2155 => array(0x31, 0x2044, 0x35), 0x2156 => array(0x32, 0x2044, 0x35), 0x2157 => array(0x33, 0x2044, 0x35),
1917
-                    0x2158 => array(0x34, 0x2044, 0x35), 0x2159 => array(0x31, 0x2044, 0x36), 0x215A => array(0x35, 0x2044, 0x36),
1918
-                    0x215B => array(0x31, 0x2044, 0x38), 0x215C => array(0x33, 0x2044, 0x38), 0x215D => array(0x35, 0x2044, 0x38),
1919
-                    0x215E => array(0x37, 0x2044, 0x38), 0x215F => array(0x31, 0x2044), 0x2160 => array(0x69),
1920
-                    0x2161 => array(0x69, 0x69), 0x2162 => array(0x69, 0x69, 0x69), 0x2163 => array(0x69, 0x76),
1921
-                    0x2164 => array(0x76), 0x2165 => array(0x76, 0x69), 0x2166 => array(0x76, 0x69, 0x69),
1922
-                    0x2167 => array(0x76, 0x69, 0x69, 0x69), 0x2168 => array(0x69, 0x78), 0x2169 => array(0x78),
1923
-                    0x216A => array(0x78, 0x69), 0x216B => array(0x78, 0x69, 0x69), 0x216C => array(0x6C),
1924
-                    0x216D => array(0x63), 0x216E => array(0x64), 0x216F => array(0x6D),
1925
-                    0x2170 => array(0x69), 0x2171 => array(0x69, 0x69), 0x2172 => array(0x69, 0x69, 0x69),
1926
-                    0x2173 => array(0x69, 0x76), 0x2174 => array(0x76), 0x2175 => array(0x76, 0x69),
1927
-                    0x2176 => array(0x76, 0x69, 0x69), 0x2177 => array(0x76, 0x69, 0x69, 0x69), 0x2178 => array(0x69, 0x78),
1928
-                    0x2179 => array(0x78), 0x217A => array(0x78, 0x69), 0x217B => array(0x78, 0x69, 0x69),
1929
-                    0x217C => array(0x6C), 0x217D => array(0x63), 0x217E => array(0x64),
1930
-                    0x217F => array(0x6D), 0x2189 => array(0x30, 0x2044, 0x33), 0x222C => array(0x222B, 0x222B),
1931
-                    0x222D => array(0x222B, 0x222B, 0x222B), 0x222F => array(0x222E, 0x222E), 0x2230 => array(0x222E, 0x222E, 0x222E),
1932
-                    0x2329 => array(0x3008), 0x232A => array(0x3009), 0x2460 => array(0x31),
1933
-                    0x2461 => array(0x32), 0x2462 => array(0x33), 0x2463 => array(0x34),
1934
-                    0x2464 => array(0x35), 0x2465 => array(0x36), 0x2466 => array(0x37),
1935
-                    0x2467 => array(0x38), 0x2468 => array(0x39), 0x2469 => array(0x31, 0x30),
1936
-                    0x246A => array(0x31, 0x31), 0x246B => array(0x31, 0x32), 0x246C => array(0x31, 0x33),
1937
-                    0x246D => array(0x31, 0x34), 0x246E => array(0x31, 0x35), 0x246F => array(0x31, 0x36),
1938
-                    0x2470 => array(0x31, 0x37), 0x2471 => array(0x31, 0x38), 0x2472 => array(0x31, 0x39),
1939
-                    0x2473 => array(0x32, 0x30), 0x24B6 => array(0x61), 0x24B7 => array(0x62),
1940
-                    0x24B8 => array(0x63), 0x24B9 => array(0x64), 0x24BA => array(0x65),
1941
-                    0x24BB => array(0x66), 0x24BC => array(0x67), 0x24BD => array(0x68),
1942
-                    0x24BE => array(0x69), 0x24BF => array(0x6A), 0x24C0 => array(0x6B),
1943
-                    0x24C1 => array(0x6C), 0x24C2 => array(0x6D), 0x24C3 => array(0x6E),
1944
-                    0x24C4 => array(0x6F), 0x24C5 => array(0x70), 0x24C6 => array(0x71),
1945
-                    0x24C7 => array(0x72), 0x24C8 => array(0x73), 0x24C9 => array(0x74),
1946
-                    0x24CA => array(0x75), 0x24CB => array(0x76), 0x24CC => array(0x77),
1947
-                    0x24CD => array(0x78), 0x24CE => array(0x79), 0x24CF => array(0x7A),
1948
-                    0x24D0 => array(0x61), 0x24D1 => array(0x62), 0x24D2 => array(0x63),
1949
-                    0x24D3 => array(0x64), 0x24D4 => array(0x65), 0x24D5 => array(0x66),
1950
-                    0x24D6 => array(0x67), 0x24D7 => array(0x68), 0x24D8 => array(0x69),
1951
-                    0x24D9 => array(0x6A), 0x24DA => array(0x6B), 0x24DB => array(0x6C),
1952
-                    0x24DC => array(0x6D), 0x24DD => array(0x6E), 0x24DE => array(0x6F),
1953
-                    0x24DF => array(0x70), 0x24E0 => array(0x71), 0x24E1 => array(0x72),
1954
-                    0x24E2 => array(0x73), 0x24E3 => array(0x74), 0x24E4 => array(0x75),
1955
-                    0x24E5 => array(0x76), 0x24E6 => array(0x77), 0x24E7 => array(0x78),
1956
-                    0x24E8 => array(0x79), 0x24E9 => array(0x7A), 0x24EA => array(0x30),
1957
-                    0x2A0C => array(0x222B, 0x222B, 0x222B, 0x222B), 0x2ADC => array(0x2ADD, 0x338), 0x2C00 => array(0x2C30),
1958
-                    0x2C01 => array(0x2C31), 0x2C02 => array(0x2C32), 0x2C03 => array(0x2C33),
1959
-                    0x2C04 => array(0x2C34), 0x2C05 => array(0x2C35), 0x2C06 => array(0x2C36),
1960
-                    0x2C07 => array(0x2C37), 0x2C08 => array(0x2C38), 0x2C09 => array(0x2C39),
1961
-                    0x2C0A => array(0x2C3A), 0x2C0B => array(0x2C3B), 0x2C0C => array(0x2C3C),
1962
-                    0x2C0D => array(0x2C3D), 0x2C0E => array(0x2C3E), 0x2C0F => array(0x2C3F),
1963
-                    0x2C10 => array(0x2C40), 0x2C11 => array(0x2C41), 0x2C12 => array(0x2C42),
1964
-                    0x2C13 => array(0x2C43), 0x2C14 => array(0x2C44), 0x2C15 => array(0x2C45),
1965
-                    0x2C16 => array(0x2C46), 0x2C17 => array(0x2C47), 0x2C18 => array(0x2C48),
1966
-                    0x2C19 => array(0x2C49), 0x2C1A => array(0x2C4A), 0x2C1B => array(0x2C4B),
1967
-                    0x2C1C => array(0x2C4C), 0x2C1D => array(0x2C4D), 0x2C1E => array(0x2C4E),
1968
-                    0x2C1F => array(0x2C4F), 0x2C20 => array(0x2C50), 0x2C21 => array(0x2C51),
1969
-                    0x2C22 => array(0x2C52), 0x2C23 => array(0x2C53), 0x2C24 => array(0x2C54),
1970
-                    0x2C25 => array(0x2C55), 0x2C26 => array(0x2C56), 0x2C27 => array(0x2C57),
1971
-                    0x2C28 => array(0x2C58), 0x2C29 => array(0x2C59), 0x2C2A => array(0x2C5A),
1972
-                    0x2C2B => array(0x2C5B), 0x2C2C => array(0x2C5C), 0x2C2D => array(0x2C5D),
1973
-                    0x2C2E => array(0x2C5E), 0x2C60 => array(0x2C61), 0x2C62 => array(0x26B),
1974
-                    0x2C63 => array(0x1D7D), 0x2C64 => array(0x27D), 0x2C67 => array(0x2C68),
1975
-                    0x2C69 => array(0x2C6A), 0x2C6B => array(0x2C6C), 0x2C6D => array(0x251),
1976
-                    0x2C6E => array(0x271), 0x2C6F => array(0x250), 0x2C70 => array(0x252),
1977
-                    0x2C72 => array(0x2C73), 0x2C75 => array(0x2C76), 0x2C7C => array(0x6A),
1978
-                    0x2C7D => array(0x76), 0x2C7E => array(0x23F), 0x2C7F => array(0x240),
1979
-                    0x2C80 => array(0x2C81), 0x2C82 => array(0x2C83), 0x2C84 => array(0x2C85),
1980
-                    0x2C86 => array(0x2C87), 0x2C88 => array(0x2C89), 0x2C8A => array(0x2C8B),
1981
-                    0x2C8C => array(0x2C8D), 0x2C8E => array(0x2C8F), 0x2C90 => array(0x2C91),
1982
-                    0x2C92 => array(0x2C93), 0x2C94 => array(0x2C95), 0x2C96 => array(0x2C97),
1983
-                    0x2C98 => array(0x2C99), 0x2C9A => array(0x2C9B), 0x2C9C => array(0x2C9D),
1984
-                    0x2C9E => array(0x2C9F), 0x2CA0 => array(0x2CA1), 0x2CA2 => array(0x2CA3),
1985
-                    0x2CA4 => array(0x2CA5), 0x2CA6 => array(0x2CA7), 0x2CA8 => array(0x2CA9),
1986
-                    0x2CAA => array(0x2CAB), 0x2CAC => array(0x2CAD), 0x2CAE => array(0x2CAF),
1987
-                    0x2CB0 => array(0x2CB1), 0x2CB2 => array(0x2CB3), 0x2CB4 => array(0x2CB5),
1988
-                    0x2CB6 => array(0x2CB7), 0x2CB8 => array(0x2CB9), 0x2CBA => array(0x2CBB),
1989
-                    0x2CBC => array(0x2CBD), 0x2CBE => array(0x2CBF), 0x2CC0 => array(0x2CC1),
1990
-                    0x2CC2 => array(0x2CC3), 0x2CC4 => array(0x2CC5), 0x2CC6 => array(0x2CC7),
1991
-                    0x2CC8 => array(0x2CC9), 0x2CCA => array(0x2CCB), 0x2CCC => array(0x2CCD),
1992
-                    0x2CCE => array(0x2CCF), 0x2CD0 => array(0x2CD1), 0x2CD2 => array(0x2CD3),
1993
-                    0x2CD4 => array(0x2CD5), 0x2CD6 => array(0x2CD7), 0x2CD8 => array(0x2CD9),
1994
-                    0x2CDA => array(0x2CDB), 0x2CDC => array(0x2CDD), 0x2CDE => array(0x2CDF),
1995
-                    0x2CE0 => array(0x2CE1), 0x2CE2 => array(0x2CE3), 0x2CEB => array(0x2CEC),
1996
-                    0x2CED => array(0x2CEE), 0x2CF2 => array(0x2CF3), 0x2D6F => array(0x2D61),
1997
-                    0x2E9F => array(0x6BCD), 0x2EF3 => array(0x9F9F), 0x2F00 => array(0x4E00),
1998
-                    0x2F01 => array(0x4E28), 0x2F02 => array(0x4E36), 0x2F03 => array(0x4E3F),
1999
-                    0x2F04 => array(0x4E59), 0x2F05 => array(0x4E85), 0x2F06 => array(0x4E8C),
2000
-                    0x2F07 => array(0x4EA0), 0x2F08 => array(0x4EBA), 0x2F09 => array(0x513F),
2001
-                    0x2F0A => array(0x5165), 0x2F0B => array(0x516B), 0x2F0C => array(0x5182),
2002
-                    0x2F0D => array(0x5196), 0x2F0E => array(0x51AB), 0x2F0F => array(0x51E0),
2003
-                    0x2F10 => array(0x51F5), 0x2F11 => array(0x5200), 0x2F12 => array(0x529B),
2004
-                    0x2F13 => array(0x52F9), 0x2F14 => array(0x5315), 0x2F15 => array(0x531A),
2005
-                    0x2F16 => array(0x5338), 0x2F17 => array(0x5341), 0x2F18 => array(0x535C),
2006
-                    0x2F19 => array(0x5369), 0x2F1A => array(0x5382), 0x2F1B => array(0x53B6),
2007
-                    0x2F1C => array(0x53C8), 0x2F1D => array(0x53E3), 0x2F1E => array(0x56D7),
2008
-                    0x2F1F => array(0x571F), 0x2F20 => array(0x58EB), 0x2F21 => array(0x5902),
2009
-                    0x2F22 => array(0x590A), 0x2F23 => array(0x5915), 0x2F24 => array(0x5927),
2010
-                    0x2F25 => array(0x5973), 0x2F26 => array(0x5B50), 0x2F27 => array(0x5B80),
2011
-                    0x2F28 => array(0x5BF8), 0x2F29 => array(0x5C0F), 0x2F2A => array(0x5C22),
2012
-                    0x2F2B => array(0x5C38), 0x2F2C => array(0x5C6E), 0x2F2D => array(0x5C71),
2013
-                    0x2F2E => array(0x5DDB), 0x2F2F => array(0x5DE5), 0x2F30 => array(0x5DF1),
2014
-                    0x2F31 => array(0x5DFE), 0x2F32 => array(0x5E72), 0x2F33 => array(0x5E7A),
2015
-                    0x2F34 => array(0x5E7F), 0x2F35 => array(0x5EF4), 0x2F36 => array(0x5EFE),
2016
-                    0x2F37 => array(0x5F0B), 0x2F38 => array(0x5F13), 0x2F39 => array(0x5F50),
2017
-                    0x2F3A => array(0x5F61), 0x2F3B => array(0x5F73), 0x2F3C => array(0x5FC3),
2018
-                    0x2F3D => array(0x6208), 0x2F3E => array(0x6236), 0x2F3F => array(0x624B),
2019
-                    0x2F40 => array(0x652F), 0x2F41 => array(0x6534), 0x2F42 => array(0x6587),
2020
-                    0x2F43 => array(0x6597), 0x2F44 => array(0x65A4), 0x2F45 => array(0x65B9),
2021
-                    0x2F46 => array(0x65E0), 0x2F47 => array(0x65E5), 0x2F48 => array(0x66F0),
2022
-                    0x2F49 => array(0x6708), 0x2F4A => array(0x6728), 0x2F4B => array(0x6B20),
2023
-                    0x2F4C => array(0x6B62), 0x2F4D => array(0x6B79), 0x2F4E => array(0x6BB3),
2024
-                    0x2F4F => array(0x6BCB), 0x2F50 => array(0x6BD4), 0x2F51 => array(0x6BDB),
2025
-                    0x2F52 => array(0x6C0F), 0x2F53 => array(0x6C14), 0x2F54 => array(0x6C34),
2026
-                    0x2F55 => array(0x706B), 0x2F56 => array(0x722A), 0x2F57 => array(0x7236),
2027
-                    0x2F58 => array(0x723B), 0x2F59 => array(0x723F), 0x2F5A => array(0x7247),
2028
-                    0x2F5B => array(0x7259), 0x2F5C => array(0x725B), 0x2F5D => array(0x72AC),
2029
-                    0x2F5E => array(0x7384), 0x2F5F => array(0x7389), 0x2F60 => array(0x74DC),
2030
-                    0x2F61 => array(0x74E6), 0x2F62 => array(0x7518), 0x2F63 => array(0x751F),
2031
-                    0x2F64 => array(0x7528), 0x2F65 => array(0x7530), 0x2F66 => array(0x758B),
2032
-                    0x2F67 => array(0x7592), 0x2F68 => array(0x7676), 0x2F69 => array(0x767D),
2033
-                    0x2F6A => array(0x76AE), 0x2F6B => array(0x76BF), 0x2F6C => array(0x76EE),
2034
-                    0x2F6D => array(0x77DB), 0x2F6E => array(0x77E2), 0x2F6F => array(0x77F3),
2035
-                    0x2F70 => array(0x793A), 0x2F71 => array(0x79B8), 0x2F72 => array(0x79BE),
2036
-                    0x2F73 => array(0x7A74), 0x2F74 => array(0x7ACB), 0x2F75 => array(0x7AF9),
2037
-                    0x2F76 => array(0x7C73), 0x2F77 => array(0x7CF8), 0x2F78 => array(0x7F36),
2038
-                    0x2F79 => array(0x7F51), 0x2F7A => array(0x7F8A), 0x2F7B => array(0x7FBD),
2039
-                    0x2F7C => array(0x8001), 0x2F7D => array(0x800C), 0x2F7E => array(0x8012),
2040
-                    0x2F7F => array(0x8033), 0x2F80 => array(0x807F), 0x2F81 => array(0x8089),
2041
-                    0x2F82 => array(0x81E3), 0x2F83 => array(0x81EA), 0x2F84 => array(0x81F3),
2042
-                    0x2F85 => array(0x81FC), 0x2F86 => array(0x820C), 0x2F87 => array(0x821B),
2043
-                    0x2F88 => array(0x821F), 0x2F89 => array(0x826E), 0x2F8A => array(0x8272),
2044
-                    0x2F8B => array(0x8278), 0x2F8C => array(0x864D), 0x2F8D => array(0x866B),
2045
-                    0x2F8E => array(0x8840), 0x2F8F => array(0x884C), 0x2F90 => array(0x8863),
2046
-                    0x2F91 => array(0x897E), 0x2F92 => array(0x898B), 0x2F93 => array(0x89D2),
2047
-                    0x2F94 => array(0x8A00), 0x2F95 => array(0x8C37), 0x2F96 => array(0x8C46),
2048
-                    0x2F97 => array(0x8C55), 0x2F98 => array(0x8C78), 0x2F99 => array(0x8C9D),
2049
-                    0x2F9A => array(0x8D64), 0x2F9B => array(0x8D70), 0x2F9C => array(0x8DB3),
2050
-                    0x2F9D => array(0x8EAB), 0x2F9E => array(0x8ECA), 0x2F9F => array(0x8F9B),
2051
-                    0x2FA0 => array(0x8FB0), 0x2FA1 => array(0x8FB5), 0x2FA2 => array(0x9091),
2052
-                    0x2FA3 => array(0x9149), 0x2FA4 => array(0x91C6), 0x2FA5 => array(0x91CC),
2053
-                    0x2FA6 => array(0x91D1), 0x2FA7 => array(0x9577), 0x2FA8 => array(0x9580),
2054
-                    0x2FA9 => array(0x961C), 0x2FAA => array(0x96B6), 0x2FAB => array(0x96B9),
2055
-                    0x2FAC => array(0x96E8), 0x2FAD => array(0x9751), 0x2FAE => array(0x975E),
2056
-                    0x2FAF => array(0x9762), 0x2FB0 => array(0x9769), 0x2FB1 => array(0x97CB),
2057
-                    0x2FB2 => array(0x97ED), 0x2FB3 => array(0x97F3), 0x2FB4 => array(0x9801),
2058
-                    0x2FB5 => array(0x98A8), 0x2FB6 => array(0x98DB), 0x2FB7 => array(0x98DF),
2059
-                    0x2FB8 => array(0x9996), 0x2FB9 => array(0x9999), 0x2FBA => array(0x99AC),
2060
-                    0x2FBB => array(0x9AA8), 0x2FBC => array(0x9AD8), 0x2FBD => array(0x9ADF),
2061
-                    0x2FBE => array(0x9B25), 0x2FBF => array(0x9B2F), 0x2FC0 => array(0x9B32),
2062
-                    0x2FC1 => array(0x9B3C), 0x2FC2 => array(0x9B5A), 0x2FC3 => array(0x9CE5),
2063
-                    0x2FC4 => array(0x9E75), 0x2FC5 => array(0x9E7F), 0x2FC6 => array(0x9EA5),
2064
-                    0x2FC7 => array(0x9EBB), 0x2FC8 => array(0x9EC3), 0x2FC9 => array(0x9ECD),
2065
-                    0x2FCA => array(0x9ED1), 0x2FCB => array(0x9EF9), 0x2FCC => array(0x9EFD),
2066
-                    0x2FCD => array(0x9F0E), 0x2FCE => array(0x9F13), 0x2FCF => array(0x9F20),
2067
-                    0x2FD0 => array(0x9F3B), 0x2FD1 => array(0x9F4A), 0x2FD2 => array(0x9F52),
2068
-                    0x2FD3 => array(0x9F8D), 0x2FD4 => array(0x9F9C), 0x2FD5 => array(0x9FA0),
2069
-                    0x3002 => array(0x2E), 0x3036 => array(0x3012), 0x3038 => array(0x5341),
2070
-                    0x3039 => array(0x5344), 0x303A => array(0x5345), 0x309F => array(0x3088, 0x308A),
2071
-                    0x30FF => array(0x30B3, 0x30C8), 0x3131 => array(0x1100), 0x3132 => array(0x1101),
2072
-                    0x3133 => array(0x11AA), 0x3134 => array(0x1102), 0x3135 => array(0x11AC),
2073
-                    0x3136 => array(0x11AD), 0x3137 => array(0x1103), 0x3138 => array(0x1104),
2074
-                    0x3139 => array(0x1105), 0x313A => array(0x11B0), 0x313B => array(0x11B1),
2075
-                    0x313C => array(0x11B2), 0x313D => array(0x11B3), 0x313E => array(0x11B4),
2076
-                    0x313F => array(0x11B5), 0x3140 => array(0x111A), 0x3141 => array(0x1106),
2077
-                    0x3142 => array(0x1107), 0x3143 => array(0x1108), 0x3144 => array(0x1121),
2078
-                    0x3145 => array(0x1109), 0x3146 => array(0x110A), 0x3147 => array(0x110B),
2079
-                    0x3148 => array(0x110C), 0x3149 => array(0x110D), 0x314A => array(0x110E),
2080
-                    0x314B => array(0x110F), 0x314C => array(0x1110), 0x314D => array(0x1111),
2081
-                    0x314E => array(0x1112), 0x314F => array(0x1161), 0x3150 => array(0x1162),
2082
-                    0x3151 => array(0x1163), 0x3152 => array(0x1164), 0x3153 => array(0x1165),
2083
-                    0x3154 => array(0x1166), 0x3155 => array(0x1167), 0x3156 => array(0x1168),
2084
-                    0x3157 => array(0x1169), 0x3158 => array(0x116A), 0x3159 => array(0x116B),
2085
-                    0x315A => array(0x116C), 0x315B => array(0x116D), 0x315C => array(0x116E),
2086
-                    0x315D => array(0x116F), 0x315E => array(0x1170), 0x315F => array(0x1171),
2087
-                    0x3160 => array(0x1172), 0x3161 => array(0x1173), 0x3162 => array(0x1174),
2088
-                    0x3163 => array(0x1175), 0x3165 => array(0x1114), 0x3166 => array(0x1115),
2089
-                    0x3167 => array(0x11C7), 0x3168 => array(0x11C8), 0x3169 => array(0x11CC),
2090
-                    0x316A => array(0x11CE), 0x316B => array(0x11D3), 0x316C => array(0x11D7),
2091
-                    0x316D => array(0x11D9), 0x316E => array(0x111C), 0x316F => array(0x11DD),
2092
-                    0x3170 => array(0x11DF), 0x3171 => array(0x111D), 0x3172 => array(0x111E),
2093
-                    0x3173 => array(0x1120), 0x3174 => array(0x1122), 0x3175 => array(0x1123),
2094
-                    0x3176 => array(0x1127), 0x3177 => array(0x1129), 0x3178 => array(0x112B),
2095
-                    0x3179 => array(0x112C), 0x317A => array(0x112D), 0x317B => array(0x112E),
2096
-                    0x317C => array(0x112F), 0x317D => array(0x1132), 0x317E => array(0x1136),
2097
-                    0x317F => array(0x1140), 0x3180 => array(0x1147), 0x3181 => array(0x114C),
2098
-                    0x3182 => array(0x11F1), 0x3183 => array(0x11F2), 0x3184 => array(0x1157),
2099
-                    0x3185 => array(0x1158), 0x3186 => array(0x1159), 0x3187 => array(0x1184),
2100
-                    0x3188 => array(0x1185), 0x3189 => array(0x1188), 0x318A => array(0x1191),
2101
-                    0x318B => array(0x1192), 0x318C => array(0x1194), 0x318D => array(0x119E),
2102
-                    0x318E => array(0x11A1), 0x3192 => array(0x4E00), 0x3193 => array(0x4E8C),
2103
-                    0x3194 => array(0x4E09), 0x3195 => array(0x56DB), 0x3196 => array(0x4E0A),
2104
-                    0x3197 => array(0x4E2D), 0x3198 => array(0x4E0B), 0x3199 => array(0x7532),
2105
-                    0x319A => array(0x4E59), 0x319B => array(0x4E19), 0x319C => array(0x4E01),
2106
-                    0x319D => array(0x5929), 0x319E => array(0x5730), 0x319F => array(0x4EBA),
2107
-                    0x3244 => array(0x554F), 0x3245 => array(0x5E7C), 0x3246 => array(0x6587),
2108
-                    0x3247 => array(0x7B8F), 0x3250 => array(0x70, 0x74, 0x65), 0x3251 => array(0x32, 0x31),
2109
-                    0x3252 => array(0x32, 0x32), 0x3253 => array(0x32, 0x33), 0x3254 => array(0x32, 0x34),
2110
-                    0x3255 => array(0x32, 0x35), 0x3256 => array(0x32, 0x36), 0x3257 => array(0x32, 0x37),
2111
-                    0x3258 => array(0x32, 0x38), 0x3259 => array(0x32, 0x39), 0x325A => array(0x33, 0x30),
2112
-                    0x325B => array(0x33, 0x31), 0x325C => array(0x33, 0x32), 0x325D => array(0x33, 0x33),
2113
-                    0x325E => array(0x33, 0x34), 0x325F => array(0x33, 0x35), 0x3260 => array(0x1100),
2114
-                    0x3261 => array(0x1102), 0x3262 => array(0x1103), 0x3263 => array(0x1105),
2115
-                    0x3264 => array(0x1106), 0x3265 => array(0x1107), 0x3266 => array(0x1109),
2116
-                    0x3267 => array(0x110B), 0x3268 => array(0x110C), 0x3269 => array(0x110E),
2117
-                    0x326A => array(0x110F), 0x326B => array(0x1110), 0x326C => array(0x1111),
2118
-                    0x326D => array(0x1112), 0x326E => array(0xAC00), 0x326F => array(0xB098),
2119
-                    0x3270 => array(0xB2E4), 0x3271 => array(0xB77C), 0x3272 => array(0xB9C8),
2120
-                    0x3273 => array(0xBC14), 0x3274 => array(0xC0AC), 0x3275 => array(0xC544),
2121
-                    0x3276 => array(0xC790), 0x3277 => array(0xCC28), 0x3278 => array(0xCE74),
2122
-                    0x3279 => array(0xD0C0), 0x327A => array(0xD30C), 0x327B => array(0xD558),
2123
-                    0x327C => array(0xCC38, 0xACE0), 0x327D => array(0xC8FC, 0xC758), 0x327E => array(0xC6B0),
2124
-                    0x3280 => array(0x4E00), 0x3281 => array(0x4E8C), 0x3282 => array(0x4E09),
2125
-                    0x3283 => array(0x56DB), 0x3284 => array(0x4E94), 0x3285 => array(0x516D),
2126
-                    0x3286 => array(0x4E03), 0x3287 => array(0x516B), 0x3288 => array(0x4E5D),
2127
-                    0x3289 => array(0x5341), 0x328A => array(0x6708), 0x328B => array(0x706B),
2128
-                    0x328C => array(0x6C34), 0x328D => array(0x6728), 0x328E => array(0x91D1),
2129
-                    0x328F => array(0x571F), 0x3290 => array(0x65E5), 0x3291 => array(0x682A),
2130
-                    0x3292 => array(0x6709), 0x3293 => array(0x793E), 0x3294 => array(0x540D),
2131
-                    0x3295 => array(0x7279), 0x3296 => array(0x8CA1), 0x3297 => array(0x795D),
2132
-                    0x3298 => array(0x52B4), 0x3299 => array(0x79D8), 0x329A => array(0x7537),
2133
-                    0x329B => array(0x5973), 0x329C => array(0x9069), 0x329D => array(0x512A),
2134
-                    0x329E => array(0x5370), 0x329F => array(0x6CE8), 0x32A0 => array(0x9805),
2135
-                    0x32A1 => array(0x4F11), 0x32A2 => array(0x5199), 0x32A3 => array(0x6B63),
2136
-                    0x32A4 => array(0x4E0A), 0x32A5 => array(0x4E2D), 0x32A6 => array(0x4E0B),
2137
-                    0x32A7 => array(0x5DE6), 0x32A8 => array(0x53F3), 0x32A9 => array(0x533B),
2138
-                    0x32AA => array(0x5B97), 0x32AB => array(0x5B66), 0x32AC => array(0x76E3),
2139
-                    0x32AD => array(0x4F01), 0x32AE => array(0x8CC7), 0x32AF => array(0x5354),
2140
-                    0x32B0 => array(0x591C), 0x32B1 => array(0x33, 0x36), 0x32B2 => array(0x33, 0x37),
2141
-                    0x32B3 => array(0x33, 0x38), 0x32B4 => array(0x33, 0x39), 0x32B5 => array(0x34, 0x30),
2142
-                    0x32B6 => array(0x34, 0x31), 0x32B7 => array(0x34, 0x32), 0x32B8 => array(0x34, 0x33),
2143
-                    0x32B9 => array(0x34, 0x34), 0x32BA => array(0x34, 0x35), 0x32BB => array(0x34, 0x36),
2144
-                    0x32BC => array(0x34, 0x37), 0x32BD => array(0x34, 0x38), 0x32BE => array(0x34, 0x39),
2145
-                    0x32BF => array(0x35, 0x30), 0x32C0 => array(0x31, 0x6708), 0x32C1 => array(0x32, 0x6708),
2146
-                    0x32C2 => array(0x33, 0x6708), 0x32C3 => array(0x34, 0x6708), 0x32C4 => array(0x35, 0x6708),
2147
-                    0x32C5 => array(0x36, 0x6708), 0x32C6 => array(0x37, 0x6708), 0x32C7 => array(0x38, 0x6708),
2148
-                    0x32C8 => array(0x39, 0x6708), 0x32C9 => array(0x31, 0x30, 0x6708), 0x32CA => array(0x31, 0x31, 0x6708),
2149
-                    0x32CB => array(0x31, 0x32, 0x6708), 0x32CC => array(0x68, 0x67), 0x32CD => array(0x65, 0x72, 0x67),
2150
-                    0x32CE => array(0x65, 0x76), 0x32CF => array(0x6C, 0x74, 0x64), 0x32D0 => array(0x30A2),
2151
-                    0x32D1 => array(0x30A4), 0x32D2 => array(0x30A6), 0x32D3 => array(0x30A8),
2152
-                    0x32D4 => array(0x30AA), 0x32D5 => array(0x30AB), 0x32D6 => array(0x30AD),
2153
-                    0x32D7 => array(0x30AF), 0x32D8 => array(0x30B1), 0x32D9 => array(0x30B3),
2154
-                    0x32DA => array(0x30B5), 0x32DB => array(0x30B7), 0x32DC => array(0x30B9),
2155
-                    0x32DD => array(0x30BB), 0x32DE => array(0x30BD), 0x32DF => array(0x30BF),
2156
-                    0x32E0 => array(0x30C1), 0x32E1 => array(0x30C4), 0x32E2 => array(0x30C6),
2157
-                    0x32E3 => array(0x30C8), 0x32E4 => array(0x30CA), 0x32E5 => array(0x30CB),
2158
-                    0x32E6 => array(0x30CC), 0x32E7 => array(0x30CD), 0x32E8 => array(0x30CE),
2159
-                    0x32E9 => array(0x30CF), 0x32EA => array(0x30D2), 0x32EB => array(0x30D5),
2160
-                    0x32EC => array(0x30D8), 0x32ED => array(0x30DB), 0x32EE => array(0x30DE),
2161
-                    0x32EF => array(0x30DF), 0x32F0 => array(0x30E0), 0x32F1 => array(0x30E1),
2162
-                    0x32F2 => array(0x30E2), 0x32F3 => array(0x30E4), 0x32F4 => array(0x30E6),
2163
-                    0x32F5 => array(0x30E8), 0x32F6 => array(0x30E9), 0x32F7 => array(0x30EA),
2164
-                    0x32F8 => array(0x30EB), 0x32F9 => array(0x30EC), 0x32FA => array(0x30ED),
2165
-                    0x32FB => array(0x30EF), 0x32FC => array(0x30F0), 0x32FD => array(0x30F1),
2166
-                    0x32FE => array(0x30F2), 0x3300 => array(0x30A2, 0x30D1, 0x30FC, 0x30C8), 0x3301 => array(0x30A2, 0x30EB, 0x30D5, 0x30A1),
2167
-                    0x3302 => array(0x30A2, 0x30F3, 0x30DA, 0x30A2), 0x3303 => array(0x30A2, 0x30FC, 0x30EB), 0x3304 => array(0x30A4, 0x30CB, 0x30F3, 0x30B0),
2168
-                    0x3305 => array(0x30A4, 0x30F3, 0x30C1), 0x3306 => array(0x30A6, 0x30A9, 0x30F3), 0x3307 => array(0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9),
2169
-                    0x3308 => array(0x30A8, 0x30FC, 0x30AB, 0x30FC), 0x3309 => array(0x30AA, 0x30F3, 0x30B9), 0x330A => array(0x30AA, 0x30FC, 0x30E0),
2170
-                    0x330B => array(0x30AB, 0x30A4, 0x30EA), 0x330C => array(0x30AB, 0x30E9, 0x30C3, 0x30C8), 0x330D => array(0x30AB, 0x30ED, 0x30EA, 0x30FC),
2171
-                    0x330E => array(0x30AC, 0x30ED, 0x30F3), 0x330F => array(0x30AC, 0x30F3, 0x30DE), 0x3310 => array(0x30AE, 0x30AC),
2172
-                    0x3311 => array(0x30AE, 0x30CB, 0x30FC), 0x3312 => array(0x30AD, 0x30E5, 0x30EA, 0x30FC), 0x3313 => array(0x30AE, 0x30EB, 0x30C0, 0x30FC),
2173
-                    0x3314 => array(0x30AD, 0x30ED), 0x3315 => array(0x30AD, 0x30ED, 0x30B0, 0x30E9, 0x30E0), 0x3316 => array(0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB),
2174
-                    0x3317 => array(0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8), 0x3318 => array(0x30B0, 0x30E9, 0x30E0), 0x3319 => array(0x30B0, 0x30E9, 0x30E0, 0x30C8, 0x30F3),
2175
-                    0x331A => array(0x30AF, 0x30EB, 0x30BC, 0x30A4, 0x30ED), 0x331B => array(0x30AF, 0x30ED, 0x30FC, 0x30CD), 0x331C => array(0x30B1, 0x30FC, 0x30B9),
2176
-                    0x331D => array(0x30B3, 0x30EB, 0x30CA), 0x331E => array(0x30B3, 0x30FC, 0x30DD), 0x331F => array(0x30B5, 0x30A4, 0x30AF, 0x30EB),
2177
-                    0x3320 => array(0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0), 0x3321 => array(0x30B7, 0x30EA, 0x30F3, 0x30B0), 0x3322 => array(0x30BB, 0x30F3, 0x30C1),
2178
-                    0x3323 => array(0x30BB, 0x30F3, 0x30C8), 0x3324 => array(0x30C0, 0x30FC, 0x30B9), 0x3325 => array(0x30C7, 0x30B7),
2179
-                    0x3326 => array(0x30C9, 0x30EB), 0x3327 => array(0x30C8, 0x30F3), 0x3328 => array(0x30CA, 0x30CE),
2180
-                    0x3329 => array(0x30CE, 0x30C3, 0x30C8), 0x332A => array(0x30CF, 0x30A4, 0x30C4), 0x332B => array(0x30D1, 0x30FC, 0x30BB, 0x30F3, 0x30C8),
2181
-                    0x332C => array(0x30D1, 0x30FC, 0x30C4), 0x332D => array(0x30D0, 0x30FC, 0x30EC, 0x30EB), 0x332E => array(0x30D4, 0x30A2, 0x30B9, 0x30C8, 0x30EB),
2182
-                    0x332F => array(0x30D4, 0x30AF, 0x30EB), 0x3330 => array(0x30D4, 0x30B3), 0x3331 => array(0x30D3, 0x30EB),
2183
-                    0x3332 => array(0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9), 0x3333 => array(0x30D5, 0x30A3, 0x30FC, 0x30C8), 0x3334 => array(0x30D6, 0x30C3, 0x30B7, 0x30A7, 0x30EB),
2184
-                    0x3335 => array(0x30D5, 0x30E9, 0x30F3), 0x3336 => array(0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB), 0x3337 => array(0x30DA, 0x30BD),
2185
-                    0x3338 => array(0x30DA, 0x30CB, 0x30D2), 0x3339 => array(0x30D8, 0x30EB, 0x30C4), 0x333A => array(0x30DA, 0x30F3, 0x30B9),
2186
-                    0x333B => array(0x30DA, 0x30FC, 0x30B8), 0x333C => array(0x30D9, 0x30FC, 0x30BF), 0x333D => array(0x30DD, 0x30A4, 0x30F3, 0x30C8),
2187
-                    0x333E => array(0x30DC, 0x30EB, 0x30C8), 0x333F => array(0x30DB, 0x30F3), 0x3340 => array(0x30DD, 0x30F3, 0x30C9),
2188
-                    0x3341 => array(0x30DB, 0x30FC, 0x30EB), 0x3342 => array(0x30DB, 0x30FC, 0x30F3), 0x3343 => array(0x30DE, 0x30A4, 0x30AF, 0x30ED),
2189
-                    0x3344 => array(0x30DE, 0x30A4, 0x30EB), 0x3345 => array(0x30DE, 0x30C3, 0x30CF), 0x3346 => array(0x30DE, 0x30EB, 0x30AF),
2190
-                    0x3347 => array(0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3), 0x3348 => array(0x30DF, 0x30AF, 0x30ED, 0x30F3), 0x3349 => array(0x30DF, 0x30EA),
2191
-                    0x334A => array(0x30DF, 0x30EA, 0x30D0, 0x30FC, 0x30EB), 0x334B => array(0x30E1, 0x30AC), 0x334C => array(0x30E1, 0x30AC, 0x30C8, 0x30F3),
2192
-                    0x334D => array(0x30E1, 0x30FC, 0x30C8, 0x30EB), 0x334E => array(0x30E4, 0x30FC, 0x30C9), 0x334F => array(0x30E4, 0x30FC, 0x30EB),
2193
-                    0x3350 => array(0x30E6, 0x30A2, 0x30F3), 0x3351 => array(0x30EA, 0x30C3, 0x30C8, 0x30EB), 0x3352 => array(0x30EA, 0x30E9),
2194
-                    0x3353 => array(0x30EB, 0x30D4, 0x30FC), 0x3354 => array(0x30EB, 0x30FC, 0x30D6, 0x30EB), 0x3355 => array(0x30EC, 0x30E0),
2195
-                    0x3356 => array(0x30EC, 0x30F3, 0x30C8, 0x30B2, 0x30F3), 0x3357 => array(0x30EF, 0x30C3, 0x30C8), 0x3358 => array(0x30, 0x70B9),
2196
-                    0x3359 => array(0x31, 0x70B9), 0x335A => array(0x32, 0x70B9), 0x335B => array(0x33, 0x70B9),
2197
-                    0x335C => array(0x34, 0x70B9), 0x335D => array(0x35, 0x70B9), 0x335E => array(0x36, 0x70B9),
2198
-                    0x335F => array(0x37, 0x70B9), 0x3360 => array(0x38, 0x70B9), 0x3361 => array(0x39, 0x70B9),
2199
-                    0x3362 => array(0x31, 0x30, 0x70B9), 0x3363 => array(0x31, 0x31, 0x70B9), 0x3364 => array(0x31, 0x32, 0x70B9),
2200
-                    0x3365 => array(0x31, 0x33, 0x70B9), 0x3366 => array(0x31, 0x34, 0x70B9), 0x3367 => array(0x31, 0x35, 0x70B9),
2201
-                    0x3368 => array(0x31, 0x36, 0x70B9), 0x3369 => array(0x31, 0x37, 0x70B9), 0x336A => array(0x31, 0x38, 0x70B9),
2202
-                    0x336B => array(0x31, 0x39, 0x70B9), 0x336C => array(0x32, 0x30, 0x70B9), 0x336D => array(0x32, 0x31, 0x70B9),
2203
-                    0x336E => array(0x32, 0x32, 0x70B9), 0x336F => array(0x32, 0x33, 0x70B9), 0x3370 => array(0x32, 0x34, 0x70B9),
2204
-                    0x3371 => array(0x68, 0x70, 0x61), 0x3372 => array(0x64, 0x61), 0x3373 => array(0x61, 0x75),
2205
-                    0x3374 => array(0x62, 0x61, 0x72), 0x3375 => array(0x6F, 0x76), 0x3376 => array(0x70, 0x63),
2206
-                    0x3377 => array(0x64, 0x6D), 0x3378 => array(0x64, 0x6D, 0x32), 0x3379 => array(0x64, 0x6D, 0x33),
2207
-                    0x337A => array(0x69, 0x75), 0x337B => array(0x5E73, 0x6210), 0x337C => array(0x662D, 0x548C),
2208
-                    0x337D => array(0x5927, 0x6B63), 0x337E => array(0x660E, 0x6CBB), 0x337F => array(0x682A, 0x5F0F, 0x4F1A, 0x793E),
2209
-                    0x3380 => array(0x70, 0x61), 0x3381 => array(0x6E, 0x61), 0x3382 => array(0x3BC, 0x61),
2210
-                    0x3383 => array(0x6D, 0x61), 0x3384 => array(0x6B, 0x61), 0x3385 => array(0x6B, 0x62),
2211
-                    0x3386 => array(0x6D, 0x62), 0x3387 => array(0x67, 0x62), 0x3388 => array(0x63, 0x61, 0x6C),
2212
-                    0x3389 => array(0x6B, 0x63, 0x61, 0x6C), 0x338A => array(0x70, 0x66), 0x338B => array(0x6E, 0x66),
2213
-                    0x338C => array(0x3BC, 0x66), 0x338D => array(0x3BC, 0x67), 0x338E => array(0x6D, 0x67),
2214
-                    0x338F => array(0x6B, 0x67), 0x3390 => array(0x68, 0x7A), 0x3391 => array(0x6B, 0x68, 0x7A),
2215
-                    0x3392 => array(0x6D, 0x68, 0x7A), 0x3393 => array(0x67, 0x68, 0x7A), 0x3394 => array(0x74, 0x68, 0x7A),
2216
-                    0x3395 => array(0x3BC, 0x6C), 0x3396 => array(0x6D, 0x6C), 0x3397 => array(0x64, 0x6C),
2217
-                    0x3398 => array(0x6B, 0x6C), 0x3399 => array(0x66, 0x6D), 0x339A => array(0x6E, 0x6D),
2218
-                    0x339B => array(0x3BC, 0x6D), 0x339C => array(0x6D, 0x6D), 0x339D => array(0x63, 0x6D),
2219
-                    0x339E => array(0x6B, 0x6D), 0x339F => array(0x6D, 0x6D, 0x32), 0x33A0 => array(0x63, 0x6D, 0x32),
2220
-                    0x33A1 => array(0x6D, 0x32), 0x33A2 => array(0x6B, 0x6D, 0x32), 0x33A3 => array(0x6D, 0x6D, 0x33),
2221
-                    0x33A4 => array(0x63, 0x6D, 0x33), 0x33A5 => array(0x6D, 0x33), 0x33A6 => array(0x6B, 0x6D, 0x33),
2222
-                    0x33A7 => array(0x6D, 0x2215, 0x73), 0x33A8 => array(0x6D, 0x2215, 0x73, 0x32), 0x33A9 => array(0x70, 0x61),
2223
-                    0x33AA => array(0x6B, 0x70, 0x61), 0x33AB => array(0x6D, 0x70, 0x61), 0x33AC => array(0x67, 0x70, 0x61),
2224
-                    0x33AD => array(0x72, 0x61, 0x64), 0x33AE => array(0x72, 0x61, 0x64, 0x2215, 0x73), 0x33AF => array(0x72, 0x61, 0x64, 0x2215, 0x73, 0x32),
2225
-                    0x33B0 => array(0x70, 0x73), 0x33B1 => array(0x6E, 0x73), 0x33B2 => array(0x3BC, 0x73),
2226
-                    0x33B3 => array(0x6D, 0x73), 0x33B4 => array(0x70, 0x76), 0x33B5 => array(0x6E, 0x76),
2227
-                    0x33B6 => array(0x3BC, 0x76), 0x33B7 => array(0x6D, 0x76), 0x33B8 => array(0x6B, 0x76),
2228
-                    0x33B9 => array(0x6D, 0x76), 0x33BA => array(0x70, 0x77), 0x33BB => array(0x6E, 0x77),
2229
-                    0x33BC => array(0x3BC, 0x77), 0x33BD => array(0x6D, 0x77), 0x33BE => array(0x6B, 0x77),
2230
-                    0x33BF => array(0x6D, 0x77), 0x33C0 => array(0x6B, 0x3C9), 0x33C1 => array(0x6D, 0x3C9),
2231
-                    0x33C3 => array(0x62, 0x71), 0x33C4 => array(0x63, 0x63), 0x33C5 => array(0x63, 0x64),
2232
-                    0x33C6 => array(0x63, 0x2215, 0x6B, 0x67), 0x33C8 => array(0x64, 0x62), 0x33C9 => array(0x67, 0x79),
2233
-                    0x33CA => array(0x68, 0x61), 0x33CB => array(0x68, 0x70), 0x33CC => array(0x69, 0x6E),
2234
-                    0x33CD => array(0x6B, 0x6B), 0x33CE => array(0x6B, 0x6D), 0x33CF => array(0x6B, 0x74),
2235
-                    0x33D0 => array(0x6C, 0x6D), 0x33D1 => array(0x6C, 0x6E), 0x33D2 => array(0x6C, 0x6F, 0x67),
2236
-                    0x33D3 => array(0x6C, 0x78), 0x33D4 => array(0x6D, 0x62), 0x33D5 => array(0x6D, 0x69, 0x6C),
2237
-                    0x33D6 => array(0x6D, 0x6F, 0x6C), 0x33D7 => array(0x70, 0x68), 0x33D9 => array(0x70, 0x70, 0x6D),
2238
-                    0x33DA => array(0x70, 0x72), 0x33DB => array(0x73, 0x72), 0x33DC => array(0x73, 0x76),
2239
-                    0x33DD => array(0x77, 0x62), 0x33DE => array(0x76, 0x2215, 0x6D), 0x33DF => array(0x61, 0x2215, 0x6D),
2240
-                    0x33E0 => array(0x31, 0x65E5), 0x33E1 => array(0x32, 0x65E5), 0x33E2 => array(0x33, 0x65E5),
2241
-                    0x33E3 => array(0x34, 0x65E5), 0x33E4 => array(0x35, 0x65E5), 0x33E5 => array(0x36, 0x65E5),
2242
-                    0x33E6 => array(0x37, 0x65E5), 0x33E7 => array(0x38, 0x65E5), 0x33E8 => array(0x39, 0x65E5),
2243
-                    0x33E9 => array(0x31, 0x30, 0x65E5), 0x33EA => array(0x31, 0x31, 0x65E5), 0x33EB => array(0x31, 0x32, 0x65E5),
2244
-                    0x33EC => array(0x31, 0x33, 0x65E5), 0x33ED => array(0x31, 0x34, 0x65E5), 0x33EE => array(0x31, 0x35, 0x65E5),
2245
-                    0x33EF => array(0x31, 0x36, 0x65E5), 0x33F0 => array(0x31, 0x37, 0x65E5), 0x33F1 => array(0x31, 0x38, 0x65E5),
2246
-                    0x33F2 => array(0x31, 0x39, 0x65E5), 0x33F3 => array(0x32, 0x30, 0x65E5), 0x33F4 => array(0x32, 0x31, 0x65E5),
2247
-                    0x33F5 => array(0x32, 0x32, 0x65E5), 0x33F6 => array(0x32, 0x33, 0x65E5), 0x33F7 => array(0x32, 0x34, 0x65E5),
2248
-                    0x33F8 => array(0x32, 0x35, 0x65E5), 0x33F9 => array(0x32, 0x36, 0x65E5), 0x33FA => array(0x32, 0x37, 0x65E5),
2249
-                    0x33FB => array(0x32, 0x38, 0x65E5), 0x33FC => array(0x32, 0x39, 0x65E5), 0x33FD => array(0x33, 0x30, 0x65E5),
2250
-                    0x33FE => array(0x33, 0x31, 0x65E5), 0x33FF => array(0x67, 0x61, 0x6C), 0xA640 => array(0xA641),
2251
-                    0xA642 => array(0xA643), 0xA644 => array(0xA645), 0xA646 => array(0xA647),
2252
-                    0xA648 => array(0xA649), 0xA64A => array(0xA64B), 0xA64C => array(0xA64D),
2253
-                    0xA64E => array(0xA64F), 0xA650 => array(0xA651), 0xA652 => array(0xA653),
2254
-                    0xA654 => array(0xA655), 0xA656 => array(0xA657), 0xA658 => array(0xA659),
2255
-                    0xA65A => array(0xA65B), 0xA65C => array(0xA65D), 0xA65E => array(0xA65F),
2256
-                    0xA660 => array(0xA661), 0xA662 => array(0xA663), 0xA664 => array(0xA665),
2257
-                    0xA666 => array(0xA667), 0xA668 => array(0xA669), 0xA66A => array(0xA66B),
2258
-                    0xA66C => array(0xA66D), 0xA680 => array(0xA681), 0xA682 => array(0xA683),
2259
-                    0xA684 => array(0xA685), 0xA686 => array(0xA687), 0xA688 => array(0xA689),
2260
-                    0xA68A => array(0xA68B), 0xA68C => array(0xA68D), 0xA68E => array(0xA68F),
2261
-                    0xA690 => array(0xA691), 0xA692 => array(0xA693), 0xA694 => array(0xA695),
2262
-                    0xA696 => array(0xA697), 0xA698 => array(0xA699), 0xA69A => array(0xA69B),
2263
-                    0xA69C => array(0x44A), 0xA69D => array(0x44C), 0xA722 => array(0xA723),
2264
-                    0xA724 => array(0xA725), 0xA726 => array(0xA727), 0xA728 => array(0xA729),
2265
-                    0xA72A => array(0xA72B), 0xA72C => array(0xA72D), 0xA72E => array(0xA72F),
2266
-                    0xA732 => array(0xA733), 0xA734 => array(0xA735), 0xA736 => array(0xA737),
2267
-                    0xA738 => array(0xA739), 0xA73A => array(0xA73B), 0xA73C => array(0xA73D),
2268
-                    0xA73E => array(0xA73F), 0xA740 => array(0xA741), 0xA742 => array(0xA743),
2269
-                    0xA744 => array(0xA745), 0xA746 => array(0xA747), 0xA748 => array(0xA749),
2270
-                    0xA74A => array(0xA74B), 0xA74C => array(0xA74D), 0xA74E => array(0xA74F),
2271
-                    0xA750 => array(0xA751), 0xA752 => array(0xA753), 0xA754 => array(0xA755),
2272
-                    0xA756 => array(0xA757), 0xA758 => array(0xA759), 0xA75A => array(0xA75B),
2273
-                    0xA75C => array(0xA75D), 0xA75E => array(0xA75F), 0xA760 => array(0xA761),
2274
-                    0xA762 => array(0xA763), 0xA764 => array(0xA765), 0xA766 => array(0xA767),
2275
-                    0xA768 => array(0xA769), 0xA76A => array(0xA76B), 0xA76C => array(0xA76D),
2276
-                    0xA76E => array(0xA76F), 0xA770 => array(0xA76F), 0xA779 => array(0xA77A),
2277
-                    0xA77B => array(0xA77C), 0xA77D => array(0x1D79), 0xA77E => array(0xA77F),
2278
-                    0xA780 => array(0xA781), 0xA782 => array(0xA783), 0xA784 => array(0xA785),
2279
-                    0xA786 => array(0xA787), 0xA78B => array(0xA78C), 0xA78D => array(0x265),
2280
-                    0xA790 => array(0xA791), 0xA792 => array(0xA793), 0xA796 => array(0xA797),
2281
-                    0xA798 => array(0xA799), 0xA79A => array(0xA79B), 0xA79C => array(0xA79D),
2282
-                    0xA79E => array(0xA79F), 0xA7A0 => array(0xA7A1), 0xA7A2 => array(0xA7A3),
2283
-                    0xA7A4 => array(0xA7A5), 0xA7A6 => array(0xA7A7), 0xA7A8 => array(0xA7A9),
2284
-                    0xA7AA => array(0x266), 0xA7AB => array(0x25C), 0xA7AC => array(0x261),
2285
-                    0xA7AD => array(0x26C), 0xA7B0 => array(0x29E), 0xA7B1 => array(0x287),
2286
-                    0xA7F8 => array(0x127), 0xA7F9 => array(0x153), 0xAB5C => array(0xA727),
2287
-                    0xAB5D => array(0xAB37), 0xAB5E => array(0x26B), 0xAB5F => array(0xAB52),
2288
-                    0xF900 => array(0x8C48), 0xF901 => array(0x66F4), 0xF902 => array(0x8ECA),
2289
-                    0xF903 => array(0x8CC8), 0xF904 => array(0x6ED1), 0xF905 => array(0x4E32),
2290
-                    0xF906 => array(0x53E5), 0xF907 => array(0x9F9C), 0xF908 => array(0x9F9C),
2291
-                    0xF909 => array(0x5951), 0xF90A => array(0x91D1), 0xF90B => array(0x5587),
2292
-                    0xF90C => array(0x5948), 0xF90D => array(0x61F6), 0xF90E => array(0x7669),
2293
-                    0xF90F => array(0x7F85), 0xF910 => array(0x863F), 0xF911 => array(0x87BA),
2294
-                    0xF912 => array(0x88F8), 0xF913 => array(0x908F), 0xF914 => array(0x6A02),
2295
-                    0xF915 => array(0x6D1B), 0xF916 => array(0x70D9), 0xF917 => array(0x73DE),
2296
-                    0xF918 => array(0x843D), 0xF919 => array(0x916A), 0xF91A => array(0x99F1),
2297
-                    0xF91B => array(0x4E82), 0xF91C => array(0x5375), 0xF91D => array(0x6B04),
2298
-                    0xF91E => array(0x721B), 0xF91F => array(0x862D), 0xF920 => array(0x9E1E),
2299
-                    0xF921 => array(0x5D50), 0xF922 => array(0x6FEB), 0xF923 => array(0x85CD),
2300
-                    0xF924 => array(0x8964), 0xF925 => array(0x62C9), 0xF926 => array(0x81D8),
2301
-                    0xF927 => array(0x881F), 0xF928 => array(0x5ECA), 0xF929 => array(0x6717),
2302
-                    0xF92A => array(0x6D6A), 0xF92B => array(0x72FC), 0xF92C => array(0x90CE),
2303
-                    0xF92D => array(0x4F86), 0xF92E => array(0x51B7), 0xF92F => array(0x52DE),
2304
-                    0xF930 => array(0x64C4), 0xF931 => array(0x6AD3), 0xF932 => array(0x7210),
2305
-                    0xF933 => array(0x76E7), 0xF934 => array(0x8001), 0xF935 => array(0x8606),
2306
-                    0xF936 => array(0x865C), 0xF937 => array(0x8DEF), 0xF938 => array(0x9732),
2307
-                    0xF939 => array(0x9B6F), 0xF93A => array(0x9DFA), 0xF93B => array(0x788C),
2308
-                    0xF93C => array(0x797F), 0xF93D => array(0x7DA0), 0xF93E => array(0x83C9),
2309
-                    0xF93F => array(0x9304), 0xF940 => array(0x9E7F), 0xF941 => array(0x8AD6),
2310
-                    0xF942 => array(0x58DF), 0xF943 => array(0x5F04), 0xF944 => array(0x7C60),
2311
-                    0xF945 => array(0x807E), 0xF946 => array(0x7262), 0xF947 => array(0x78CA),
2312
-                    0xF948 => array(0x8CC2), 0xF949 => array(0x96F7), 0xF94A => array(0x58D8),
2313
-                    0xF94B => array(0x5C62), 0xF94C => array(0x6A13), 0xF94D => array(0x6DDA),
2314
-                    0xF94E => array(0x6F0F), 0xF94F => array(0x7D2F), 0xF950 => array(0x7E37),
2315
-                    0xF951 => array(0x964B), 0xF952 => array(0x52D2), 0xF953 => array(0x808B),
2316
-                    0xF954 => array(0x51DC), 0xF955 => array(0x51CC), 0xF956 => array(0x7A1C),
2317
-                    0xF957 => array(0x7DBE), 0xF958 => array(0x83F1), 0xF959 => array(0x9675),
2318
-                    0xF95A => array(0x8B80), 0xF95B => array(0x62CF), 0xF95C => array(0x6A02),
2319
-                    0xF95D => array(0x8AFE), 0xF95E => array(0x4E39), 0xF95F => array(0x5BE7),
2320
-                    0xF960 => array(0x6012), 0xF961 => array(0x7387), 0xF962 => array(0x7570),
2321
-                    0xF963 => array(0x5317), 0xF964 => array(0x78FB), 0xF965 => array(0x4FBF),
2322
-                    0xF966 => array(0x5FA9), 0xF967 => array(0x4E0D), 0xF968 => array(0x6CCC),
2323
-                    0xF969 => array(0x6578), 0xF96A => array(0x7D22), 0xF96B => array(0x53C3),
2324
-                    0xF96C => array(0x585E), 0xF96D => array(0x7701), 0xF96E => array(0x8449),
2325
-                    0xF96F => array(0x8AAA), 0xF970 => array(0x6BBA), 0xF971 => array(0x8FB0),
2326
-                    0xF972 => array(0x6C88), 0xF973 => array(0x62FE), 0xF974 => array(0x82E5),
2327
-                    0xF975 => array(0x63A0), 0xF976 => array(0x7565), 0xF977 => array(0x4EAE),
2328
-                    0xF978 => array(0x5169), 0xF979 => array(0x51C9), 0xF97A => array(0x6881),
2329
-                    0xF97B => array(0x7CE7), 0xF97C => array(0x826F), 0xF97D => array(0x8AD2),
2330
-                    0xF97E => array(0x91CF), 0xF97F => array(0x52F5), 0xF980 => array(0x5442),
2331
-                    0xF981 => array(0x5973), 0xF982 => array(0x5EEC), 0xF983 => array(0x65C5),
2332
-                    0xF984 => array(0x6FFE), 0xF985 => array(0x792A), 0xF986 => array(0x95AD),
2333
-                    0xF987 => array(0x9A6A), 0xF988 => array(0x9E97), 0xF989 => array(0x9ECE),
2334
-                    0xF98A => array(0x529B), 0xF98B => array(0x66C6), 0xF98C => array(0x6B77),
2335
-                    0xF98D => array(0x8F62), 0xF98E => array(0x5E74), 0xF98F => array(0x6190),
2336
-                    0xF990 => array(0x6200), 0xF991 => array(0x649A), 0xF992 => array(0x6F23),
2337
-                    0xF993 => array(0x7149), 0xF994 => array(0x7489), 0xF995 => array(0x79CA),
2338
-                    0xF996 => array(0x7DF4), 0xF997 => array(0x806F), 0xF998 => array(0x8F26),
2339
-                    0xF999 => array(0x84EE), 0xF99A => array(0x9023), 0xF99B => array(0x934A),
2340
-                    0xF99C => array(0x5217), 0xF99D => array(0x52A3), 0xF99E => array(0x54BD),
2341
-                    0xF99F => array(0x70C8), 0xF9A0 => array(0x88C2), 0xF9A1 => array(0x8AAA),
2342
-                    0xF9A2 => array(0x5EC9), 0xF9A3 => array(0x5FF5), 0xF9A4 => array(0x637B),
2343
-                    0xF9A5 => array(0x6BAE), 0xF9A6 => array(0x7C3E), 0xF9A7 => array(0x7375),
2344
-                    0xF9A8 => array(0x4EE4), 0xF9A9 => array(0x56F9), 0xF9AA => array(0x5BE7),
2345
-                    0xF9AB => array(0x5DBA), 0xF9AC => array(0x601C), 0xF9AD => array(0x73B2),
2346
-                    0xF9AE => array(0x7469), 0xF9AF => array(0x7F9A), 0xF9B0 => array(0x8046),
2347
-                    0xF9B1 => array(0x9234), 0xF9B2 => array(0x96F6), 0xF9B3 => array(0x9748),
2348
-                    0xF9B4 => array(0x9818), 0xF9B5 => array(0x4F8B), 0xF9B6 => array(0x79AE),
2349
-                    0xF9B7 => array(0x91B4), 0xF9B8 => array(0x96B8), 0xF9B9 => array(0x60E1),
2350
-                    0xF9BA => array(0x4E86), 0xF9BB => array(0x50DA), 0xF9BC => array(0x5BEE),
2351
-                    0xF9BD => array(0x5C3F), 0xF9BE => array(0x6599), 0xF9BF => array(0x6A02),
2352
-                    0xF9C0 => array(0x71CE), 0xF9C1 => array(0x7642), 0xF9C2 => array(0x84FC),
2353
-                    0xF9C3 => array(0x907C), 0xF9C4 => array(0x9F8D), 0xF9C5 => array(0x6688),
2354
-                    0xF9C6 => array(0x962E), 0xF9C7 => array(0x5289), 0xF9C8 => array(0x677B),
2355
-                    0xF9C9 => array(0x67F3), 0xF9CA => array(0x6D41), 0xF9CB => array(0x6E9C),
2356
-                    0xF9CC => array(0x7409), 0xF9CD => array(0x7559), 0xF9CE => array(0x786B),
2357
-                    0xF9CF => array(0x7D10), 0xF9D0 => array(0x985E), 0xF9D1 => array(0x516D),
2358
-                    0xF9D2 => array(0x622E), 0xF9D3 => array(0x9678), 0xF9D4 => array(0x502B),
2359
-                    0xF9D5 => array(0x5D19), 0xF9D6 => array(0x6DEA), 0xF9D7 => array(0x8F2A),
2360
-                    0xF9D8 => array(0x5F8B), 0xF9D9 => array(0x6144), 0xF9DA => array(0x6817),
2361
-                    0xF9DB => array(0x7387), 0xF9DC => array(0x9686), 0xF9DD => array(0x5229),
2362
-                    0xF9DE => array(0x540F), 0xF9DF => array(0x5C65), 0xF9E0 => array(0x6613),
2363
-                    0xF9E1 => array(0x674E), 0xF9E2 => array(0x68A8), 0xF9E3 => array(0x6CE5),
2364
-                    0xF9E4 => array(0x7406), 0xF9E5 => array(0x75E2), 0xF9E6 => array(0x7F79),
2365
-                    0xF9E7 => array(0x88CF), 0xF9E8 => array(0x88E1), 0xF9E9 => array(0x91CC),
2366
-                    0xF9EA => array(0x96E2), 0xF9EB => array(0x533F), 0xF9EC => array(0x6EBA),
2367
-                    0xF9ED => array(0x541D), 0xF9EE => array(0x71D0), 0xF9EF => array(0x7498),
2368
-                    0xF9F0 => array(0x85FA), 0xF9F1 => array(0x96A3), 0xF9F2 => array(0x9C57),
2369
-                    0xF9F3 => array(0x9E9F), 0xF9F4 => array(0x6797), 0xF9F5 => array(0x6DCB),
2370
-                    0xF9F6 => array(0x81E8), 0xF9F7 => array(0x7ACB), 0xF9F8 => array(0x7B20),
2371
-                    0xF9F9 => array(0x7C92), 0xF9FA => array(0x72C0), 0xF9FB => array(0x7099),
2372
-                    0xF9FC => array(0x8B58), 0xF9FD => array(0x4EC0), 0xF9FE => array(0x8336),
2373
-                    0xF9FF => array(0x523A), 0xFA00 => array(0x5207), 0xFA01 => array(0x5EA6),
2374
-                    0xFA02 => array(0x62D3), 0xFA03 => array(0x7CD6), 0xFA04 => array(0x5B85),
2375
-                    0xFA05 => array(0x6D1E), 0xFA06 => array(0x66B4), 0xFA07 => array(0x8F3B),
2376
-                    0xFA08 => array(0x884C), 0xFA09 => array(0x964D), 0xFA0A => array(0x898B),
2377
-                    0xFA0B => array(0x5ED3), 0xFA0C => array(0x5140), 0xFA0D => array(0x55C0),
2378
-                    0xFA10 => array(0x585A), 0xFA12 => array(0x6674), 0xFA15 => array(0x51DE),
2379
-                    0xFA16 => array(0x732A), 0xFA17 => array(0x76CA), 0xFA18 => array(0x793C),
2380
-                    0xFA19 => array(0x795E), 0xFA1A => array(0x7965), 0xFA1B => array(0x798F),
2381
-                    0xFA1C => array(0x9756), 0xFA1D => array(0x7CBE), 0xFA1E => array(0x7FBD),
2382
-                    0xFA20 => array(0x8612), 0xFA22 => array(0x8AF8), 0xFA25 => array(0x9038),
2383
-                    0xFA26 => array(0x90FD), 0xFA2A => array(0x98EF), 0xFA2B => array(0x98FC),
2384
-                    0xFA2C => array(0x9928), 0xFA2D => array(0x9DB4), 0xFA2E => array(0x90DE),
2385
-                    0xFA2F => array(0x96B7), 0xFA30 => array(0x4FAE), 0xFA31 => array(0x50E7),
2386
-                    0xFA32 => array(0x514D), 0xFA33 => array(0x52C9), 0xFA34 => array(0x52E4),
2387
-                    0xFA35 => array(0x5351), 0xFA36 => array(0x559D), 0xFA37 => array(0x5606),
2388
-                    0xFA38 => array(0x5668), 0xFA39 => array(0x5840), 0xFA3A => array(0x58A8),
2389
-                    0xFA3B => array(0x5C64), 0xFA3C => array(0x5C6E), 0xFA3D => array(0x6094),
2390
-                    0xFA3E => array(0x6168), 0xFA3F => array(0x618E), 0xFA40 => array(0x61F2),
2391
-                    0xFA41 => array(0x654F), 0xFA42 => array(0x65E2), 0xFA43 => array(0x6691),
2392
-                    0xFA44 => array(0x6885), 0xFA45 => array(0x6D77), 0xFA46 => array(0x6E1A),
2393
-                    0xFA47 => array(0x6F22), 0xFA48 => array(0x716E), 0xFA49 => array(0x722B),
2394
-                    0xFA4A => array(0x7422), 0xFA4B => array(0x7891), 0xFA4C => array(0x793E),
2395
-                    0xFA4D => array(0x7949), 0xFA4E => array(0x7948), 0xFA4F => array(0x7950),
2396
-                    0xFA50 => array(0x7956), 0xFA51 => array(0x795D), 0xFA52 => array(0x798D),
2397
-                    0xFA53 => array(0x798E), 0xFA54 => array(0x7A40), 0xFA55 => array(0x7A81),
2398
-                    0xFA56 => array(0x7BC0), 0xFA57 => array(0x7DF4), 0xFA58 => array(0x7E09),
2399
-                    0xFA59 => array(0x7E41), 0xFA5A => array(0x7F72), 0xFA5B => array(0x8005),
2400
-                    0xFA5C => array(0x81ED), 0xFA5D => array(0x8279), 0xFA5E => array(0x8279),
2401
-                    0xFA5F => array(0x8457), 0xFA60 => array(0x8910), 0xFA61 => array(0x8996),
2402
-                    0xFA62 => array(0x8B01), 0xFA63 => array(0x8B39), 0xFA64 => array(0x8CD3),
2403
-                    0xFA65 => array(0x8D08), 0xFA66 => array(0x8FB6), 0xFA67 => array(0x9038),
2404
-                    0xFA68 => array(0x96E3), 0xFA69 => array(0x97FF), 0xFA6A => array(0x983B),
2405
-                    0xFA6B => array(0x6075), 0xFA6C => array(0x242EE), 0xFA6D => array(0x8218),
2406
-                    0xFA70 => array(0x4E26), 0xFA71 => array(0x51B5), 0xFA72 => array(0x5168),
2407
-                    0xFA73 => array(0x4F80), 0xFA74 => array(0x5145), 0xFA75 => array(0x5180),
2408
-                    0xFA76 => array(0x52C7), 0xFA77 => array(0x52FA), 0xFA78 => array(0x559D),
2409
-                    0xFA79 => array(0x5555), 0xFA7A => array(0x5599), 0xFA7B => array(0x55E2),
2410
-                    0xFA7C => array(0x585A), 0xFA7D => array(0x58B3), 0xFA7E => array(0x5944),
2411
-                    0xFA7F => array(0x5954), 0xFA80 => array(0x5A62), 0xFA81 => array(0x5B28),
2412
-                    0xFA82 => array(0x5ED2), 0xFA83 => array(0x5ED9), 0xFA84 => array(0x5F69),
2413
-                    0xFA85 => array(0x5FAD), 0xFA86 => array(0x60D8), 0xFA87 => array(0x614E),
2414
-                    0xFA88 => array(0x6108), 0xFA89 => array(0x618E), 0xFA8A => array(0x6160),
2415
-                    0xFA8B => array(0x61F2), 0xFA8C => array(0x6234), 0xFA8D => array(0x63C4),
2416
-                    0xFA8E => array(0x641C), 0xFA8F => array(0x6452), 0xFA90 => array(0x6556),
2417
-                    0xFA91 => array(0x6674), 0xFA92 => array(0x6717), 0xFA93 => array(0x671B),
2418
-                    0xFA94 => array(0x6756), 0xFA95 => array(0x6B79), 0xFA96 => array(0x6BBA),
2419
-                    0xFA97 => array(0x6D41), 0xFA98 => array(0x6EDB), 0xFA99 => array(0x6ECB),
2420
-                    0xFA9A => array(0x6F22), 0xFA9B => array(0x701E), 0xFA9C => array(0x716E),
2421
-                    0xFA9D => array(0x77A7), 0xFA9E => array(0x7235), 0xFA9F => array(0x72AF),
2422
-                    0xFAA0 => array(0x732A), 0xFAA1 => array(0x7471), 0xFAA2 => array(0x7506),
2423
-                    0xFAA3 => array(0x753B), 0xFAA4 => array(0x761D), 0xFAA5 => array(0x761F),
2424
-                    0xFAA6 => array(0x76CA), 0xFAA7 => array(0x76DB), 0xFAA8 => array(0x76F4),
2425
-                    0xFAA9 => array(0x774A), 0xFAAA => array(0x7740), 0xFAAB => array(0x78CC),
2426
-                    0xFAAC => array(0x7AB1), 0xFAAD => array(0x7BC0), 0xFAAE => array(0x7C7B),
2427
-                    0xFAAF => array(0x7D5B), 0xFAB0 => array(0x7DF4), 0xFAB1 => array(0x7F3E),
2428
-                    0xFAB2 => array(0x8005), 0xFAB3 => array(0x8352), 0xFAB4 => array(0x83EF),
2429
-                    0xFAB5 => array(0x8779), 0xFAB6 => array(0x8941), 0xFAB7 => array(0x8986),
2430
-                    0xFAB8 => array(0x8996), 0xFAB9 => array(0x8ABF), 0xFABA => array(0x8AF8),
2431
-                    0xFABB => array(0x8ACB), 0xFABC => array(0x8B01), 0xFABD => array(0x8AFE),
2432
-                    0xFABE => array(0x8AED), 0xFABF => array(0x8B39), 0xFAC0 => array(0x8B8A),
2433
-                    0xFAC1 => array(0x8D08), 0xFAC2 => array(0x8F38), 0xFAC3 => array(0x9072),
2434
-                    0xFAC4 => array(0x9199), 0xFAC5 => array(0x9276), 0xFAC6 => array(0x967C),
2435
-                    0xFAC7 => array(0x96E3), 0xFAC8 => array(0x9756), 0xFAC9 => array(0x97DB),
2436
-                    0xFACA => array(0x97FF), 0xFACB => array(0x980B), 0xFACC => array(0x983B),
2437
-                    0xFACD => array(0x9B12), 0xFACE => array(0x9F9C), 0xFACF => array(0x2284A),
2438
-                    0xFAD0 => array(0x22844), 0xFAD1 => array(0x233D5), 0xFAD2 => array(0x3B9D),
2439
-                    0xFAD3 => array(0x4018), 0xFAD4 => array(0x4039), 0xFAD5 => array(0x25249),
2440
-                    0xFAD6 => array(0x25CD0), 0xFAD7 => array(0x27ED3), 0xFAD8 => array(0x9F43),
2441
-                    0xFAD9 => array(0x9F8E), 0xFB00 => array(0x66, 0x66), 0xFB01 => array(0x66, 0x69),
2442
-                    0xFB02 => array(0x66, 0x6C), 0xFB03 => array(0x66, 0x66, 0x69), 0xFB04 => array(0x66, 0x66, 0x6C),
2443
-                    0xFB05 => array(0x73, 0x74), 0xFB06 => array(0x73, 0x74), 0xFB13 => array(0x574, 0x576),
2444
-                    0xFB14 => array(0x574, 0x565), 0xFB15 => array(0x574, 0x56B), 0xFB16 => array(0x57E, 0x576),
2445
-                    0xFB17 => array(0x574, 0x56D), 0xFB1D => array(0x5D9, 0x5B4), 0xFB1F => array(0x5F2, 0x5B7),
2446
-                    0xFB20 => array(0x5E2), 0xFB21 => array(0x5D0), 0xFB22 => array(0x5D3),
2447
-                    0xFB23 => array(0x5D4), 0xFB24 => array(0x5DB), 0xFB25 => array(0x5DC),
2448
-                    0xFB26 => array(0x5DD), 0xFB27 => array(0x5E8), 0xFB28 => array(0x5EA),
2449
-                    0xFB2A => array(0x5E9, 0x5C1), 0xFB2B => array(0x5E9, 0x5C2), 0xFB2C => array(0x5E9, 0x5BC, 0x5C1),
2450
-                    0xFB2D => array(0x5E9, 0x5BC, 0x5C2), 0xFB2E => array(0x5D0, 0x5B7), 0xFB2F => array(0x5D0, 0x5B8),
2451
-                    0xFB30 => array(0x5D0, 0x5BC), 0xFB31 => array(0x5D1, 0x5BC), 0xFB32 => array(0x5D2, 0x5BC),
2452
-                    0xFB33 => array(0x5D3, 0x5BC), 0xFB34 => array(0x5D4, 0x5BC), 0xFB35 => array(0x5D5, 0x5BC),
2453
-                    0xFB36 => array(0x5D6, 0x5BC), 0xFB38 => array(0x5D8, 0x5BC), 0xFB39 => array(0x5D9, 0x5BC),
2454
-                    0xFB3A => array(0x5DA, 0x5BC), 0xFB3B => array(0x5DB, 0x5BC), 0xFB3C => array(0x5DC, 0x5BC),
2455
-                    0xFB3E => array(0x5DE, 0x5BC), 0xFB40 => array(0x5E0, 0x5BC), 0xFB41 => array(0x5E1, 0x5BC),
2456
-                    0xFB43 => array(0x5E3, 0x5BC), 0xFB44 => array(0x5E4, 0x5BC), 0xFB46 => array(0x5E6, 0x5BC),
2457
-                    0xFB47 => array(0x5E7, 0x5BC), 0xFB48 => array(0x5E8, 0x5BC), 0xFB49 => array(0x5E9, 0x5BC),
2458
-                    0xFB4A => array(0x5EA, 0x5BC), 0xFB4B => array(0x5D5, 0x5B9), 0xFB4C => array(0x5D1, 0x5BF),
2459
-                    0xFB4D => array(0x5DB, 0x5BF), 0xFB4E => array(0x5E4, 0x5BF), 0xFB4F => array(0x5D0, 0x5DC),
2460
-                    0xFB50 => array(0x671), 0xFB51 => array(0x671), 0xFB52 => array(0x67B),
2461
-                    0xFB53 => array(0x67B), 0xFB54 => array(0x67B), 0xFB55 => array(0x67B),
2462
-                    0xFB56 => array(0x67E), 0xFB57 => array(0x67E), 0xFB58 => array(0x67E),
2463
-                    0xFB59 => array(0x67E), 0xFB5A => array(0x680), 0xFB5B => array(0x680),
2464
-                    0xFB5C => array(0x680), 0xFB5D => array(0x680), 0xFB5E => array(0x67A),
2465
-                    0xFB5F => array(0x67A), 0xFB60 => array(0x67A), 0xFB61 => array(0x67A),
2466
-                    0xFB62 => array(0x67F), 0xFB63 => array(0x67F), 0xFB64 => array(0x67F),
2467
-                    0xFB65 => array(0x67F), 0xFB66 => array(0x679), 0xFB67 => array(0x679),
2468
-                    0xFB68 => array(0x679), 0xFB69 => array(0x679), 0xFB6A => array(0x6A4),
2469
-                    0xFB6B => array(0x6A4), 0xFB6C => array(0x6A4), 0xFB6D => array(0x6A4),
2470
-                    0xFB6E => array(0x6A6), 0xFB6F => array(0x6A6), 0xFB70 => array(0x6A6),
2471
-                    0xFB71 => array(0x6A6), 0xFB72 => array(0x684), 0xFB73 => array(0x684),
2472
-                    0xFB74 => array(0x684), 0xFB75 => array(0x684), 0xFB76 => array(0x683),
2473
-                    0xFB77 => array(0x683), 0xFB78 => array(0x683), 0xFB79 => array(0x683),
2474
-                    0xFB7A => array(0x686), 0xFB7B => array(0x686), 0xFB7C => array(0x686),
2475
-                    0xFB7D => array(0x686), 0xFB7E => array(0x687), 0xFB7F => array(0x687),
2476
-                    0xFB80 => array(0x687), 0xFB81 => array(0x687), 0xFB82 => array(0x68D),
2477
-                    0xFB83 => array(0x68D), 0xFB84 => array(0x68C), 0xFB85 => array(0x68C),
2478
-                    0xFB86 => array(0x68E), 0xFB87 => array(0x68E), 0xFB88 => array(0x688),
2479
-                    0xFB89 => array(0x688), 0xFB8A => array(0x698), 0xFB8B => array(0x698),
2480
-                    0xFB8C => array(0x691), 0xFB8D => array(0x691), 0xFB8E => array(0x6A9),
2481
-                    0xFB8F => array(0x6A9), 0xFB90 => array(0x6A9), 0xFB91 => array(0x6A9),
2482
-                    0xFB92 => array(0x6AF), 0xFB93 => array(0x6AF), 0xFB94 => array(0x6AF),
2483
-                    0xFB95 => array(0x6AF), 0xFB96 => array(0x6B3), 0xFB97 => array(0x6B3),
2484
-                    0xFB98 => array(0x6B3), 0xFB99 => array(0x6B3), 0xFB9A => array(0x6B1),
2485
-                    0xFB9B => array(0x6B1), 0xFB9C => array(0x6B1), 0xFB9D => array(0x6B1),
2486
-                    0xFB9E => array(0x6BA), 0xFB9F => array(0x6BA), 0xFBA0 => array(0x6BB),
2487
-                    0xFBA1 => array(0x6BB), 0xFBA2 => array(0x6BB), 0xFBA3 => array(0x6BB),
2488
-                    0xFBA4 => array(0x6C0), 0xFBA5 => array(0x6C0), 0xFBA6 => array(0x6C1),
2489
-                    0xFBA7 => array(0x6C1), 0xFBA8 => array(0x6C1), 0xFBA9 => array(0x6C1),
2490
-                    0xFBAA => array(0x6BE), 0xFBAB => array(0x6BE), 0xFBAC => array(0x6BE),
2491
-                    0xFBAD => array(0x6BE), 0xFBAE => array(0x6D2), 0xFBAF => array(0x6D2),
2492
-                    0xFBB0 => array(0x6D3), 0xFBB1 => array(0x6D3), 0xFBD3 => array(0x6AD),
2493
-                    0xFBD4 => array(0x6AD), 0xFBD5 => array(0x6AD), 0xFBD6 => array(0x6AD),
2494
-                    0xFBD7 => array(0x6C7), 0xFBD8 => array(0x6C7), 0xFBD9 => array(0x6C6),
2495
-                    0xFBDA => array(0x6C6), 0xFBDB => array(0x6C8), 0xFBDC => array(0x6C8),
2496
-                    0xFBDD => array(0x6C7, 0x674), 0xFBDE => array(0x6CB), 0xFBDF => array(0x6CB),
2497
-                    0xFBE0 => array(0x6C5), 0xFBE1 => array(0x6C5), 0xFBE2 => array(0x6C9),
2498
-                    0xFBE3 => array(0x6C9), 0xFBE4 => array(0x6D0), 0xFBE5 => array(0x6D0),
2499
-                    0xFBE6 => array(0x6D0), 0xFBE7 => array(0x6D0), 0xFBE8 => array(0x649),
2500
-                    0xFBE9 => array(0x649), 0xFBEA => array(0x626, 0x627), 0xFBEB => array(0x626, 0x627),
2501
-                    0xFBEC => array(0x626, 0x6D5), 0xFBED => array(0x626, 0x6D5), 0xFBEE => array(0x626, 0x648),
2502
-                    0xFBEF => array(0x626, 0x648), 0xFBF0 => array(0x626, 0x6C7), 0xFBF1 => array(0x626, 0x6C7),
2503
-                    0xFBF2 => array(0x626, 0x6C6), 0xFBF3 => array(0x626, 0x6C6), 0xFBF4 => array(0x626, 0x6C8),
2504
-                    0xFBF5 => array(0x626, 0x6C8), 0xFBF6 => array(0x626, 0x6D0), 0xFBF7 => array(0x626, 0x6D0),
2505
-                    0xFBF8 => array(0x626, 0x6D0), 0xFBF9 => array(0x626, 0x649), 0xFBFA => array(0x626, 0x649),
2506
-                    0xFBFB => array(0x626, 0x649), 0xFBFC => array(0x6CC), 0xFBFD => array(0x6CC),
2507
-                    0xFBFE => array(0x6CC), 0xFBFF => array(0x6CC), 0xFC00 => array(0x626, 0x62C),
2508
-                    0xFC01 => array(0x626, 0x62D), 0xFC02 => array(0x626, 0x645), 0xFC03 => array(0x626, 0x649),
2509
-                    0xFC04 => array(0x626, 0x64A), 0xFC05 => array(0x628, 0x62C), 0xFC06 => array(0x628, 0x62D),
2510
-                    0xFC07 => array(0x628, 0x62E), 0xFC08 => array(0x628, 0x645), 0xFC09 => array(0x628, 0x649),
2511
-                    0xFC0A => array(0x628, 0x64A), 0xFC0B => array(0x62A, 0x62C), 0xFC0C => array(0x62A, 0x62D),
2512
-                    0xFC0D => array(0x62A, 0x62E), 0xFC0E => array(0x62A, 0x645), 0xFC0F => array(0x62A, 0x649),
2513
-                    0xFC10 => array(0x62A, 0x64A), 0xFC11 => array(0x62B, 0x62C), 0xFC12 => array(0x62B, 0x645),
2514
-                    0xFC13 => array(0x62B, 0x649), 0xFC14 => array(0x62B, 0x64A), 0xFC15 => array(0x62C, 0x62D),
2515
-                    0xFC16 => array(0x62C, 0x645), 0xFC17 => array(0x62D, 0x62C), 0xFC18 => array(0x62D, 0x645),
2516
-                    0xFC19 => array(0x62E, 0x62C), 0xFC1A => array(0x62E, 0x62D), 0xFC1B => array(0x62E, 0x645),
2517
-                    0xFC1C => array(0x633, 0x62C), 0xFC1D => array(0x633, 0x62D), 0xFC1E => array(0x633, 0x62E),
2518
-                    0xFC1F => array(0x633, 0x645), 0xFC20 => array(0x635, 0x62D), 0xFC21 => array(0x635, 0x645),
2519
-                    0xFC22 => array(0x636, 0x62C), 0xFC23 => array(0x636, 0x62D), 0xFC24 => array(0x636, 0x62E),
2520
-                    0xFC25 => array(0x636, 0x645), 0xFC26 => array(0x637, 0x62D), 0xFC27 => array(0x637, 0x645),
2521
-                    0xFC28 => array(0x638, 0x645), 0xFC29 => array(0x639, 0x62C), 0xFC2A => array(0x639, 0x645),
2522
-                    0xFC2B => array(0x63A, 0x62C), 0xFC2C => array(0x63A, 0x645), 0xFC2D => array(0x641, 0x62C),
2523
-                    0xFC2E => array(0x641, 0x62D), 0xFC2F => array(0x641, 0x62E), 0xFC30 => array(0x641, 0x645),
2524
-                    0xFC31 => array(0x641, 0x649), 0xFC32 => array(0x641, 0x64A), 0xFC33 => array(0x642, 0x62D),
2525
-                    0xFC34 => array(0x642, 0x645), 0xFC35 => array(0x642, 0x649), 0xFC36 => array(0x642, 0x64A),
2526
-                    0xFC37 => array(0x643, 0x627), 0xFC38 => array(0x643, 0x62C), 0xFC39 => array(0x643, 0x62D),
2527
-                    0xFC3A => array(0x643, 0x62E), 0xFC3B => array(0x643, 0x644), 0xFC3C => array(0x643, 0x645),
2528
-                    0xFC3D => array(0x643, 0x649), 0xFC3E => array(0x643, 0x64A), 0xFC3F => array(0x644, 0x62C),
2529
-                    0xFC40 => array(0x644, 0x62D), 0xFC41 => array(0x644, 0x62E), 0xFC42 => array(0x644, 0x645),
2530
-                    0xFC43 => array(0x644, 0x649), 0xFC44 => array(0x644, 0x64A), 0xFC45 => array(0x645, 0x62C),
2531
-                    0xFC46 => array(0x645, 0x62D), 0xFC47 => array(0x645, 0x62E), 0xFC48 => array(0x645, 0x645),
2532
-                    0xFC49 => array(0x645, 0x649), 0xFC4A => array(0x645, 0x64A), 0xFC4B => array(0x646, 0x62C),
2533
-                    0xFC4C => array(0x646, 0x62D), 0xFC4D => array(0x646, 0x62E), 0xFC4E => array(0x646, 0x645),
2534
-                    0xFC4F => array(0x646, 0x649), 0xFC50 => array(0x646, 0x64A), 0xFC51 => array(0x647, 0x62C),
2535
-                    0xFC52 => array(0x647, 0x645), 0xFC53 => array(0x647, 0x649), 0xFC54 => array(0x647, 0x64A),
2536
-                    0xFC55 => array(0x64A, 0x62C), 0xFC56 => array(0x64A, 0x62D), 0xFC57 => array(0x64A, 0x62E),
2537
-                    0xFC58 => array(0x64A, 0x645), 0xFC59 => array(0x64A, 0x649), 0xFC5A => array(0x64A, 0x64A),
2538
-                    0xFC5B => array(0x630, 0x670), 0xFC5C => array(0x631, 0x670), 0xFC5D => array(0x649, 0x670),
2539
-                    0xFC64 => array(0x626, 0x631), 0xFC65 => array(0x626, 0x632), 0xFC66 => array(0x626, 0x645),
2540
-                    0xFC67 => array(0x626, 0x646), 0xFC68 => array(0x626, 0x649), 0xFC69 => array(0x626, 0x64A),
2541
-                    0xFC6A => array(0x628, 0x631), 0xFC6B => array(0x628, 0x632), 0xFC6C => array(0x628, 0x645),
2542
-                    0xFC6D => array(0x628, 0x646), 0xFC6E => array(0x628, 0x649), 0xFC6F => array(0x628, 0x64A),
2543
-                    0xFC70 => array(0x62A, 0x631), 0xFC71 => array(0x62A, 0x632), 0xFC72 => array(0x62A, 0x645),
2544
-                    0xFC73 => array(0x62A, 0x646), 0xFC74 => array(0x62A, 0x649), 0xFC75 => array(0x62A, 0x64A),
2545
-                    0xFC76 => array(0x62B, 0x631), 0xFC77 => array(0x62B, 0x632), 0xFC78 => array(0x62B, 0x645),
2546
-                    0xFC79 => array(0x62B, 0x646), 0xFC7A => array(0x62B, 0x649), 0xFC7B => array(0x62B, 0x64A),
2547
-                    0xFC7C => array(0x641, 0x649), 0xFC7D => array(0x641, 0x64A), 0xFC7E => array(0x642, 0x649),
2548
-                    0xFC7F => array(0x642, 0x64A), 0xFC80 => array(0x643, 0x627), 0xFC81 => array(0x643, 0x644),
2549
-                    0xFC82 => array(0x643, 0x645), 0xFC83 => array(0x643, 0x649), 0xFC84 => array(0x643, 0x64A),
2550
-                    0xFC85 => array(0x644, 0x645), 0xFC86 => array(0x644, 0x649), 0xFC87 => array(0x644, 0x64A),
2551
-                    0xFC88 => array(0x645, 0x627), 0xFC89 => array(0x645, 0x645), 0xFC8A => array(0x646, 0x631),
2552
-                    0xFC8B => array(0x646, 0x632), 0xFC8C => array(0x646, 0x645), 0xFC8D => array(0x646, 0x646),
2553
-                    0xFC8E => array(0x646, 0x649), 0xFC8F => array(0x646, 0x64A), 0xFC90 => array(0x649, 0x670),
2554
-                    0xFC91 => array(0x64A, 0x631), 0xFC92 => array(0x64A, 0x632), 0xFC93 => array(0x64A, 0x645),
2555
-                    0xFC94 => array(0x64A, 0x646), 0xFC95 => array(0x64A, 0x649), 0xFC96 => array(0x64A, 0x64A),
2556
-                    0xFC97 => array(0x626, 0x62C), 0xFC98 => array(0x626, 0x62D), 0xFC99 => array(0x626, 0x62E),
2557
-                    0xFC9A => array(0x626, 0x645), 0xFC9B => array(0x626, 0x647), 0xFC9C => array(0x628, 0x62C),
2558
-                    0xFC9D => array(0x628, 0x62D), 0xFC9E => array(0x628, 0x62E), 0xFC9F => array(0x628, 0x645),
2559
-                    0xFCA0 => array(0x628, 0x647), 0xFCA1 => array(0x62A, 0x62C), 0xFCA2 => array(0x62A, 0x62D),
2560
-                    0xFCA3 => array(0x62A, 0x62E), 0xFCA4 => array(0x62A, 0x645), 0xFCA5 => array(0x62A, 0x647),
2561
-                    0xFCA6 => array(0x62B, 0x645), 0xFCA7 => array(0x62C, 0x62D), 0xFCA8 => array(0x62C, 0x645),
2562
-                    0xFCA9 => array(0x62D, 0x62C), 0xFCAA => array(0x62D, 0x645), 0xFCAB => array(0x62E, 0x62C),
2563
-                    0xFCAC => array(0x62E, 0x645), 0xFCAD => array(0x633, 0x62C), 0xFCAE => array(0x633, 0x62D),
2564
-                    0xFCAF => array(0x633, 0x62E), 0xFCB0 => array(0x633, 0x645), 0xFCB1 => array(0x635, 0x62D),
2565
-                    0xFCB2 => array(0x635, 0x62E), 0xFCB3 => array(0x635, 0x645), 0xFCB4 => array(0x636, 0x62C),
2566
-                    0xFCB5 => array(0x636, 0x62D), 0xFCB6 => array(0x636, 0x62E), 0xFCB7 => array(0x636, 0x645),
2567
-                    0xFCB8 => array(0x637, 0x62D), 0xFCB9 => array(0x638, 0x645), 0xFCBA => array(0x639, 0x62C),
2568
-                    0xFCBB => array(0x639, 0x645), 0xFCBC => array(0x63A, 0x62C), 0xFCBD => array(0x63A, 0x645),
2569
-                    0xFCBE => array(0x641, 0x62C), 0xFCBF => array(0x641, 0x62D), 0xFCC0 => array(0x641, 0x62E),
2570
-                    0xFCC1 => array(0x641, 0x645), 0xFCC2 => array(0x642, 0x62D), 0xFCC3 => array(0x642, 0x645),
2571
-                    0xFCC4 => array(0x643, 0x62C), 0xFCC5 => array(0x643, 0x62D), 0xFCC6 => array(0x643, 0x62E),
2572
-                    0xFCC7 => array(0x643, 0x644), 0xFCC8 => array(0x643, 0x645), 0xFCC9 => array(0x644, 0x62C),
2573
-                    0xFCCA => array(0x644, 0x62D), 0xFCCB => array(0x644, 0x62E), 0xFCCC => array(0x644, 0x645),
2574
-                    0xFCCD => array(0x644, 0x647), 0xFCCE => array(0x645, 0x62C), 0xFCCF => array(0x645, 0x62D),
2575
-                    0xFCD0 => array(0x645, 0x62E), 0xFCD1 => array(0x645, 0x645), 0xFCD2 => array(0x646, 0x62C),
2576
-                    0xFCD3 => array(0x646, 0x62D), 0xFCD4 => array(0x646, 0x62E), 0xFCD5 => array(0x646, 0x645),
2577
-                    0xFCD6 => array(0x646, 0x647), 0xFCD7 => array(0x647, 0x62C), 0xFCD8 => array(0x647, 0x645),
2578
-                    0xFCD9 => array(0x647, 0x670), 0xFCDA => array(0x64A, 0x62C), 0xFCDB => array(0x64A, 0x62D),
2579
-                    0xFCDC => array(0x64A, 0x62E), 0xFCDD => array(0x64A, 0x645), 0xFCDE => array(0x64A, 0x647),
2580
-                    0xFCDF => array(0x626, 0x645), 0xFCE0 => array(0x626, 0x647), 0xFCE1 => array(0x628, 0x645),
2581
-                    0xFCE2 => array(0x628, 0x647), 0xFCE3 => array(0x62A, 0x645), 0xFCE4 => array(0x62A, 0x647),
2582
-                    0xFCE5 => array(0x62B, 0x645), 0xFCE6 => array(0x62B, 0x647), 0xFCE7 => array(0x633, 0x645),
2583
-                    0xFCE8 => array(0x633, 0x647), 0xFCE9 => array(0x634, 0x645), 0xFCEA => array(0x634, 0x647),
2584
-                    0xFCEB => array(0x643, 0x644), 0xFCEC => array(0x643, 0x645), 0xFCED => array(0x644, 0x645),
2585
-                    0xFCEE => array(0x646, 0x645), 0xFCEF => array(0x646, 0x647), 0xFCF0 => array(0x64A, 0x645),
2586
-                    0xFCF1 => array(0x64A, 0x647), 0xFCF2 => array(0x640, 0x64E, 0x651), 0xFCF3 => array(0x640, 0x64F, 0x651),
2587
-                    0xFCF4 => array(0x640, 0x650, 0x651), 0xFCF5 => array(0x637, 0x649), 0xFCF6 => array(0x637, 0x64A),
2588
-                    0xFCF7 => array(0x639, 0x649), 0xFCF8 => array(0x639, 0x64A), 0xFCF9 => array(0x63A, 0x649),
2589
-                    0xFCFA => array(0x63A, 0x64A), 0xFCFB => array(0x633, 0x649), 0xFCFC => array(0x633, 0x64A),
2590
-                    0xFCFD => array(0x634, 0x649), 0xFCFE => array(0x634, 0x64A), 0xFCFF => array(0x62D, 0x649),
2591
-                    0xFD00 => array(0x62D, 0x64A), 0xFD01 => array(0x62C, 0x649), 0xFD02 => array(0x62C, 0x64A),
2592
-                    0xFD03 => array(0x62E, 0x649), 0xFD04 => array(0x62E, 0x64A), 0xFD05 => array(0x635, 0x649),
2593
-                    0xFD06 => array(0x635, 0x64A), 0xFD07 => array(0x636, 0x649), 0xFD08 => array(0x636, 0x64A),
2594
-                    0xFD09 => array(0x634, 0x62C), 0xFD0A => array(0x634, 0x62D), 0xFD0B => array(0x634, 0x62E),
2595
-                    0xFD0C => array(0x634, 0x645), 0xFD0D => array(0x634, 0x631), 0xFD0E => array(0x633, 0x631),
2596
-                    0xFD0F => array(0x635, 0x631), 0xFD10 => array(0x636, 0x631), 0xFD11 => array(0x637, 0x649),
2597
-                    0xFD12 => array(0x637, 0x64A), 0xFD13 => array(0x639, 0x649), 0xFD14 => array(0x639, 0x64A),
2598
-                    0xFD15 => array(0x63A, 0x649), 0xFD16 => array(0x63A, 0x64A), 0xFD17 => array(0x633, 0x649),
2599
-                    0xFD18 => array(0x633, 0x64A), 0xFD19 => array(0x634, 0x649), 0xFD1A => array(0x634, 0x64A),
2600
-                    0xFD1B => array(0x62D, 0x649), 0xFD1C => array(0x62D, 0x64A), 0xFD1D => array(0x62C, 0x649),
2601
-                    0xFD1E => array(0x62C, 0x64A), 0xFD1F => array(0x62E, 0x649), 0xFD20 => array(0x62E, 0x64A),
2602
-                    0xFD21 => array(0x635, 0x649), 0xFD22 => array(0x635, 0x64A), 0xFD23 => array(0x636, 0x649),
2603
-                    0xFD24 => array(0x636, 0x64A), 0xFD25 => array(0x634, 0x62C), 0xFD26 => array(0x634, 0x62D),
2604
-                    0xFD27 => array(0x634, 0x62E), 0xFD28 => array(0x634, 0x645), 0xFD29 => array(0x634, 0x631),
2605
-                    0xFD2A => array(0x633, 0x631), 0xFD2B => array(0x635, 0x631), 0xFD2C => array(0x636, 0x631),
2606
-                    0xFD2D => array(0x634, 0x62C), 0xFD2E => array(0x634, 0x62D), 0xFD2F => array(0x634, 0x62E),
2607
-                    0xFD30 => array(0x634, 0x645), 0xFD31 => array(0x633, 0x647), 0xFD32 => array(0x634, 0x647),
2608
-                    0xFD33 => array(0x637, 0x645), 0xFD34 => array(0x633, 0x62C), 0xFD35 => array(0x633, 0x62D),
2609
-                    0xFD36 => array(0x633, 0x62E), 0xFD37 => array(0x634, 0x62C), 0xFD38 => array(0x634, 0x62D),
2610
-                    0xFD39 => array(0x634, 0x62E), 0xFD3A => array(0x637, 0x645), 0xFD3B => array(0x638, 0x645),
2611
-                    0xFD3C => array(0x627, 0x64B), 0xFD3D => array(0x627, 0x64B), 0xFD50 => array(0x62A, 0x62C, 0x645),
2612
-                    0xFD51 => array(0x62A, 0x62D, 0x62C), 0xFD52 => array(0x62A, 0x62D, 0x62C), 0xFD53 => array(0x62A, 0x62D, 0x645),
2613
-                    0xFD54 => array(0x62A, 0x62E, 0x645), 0xFD55 => array(0x62A, 0x645, 0x62C), 0xFD56 => array(0x62A, 0x645, 0x62D),
2614
-                    0xFD57 => array(0x62A, 0x645, 0x62E), 0xFD58 => array(0x62C, 0x645, 0x62D), 0xFD59 => array(0x62C, 0x645, 0x62D),
2615
-                    0xFD5A => array(0x62D, 0x645, 0x64A), 0xFD5B => array(0x62D, 0x645, 0x649), 0xFD5C => array(0x633, 0x62D, 0x62C),
2616
-                    0xFD5D => array(0x633, 0x62C, 0x62D), 0xFD5E => array(0x633, 0x62C, 0x649), 0xFD5F => array(0x633, 0x645, 0x62D),
2617
-                    0xFD60 => array(0x633, 0x645, 0x62D), 0xFD61 => array(0x633, 0x645, 0x62C), 0xFD62 => array(0x633, 0x645, 0x645),
2618
-                    0xFD63 => array(0x633, 0x645, 0x645), 0xFD64 => array(0x635, 0x62D, 0x62D), 0xFD65 => array(0x635, 0x62D, 0x62D),
2619
-                    0xFD66 => array(0x635, 0x645, 0x645), 0xFD67 => array(0x634, 0x62D, 0x645), 0xFD68 => array(0x634, 0x62D, 0x645),
2620
-                    0xFD69 => array(0x634, 0x62C, 0x64A), 0xFD6A => array(0x634, 0x645, 0x62E), 0xFD6B => array(0x634, 0x645, 0x62E),
2621
-                    0xFD6C => array(0x634, 0x645, 0x645), 0xFD6D => array(0x634, 0x645, 0x645), 0xFD6E => array(0x636, 0x62D, 0x649),
2622
-                    0xFD6F => array(0x636, 0x62E, 0x645), 0xFD70 => array(0x636, 0x62E, 0x645), 0xFD71 => array(0x637, 0x645, 0x62D),
2623
-                    0xFD72 => array(0x637, 0x645, 0x62D), 0xFD73 => array(0x637, 0x645, 0x645), 0xFD74 => array(0x637, 0x645, 0x64A),
2624
-                    0xFD75 => array(0x639, 0x62C, 0x645), 0xFD76 => array(0x639, 0x645, 0x645), 0xFD77 => array(0x639, 0x645, 0x645),
2625
-                    0xFD78 => array(0x639, 0x645, 0x649), 0xFD79 => array(0x63A, 0x645, 0x645), 0xFD7A => array(0x63A, 0x645, 0x64A),
2626
-                    0xFD7B => array(0x63A, 0x645, 0x649), 0xFD7C => array(0x641, 0x62E, 0x645), 0xFD7D => array(0x641, 0x62E, 0x645),
2627
-                    0xFD7E => array(0x642, 0x645, 0x62D), 0xFD7F => array(0x642, 0x645, 0x645), 0xFD80 => array(0x644, 0x62D, 0x645),
2628
-                    0xFD81 => array(0x644, 0x62D, 0x64A), 0xFD82 => array(0x644, 0x62D, 0x649), 0xFD83 => array(0x644, 0x62C, 0x62C),
2629
-                    0xFD84 => array(0x644, 0x62C, 0x62C), 0xFD85 => array(0x644, 0x62E, 0x645), 0xFD86 => array(0x644, 0x62E, 0x645),
2630
-                    0xFD87 => array(0x644, 0x645, 0x62D), 0xFD88 => array(0x644, 0x645, 0x62D), 0xFD89 => array(0x645, 0x62D, 0x62C),
2631
-                    0xFD8A => array(0x645, 0x62D, 0x645), 0xFD8B => array(0x645, 0x62D, 0x64A), 0xFD8C => array(0x645, 0x62C, 0x62D),
2632
-                    0xFD8D => array(0x645, 0x62C, 0x645), 0xFD8E => array(0x645, 0x62E, 0x62C), 0xFD8F => array(0x645, 0x62E, 0x645),
2633
-                    0xFD92 => array(0x645, 0x62C, 0x62E), 0xFD93 => array(0x647, 0x645, 0x62C), 0xFD94 => array(0x647, 0x645, 0x645),
2634
-                    0xFD95 => array(0x646, 0x62D, 0x645), 0xFD96 => array(0x646, 0x62D, 0x649), 0xFD97 => array(0x646, 0x62C, 0x645),
2635
-                    0xFD98 => array(0x646, 0x62C, 0x645), 0xFD99 => array(0x646, 0x62C, 0x649), 0xFD9A => array(0x646, 0x645, 0x64A),
2636
-                    0xFD9B => array(0x646, 0x645, 0x649), 0xFD9C => array(0x64A, 0x645, 0x645), 0xFD9D => array(0x64A, 0x645, 0x645),
2637
-                    0xFD9E => array(0x628, 0x62E, 0x64A), 0xFD9F => array(0x62A, 0x62C, 0x64A), 0xFDA0 => array(0x62A, 0x62C, 0x649),
2638
-                    0xFDA1 => array(0x62A, 0x62E, 0x64A), 0xFDA2 => array(0x62A, 0x62E, 0x649), 0xFDA3 => array(0x62A, 0x645, 0x64A),
2639
-                    0xFDA4 => array(0x62A, 0x645, 0x649), 0xFDA5 => array(0x62C, 0x645, 0x64A), 0xFDA6 => array(0x62C, 0x62D, 0x649),
2640
-                    0xFDA7 => array(0x62C, 0x645, 0x649), 0xFDA8 => array(0x633, 0x62E, 0x649), 0xFDA9 => array(0x635, 0x62D, 0x64A),
2641
-                    0xFDAA => array(0x634, 0x62D, 0x64A), 0xFDAB => array(0x636, 0x62D, 0x64A), 0xFDAC => array(0x644, 0x62C, 0x64A),
2642
-                    0xFDAD => array(0x644, 0x645, 0x64A), 0xFDAE => array(0x64A, 0x62D, 0x64A), 0xFDAF => array(0x64A, 0x62C, 0x64A),
2643
-                    0xFDB0 => array(0x64A, 0x645, 0x64A), 0xFDB1 => array(0x645, 0x645, 0x64A), 0xFDB2 => array(0x642, 0x645, 0x64A),
2644
-                    0xFDB3 => array(0x646, 0x62D, 0x64A), 0xFDB4 => array(0x642, 0x645, 0x62D), 0xFDB5 => array(0x644, 0x62D, 0x645),
2645
-                    0xFDB6 => array(0x639, 0x645, 0x64A), 0xFDB7 => array(0x643, 0x645, 0x64A), 0xFDB8 => array(0x646, 0x62C, 0x62D),
2646
-                    0xFDB9 => array(0x645, 0x62E, 0x64A), 0xFDBA => array(0x644, 0x62C, 0x645), 0xFDBB => array(0x643, 0x645, 0x645),
2647
-                    0xFDBC => array(0x644, 0x62C, 0x645), 0xFDBD => array(0x646, 0x62C, 0x62D), 0xFDBE => array(0x62C, 0x62D, 0x64A),
2648
-                    0xFDBF => array(0x62D, 0x62C, 0x64A), 0xFDC0 => array(0x645, 0x62C, 0x64A), 0xFDC1 => array(0x641, 0x645, 0x64A),
2649
-                    0xFDC2 => array(0x628, 0x62D, 0x64A), 0xFDC3 => array(0x643, 0x645, 0x645), 0xFDC4 => array(0x639, 0x62C, 0x645),
2650
-                    0xFDC5 => array(0x635, 0x645, 0x645), 0xFDC6 => array(0x633, 0x62E, 0x64A), 0xFDC7 => array(0x646, 0x62C, 0x64A),
2651
-                    0xFDF0 => array(0x635, 0x644, 0x6D2), 0xFDF1 => array(0x642, 0x644, 0x6D2), 0xFDF2 => array(0x627, 0x644, 0x644, 0x647),
2652
-                    0xFDF3 => array(0x627, 0x643, 0x628, 0x631), 0xFDF4 => array(0x645, 0x62D, 0x645, 0x62F), 0xFDF5 => array(0x635, 0x644, 0x639, 0x645),
2653
-                    0xFDF6 => array(0x631, 0x633, 0x648, 0x644), 0xFDF7 => array(0x639, 0x644, 0x64A, 0x647), 0xFDF8 => array(0x648, 0x633, 0x644, 0x645),
2654
-                    0xFDF9 => array(0x635, 0x644, 0x649), 0xFDFC => array(0x631, 0x6CC, 0x627, 0x644), 0xFE11 => array(0x3001),
2655
-                    0xFE17 => array(0x3016), 0xFE18 => array(0x3017), 0xFE31 => array(0x2014),
2656
-                    0xFE32 => array(0x2013), 0xFE39 => array(0x3014), 0xFE3A => array(0x3015),
2657
-                    0xFE3B => array(0x3010), 0xFE3C => array(0x3011), 0xFE3D => array(0x300A),
2658
-                    0xFE3E => array(0x300B), 0xFE3F => array(0x3008), 0xFE40 => array(0x3009),
2659
-                    0xFE41 => array(0x300C), 0xFE42 => array(0x300D), 0xFE43 => array(0x300E),
2660
-                    0xFE44 => array(0x300F), 0xFE51 => array(0x3001), 0xFE58 => array(0x2014),
2661
-                    0xFE5D => array(0x3014), 0xFE5E => array(0x3015), 0xFE63 => array(0x2D),
2662
-                    0xFE71 => array(0x640, 0x64B), 0xFE77 => array(0x640, 0x64E), 0xFE79 => array(0x640, 0x64F),
2663
-                    0xFE7B => array(0x640, 0x650), 0xFE7D => array(0x640, 0x651), 0xFE7F => array(0x640, 0x652),
2664
-                    0xFE80 => array(0x621), 0xFE81 => array(0x622), 0xFE82 => array(0x622),
2665
-                    0xFE83 => array(0x623), 0xFE84 => array(0x623), 0xFE85 => array(0x624),
2666
-                    0xFE86 => array(0x624), 0xFE87 => array(0x625), 0xFE88 => array(0x625),
2667
-                    0xFE89 => array(0x626), 0xFE8A => array(0x626), 0xFE8B => array(0x626),
2668
-                    0xFE8C => array(0x626), 0xFE8D => array(0x627), 0xFE8E => array(0x627),
2669
-                    0xFE8F => array(0x628), 0xFE90 => array(0x628), 0xFE91 => array(0x628),
2670
-                    0xFE92 => array(0x628), 0xFE93 => array(0x629), 0xFE94 => array(0x629),
2671
-                    0xFE95 => array(0x62A), 0xFE96 => array(0x62A), 0xFE97 => array(0x62A),
2672
-                    0xFE98 => array(0x62A), 0xFE99 => array(0x62B), 0xFE9A => array(0x62B),
2673
-                    0xFE9B => array(0x62B), 0xFE9C => array(0x62B), 0xFE9D => array(0x62C),
2674
-                    0xFE9E => array(0x62C), 0xFE9F => array(0x62C), 0xFEA0 => array(0x62C),
2675
-                    0xFEA1 => array(0x62D), 0xFEA2 => array(0x62D), 0xFEA3 => array(0x62D),
2676
-                    0xFEA4 => array(0x62D), 0xFEA5 => array(0x62E), 0xFEA6 => array(0x62E),
2677
-                    0xFEA7 => array(0x62E), 0xFEA8 => array(0x62E), 0xFEA9 => array(0x62F),
2678
-                    0xFEAA => array(0x62F), 0xFEAB => array(0x630), 0xFEAC => array(0x630),
2679
-                    0xFEAD => array(0x631), 0xFEAE => array(0x631), 0xFEAF => array(0x632),
2680
-                    0xFEB0 => array(0x632), 0xFEB1 => array(0x633), 0xFEB2 => array(0x633),
2681
-                    0xFEB3 => array(0x633), 0xFEB4 => array(0x633), 0xFEB5 => array(0x634),
2682
-                    0xFEB6 => array(0x634), 0xFEB7 => array(0x634), 0xFEB8 => array(0x634),
2683
-                    0xFEB9 => array(0x635), 0xFEBA => array(0x635), 0xFEBB => array(0x635),
2684
-                    0xFEBC => array(0x635), 0xFEBD => array(0x636), 0xFEBE => array(0x636),
2685
-                    0xFEBF => array(0x636), 0xFEC0 => array(0x636), 0xFEC1 => array(0x637),
2686
-                    0xFEC2 => array(0x637), 0xFEC3 => array(0x637), 0xFEC4 => array(0x637),
2687
-                    0xFEC5 => array(0x638), 0xFEC6 => array(0x638), 0xFEC7 => array(0x638),
2688
-                    0xFEC8 => array(0x638), 0xFEC9 => array(0x639), 0xFECA => array(0x639),
2689
-                    0xFECB => array(0x639), 0xFECC => array(0x639), 0xFECD => array(0x63A),
2690
-                    0xFECE => array(0x63A), 0xFECF => array(0x63A), 0xFED0 => array(0x63A),
2691
-                    0xFED1 => array(0x641), 0xFED2 => array(0x641), 0xFED3 => array(0x641),
2692
-                    0xFED4 => array(0x641), 0xFED5 => array(0x642), 0xFED6 => array(0x642),
2693
-                    0xFED7 => array(0x642), 0xFED8 => array(0x642), 0xFED9 => array(0x643),
2694
-                    0xFEDA => array(0x643), 0xFEDB => array(0x643), 0xFEDC => array(0x643),
2695
-                    0xFEDD => array(0x644), 0xFEDE => array(0x644), 0xFEDF => array(0x644),
2696
-                    0xFEE0 => array(0x644), 0xFEE1 => array(0x645), 0xFEE2 => array(0x645),
2697
-                    0xFEE3 => array(0x645), 0xFEE4 => array(0x645), 0xFEE5 => array(0x646),
2698
-                    0xFEE6 => array(0x646), 0xFEE7 => array(0x646), 0xFEE8 => array(0x646),
2699
-                    0xFEE9 => array(0x647), 0xFEEA => array(0x647), 0xFEEB => array(0x647),
2700
-                    0xFEEC => array(0x647), 0xFEED => array(0x648), 0xFEEE => array(0x648),
2701
-                    0xFEEF => array(0x649), 0xFEF0 => array(0x649), 0xFEF1 => array(0x64A),
2702
-                    0xFEF2 => array(0x64A), 0xFEF3 => array(0x64A), 0xFEF4 => array(0x64A),
2703
-                    0xFEF5 => array(0x644, 0x622), 0xFEF6 => array(0x644, 0x622), 0xFEF7 => array(0x644, 0x623),
2704
-                    0xFEF8 => array(0x644, 0x623), 0xFEF9 => array(0x644, 0x625), 0xFEFA => array(0x644, 0x625),
2705
-                    0xFEFB => array(0x644, 0x627), 0xFEFC => array(0x644, 0x627), 0xFF0D => array(0x2D),
2706
-                    0xFF0E => array(0x2E), 0xFF10 => array(0x30), 0xFF11 => array(0x31),
2707
-                    0xFF12 => array(0x32), 0xFF13 => array(0x33), 0xFF14 => array(0x34),
2708
-                    0xFF15 => array(0x35), 0xFF16 => array(0x36), 0xFF17 => array(0x37),
2709
-                    0xFF18 => array(0x38), 0xFF19 => array(0x39), 0xFF21 => array(0x61),
2710
-                    0xFF22 => array(0x62), 0xFF23 => array(0x63), 0xFF24 => array(0x64),
2711
-                    0xFF25 => array(0x65), 0xFF26 => array(0x66), 0xFF27 => array(0x67),
2712
-                    0xFF28 => array(0x68), 0xFF29 => array(0x69), 0xFF2A => array(0x6A),
2713
-                    0xFF2B => array(0x6B), 0xFF2C => array(0x6C), 0xFF2D => array(0x6D),
2714
-                    0xFF2E => array(0x6E), 0xFF2F => array(0x6F), 0xFF30 => array(0x70),
2715
-                    0xFF31 => array(0x71), 0xFF32 => array(0x72), 0xFF33 => array(0x73),
2716
-                    0xFF34 => array(0x74), 0xFF35 => array(0x75), 0xFF36 => array(0x76),
2717
-                    0xFF37 => array(0x77), 0xFF38 => array(0x78), 0xFF39 => array(0x79),
2718
-                    0xFF3A => array(0x7A), 0xFF41 => array(0x61), 0xFF42 => array(0x62),
2719
-                    0xFF43 => array(0x63), 0xFF44 => array(0x64), 0xFF45 => array(0x65),
2720
-                    0xFF46 => array(0x66), 0xFF47 => array(0x67), 0xFF48 => array(0x68),
2721
-                    0xFF49 => array(0x69), 0xFF4A => array(0x6A), 0xFF4B => array(0x6B),
2722
-                    0xFF4C => array(0x6C), 0xFF4D => array(0x6D), 0xFF4E => array(0x6E),
2723
-                    0xFF4F => array(0x6F), 0xFF50 => array(0x70), 0xFF51 => array(0x71),
2724
-                    0xFF52 => array(0x72), 0xFF53 => array(0x73), 0xFF54 => array(0x74),
2725
-                    0xFF55 => array(0x75), 0xFF56 => array(0x76), 0xFF57 => array(0x77),
2726
-                    0xFF58 => array(0x78), 0xFF59 => array(0x79), 0xFF5A => array(0x7A),
2727
-                    0xFF5F => array(0x2985), 0xFF60 => array(0x2986), 0xFF61 => array(0x2E),
2728
-                    0xFF62 => array(0x300C), 0xFF63 => array(0x300D), 0xFF64 => array(0x3001),
2729
-                    0xFF65 => array(0x30FB), 0xFF66 => array(0x30F2), 0xFF67 => array(0x30A1),
2730
-                    0xFF68 => array(0x30A3), 0xFF69 => array(0x30A5), 0xFF6A => array(0x30A7),
2731
-                    0xFF6B => array(0x30A9), 0xFF6C => array(0x30E3), 0xFF6D => array(0x30E5),
2732
-                    0xFF6E => array(0x30E7), 0xFF6F => array(0x30C3), 0xFF70 => array(0x30FC),
2733
-                    0xFF71 => array(0x30A2), 0xFF72 => array(0x30A4), 0xFF73 => array(0x30A6),
2734
-                    0xFF74 => array(0x30A8), 0xFF75 => array(0x30AA), 0xFF76 => array(0x30AB),
2735
-                    0xFF77 => array(0x30AD), 0xFF78 => array(0x30AF), 0xFF79 => array(0x30B1),
2736
-                    0xFF7A => array(0x30B3), 0xFF7B => array(0x30B5), 0xFF7C => array(0x30B7),
2737
-                    0xFF7D => array(0x30B9), 0xFF7E => array(0x30BB), 0xFF7F => array(0x30BD),
2738
-                    0xFF80 => array(0x30BF), 0xFF81 => array(0x30C1), 0xFF82 => array(0x30C4),
2739
-                    0xFF83 => array(0x30C6), 0xFF84 => array(0x30C8), 0xFF85 => array(0x30CA),
2740
-                    0xFF86 => array(0x30CB), 0xFF87 => array(0x30CC), 0xFF88 => array(0x30CD),
2741
-                    0xFF89 => array(0x30CE), 0xFF8A => array(0x30CF), 0xFF8B => array(0x30D2),
2742
-                    0xFF8C => array(0x30D5), 0xFF8D => array(0x30D8), 0xFF8E => array(0x30DB),
2743
-                    0xFF8F => array(0x30DE), 0xFF90 => array(0x30DF), 0xFF91 => array(0x30E0),
2744
-                    0xFF92 => array(0x30E1), 0xFF93 => array(0x30E2), 0xFF94 => array(0x30E4),
2745
-                    0xFF95 => array(0x30E6), 0xFF96 => array(0x30E8), 0xFF97 => array(0x30E9),
2746
-                    0xFF98 => array(0x30EA), 0xFF99 => array(0x30EB), 0xFF9A => array(0x30EC),
2747
-                    0xFF9B => array(0x30ED), 0xFF9C => array(0x30EF), 0xFF9D => array(0x30F3),
2748
-                    0xFF9E => array(0x3099), 0xFF9F => array(0x309A), 0xFFA1 => array(0x1100),
2749
-                    0xFFA2 => array(0x1101), 0xFFA3 => array(0x11AA), 0xFFA4 => array(0x1102),
2750
-                    0xFFA5 => array(0x11AC), 0xFFA6 => array(0x11AD), 0xFFA7 => array(0x1103),
2751
-                    0xFFA8 => array(0x1104), 0xFFA9 => array(0x1105), 0xFFAA => array(0x11B0),
2752
-                    0xFFAB => array(0x11B1), 0xFFAC => array(0x11B2), 0xFFAD => array(0x11B3),
2753
-                    0xFFAE => array(0x11B4), 0xFFAF => array(0x11B5), 0xFFB0 => array(0x111A),
2754
-                    0xFFB1 => array(0x1106), 0xFFB2 => array(0x1107), 0xFFB3 => array(0x1108),
2755
-                    0xFFB4 => array(0x1121), 0xFFB5 => array(0x1109), 0xFFB6 => array(0x110A),
2756
-                    0xFFB7 => array(0x110B), 0xFFB8 => array(0x110C), 0xFFB9 => array(0x110D),
2757
-                    0xFFBA => array(0x110E), 0xFFBB => array(0x110F), 0xFFBC => array(0x1110),
2758
-                    0xFFBD => array(0x1111), 0xFFBE => array(0x1112), 0xFFC2 => array(0x1161),
2759
-                    0xFFC3 => array(0x1162), 0xFFC4 => array(0x1163), 0xFFC5 => array(0x1164),
2760
-                    0xFFC6 => array(0x1165), 0xFFC7 => array(0x1166), 0xFFCA => array(0x1167),
2761
-                    0xFFCB => array(0x1168), 0xFFCC => array(0x1169), 0xFFCD => array(0x116A),
2762
-                    0xFFCE => array(0x116B), 0xFFCF => array(0x116C), 0xFFD2 => array(0x116D),
2763
-                    0xFFD3 => array(0x116E), 0xFFD4 => array(0x116F), 0xFFD5 => array(0x1170),
2764
-                    0xFFD6 => array(0x1171), 0xFFD7 => array(0x1172), 0xFFDA => array(0x1173),
2765
-                    0xFFDB => array(0x1174), 0xFFDC => array(0x1175), 0xFFE0 => array(0xA2),
2766
-                    0xFFE1 => array(0xA3), 0xFFE2 => array(0xAC), 0xFFE4 => array(0xA6),
2767
-                    0xFFE5 => array(0xA5), 0xFFE6 => array(0x20A9), 0xFFE8 => array(0x2502),
2768
-                    0xFFE9 => array(0x2190), 0xFFEA => array(0x2191), 0xFFEB => array(0x2192),
2769
-                    0xFFEC => array(0x2193), 0xFFED => array(0x25A0), 0xFFEE => array(0x25CB),
2770
-                    0x10400 => array(0x10428), 0x10401 => array(0x10429), 0x10402 => array(0x1042A),
2771
-                    0x10403 => array(0x1042B), 0x10404 => array(0x1042C), 0x10405 => array(0x1042D),
2772
-                    0x10406 => array(0x1042E), 0x10407 => array(0x1042F), 0x10408 => array(0x10430),
2773
-                    0x10409 => array(0x10431), 0x1040A => array(0x10432), 0x1040B => array(0x10433),
2774
-                    0x1040C => array(0x10434), 0x1040D => array(0x10435), 0x1040E => array(0x10436),
2775
-                    0x1040F => array(0x10437), 0x10410 => array(0x10438), 0x10411 => array(0x10439),
2776
-                    0x10412 => array(0x1043A), 0x10413 => array(0x1043B), 0x10414 => array(0x1043C),
2777
-                    0x10415 => array(0x1043D), 0x10416 => array(0x1043E), 0x10417 => array(0x1043F),
2778
-                    0x10418 => array(0x10440), 0x10419 => array(0x10441), 0x1041A => array(0x10442),
2779
-                    0x1041B => array(0x10443), 0x1041C => array(0x10444), 0x1041D => array(0x10445),
2780
-                    0x1041E => array(0x10446), 0x1041F => array(0x10447), 0x10420 => array(0x10448),
2781
-                    0x10421 => array(0x10449), 0x10422 => array(0x1044A), 0x10423 => array(0x1044B),
2782
-                    0x10424 => array(0x1044C), 0x10425 => array(0x1044D), 0x10426 => array(0x1044E),
2783
-                    0x10427 => array(0x1044F), 0x118A0 => array(0x118C0), 0x118A1 => array(0x118C1),
2784
-                    0x118A2 => array(0x118C2), 0x118A3 => array(0x118C3), 0x118A4 => array(0x118C4),
2785
-                    0x118A5 => array(0x118C5), 0x118A6 => array(0x118C6), 0x118A7 => array(0x118C7),
2786
-                    0x118A8 => array(0x118C8), 0x118A9 => array(0x118C9), 0x118AA => array(0x118CA),
2787
-                    0x118AB => array(0x118CB), 0x118AC => array(0x118CC), 0x118AD => array(0x118CD),
2788
-                    0x118AE => array(0x118CE), 0x118AF => array(0x118CF), 0x118B0 => array(0x118D0),
2789
-                    0x118B1 => array(0x118D1), 0x118B2 => array(0x118D2), 0x118B3 => array(0x118D3),
2790
-                    0x118B4 => array(0x118D4), 0x118B5 => array(0x118D5), 0x118B6 => array(0x118D6),
2791
-                    0x118B7 => array(0x118D7), 0x118B8 => array(0x118D8), 0x118B9 => array(0x118D9),
2792
-                    0x118BA => array(0x118DA), 0x118BB => array(0x118DB), 0x118BC => array(0x118DC),
2793
-                    0x118BD => array(0x118DD), 0x118BE => array(0x118DE), 0x118BF => array(0x118DF),
2794
-                    0x1D15E => array(0x1D157, 0x1D165), 0x1D15F => array(0x1D158, 0x1D165), 0x1D160 => array(0x1D158, 0x1D165, 0x1D16E),
2795
-                    0x1D161 => array(0x1D158, 0x1D165, 0x1D16F), 0x1D162 => array(0x1D158, 0x1D165, 0x1D170), 0x1D163 => array(0x1D158, 0x1D165, 0x1D171),
2796
-                    0x1D164 => array(0x1D158, 0x1D165, 0x1D172), 0x1D1BB => array(0x1D1B9, 0x1D165), 0x1D1BC => array(0x1D1BA, 0x1D165),
2797
-                    0x1D1BD => array(0x1D1B9, 0x1D165, 0x1D16E), 0x1D1BE => array(0x1D1BA, 0x1D165, 0x1D16E), 0x1D1BF => array(0x1D1B9, 0x1D165, 0x1D16F),
2798
-                    0x1D1C0 => array(0x1D1BA, 0x1D165, 0x1D16F), 0x1D400 => array(0x61), 0x1D401 => array(0x62),
2799
-                    0x1D402 => array(0x63), 0x1D403 => array(0x64), 0x1D404 => array(0x65),
2800
-                    0x1D405 => array(0x66), 0x1D406 => array(0x67), 0x1D407 => array(0x68),
2801
-                    0x1D408 => array(0x69), 0x1D409 => array(0x6A), 0x1D40A => array(0x6B),
2802
-                    0x1D40B => array(0x6C), 0x1D40C => array(0x6D), 0x1D40D => array(0x6E),
2803
-                    0x1D40E => array(0x6F), 0x1D40F => array(0x70), 0x1D410 => array(0x71),
2804
-                    0x1D411 => array(0x72), 0x1D412 => array(0x73), 0x1D413 => array(0x74),
2805
-                    0x1D414 => array(0x75), 0x1D415 => array(0x76), 0x1D416 => array(0x77),
2806
-                    0x1D417 => array(0x78), 0x1D418 => array(0x79), 0x1D419 => array(0x7A),
2807
-                    0x1D41A => array(0x61), 0x1D41B => array(0x62), 0x1D41C => array(0x63),
2808
-                    0x1D41D => array(0x64), 0x1D41E => array(0x65), 0x1D41F => array(0x66),
2809
-                    0x1D420 => array(0x67), 0x1D421 => array(0x68), 0x1D422 => array(0x69),
2810
-                    0x1D423 => array(0x6A), 0x1D424 => array(0x6B), 0x1D425 => array(0x6C),
2811
-                    0x1D426 => array(0x6D), 0x1D427 => array(0x6E), 0x1D428 => array(0x6F),
2812
-                    0x1D429 => array(0x70), 0x1D42A => array(0x71), 0x1D42B => array(0x72),
2813
-                    0x1D42C => array(0x73), 0x1D42D => array(0x74), 0x1D42E => array(0x75),
2814
-                    0x1D42F => array(0x76), 0x1D430 => array(0x77), 0x1D431 => array(0x78),
2815
-                    0x1D432 => array(0x79), 0x1D433 => array(0x7A), 0x1D434 => array(0x61),
2816
-                    0x1D435 => array(0x62), 0x1D436 => array(0x63), 0x1D437 => array(0x64),
2817
-                    0x1D438 => array(0x65), 0x1D439 => array(0x66), 0x1D43A => array(0x67),
2818
-                    0x1D43B => array(0x68), 0x1D43C => array(0x69), 0x1D43D => array(0x6A),
2819
-                    0x1D43E => array(0x6B), 0x1D43F => array(0x6C), 0x1D440 => array(0x6D),
2820
-                    0x1D441 => array(0x6E), 0x1D442 => array(0x6F), 0x1D443 => array(0x70),
2821
-                    0x1D444 => array(0x71), 0x1D445 => array(0x72), 0x1D446 => array(0x73),
2822
-                    0x1D447 => array(0x74), 0x1D448 => array(0x75), 0x1D449 => array(0x76),
2823
-                    0x1D44A => array(0x77), 0x1D44B => array(0x78), 0x1D44C => array(0x79),
2824
-                    0x1D44D => array(0x7A), 0x1D44E => array(0x61), 0x1D44F => array(0x62),
2825
-                    0x1D450 => array(0x63), 0x1D451 => array(0x64), 0x1D452 => array(0x65),
2826
-                    0x1D453 => array(0x66), 0x1D454 => array(0x67), 0x1D456 => array(0x69),
2827
-                    0x1D457 => array(0x6A), 0x1D458 => array(0x6B), 0x1D459 => array(0x6C),
2828
-                    0x1D45A => array(0x6D), 0x1D45B => array(0x6E), 0x1D45C => array(0x6F),
2829
-                    0x1D45D => array(0x70), 0x1D45E => array(0x71), 0x1D45F => array(0x72),
2830
-                    0x1D460 => array(0x73), 0x1D461 => array(0x74), 0x1D462 => array(0x75),
2831
-                    0x1D463 => array(0x76), 0x1D464 => array(0x77), 0x1D465 => array(0x78),
2832
-                    0x1D466 => array(0x79), 0x1D467 => array(0x7A), 0x1D468 => array(0x61),
2833
-                    0x1D469 => array(0x62), 0x1D46A => array(0x63), 0x1D46B => array(0x64),
2834
-                    0x1D46C => array(0x65), 0x1D46D => array(0x66), 0x1D46E => array(0x67),
2835
-                    0x1D46F => array(0x68), 0x1D470 => array(0x69), 0x1D471 => array(0x6A),
2836
-                    0x1D472 => array(0x6B), 0x1D473 => array(0x6C), 0x1D474 => array(0x6D),
2837
-                    0x1D475 => array(0x6E), 0x1D476 => array(0x6F), 0x1D477 => array(0x70),
2838
-                    0x1D478 => array(0x71), 0x1D479 => array(0x72), 0x1D47A => array(0x73),
2839
-                    0x1D47B => array(0x74), 0x1D47C => array(0x75), 0x1D47D => array(0x76),
2840
-                    0x1D47E => array(0x77), 0x1D47F => array(0x78), 0x1D480 => array(0x79),
2841
-                    0x1D481 => array(0x7A), 0x1D482 => array(0x61), 0x1D483 => array(0x62),
2842
-                    0x1D484 => array(0x63), 0x1D485 => array(0x64), 0x1D486 => array(0x65),
2843
-                    0x1D487 => array(0x66), 0x1D488 => array(0x67), 0x1D489 => array(0x68),
2844
-                    0x1D48A => array(0x69), 0x1D48B => array(0x6A), 0x1D48C => array(0x6B),
2845
-                    0x1D48D => array(0x6C), 0x1D48E => array(0x6D), 0x1D48F => array(0x6E),
2846
-                    0x1D490 => array(0x6F), 0x1D491 => array(0x70), 0x1D492 => array(0x71),
2847
-                    0x1D493 => array(0x72), 0x1D494 => array(0x73), 0x1D495 => array(0x74),
2848
-                    0x1D496 => array(0x75), 0x1D497 => array(0x76), 0x1D498 => array(0x77),
2849
-                    0x1D499 => array(0x78), 0x1D49A => array(0x79), 0x1D49B => array(0x7A),
2850
-                    0x1D49C => array(0x61), 0x1D49E => array(0x63), 0x1D49F => array(0x64),
2851
-                    0x1D4A2 => array(0x67), 0x1D4A5 => array(0x6A), 0x1D4A6 => array(0x6B),
2852
-                    0x1D4A9 => array(0x6E), 0x1D4AA => array(0x6F), 0x1D4AB => array(0x70),
2853
-                    0x1D4AC => array(0x71), 0x1D4AE => array(0x73), 0x1D4AF => array(0x74),
2854
-                    0x1D4B0 => array(0x75), 0x1D4B1 => array(0x76), 0x1D4B2 => array(0x77),
2855
-                    0x1D4B3 => array(0x78), 0x1D4B4 => array(0x79), 0x1D4B5 => array(0x7A),
2856
-                    0x1D4B6 => array(0x61), 0x1D4B7 => array(0x62), 0x1D4B8 => array(0x63),
2857
-                    0x1D4B9 => array(0x64), 0x1D4BB => array(0x66), 0x1D4BD => array(0x68),
2858
-                    0x1D4BE => array(0x69), 0x1D4BF => array(0x6A), 0x1D4C0 => array(0x6B),
2859
-                    0x1D4C1 => array(0x6C), 0x1D4C2 => array(0x6D), 0x1D4C3 => array(0x6E),
2860
-                    0x1D4C5 => array(0x70), 0x1D4C6 => array(0x71), 0x1D4C7 => array(0x72),
2861
-                    0x1D4C8 => array(0x73), 0x1D4C9 => array(0x74), 0x1D4CA => array(0x75),
2862
-                    0x1D4CB => array(0x76), 0x1D4CC => array(0x77), 0x1D4CD => array(0x78),
2863
-                    0x1D4CE => array(0x79), 0x1D4CF => array(0x7A), 0x1D4D0 => array(0x61),
2864
-                    0x1D4D1 => array(0x62), 0x1D4D2 => array(0x63), 0x1D4D3 => array(0x64),
2865
-                    0x1D4D4 => array(0x65), 0x1D4D5 => array(0x66), 0x1D4D6 => array(0x67),
2866
-                    0x1D4D7 => array(0x68), 0x1D4D8 => array(0x69), 0x1D4D9 => array(0x6A),
2867
-                    0x1D4DA => array(0x6B), 0x1D4DB => array(0x6C), 0x1D4DC => array(0x6D),
2868
-                    0x1D4DD => array(0x6E), 0x1D4DE => array(0x6F), 0x1D4DF => array(0x70),
2869
-                    0x1D4E0 => array(0x71), 0x1D4E1 => array(0x72), 0x1D4E2 => array(0x73),
2870
-                    0x1D4E3 => array(0x74), 0x1D4E4 => array(0x75), 0x1D4E5 => array(0x76),
2871
-                    0x1D4E6 => array(0x77), 0x1D4E7 => array(0x78), 0x1D4E8 => array(0x79),
2872
-                    0x1D4E9 => array(0x7A), 0x1D4EA => array(0x61), 0x1D4EB => array(0x62),
2873
-                    0x1D4EC => array(0x63), 0x1D4ED => array(0x64), 0x1D4EE => array(0x65),
2874
-                    0x1D4EF => array(0x66), 0x1D4F0 => array(0x67), 0x1D4F1 => array(0x68),
2875
-                    0x1D4F2 => array(0x69), 0x1D4F3 => array(0x6A), 0x1D4F4 => array(0x6B),
2876
-                    0x1D4F5 => array(0x6C), 0x1D4F6 => array(0x6D), 0x1D4F7 => array(0x6E),
2877
-                    0x1D4F8 => array(0x6F), 0x1D4F9 => array(0x70), 0x1D4FA => array(0x71),
2878
-                    0x1D4FB => array(0x72), 0x1D4FC => array(0x73), 0x1D4FD => array(0x74),
2879
-                    0x1D4FE => array(0x75), 0x1D4FF => array(0x76), 0x1D500 => array(0x77),
2880
-                    0x1D501 => array(0x78), 0x1D502 => array(0x79), 0x1D503 => array(0x7A),
2881
-                    0x1D504 => array(0x61), 0x1D505 => array(0x62), 0x1D507 => array(0x64),
2882
-                    0x1D508 => array(0x65), 0x1D509 => array(0x66), 0x1D50A => array(0x67),
2883
-                    0x1D50D => array(0x6A), 0x1D50E => array(0x6B), 0x1D50F => array(0x6C),
2884
-                    0x1D510 => array(0x6D), 0x1D511 => array(0x6E), 0x1D512 => array(0x6F),
2885
-                    0x1D513 => array(0x70), 0x1D514 => array(0x71), 0x1D516 => array(0x73),
2886
-                    0x1D517 => array(0x74), 0x1D518 => array(0x75), 0x1D519 => array(0x76),
2887
-                    0x1D51A => array(0x77), 0x1D51B => array(0x78), 0x1D51C => array(0x79),
2888
-                    0x1D51E => array(0x61), 0x1D51F => array(0x62), 0x1D520 => array(0x63),
2889
-                    0x1D521 => array(0x64), 0x1D522 => array(0x65), 0x1D523 => array(0x66),
2890
-                    0x1D524 => array(0x67), 0x1D525 => array(0x68), 0x1D526 => array(0x69),
2891
-                    0x1D527 => array(0x6A), 0x1D528 => array(0x6B), 0x1D529 => array(0x6C),
2892
-                    0x1D52A => array(0x6D), 0x1D52B => array(0x6E), 0x1D52C => array(0x6F),
2893
-                    0x1D52D => array(0x70), 0x1D52E => array(0x71), 0x1D52F => array(0x72),
2894
-                    0x1D530 => array(0x73), 0x1D531 => array(0x74), 0x1D532 => array(0x75),
2895
-                    0x1D533 => array(0x76), 0x1D534 => array(0x77), 0x1D535 => array(0x78),
2896
-                    0x1D536 => array(0x79), 0x1D537 => array(0x7A), 0x1D538 => array(0x61),
2897
-                    0x1D539 => array(0x62), 0x1D53B => array(0x64), 0x1D53C => array(0x65),
2898
-                    0x1D53D => array(0x66), 0x1D53E => array(0x67), 0x1D540 => array(0x69),
2899
-                    0x1D541 => array(0x6A), 0x1D542 => array(0x6B), 0x1D543 => array(0x6C),
2900
-                    0x1D544 => array(0x6D), 0x1D546 => array(0x6F), 0x1D54A => array(0x73),
2901
-                    0x1D54B => array(0x74), 0x1D54C => array(0x75), 0x1D54D => array(0x76),
2902
-                    0x1D54E => array(0x77), 0x1D54F => array(0x78), 0x1D550 => array(0x79),
2903
-                    0x1D552 => array(0x61), 0x1D553 => array(0x62), 0x1D554 => array(0x63),
2904
-                    0x1D555 => array(0x64), 0x1D556 => array(0x65), 0x1D557 => array(0x66),
2905
-                    0x1D558 => array(0x67), 0x1D559 => array(0x68), 0x1D55A => array(0x69),
2906
-                    0x1D55B => array(0x6A), 0x1D55C => array(0x6B), 0x1D55D => array(0x6C),
2907
-                    0x1D55E => array(0x6D), 0x1D55F => array(0x6E), 0x1D560 => array(0x6F),
2908
-                    0x1D561 => array(0x70), 0x1D562 => array(0x71), 0x1D563 => array(0x72),
2909
-                    0x1D564 => array(0x73), 0x1D565 => array(0x74), 0x1D566 => array(0x75),
2910
-                    0x1D567 => array(0x76), 0x1D568 => array(0x77), 0x1D569 => array(0x78),
2911
-                    0x1D56A => array(0x79), 0x1D56B => array(0x7A), 0x1D56C => array(0x61),
2912
-                    0x1D56D => array(0x62), 0x1D56E => array(0x63), 0x1D56F => array(0x64),
2913
-                    0x1D570 => array(0x65), 0x1D571 => array(0x66), 0x1D572 => array(0x67),
2914
-                    0x1D573 => array(0x68), 0x1D574 => array(0x69), 0x1D575 => array(0x6A),
2915
-                    0x1D576 => array(0x6B), 0x1D577 => array(0x6C), 0x1D578 => array(0x6D),
2916
-                    0x1D579 => array(0x6E), 0x1D57A => array(0x6F), 0x1D57B => array(0x70),
2917
-                    0x1D57C => array(0x71), 0x1D57D => array(0x72), 0x1D57E => array(0x73),
2918
-                    0x1D57F => array(0x74), 0x1D580 => array(0x75), 0x1D581 => array(0x76),
2919
-                    0x1D582 => array(0x77), 0x1D583 => array(0x78), 0x1D584 => array(0x79),
2920
-                    0x1D585 => array(0x7A), 0x1D586 => array(0x61), 0x1D587 => array(0x62),
2921
-                    0x1D588 => array(0x63), 0x1D589 => array(0x64), 0x1D58A => array(0x65),
2922
-                    0x1D58B => array(0x66), 0x1D58C => array(0x67), 0x1D58D => array(0x68),
2923
-                    0x1D58E => array(0x69), 0x1D58F => array(0x6A), 0x1D590 => array(0x6B),
2924
-                    0x1D591 => array(0x6C), 0x1D592 => array(0x6D), 0x1D593 => array(0x6E),
2925
-                    0x1D594 => array(0x6F), 0x1D595 => array(0x70), 0x1D596 => array(0x71),
2926
-                    0x1D597 => array(0x72), 0x1D598 => array(0x73), 0x1D599 => array(0x74),
2927
-                    0x1D59A => array(0x75), 0x1D59B => array(0x76), 0x1D59C => array(0x77),
2928
-                    0x1D59D => array(0x78), 0x1D59E => array(0x79), 0x1D59F => array(0x7A),
2929
-                    0x1D5A0 => array(0x61), 0x1D5A1 => array(0x62), 0x1D5A2 => array(0x63),
2930
-                    0x1D5A3 => array(0x64), 0x1D5A4 => array(0x65), 0x1D5A5 => array(0x66),
2931
-                    0x1D5A6 => array(0x67), 0x1D5A7 => array(0x68), 0x1D5A8 => array(0x69),
2932
-                    0x1D5A9 => array(0x6A), 0x1D5AA => array(0x6B), 0x1D5AB => array(0x6C),
2933
-                    0x1D5AC => array(0x6D), 0x1D5AD => array(0x6E), 0x1D5AE => array(0x6F),
2934
-                    0x1D5AF => array(0x70), 0x1D5B0 => array(0x71), 0x1D5B1 => array(0x72),
2935
-                    0x1D5B2 => array(0x73), 0x1D5B3 => array(0x74), 0x1D5B4 => array(0x75),
2936
-                    0x1D5B5 => array(0x76), 0x1D5B6 => array(0x77), 0x1D5B7 => array(0x78),
2937
-                    0x1D5B8 => array(0x79), 0x1D5B9 => array(0x7A), 0x1D5BA => array(0x61),
2938
-                    0x1D5BB => array(0x62), 0x1D5BC => array(0x63), 0x1D5BD => array(0x64),
2939
-                    0x1D5BE => array(0x65), 0x1D5BF => array(0x66), 0x1D5C0 => array(0x67),
2940
-                    0x1D5C1 => array(0x68), 0x1D5C2 => array(0x69), 0x1D5C3 => array(0x6A),
2941
-                    0x1D5C4 => array(0x6B), 0x1D5C5 => array(0x6C), 0x1D5C6 => array(0x6D),
2942
-                    0x1D5C7 => array(0x6E), 0x1D5C8 => array(0x6F), 0x1D5C9 => array(0x70),
2943
-                    0x1D5CA => array(0x71), 0x1D5CB => array(0x72), 0x1D5CC => array(0x73),
2944
-                    0x1D5CD => array(0x74), 0x1D5CE => array(0x75), 0x1D5CF => array(0x76),
2945
-                    0x1D5D0 => array(0x77), 0x1D5D1 => array(0x78), 0x1D5D2 => array(0x79),
2946
-                    0x1D5D3 => array(0x7A), 0x1D5D4 => array(0x61), 0x1D5D5 => array(0x62),
2947
-                    0x1D5D6 => array(0x63), 0x1D5D7 => array(0x64), 0x1D5D8 => array(0x65),
2948
-                    0x1D5D9 => array(0x66), 0x1D5DA => array(0x67), 0x1D5DB => array(0x68),
2949
-                    0x1D5DC => array(0x69), 0x1D5DD => array(0x6A), 0x1D5DE => array(0x6B),
2950
-                    0x1D5DF => array(0x6C), 0x1D5E0 => array(0x6D), 0x1D5E1 => array(0x6E),
2951
-                    0x1D5E2 => array(0x6F), 0x1D5E3 => array(0x70), 0x1D5E4 => array(0x71),
2952
-                    0x1D5E5 => array(0x72), 0x1D5E6 => array(0x73), 0x1D5E7 => array(0x74),
2953
-                    0x1D5E8 => array(0x75), 0x1D5E9 => array(0x76), 0x1D5EA => array(0x77),
2954
-                    0x1D5EB => array(0x78), 0x1D5EC => array(0x79), 0x1D5ED => array(0x7A),
2955
-                    0x1D5EE => array(0x61), 0x1D5EF => array(0x62), 0x1D5F0 => array(0x63),
2956
-                    0x1D5F1 => array(0x64), 0x1D5F2 => array(0x65), 0x1D5F3 => array(0x66),
2957
-                    0x1D5F4 => array(0x67), 0x1D5F5 => array(0x68), 0x1D5F6 => array(0x69),
2958
-                    0x1D5F7 => array(0x6A), 0x1D5F8 => array(0x6B), 0x1D5F9 => array(0x6C),
2959
-                    0x1D5FA => array(0x6D), 0x1D5FB => array(0x6E), 0x1D5FC => array(0x6F),
2960
-                    0x1D5FD => array(0x70), 0x1D5FE => array(0x71), 0x1D5FF => array(0x72),
2961
-                    0x1D600 => array(0x73), 0x1D601 => array(0x74), 0x1D602 => array(0x75),
2962
-                    0x1D603 => array(0x76), 0x1D604 => array(0x77), 0x1D605 => array(0x78),
2963
-                    0x1D606 => array(0x79), 0x1D607 => array(0x7A), 0x1D608 => array(0x61),
2964
-                    0x1D609 => array(0x62), 0x1D60A => array(0x63), 0x1D60B => array(0x64),
2965
-                    0x1D60C => array(0x65), 0x1D60D => array(0x66), 0x1D60E => array(0x67),
2966
-                    0x1D60F => array(0x68), 0x1D610 => array(0x69), 0x1D611 => array(0x6A),
2967
-                    0x1D612 => array(0x6B), 0x1D613 => array(0x6C), 0x1D614 => array(0x6D),
2968
-                    0x1D615 => array(0x6E), 0x1D616 => array(0x6F), 0x1D617 => array(0x70),
2969
-                    0x1D618 => array(0x71), 0x1D619 => array(0x72), 0x1D61A => array(0x73),
2970
-                    0x1D61B => array(0x74), 0x1D61C => array(0x75), 0x1D61D => array(0x76),
2971
-                    0x1D61E => array(0x77), 0x1D61F => array(0x78), 0x1D620 => array(0x79),
2972
-                    0x1D621 => array(0x7A), 0x1D622 => array(0x61), 0x1D623 => array(0x62),
2973
-                    0x1D624 => array(0x63), 0x1D625 => array(0x64), 0x1D626 => array(0x65),
2974
-                    0x1D627 => array(0x66), 0x1D628 => array(0x67), 0x1D629 => array(0x68),
2975
-                    0x1D62A => array(0x69), 0x1D62B => array(0x6A), 0x1D62C => array(0x6B),
2976
-                    0x1D62D => array(0x6C), 0x1D62E => array(0x6D), 0x1D62F => array(0x6E),
2977
-                    0x1D630 => array(0x6F), 0x1D631 => array(0x70), 0x1D632 => array(0x71),
2978
-                    0x1D633 => array(0x72), 0x1D634 => array(0x73), 0x1D635 => array(0x74),
2979
-                    0x1D636 => array(0x75), 0x1D637 => array(0x76), 0x1D638 => array(0x77),
2980
-                    0x1D639 => array(0x78), 0x1D63A => array(0x79), 0x1D63B => array(0x7A),
2981
-                    0x1D63C => array(0x61), 0x1D63D => array(0x62), 0x1D63E => array(0x63),
2982
-                    0x1D63F => array(0x64), 0x1D640 => array(0x65), 0x1D641 => array(0x66),
2983
-                    0x1D642 => array(0x67), 0x1D643 => array(0x68), 0x1D644 => array(0x69),
2984
-                    0x1D645 => array(0x6A), 0x1D646 => array(0x6B), 0x1D647 => array(0x6C),
2985
-                    0x1D648 => array(0x6D), 0x1D649 => array(0x6E), 0x1D64A => array(0x6F),
2986
-                    0x1D64B => array(0x70), 0x1D64C => array(0x71), 0x1D64D => array(0x72),
2987
-                    0x1D64E => array(0x73), 0x1D64F => array(0x74), 0x1D650 => array(0x75),
2988
-                    0x1D651 => array(0x76), 0x1D652 => array(0x77), 0x1D653 => array(0x78),
2989
-                    0x1D654 => array(0x79), 0x1D655 => array(0x7A), 0x1D656 => array(0x61),
2990
-                    0x1D657 => array(0x62), 0x1D658 => array(0x63), 0x1D659 => array(0x64),
2991
-                    0x1D65A => array(0x65), 0x1D65B => array(0x66), 0x1D65C => array(0x67),
2992
-                    0x1D65D => array(0x68), 0x1D65E => array(0x69), 0x1D65F => array(0x6A),
2993
-                    0x1D660 => array(0x6B), 0x1D661 => array(0x6C), 0x1D662 => array(0x6D),
2994
-                    0x1D663 => array(0x6E), 0x1D664 => array(0x6F), 0x1D665 => array(0x70),
2995
-                    0x1D666 => array(0x71), 0x1D667 => array(0x72), 0x1D668 => array(0x73),
2996
-                    0x1D669 => array(0x74), 0x1D66A => array(0x75), 0x1D66B => array(0x76),
2997
-                    0x1D66C => array(0x77), 0x1D66D => array(0x78), 0x1D66E => array(0x79),
2998
-                    0x1D66F => array(0x7A), 0x1D670 => array(0x61), 0x1D671 => array(0x62),
2999
-                    0x1D672 => array(0x63), 0x1D673 => array(0x64), 0x1D674 => array(0x65),
3000
-                    0x1D675 => array(0x66), 0x1D676 => array(0x67), 0x1D677 => array(0x68),
3001
-                    0x1D678 => array(0x69), 0x1D679 => array(0x6A), 0x1D67A => array(0x6B),
3002
-                    0x1D67B => array(0x6C), 0x1D67C => array(0x6D), 0x1D67D => array(0x6E),
3003
-                    0x1D67E => array(0x6F), 0x1D67F => array(0x70), 0x1D680 => array(0x71),
3004
-                    0x1D681 => array(0x72), 0x1D682 => array(0x73), 0x1D683 => array(0x74),
3005
-                    0x1D684 => array(0x75), 0x1D685 => array(0x76), 0x1D686 => array(0x77),
3006
-                    0x1D687 => array(0x78), 0x1D688 => array(0x79), 0x1D689 => array(0x7A),
3007
-                    0x1D68A => array(0x61), 0x1D68B => array(0x62), 0x1D68C => array(0x63),
3008
-                    0x1D68D => array(0x64), 0x1D68E => array(0x65), 0x1D68F => array(0x66),
3009
-                    0x1D690 => array(0x67), 0x1D691 => array(0x68), 0x1D692 => array(0x69),
3010
-                    0x1D693 => array(0x6A), 0x1D694 => array(0x6B), 0x1D695 => array(0x6C),
3011
-                    0x1D696 => array(0x6D), 0x1D697 => array(0x6E), 0x1D698 => array(0x6F),
3012
-                    0x1D699 => array(0x70), 0x1D69A => array(0x71), 0x1D69B => array(0x72),
3013
-                    0x1D69C => array(0x73), 0x1D69D => array(0x74), 0x1D69E => array(0x75),
3014
-                    0x1D69F => array(0x76), 0x1D6A0 => array(0x77), 0x1D6A1 => array(0x78),
3015
-                    0x1D6A2 => array(0x79), 0x1D6A3 => array(0x7A), 0x1D6A4 => array(0x131),
3016
-                    0x1D6A5 => array(0x237), 0x1D6A8 => array(0x3B1), 0x1D6A9 => array(0x3B2),
3017
-                    0x1D6AA => array(0x3B3), 0x1D6AB => array(0x3B4), 0x1D6AC => array(0x3B5),
3018
-                    0x1D6AD => array(0x3B6), 0x1D6AE => array(0x3B7), 0x1D6AF => array(0x3B8),
3019
-                    0x1D6B0 => array(0x3B9), 0x1D6B1 => array(0x3BA), 0x1D6B2 => array(0x3BB),
3020
-                    0x1D6B3 => array(0x3BC), 0x1D6B4 => array(0x3BD), 0x1D6B5 => array(0x3BE),
3021
-                    0x1D6B6 => array(0x3BF), 0x1D6B7 => array(0x3C0), 0x1D6B8 => array(0x3C1),
3022
-                    0x1D6B9 => array(0x3B8), 0x1D6BA => array(0x3C3), 0x1D6BB => array(0x3C4),
3023
-                    0x1D6BC => array(0x3C5), 0x1D6BD => array(0x3C6), 0x1D6BE => array(0x3C7),
3024
-                    0x1D6BF => array(0x3C8), 0x1D6C0 => array(0x3C9), 0x1D6C1 => array(0x2207),
3025
-                    0x1D6C2 => array(0x3B1), 0x1D6C3 => array(0x3B2), 0x1D6C4 => array(0x3B3),
3026
-                    0x1D6C5 => array(0x3B4), 0x1D6C6 => array(0x3B5), 0x1D6C7 => array(0x3B6),
3027
-                    0x1D6C8 => array(0x3B7), 0x1D6C9 => array(0x3B8), 0x1D6CA => array(0x3B9),
3028
-                    0x1D6CB => array(0x3BA), 0x1D6CC => array(0x3BB), 0x1D6CD => array(0x3BC),
3029
-                    0x1D6CE => array(0x3BD), 0x1D6CF => array(0x3BE), 0x1D6D0 => array(0x3BF),
3030
-                    0x1D6D1 => array(0x3C0), 0x1D6D2 => array(0x3C1), 0x1D6D3 => array(0x3C3),
3031
-                    0x1D6D4 => array(0x3C3), 0x1D6D5 => array(0x3C4), 0x1D6D6 => array(0x3C5),
3032
-                    0x1D6D7 => array(0x3C6), 0x1D6D8 => array(0x3C7), 0x1D6D9 => array(0x3C8),
3033
-                    0x1D6DA => array(0x3C9), 0x1D6DB => array(0x2202), 0x1D6DC => array(0x3B5),
3034
-                    0x1D6DD => array(0x3B8), 0x1D6DE => array(0x3BA), 0x1D6DF => array(0x3C6),
3035
-                    0x1D6E0 => array(0x3C1), 0x1D6E1 => array(0x3C0), 0x1D6E2 => array(0x3B1),
3036
-                    0x1D6E3 => array(0x3B2), 0x1D6E4 => array(0x3B3), 0x1D6E5 => array(0x3B4),
3037
-                    0x1D6E6 => array(0x3B5), 0x1D6E7 => array(0x3B6), 0x1D6E8 => array(0x3B7),
3038
-                    0x1D6E9 => array(0x3B8), 0x1D6EA => array(0x3B9), 0x1D6EB => array(0x3BA),
3039
-                    0x1D6EC => array(0x3BB), 0x1D6ED => array(0x3BC), 0x1D6EE => array(0x3BD),
3040
-                    0x1D6EF => array(0x3BE), 0x1D6F0 => array(0x3BF), 0x1D6F1 => array(0x3C0),
3041
-                    0x1D6F2 => array(0x3C1), 0x1D6F3 => array(0x3B8), 0x1D6F4 => array(0x3C3),
3042
-                    0x1D6F5 => array(0x3C4), 0x1D6F6 => array(0x3C5), 0x1D6F7 => array(0x3C6),
3043
-                    0x1D6F8 => array(0x3C7), 0x1D6F9 => array(0x3C8), 0x1D6FA => array(0x3C9),
3044
-                    0x1D6FB => array(0x2207), 0x1D6FC => array(0x3B1), 0x1D6FD => array(0x3B2),
3045
-                    0x1D6FE => array(0x3B3), 0x1D6FF => array(0x3B4), 0x1D700 => array(0x3B5),
3046
-                    0x1D701 => array(0x3B6), 0x1D702 => array(0x3B7), 0x1D703 => array(0x3B8),
3047
-                    0x1D704 => array(0x3B9), 0x1D705 => array(0x3BA), 0x1D706 => array(0x3BB),
3048
-                    0x1D707 => array(0x3BC), 0x1D708 => array(0x3BD), 0x1D709 => array(0x3BE),
3049
-                    0x1D70A => array(0x3BF), 0x1D70B => array(0x3C0), 0x1D70C => array(0x3C1),
3050
-                    0x1D70D => array(0x3C3), 0x1D70E => array(0x3C3), 0x1D70F => array(0x3C4),
3051
-                    0x1D710 => array(0x3C5), 0x1D711 => array(0x3C6), 0x1D712 => array(0x3C7),
3052
-                    0x1D713 => array(0x3C8), 0x1D714 => array(0x3C9), 0x1D715 => array(0x2202),
3053
-                    0x1D716 => array(0x3B5), 0x1D717 => array(0x3B8), 0x1D718 => array(0x3BA),
3054
-                    0x1D719 => array(0x3C6), 0x1D71A => array(0x3C1), 0x1D71B => array(0x3C0),
3055
-                    0x1D71C => array(0x3B1), 0x1D71D => array(0x3B2), 0x1D71E => array(0x3B3),
3056
-                    0x1D71F => array(0x3B4), 0x1D720 => array(0x3B5), 0x1D721 => array(0x3B6),
3057
-                    0x1D722 => array(0x3B7), 0x1D723 => array(0x3B8), 0x1D724 => array(0x3B9),
3058
-                    0x1D725 => array(0x3BA), 0x1D726 => array(0x3BB), 0x1D727 => array(0x3BC),
3059
-                    0x1D728 => array(0x3BD), 0x1D729 => array(0x3BE), 0x1D72A => array(0x3BF),
3060
-                    0x1D72B => array(0x3C0), 0x1D72C => array(0x3C1), 0x1D72D => array(0x3B8),
3061
-                    0x1D72E => array(0x3C3), 0x1D72F => array(0x3C4), 0x1D730 => array(0x3C5),
3062
-                    0x1D731 => array(0x3C6), 0x1D732 => array(0x3C7), 0x1D733 => array(0x3C8),
3063
-                    0x1D734 => array(0x3C9), 0x1D735 => array(0x2207), 0x1D736 => array(0x3B1),
3064
-                    0x1D737 => array(0x3B2), 0x1D738 => array(0x3B3), 0x1D739 => array(0x3B4),
3065
-                    0x1D73A => array(0x3B5), 0x1D73B => array(0x3B6), 0x1D73C => array(0x3B7),
3066
-                    0x1D73D => array(0x3B8), 0x1D73E => array(0x3B9), 0x1D73F => array(0x3BA),
3067
-                    0x1D740 => array(0x3BB), 0x1D741 => array(0x3BC), 0x1D742 => array(0x3BD),
3068
-                    0x1D743 => array(0x3BE), 0x1D744 => array(0x3BF), 0x1D745 => array(0x3C0),
3069
-                    0x1D746 => array(0x3C1), 0x1D747 => array(0x3C3), 0x1D748 => array(0x3C3),
3070
-                    0x1D749 => array(0x3C4), 0x1D74A => array(0x3C5), 0x1D74B => array(0x3C6),
3071
-                    0x1D74C => array(0x3C7), 0x1D74D => array(0x3C8), 0x1D74E => array(0x3C9),
3072
-                    0x1D74F => array(0x2202), 0x1D750 => array(0x3B5), 0x1D751 => array(0x3B8),
3073
-                    0x1D752 => array(0x3BA), 0x1D753 => array(0x3C6), 0x1D754 => array(0x3C1),
3074
-                    0x1D755 => array(0x3C0), 0x1D756 => array(0x3B1), 0x1D757 => array(0x3B2),
3075
-                    0x1D758 => array(0x3B3), 0x1D759 => array(0x3B4), 0x1D75A => array(0x3B5),
3076
-                    0x1D75B => array(0x3B6), 0x1D75C => array(0x3B7), 0x1D75D => array(0x3B8),
3077
-                    0x1D75E => array(0x3B9), 0x1D75F => array(0x3BA), 0x1D760 => array(0x3BB),
3078
-                    0x1D761 => array(0x3BC), 0x1D762 => array(0x3BD), 0x1D763 => array(0x3BE),
3079
-                    0x1D764 => array(0x3BF), 0x1D765 => array(0x3C0), 0x1D766 => array(0x3C1),
3080
-                    0x1D767 => array(0x3B8), 0x1D768 => array(0x3C3), 0x1D769 => array(0x3C4),
3081
-                    0x1D76A => array(0x3C5), 0x1D76B => array(0x3C6), 0x1D76C => array(0x3C7),
3082
-                    0x1D76D => array(0x3C8), 0x1D76E => array(0x3C9), 0x1D76F => array(0x2207),
3083
-                    0x1D770 => array(0x3B1), 0x1D771 => array(0x3B2), 0x1D772 => array(0x3B3),
3084
-                    0x1D773 => array(0x3B4), 0x1D774 => array(0x3B5), 0x1D775 => array(0x3B6),
3085
-                    0x1D776 => array(0x3B7), 0x1D777 => array(0x3B8), 0x1D778 => array(0x3B9),
3086
-                    0x1D779 => array(0x3BA), 0x1D77A => array(0x3BB), 0x1D77B => array(0x3BC),
3087
-                    0x1D77C => array(0x3BD), 0x1D77D => array(0x3BE), 0x1D77E => array(0x3BF),
3088
-                    0x1D77F => array(0x3C0), 0x1D780 => array(0x3C1), 0x1D781 => array(0x3C3),
3089
-                    0x1D782 => array(0x3C3), 0x1D783 => array(0x3C4), 0x1D784 => array(0x3C5),
3090
-                    0x1D785 => array(0x3C6), 0x1D786 => array(0x3C7), 0x1D787 => array(0x3C8),
3091
-                    0x1D788 => array(0x3C9), 0x1D789 => array(0x2202), 0x1D78A => array(0x3B5),
3092
-                    0x1D78B => array(0x3B8), 0x1D78C => array(0x3BA), 0x1D78D => array(0x3C6),
3093
-                    0x1D78E => array(0x3C1), 0x1D78F => array(0x3C0), 0x1D790 => array(0x3B1),
3094
-                    0x1D791 => array(0x3B2), 0x1D792 => array(0x3B3), 0x1D793 => array(0x3B4),
3095
-                    0x1D794 => array(0x3B5), 0x1D795 => array(0x3B6), 0x1D796 => array(0x3B7),
3096
-                    0x1D797 => array(0x3B8), 0x1D798 => array(0x3B9), 0x1D799 => array(0x3BA),
3097
-                    0x1D79A => array(0x3BB), 0x1D79B => array(0x3BC), 0x1D79C => array(0x3BD),
3098
-                    0x1D79D => array(0x3BE), 0x1D79E => array(0x3BF), 0x1D79F => array(0x3C0),
3099
-                    0x1D7A0 => array(0x3C1), 0x1D7A1 => array(0x3B8), 0x1D7A2 => array(0x3C3),
3100
-                    0x1D7A3 => array(0x3C4), 0x1D7A4 => array(0x3C5), 0x1D7A5 => array(0x3C6),
3101
-                    0x1D7A6 => array(0x3C7), 0x1D7A7 => array(0x3C8), 0x1D7A8 => array(0x3C9),
3102
-                    0x1D7A9 => array(0x2207), 0x1D7AA => array(0x3B1), 0x1D7AB => array(0x3B2),
3103
-                    0x1D7AC => array(0x3B3), 0x1D7AD => array(0x3B4), 0x1D7AE => array(0x3B5),
3104
-                    0x1D7AF => array(0x3B6), 0x1D7B0 => array(0x3B7), 0x1D7B1 => array(0x3B8),
3105
-                    0x1D7B2 => array(0x3B9), 0x1D7B3 => array(0x3BA), 0x1D7B4 => array(0x3BB),
3106
-                    0x1D7B5 => array(0x3BC), 0x1D7B6 => array(0x3BD), 0x1D7B7 => array(0x3BE),
3107
-                    0x1D7B8 => array(0x3BF), 0x1D7B9 => array(0x3C0), 0x1D7BA => array(0x3C1),
3108
-                    0x1D7BB => array(0x3C3), 0x1D7BC => array(0x3C3), 0x1D7BD => array(0x3C4),
3109
-                    0x1D7BE => array(0x3C5), 0x1D7BF => array(0x3C6), 0x1D7C0 => array(0x3C7),
3110
-                    0x1D7C1 => array(0x3C8), 0x1D7C2 => array(0x3C9), 0x1D7C3 => array(0x2202),
3111
-                    0x1D7C4 => array(0x3B5), 0x1D7C5 => array(0x3B8), 0x1D7C6 => array(0x3BA),
3112
-                    0x1D7C7 => array(0x3C6), 0x1D7C8 => array(0x3C1), 0x1D7C9 => array(0x3C0),
3113
-                    0x1D7CA => array(0x3DD), 0x1D7CB => array(0x3DD), 0x1D7CE => array(0x30),
3114
-                    0x1D7CF => array(0x31), 0x1D7D0 => array(0x32), 0x1D7D1 => array(0x33),
3115
-                    0x1D7D2 => array(0x34), 0x1D7D3 => array(0x35), 0x1D7D4 => array(0x36),
3116
-                    0x1D7D5 => array(0x37), 0x1D7D6 => array(0x38), 0x1D7D7 => array(0x39),
3117
-                    0x1D7D8 => array(0x30), 0x1D7D9 => array(0x31), 0x1D7DA => array(0x32),
3118
-                    0x1D7DB => array(0x33), 0x1D7DC => array(0x34), 0x1D7DD => array(0x35),
3119
-                    0x1D7DE => array(0x36), 0x1D7DF => array(0x37), 0x1D7E0 => array(0x38),
3120
-                    0x1D7E1 => array(0x39), 0x1D7E2 => array(0x30), 0x1D7E3 => array(0x31),
3121
-                    0x1D7E4 => array(0x32), 0x1D7E5 => array(0x33), 0x1D7E6 => array(0x34),
3122
-                    0x1D7E7 => array(0x35), 0x1D7E8 => array(0x36), 0x1D7E9 => array(0x37),
3123
-                    0x1D7EA => array(0x38), 0x1D7EB => array(0x39), 0x1D7EC => array(0x30),
3124
-                    0x1D7ED => array(0x31), 0x1D7EE => array(0x32), 0x1D7EF => array(0x33),
3125
-                    0x1D7F0 => array(0x34), 0x1D7F1 => array(0x35), 0x1D7F2 => array(0x36),
3126
-                    0x1D7F3 => array(0x37), 0x1D7F4 => array(0x38), 0x1D7F5 => array(0x39),
3127
-                    0x1D7F6 => array(0x30), 0x1D7F7 => array(0x31), 0x1D7F8 => array(0x32),
3128
-                    0x1D7F9 => array(0x33), 0x1D7FA => array(0x34), 0x1D7FB => array(0x35),
3129
-                    0x1D7FC => array(0x36), 0x1D7FD => array(0x37), 0x1D7FE => array(0x38),
3130
-                    0x1D7FF => array(0x39), 0x1EE00 => array(0x627), 0x1EE01 => array(0x628),
3131
-                    0x1EE02 => array(0x62C), 0x1EE03 => array(0x62F), 0x1EE05 => array(0x648),
3132
-                    0x1EE06 => array(0x632), 0x1EE07 => array(0x62D), 0x1EE08 => array(0x637),
3133
-                    0x1EE09 => array(0x64A), 0x1EE0A => array(0x643), 0x1EE0B => array(0x644),
3134
-                    0x1EE0C => array(0x645), 0x1EE0D => array(0x646), 0x1EE0E => array(0x633),
3135
-                    0x1EE0F => array(0x639), 0x1EE10 => array(0x641), 0x1EE11 => array(0x635),
3136
-                    0x1EE12 => array(0x642), 0x1EE13 => array(0x631), 0x1EE14 => array(0x634),
3137
-                    0x1EE15 => array(0x62A), 0x1EE16 => array(0x62B), 0x1EE17 => array(0x62E),
3138
-                    0x1EE18 => array(0x630), 0x1EE19 => array(0x636), 0x1EE1A => array(0x638),
3139
-                    0x1EE1B => array(0x63A), 0x1EE1C => array(0x66E), 0x1EE1D => array(0x6BA),
3140
-                    0x1EE1E => array(0x6A1), 0x1EE1F => array(0x66F), 0x1EE21 => array(0x628),
3141
-                    0x1EE22 => array(0x62C), 0x1EE24 => array(0x647), 0x1EE27 => array(0x62D),
3142
-                    0x1EE29 => array(0x64A), 0x1EE2A => array(0x643), 0x1EE2B => array(0x644),
3143
-                    0x1EE2C => array(0x645), 0x1EE2D => array(0x646), 0x1EE2E => array(0x633),
3144
-                    0x1EE2F => array(0x639), 0x1EE30 => array(0x641), 0x1EE31 => array(0x635),
3145
-                    0x1EE32 => array(0x642), 0x1EE34 => array(0x634), 0x1EE35 => array(0x62A),
3146
-                    0x1EE36 => array(0x62B), 0x1EE37 => array(0x62E), 0x1EE39 => array(0x636),
3147
-                    0x1EE3B => array(0x63A), 0x1EE42 => array(0x62C), 0x1EE47 => array(0x62D),
3148
-                    0x1EE49 => array(0x64A), 0x1EE4B => array(0x644), 0x1EE4D => array(0x646),
3149
-                    0x1EE4E => array(0x633), 0x1EE4F => array(0x639), 0x1EE51 => array(0x635),
3150
-                    0x1EE52 => array(0x642), 0x1EE54 => array(0x634), 0x1EE57 => array(0x62E),
3151
-                    0x1EE59 => array(0x636), 0x1EE5B => array(0x63A), 0x1EE5D => array(0x6BA),
3152
-                    0x1EE5F => array(0x66F), 0x1EE61 => array(0x628), 0x1EE62 => array(0x62C),
3153
-                    0x1EE64 => array(0x647), 0x1EE67 => array(0x62D), 0x1EE68 => array(0x637),
3154
-                    0x1EE69 => array(0x64A), 0x1EE6A => array(0x643), 0x1EE6C => array(0x645),
3155
-                    0x1EE6D => array(0x646), 0x1EE6E => array(0x633), 0x1EE6F => array(0x639),
3156
-                    0x1EE70 => array(0x641), 0x1EE71 => array(0x635), 0x1EE72 => array(0x642),
3157
-                    0x1EE74 => array(0x634), 0x1EE75 => array(0x62A), 0x1EE76 => array(0x62B),
3158
-                    0x1EE77 => array(0x62E), 0x1EE79 => array(0x636), 0x1EE7A => array(0x638),
3159
-                    0x1EE7B => array(0x63A), 0x1EE7C => array(0x66E), 0x1EE7E => array(0x6A1),
3160
-                    0x1EE80 => array(0x627), 0x1EE81 => array(0x628), 0x1EE82 => array(0x62C),
3161
-                    0x1EE83 => array(0x62F), 0x1EE84 => array(0x647), 0x1EE85 => array(0x648),
3162
-                    0x1EE86 => array(0x632), 0x1EE87 => array(0x62D), 0x1EE88 => array(0x637),
3163
-                    0x1EE89 => array(0x64A), 0x1EE8B => array(0x644), 0x1EE8C => array(0x645),
3164
-                    0x1EE8D => array(0x646), 0x1EE8E => array(0x633), 0x1EE8F => array(0x639),
3165
-                    0x1EE90 => array(0x641), 0x1EE91 => array(0x635), 0x1EE92 => array(0x642),
3166
-                    0x1EE93 => array(0x631), 0x1EE94 => array(0x634), 0x1EE95 => array(0x62A),
3167
-                    0x1EE96 => array(0x62B), 0x1EE97 => array(0x62E), 0x1EE98 => array(0x630),
3168
-                    0x1EE99 => array(0x636), 0x1EE9A => array(0x638), 0x1EE9B => array(0x63A),
3169
-                    0x1EEA1 => array(0x628), 0x1EEA2 => array(0x62C), 0x1EEA3 => array(0x62F),
3170
-                    0x1EEA5 => array(0x648), 0x1EEA6 => array(0x632), 0x1EEA7 => array(0x62D),
3171
-                    0x1EEA8 => array(0x637), 0x1EEA9 => array(0x64A), 0x1EEAB => array(0x644),
3172
-                    0x1EEAC => array(0x645), 0x1EEAD => array(0x646), 0x1EEAE => array(0x633),
3173
-                    0x1EEAF => array(0x639), 0x1EEB0 => array(0x641), 0x1EEB1 => array(0x635),
3174
-                    0x1EEB2 => array(0x642), 0x1EEB3 => array(0x631), 0x1EEB4 => array(0x634),
3175
-                    0x1EEB5 => array(0x62A), 0x1EEB6 => array(0x62B), 0x1EEB7 => array(0x62E),
3176
-                    0x1EEB8 => array(0x630), 0x1EEB9 => array(0x636), 0x1EEBA => array(0x638),
3177
-                    0x1EEBB => array(0x63A), 0x1F12A => array(0x3014, 0x73, 0x3015), 0x1F12B => array(0x63),
3178
-                    0x1F12C => array(0x72), 0x1F12D => array(0x63, 0x64), 0x1F12E => array(0x77, 0x7A),
3179
-                    0x1F130 => array(0x61), 0x1F131 => array(0x62), 0x1F132 => array(0x63),
3180
-                    0x1F133 => array(0x64), 0x1F134 => array(0x65), 0x1F135 => array(0x66),
3181
-                    0x1F136 => array(0x67), 0x1F137 => array(0x68), 0x1F138 => array(0x69),
3182
-                    0x1F139 => array(0x6A), 0x1F13A => array(0x6B), 0x1F13B => array(0x6C),
3183
-                    0x1F13C => array(0x6D), 0x1F13D => array(0x6E), 0x1F13E => array(0x6F),
3184
-                    0x1F13F => array(0x70), 0x1F140 => array(0x71), 0x1F141 => array(0x72),
3185
-                    0x1F142 => array(0x73), 0x1F143 => array(0x74), 0x1F144 => array(0x75),
3186
-                    0x1F145 => array(0x76), 0x1F146 => array(0x77), 0x1F147 => array(0x78),
3187
-                    0x1F148 => array(0x79), 0x1F149 => array(0x7A), 0x1F14A => array(0x68, 0x76),
3188
-                    0x1F14B => array(0x6D, 0x76), 0x1F14C => array(0x73, 0x64), 0x1F14D => array(0x73, 0x73),
3189
-                    0x1F14E => array(0x70, 0x70, 0x76), 0x1F14F => array(0x77, 0x63), 0x1F16A => array(0x6D, 0x63),
3190
-                    0x1F16B => array(0x6D, 0x64), 0x1F190 => array(0x64, 0x6A), 0x1F200 => array(0x307B, 0x304B),
3191
-                    0x1F201 => array(0x30B3, 0x30B3), 0x1F202 => array(0x30B5), 0x1F210 => array(0x624B),
3192
-                    0x1F211 => array(0x5B57), 0x1F212 => array(0x53CC), 0x1F213 => array(0x30C7),
3193
-                    0x1F214 => array(0x4E8C), 0x1F215 => array(0x591A), 0x1F216 => array(0x89E3),
3194
-                    0x1F217 => array(0x5929), 0x1F218 => array(0x4EA4), 0x1F219 => array(0x6620),
3195
-                    0x1F21A => array(0x7121), 0x1F21B => array(0x6599), 0x1F21C => array(0x524D),
3196
-                    0x1F21D => array(0x5F8C), 0x1F21E => array(0x518D), 0x1F21F => array(0x65B0),
3197
-                    0x1F220 => array(0x521D), 0x1F221 => array(0x7D42), 0x1F222 => array(0x751F),
3198
-                    0x1F223 => array(0x8CA9), 0x1F224 => array(0x58F0), 0x1F225 => array(0x5439),
3199
-                    0x1F226 => array(0x6F14), 0x1F227 => array(0x6295), 0x1F228 => array(0x6355),
3200
-                    0x1F229 => array(0x4E00), 0x1F22A => array(0x4E09), 0x1F22B => array(0x904A),
3201
-                    0x1F22C => array(0x5DE6), 0x1F22D => array(0x4E2D), 0x1F22E => array(0x53F3),
3202
-                    0x1F22F => array(0x6307), 0x1F230 => array(0x8D70), 0x1F231 => array(0x6253),
3203
-                    0x1F232 => array(0x7981), 0x1F233 => array(0x7A7A), 0x1F234 => array(0x5408),
3204
-                    0x1F235 => array(0x6E80), 0x1F236 => array(0x6709), 0x1F237 => array(0x6708),
3205
-                    0x1F238 => array(0x7533), 0x1F239 => array(0x5272), 0x1F23A => array(0x55B6),
3206
-                    0x1F240 => array(0x3014, 0x672C, 0x3015), 0x1F241 => array(0x3014, 0x4E09, 0x3015), 0x1F242 => array(0x3014, 0x4E8C, 0x3015),
3207
-                    0x1F243 => array(0x3014, 0x5B89, 0x3015), 0x1F244 => array(0x3014, 0x70B9, 0x3015), 0x1F245 => array(0x3014, 0x6253, 0x3015),
3208
-                    0x1F246 => array(0x3014, 0x76D7, 0x3015), 0x1F247 => array(0x3014, 0x52DD, 0x3015), 0x1F248 => array(0x3014, 0x6557, 0x3015),
3209
-                    0x1F250 => array(0x5F97), 0x1F251 => array(0x53EF), 0x2F800 => array(0x4E3D),
3210
-                    0x2F801 => array(0x4E38), 0x2F802 => array(0x4E41), 0x2F803 => array(0x20122),
3211
-                    0x2F804 => array(0x4F60), 0x2F805 => array(0x4FAE), 0x2F806 => array(0x4FBB),
3212
-                    0x2F807 => array(0x5002), 0x2F808 => array(0x507A), 0x2F809 => array(0x5099),
3213
-                    0x2F80A => array(0x50E7), 0x2F80B => array(0x50CF), 0x2F80C => array(0x349E),
3214
-                    0x2F80D => array(0x2063A), 0x2F80E => array(0x514D), 0x2F80F => array(0x5154),
3215
-                    0x2F810 => array(0x5164), 0x2F811 => array(0x5177), 0x2F812 => array(0x2051C),
3216
-                    0x2F813 => array(0x34B9), 0x2F814 => array(0x5167), 0x2F815 => array(0x518D),
3217
-                    0x2F816 => array(0x2054B), 0x2F817 => array(0x5197), 0x2F818 => array(0x51A4),
3218
-                    0x2F819 => array(0x4ECC), 0x2F81A => array(0x51AC), 0x2F81B => array(0x51B5),
3219
-                    0x2F81C => array(0x291DF), 0x2F81D => array(0x51F5), 0x2F81E => array(0x5203),
3220
-                    0x2F81F => array(0x34DF), 0x2F820 => array(0x523B), 0x2F821 => array(0x5246),
3221
-                    0x2F822 => array(0x5272), 0x2F823 => array(0x5277), 0x2F824 => array(0x3515),
3222
-                    0x2F825 => array(0x52C7), 0x2F826 => array(0x52C9), 0x2F827 => array(0x52E4),
3223
-                    0x2F828 => array(0x52FA), 0x2F829 => array(0x5305), 0x2F82A => array(0x5306),
3224
-                    0x2F82B => array(0x5317), 0x2F82C => array(0x5349), 0x2F82D => array(0x5351),
3225
-                    0x2F82E => array(0x535A), 0x2F82F => array(0x5373), 0x2F830 => array(0x537D),
3226
-                    0x2F831 => array(0x537F), 0x2F832 => array(0x537F), 0x2F833 => array(0x537F),
3227
-                    0x2F834 => array(0x20A2C), 0x2F835 => array(0x7070), 0x2F836 => array(0x53CA),
3228
-                    0x2F837 => array(0x53DF), 0x2F838 => array(0x20B63), 0x2F839 => array(0x53EB),
3229
-                    0x2F83A => array(0x53F1), 0x2F83B => array(0x5406), 0x2F83C => array(0x549E),
3230
-                    0x2F83D => array(0x5438), 0x2F83E => array(0x5448), 0x2F83F => array(0x5468),
3231
-                    0x2F840 => array(0x54A2), 0x2F841 => array(0x54F6), 0x2F842 => array(0x5510),
3232
-                    0x2F843 => array(0x5553), 0x2F844 => array(0x5563), 0x2F845 => array(0x5584),
3233
-                    0x2F846 => array(0x5584), 0x2F847 => array(0x5599), 0x2F848 => array(0x55AB),
3234
-                    0x2F849 => array(0x55B3), 0x2F84A => array(0x55C2), 0x2F84B => array(0x5716),
3235
-                    0x2F84C => array(0x5606), 0x2F84D => array(0x5717), 0x2F84E => array(0x5651),
3236
-                    0x2F84F => array(0x5674), 0x2F850 => array(0x5207), 0x2F851 => array(0x58EE),
3237
-                    0x2F852 => array(0x57CE), 0x2F853 => array(0x57F4), 0x2F854 => array(0x580D),
3238
-                    0x2F855 => array(0x578B), 0x2F856 => array(0x5832), 0x2F857 => array(0x5831),
3239
-                    0x2F858 => array(0x58AC), 0x2F859 => array(0x214E4), 0x2F85A => array(0x58F2),
3240
-                    0x2F85B => array(0x58F7), 0x2F85C => array(0x5906), 0x2F85D => array(0x591A),
3241
-                    0x2F85E => array(0x5922), 0x2F85F => array(0x5962), 0x2F860 => array(0x216A8),
3242
-                    0x2F861 => array(0x216EA), 0x2F862 => array(0x59EC), 0x2F863 => array(0x5A1B),
3243
-                    0x2F864 => array(0x5A27), 0x2F865 => array(0x59D8), 0x2F866 => array(0x5A66),
3244
-                    0x2F867 => array(0x36EE), 0x2F869 => array(0x5B08), 0x2F86A => array(0x5B3E),
3245
-                    0x2F86B => array(0x5B3E), 0x2F86C => array(0x219C8), 0x2F86D => array(0x5BC3),
3246
-                    0x2F86E => array(0x5BD8), 0x2F86F => array(0x5BE7), 0x2F870 => array(0x5BF3),
3247
-                    0x2F871 => array(0x21B18), 0x2F872 => array(0x5BFF), 0x2F873 => array(0x5C06),
3248
-                    0x2F875 => array(0x5C22), 0x2F876 => array(0x3781), 0x2F877 => array(0x5C60),
3249
-                    0x2F878 => array(0x5C6E), 0x2F879 => array(0x5CC0), 0x2F87A => array(0x5C8D),
3250
-                    0x2F87B => array(0x21DE4), 0x2F87C => array(0x5D43), 0x2F87D => array(0x21DE6),
3251
-                    0x2F87E => array(0x5D6E), 0x2F87F => array(0x5D6B), 0x2F880 => array(0x5D7C),
3252
-                    0x2F881 => array(0x5DE1), 0x2F882 => array(0x5DE2), 0x2F883 => array(0x382F),
3253
-                    0x2F884 => array(0x5DFD), 0x2F885 => array(0x5E28), 0x2F886 => array(0x5E3D),
3254
-                    0x2F887 => array(0x5E69), 0x2F888 => array(0x3862), 0x2F889 => array(0x22183),
3255
-                    0x2F88A => array(0x387C), 0x2F88B => array(0x5EB0), 0x2F88C => array(0x5EB3),
3256
-                    0x2F88D => array(0x5EB6), 0x2F88E => array(0x5ECA), 0x2F88F => array(0x2A392),
3257
-                    0x2F890 => array(0x5EFE), 0x2F891 => array(0x22331), 0x2F892 => array(0x22331),
3258
-                    0x2F893 => array(0x8201), 0x2F894 => array(0x5F22), 0x2F895 => array(0x5F22),
3259
-                    0x2F896 => array(0x38C7), 0x2F897 => array(0x232B8), 0x2F898 => array(0x261DA),
3260
-                    0x2F899 => array(0x5F62), 0x2F89A => array(0x5F6B), 0x2F89B => array(0x38E3),
3261
-                    0x2F89C => array(0x5F9A), 0x2F89D => array(0x5FCD), 0x2F89E => array(0x5FD7),
3262
-                    0x2F89F => array(0x5FF9), 0x2F8A0 => array(0x6081), 0x2F8A1 => array(0x393A),
3263
-                    0x2F8A2 => array(0x391C), 0x2F8A3 => array(0x6094), 0x2F8A4 => array(0x226D4),
3264
-                    0x2F8A5 => array(0x60C7), 0x2F8A6 => array(0x6148), 0x2F8A7 => array(0x614C),
3265
-                    0x2F8A8 => array(0x614E), 0x2F8A9 => array(0x614C), 0x2F8AA => array(0x617A),
3266
-                    0x2F8AB => array(0x618E), 0x2F8AC => array(0x61B2), 0x2F8AD => array(0x61A4),
3267
-                    0x2F8AE => array(0x61AF), 0x2F8AF => array(0x61DE), 0x2F8B0 => array(0x61F2),
3268
-                    0x2F8B1 => array(0x61F6), 0x2F8B2 => array(0x6210), 0x2F8B3 => array(0x621B),
3269
-                    0x2F8B4 => array(0x625D), 0x2F8B5 => array(0x62B1), 0x2F8B6 => array(0x62D4),
3270
-                    0x2F8B7 => array(0x6350), 0x2F8B8 => array(0x22B0C), 0x2F8B9 => array(0x633D),
3271
-                    0x2F8BA => array(0x62FC), 0x2F8BB => array(0x6368), 0x2F8BC => array(0x6383),
3272
-                    0x2F8BD => array(0x63E4), 0x2F8BE => array(0x22BF1), 0x2F8BF => array(0x6422),
3273
-                    0x2F8C0 => array(0x63C5), 0x2F8C1 => array(0x63A9), 0x2F8C2 => array(0x3A2E),
3274
-                    0x2F8C3 => array(0x6469), 0x2F8C4 => array(0x647E), 0x2F8C5 => array(0x649D),
3275
-                    0x2F8C6 => array(0x6477), 0x2F8C7 => array(0x3A6C), 0x2F8C8 => array(0x654F),
3276
-                    0x2F8C9 => array(0x656C), 0x2F8CA => array(0x2300A), 0x2F8CB => array(0x65E3),
3277
-                    0x2F8CC => array(0x66F8), 0x2F8CD => array(0x6649), 0x2F8CE => array(0x3B19),
3278
-                    0x2F8CF => array(0x6691), 0x2F8D0 => array(0x3B08), 0x2F8D1 => array(0x3AE4),
3279
-                    0x2F8D2 => array(0x5192), 0x2F8D3 => array(0x5195), 0x2F8D4 => array(0x6700),
3280
-                    0x2F8D5 => array(0x669C), 0x2F8D6 => array(0x80AD), 0x2F8D7 => array(0x43D9),
3281
-                    0x2F8D8 => array(0x6717), 0x2F8D9 => array(0x671B), 0x2F8DA => array(0x6721),
3282
-                    0x2F8DB => array(0x675E), 0x2F8DC => array(0x6753), 0x2F8DD => array(0x233C3),
3283
-                    0x2F8DE => array(0x3B49), 0x2F8DF => array(0x67FA), 0x2F8E0 => array(0x6785),
3284
-                    0x2F8E1 => array(0x6852), 0x2F8E2 => array(0x6885), 0x2F8E3 => array(0x2346D),
3285
-                    0x2F8E4 => array(0x688E), 0x2F8E5 => array(0x681F), 0x2F8E6 => array(0x6914),
3286
-                    0x2F8E7 => array(0x3B9D), 0x2F8E8 => array(0x6942), 0x2F8E9 => array(0x69A3),
3287
-                    0x2F8EA => array(0x69EA), 0x2F8EB => array(0x6AA8), 0x2F8EC => array(0x236A3),
3288
-                    0x2F8ED => array(0x6ADB), 0x2F8EE => array(0x3C18), 0x2F8EF => array(0x6B21),
3289
-                    0x2F8F0 => array(0x238A7), 0x2F8F1 => array(0x6B54), 0x2F8F2 => array(0x3C4E),
3290
-                    0x2F8F3 => array(0x6B72), 0x2F8F4 => array(0x6B9F), 0x2F8F5 => array(0x6BBA),
3291
-                    0x2F8F6 => array(0x6BBB), 0x2F8F7 => array(0x23A8D), 0x2F8F8 => array(0x21D0B),
3292
-                    0x2F8F9 => array(0x23AFA), 0x2F8FA => array(0x6C4E), 0x2F8FB => array(0x23CBC),
3293
-                    0x2F8FC => array(0x6CBF), 0x2F8FD => array(0x6CCD), 0x2F8FE => array(0x6C67),
3294
-                    0x2F8FF => array(0x6D16), 0x2F900 => array(0x6D3E), 0x2F901 => array(0x6D77),
3295
-                    0x2F902 => array(0x6D41), 0x2F903 => array(0x6D69), 0x2F904 => array(0x6D78),
3296
-                    0x2F905 => array(0x6D85), 0x2F906 => array(0x23D1E), 0x2F907 => array(0x6D34),
3297
-                    0x2F908 => array(0x6E2F), 0x2F909 => array(0x6E6E), 0x2F90A => array(0x3D33),
3298
-                    0x2F90B => array(0x6ECB), 0x2F90C => array(0x6EC7), 0x2F90D => array(0x23ED1),
3299
-                    0x2F90E => array(0x6DF9), 0x2F90F => array(0x6F6E), 0x2F910 => array(0x23F5E),
3300
-                    0x2F911 => array(0x23F8E), 0x2F912 => array(0x6FC6), 0x2F913 => array(0x7039),
3301
-                    0x2F914 => array(0x701E), 0x2F915 => array(0x701B), 0x2F916 => array(0x3D96),
3302
-                    0x2F917 => array(0x704A), 0x2F918 => array(0x707D), 0x2F919 => array(0x7077),
3303
-                    0x2F91A => array(0x70AD), 0x2F91B => array(0x20525), 0x2F91C => array(0x7145),
3304
-                    0x2F91D => array(0x24263), 0x2F91E => array(0x719C), 0x2F920 => array(0x7228),
3305
-                    0x2F921 => array(0x7235), 0x2F922 => array(0x7250), 0x2F923 => array(0x24608),
3306
-                    0x2F924 => array(0x7280), 0x2F925 => array(0x7295), 0x2F926 => array(0x24735),
3307
-                    0x2F927 => array(0x24814), 0x2F928 => array(0x737A), 0x2F929 => array(0x738B),
3308
-                    0x2F92A => array(0x3EAC), 0x2F92B => array(0x73A5), 0x2F92C => array(0x3EB8),
3309
-                    0x2F92D => array(0x3EB8), 0x2F92E => array(0x7447), 0x2F92F => array(0x745C),
3310
-                    0x2F930 => array(0x7471), 0x2F931 => array(0x7485), 0x2F932 => array(0x74CA),
3311
-                    0x2F933 => array(0x3F1B), 0x2F934 => array(0x7524), 0x2F935 => array(0x24C36),
3312
-                    0x2F936 => array(0x753E), 0x2F937 => array(0x24C92), 0x2F938 => array(0x7570),
3313
-                    0x2F939 => array(0x2219F), 0x2F93A => array(0x7610), 0x2F93B => array(0x24FA1),
3314
-                    0x2F93C => array(0x24FB8), 0x2F93D => array(0x25044), 0x2F93E => array(0x3FFC),
3315
-                    0x2F93F => array(0x4008), 0x2F940 => array(0x76F4), 0x2F941 => array(0x250F3),
3316
-                    0x2F942 => array(0x250F2), 0x2F943 => array(0x25119), 0x2F944 => array(0x25133),
3317
-                    0x2F945 => array(0x771E), 0x2F946 => array(0x771F), 0x2F947 => array(0x771F),
3318
-                    0x2F948 => array(0x774A), 0x2F949 => array(0x4039), 0x2F94A => array(0x778B),
3319
-                    0x2F94B => array(0x4046), 0x2F94C => array(0x4096), 0x2F94D => array(0x2541D),
3320
-                    0x2F94E => array(0x784E), 0x2F94F => array(0x788C), 0x2F950 => array(0x78CC),
3321
-                    0x2F951 => array(0x40E3), 0x2F952 => array(0x25626), 0x2F953 => array(0x7956),
3322
-                    0x2F954 => array(0x2569A), 0x2F955 => array(0x256C5), 0x2F956 => array(0x798F),
3323
-                    0x2F957 => array(0x79EB), 0x2F958 => array(0x412F), 0x2F959 => array(0x7A40),
3324
-                    0x2F95A => array(0x7A4A), 0x2F95B => array(0x7A4F), 0x2F95C => array(0x2597C),
3325
-                    0x2F95D => array(0x25AA7), 0x2F95E => array(0x25AA7), 0x2F960 => array(0x4202),
3326
-                    0x2F961 => array(0x25BAB), 0x2F962 => array(0x7BC6), 0x2F963 => array(0x7BC9),
3327
-                    0x2F964 => array(0x4227), 0x2F965 => array(0x25C80), 0x2F966 => array(0x7CD2),
3328
-                    0x2F967 => array(0x42A0), 0x2F968 => array(0x7CE8), 0x2F969 => array(0x7CE3),
3329
-                    0x2F96A => array(0x7D00), 0x2F96B => array(0x25F86), 0x2F96C => array(0x7D63),
3330
-                    0x2F96D => array(0x4301), 0x2F96E => array(0x7DC7), 0x2F96F => array(0x7E02),
3331
-                    0x2F970 => array(0x7E45), 0x2F971 => array(0x4334), 0x2F972 => array(0x26228),
3332
-                    0x2F973 => array(0x26247), 0x2F974 => array(0x4359), 0x2F975 => array(0x262D9),
3333
-                    0x2F976 => array(0x7F7A), 0x2F977 => array(0x2633E), 0x2F978 => array(0x7F95),
3334
-                    0x2F979 => array(0x7FFA), 0x2F97A => array(0x8005), 0x2F97B => array(0x264DA),
3335
-                    0x2F97C => array(0x26523), 0x2F97D => array(0x8060), 0x2F97E => array(0x265A8),
3336
-                    0x2F97F => array(0x8070), 0x2F980 => array(0x2335F), 0x2F981 => array(0x43D5),
3337
-                    0x2F982 => array(0x80B2), 0x2F983 => array(0x8103), 0x2F984 => array(0x440B),
3338
-                    0x2F985 => array(0x813E), 0x2F986 => array(0x5AB5), 0x2F987 => array(0x267A7),
3339
-                    0x2F988 => array(0x267B5), 0x2F989 => array(0x23393), 0x2F98A => array(0x2339C),
3340
-                    0x2F98B => array(0x8201), 0x2F98C => array(0x8204), 0x2F98D => array(0x8F9E),
3341
-                    0x2F98E => array(0x446B), 0x2F98F => array(0x8291), 0x2F990 => array(0x828B),
3342
-                    0x2F991 => array(0x829D), 0x2F992 => array(0x52B3), 0x2F993 => array(0x82B1),
3343
-                    0x2F994 => array(0x82B3), 0x2F995 => array(0x82BD), 0x2F996 => array(0x82E6),
3344
-                    0x2F997 => array(0x26B3C), 0x2F998 => array(0x82E5), 0x2F999 => array(0x831D),
3345
-                    0x2F99A => array(0x8363), 0x2F99B => array(0x83AD), 0x2F99C => array(0x8323),
3346
-                    0x2F99D => array(0x83BD), 0x2F99E => array(0x83E7), 0x2F99F => array(0x8457),
3347
-                    0x2F9A0 => array(0x8353), 0x2F9A1 => array(0x83CA), 0x2F9A2 => array(0x83CC),
3348
-                    0x2F9A3 => array(0x83DC), 0x2F9A4 => array(0x26C36), 0x2F9A5 => array(0x26D6B),
3349
-                    0x2F9A6 => array(0x26CD5), 0x2F9A7 => array(0x452B), 0x2F9A8 => array(0x84F1),
3350
-                    0x2F9A9 => array(0x84F3), 0x2F9AA => array(0x8516), 0x2F9AB => array(0x273CA),
3351
-                    0x2F9AC => array(0x8564), 0x2F9AD => array(0x26F2C), 0x2F9AE => array(0x455D),
3352
-                    0x2F9AF => array(0x4561), 0x2F9B0 => array(0x26FB1), 0x2F9B1 => array(0x270D2),
3353
-                    0x2F9B2 => array(0x456B), 0x2F9B3 => array(0x8650), 0x2F9B4 => array(0x865C),
3354
-                    0x2F9B5 => array(0x8667), 0x2F9B6 => array(0x8669), 0x2F9B7 => array(0x86A9),
3355
-                    0x2F9B8 => array(0x8688), 0x2F9B9 => array(0x870E), 0x2F9BA => array(0x86E2),
3356
-                    0x2F9BB => array(0x8779), 0x2F9BC => array(0x8728), 0x2F9BD => array(0x876B),
3357
-                    0x2F9BE => array(0x8786), 0x2F9C0 => array(0x87E1), 0x2F9C1 => array(0x8801),
3358
-                    0x2F9C2 => array(0x45F9), 0x2F9C3 => array(0x8860), 0x2F9C4 => array(0x8863),
3359
-                    0x2F9C5 => array(0x27667), 0x2F9C6 => array(0x88D7), 0x2F9C7 => array(0x88DE),
3360
-                    0x2F9C8 => array(0x4635), 0x2F9C9 => array(0x88FA), 0x2F9CA => array(0x34BB),
3361
-                    0x2F9CB => array(0x278AE), 0x2F9CC => array(0x27966), 0x2F9CD => array(0x46BE),
3362
-                    0x2F9CE => array(0x46C7), 0x2F9CF => array(0x8AA0), 0x2F9D0 => array(0x8AED),
3363
-                    0x2F9D1 => array(0x8B8A), 0x2F9D2 => array(0x8C55), 0x2F9D3 => array(0x27CA8),
3364
-                    0x2F9D4 => array(0x8CAB), 0x2F9D5 => array(0x8CC1), 0x2F9D6 => array(0x8D1B),
3365
-                    0x2F9D7 => array(0x8D77), 0x2F9D8 => array(0x27F2F), 0x2F9D9 => array(0x20804),
3366
-                    0x2F9DA => array(0x8DCB), 0x2F9DB => array(0x8DBC), 0x2F9DC => array(0x8DF0),
3367
-                    0x2F9DD => array(0x208DE), 0x2F9DE => array(0x8ED4), 0x2F9DF => array(0x8F38),
3368
-                    0x2F9E0 => array(0x285D2), 0x2F9E1 => array(0x285ED), 0x2F9E2 => array(0x9094),
3369
-                    0x2F9E3 => array(0x90F1), 0x2F9E4 => array(0x9111), 0x2F9E5 => array(0x2872E),
3370
-                    0x2F9E6 => array(0x911B), 0x2F9E7 => array(0x9238), 0x2F9E8 => array(0x92D7),
3371
-                    0x2F9E9 => array(0x92D8), 0x2F9EA => array(0x927C), 0x2F9EB => array(0x93F9),
3372
-                    0x2F9EC => array(0x9415), 0x2F9ED => array(0x28BFA), 0x2F9EE => array(0x958B),
3373
-                    0x2F9EF => array(0x4995), 0x2F9F0 => array(0x95B7), 0x2F9F1 => array(0x28D77),
3374
-                    0x2F9F2 => array(0x49E6), 0x2F9F3 => array(0x96C3), 0x2F9F4 => array(0x5DB2),
3375
-                    0x2F9F5 => array(0x9723), 0x2F9F6 => array(0x29145), 0x2F9F7 => array(0x2921A),
3376
-                    0x2F9F8 => array(0x4A6E), 0x2F9F9 => array(0x4A76), 0x2F9FA => array(0x97E0),
3377
-                    0x2F9FB => array(0x2940A), 0x2F9FC => array(0x4AB2), 0x2F9FD => array(0x29496),
3378
-                    0x2F9FE => array(0x980B), 0x2F9FF => array(0x980B), 0x2FA00 => array(0x9829),
3379
-                    0x2FA01 => array(0x295B6), 0x2FA02 => array(0x98E2), 0x2FA03 => array(0x4B33),
3380
-                    0x2FA04 => array(0x9929), 0x2FA05 => array(0x99A7), 0x2FA06 => array(0x99C2),
3381
-                    0x2FA07 => array(0x99FE), 0x2FA08 => array(0x4BCE), 0x2FA09 => array(0x29B30),
3382
-                    0x2FA0A => array(0x9B12), 0x2FA0B => array(0x9C40), 0x2FA0C => array(0x9CFD),
3383
-                    0x2FA0D => array(0x4CCE), 0x2FA0E => array(0x4CED), 0x2FA0F => array(0x9D67),
3384
-                    0x2FA10 => array(0x2A0CE), 0x2FA11 => array(0x4CF8), 0x2FA12 => array(0x2A105),
3385
-                    0x2FA13 => array(0x2A20E), 0x2FA14 => array(0x2A291), 0x2FA15 => array(0x9EBB),
3386
-                    0x2FA16 => array(0x4D56), 0x2FA17 => array(0x9EF9), 0x2FA18 => array(0x9EFE),
3387
-                    0x2FA19 => array(0x9F05), 0x2FA1A => array(0x9F0F), 0x2FA1B => array(0x9F16),
3388
-                    0x2FA1C => array(0x9F3B), 0x2FA1D => array(0x2A600)
3389
-            ),
3390
-            'norm_combcls' => array(0x334 => 1, 0x335 => 1, 0x336 => 1, 0x337 => 1,
3391
-                    0x338 => 1, 0x93C => 7, 0x9BC => 7, 0xA3C => 7, 0xABC => 7,
3392
-                    0xB3C => 7, 0xCBC => 7, 0x1037 => 7, 0x3099 => 8, 0x309A => 8,
3393
-                    0x94D => 9, 0x9CD => 9, 0xA4D => 9, 0xACD => 9, 0xB4D => 9,
3394
-                    0xBCD => 9, 0xC4D => 9, 0xCCD => 9, 0xD4D => 9, 0xDCA => 9,
3395
-                    0xE3A => 9, 0xF84 => 9, 0x1039 => 9, 0x1714 => 9, 0x1734 => 9,
3396
-                    0x17D2 => 9, 0x5B0 => 10, 0x5B1 => 11, 0x5B2 => 12, 0x5B3 => 13,
3397
-                    0x5B4 => 14, 0x5B5 => 15, 0x5B6 => 16, 0x5B7 => 17, 0x5B8 => 18,
3398
-                    0x5B9 => 19, 0x5BB => 20, 0x5Bc => 21, 0x5BD => 22, 0x5BF => 23,
3399
-                    0x5C1 => 24, 0x5C2 => 25, 0xFB1E => 26, 0x64B => 27, 0x64C => 28,
3400
-                    0x64D => 29, 0x64E => 30, 0x64F => 31, 0x650 => 32, 0x651 => 33,
3401
-                    0x652 => 34, 0x670 => 35, 0x711 => 36, 0xC55 => 84, 0xC56 => 91,
3402
-                    0xE38 => 103, 0xE39 => 103, 0xE48 => 107, 0xE49 => 107, 0xE4A => 107,
3403
-                    0xE4B => 107, 0xEB8 => 118, 0xEB9 => 118, 0xEC8 => 122, 0xEC9 => 122,
3404
-                    0xECA => 122, 0xECB => 122, 0xF71 => 129, 0xF72 => 130, 0xF7A => 130,
3405
-                    0xF7B => 130, 0xF7C => 130, 0xF7D => 130, 0xF80 => 130, 0xF74 => 132,
3406
-                    0x321 => 202, 0x322 => 202, 0x327 => 202, 0x328 => 202, 0x31B => 216,
3407
-                    0xF39 => 216, 0x1D165 => 216, 0x1D166 => 216, 0x1D16E => 216, 0x1D16F => 216,
3408
-                    0x1D170 => 216, 0x1D171 => 216, 0x1D172 => 216, 0x302A => 218, 0x316 => 220,
3409
-                    0x317 => 220, 0x318 => 220, 0x319 => 220, 0x31C => 220, 0x31D => 220,
3410
-                    0x31E => 220, 0x31F => 220, 0x320 => 220, 0x323 => 220, 0x324 => 220,
3411
-                    0x325 => 220, 0x326 => 220, 0x329 => 220, 0x32A => 220, 0x32B => 220,
3412
-                    0x32C => 220, 0x32D => 220, 0x32E => 220, 0x32F => 220, 0x330 => 220,
3413
-                    0x331 => 220, 0x332 => 220, 0x333 => 220, 0x339 => 220, 0x33A => 220,
3414
-                    0x33B => 220, 0x33C => 220, 0x347 => 220, 0x348 => 220, 0x349 => 220,
3415
-                    0x34D => 220, 0x34E => 220, 0x353 => 220, 0x354 => 220, 0x355 => 220,
3416
-                    0x356 => 220, 0x591 => 220, 0x596 => 220, 0x59B => 220, 0x5A3 => 220,
3417
-                    0x5A4 => 220, 0x5A5 => 220, 0x5A6 => 220, 0x5A7 => 220, 0x5AA => 220,
3418
-                    0x655 => 220, 0x656 => 220, 0x6E3 => 220, 0x6EA => 220, 0x6ED => 220,
3419
-                    0x731 => 220, 0x734 => 220, 0x737 => 220, 0x738 => 220, 0x739 => 220,
3420
-                    0x73B => 220, 0x73C => 220, 0x73E => 220, 0x742 => 220, 0x744 => 220,
3421
-                    0x746 => 220, 0x748 => 220, 0x952 => 220, 0xF18 => 220, 0xF19 => 220,
3422
-                    0xF35 => 220, 0xF37 => 220, 0xFC6 => 220, 0x193B => 220, 0x20E8 => 220,
3423
-                    0x1D17B => 220, 0x1D17C => 220, 0x1D17D => 220, 0x1D17E => 220, 0x1D17F => 220,
3424
-                    0x1D180 => 220, 0x1D181 => 220, 0x1D182 => 220, 0x1D18A => 220, 0x1D18B => 220,
3425
-                    0x59A => 222, 0x5AD => 222, 0x1929 => 222, 0x302D => 222, 0x302E => 224,
3426
-                    0x302F => 224, 0x1D16D => 226, 0x5AE => 228, 0x18A9 => 228, 0x302B => 228,
3427
-                    0x300 => 230, 0x301 => 230, 0x302 => 230, 0x303 => 230, 0x304 => 230,
3428
-                    0x305 => 230, 0x306 => 230, 0x307 => 230, 0x308 => 230, 0x309 => 230,
3429
-                    0x30A => 230, 0x30B => 230, 0x30C => 230, 0x30D => 230, 0x30E => 230,
3430
-                    0x30F => 230, 0x310 => 230, 0x311 => 230, 0x312 => 230, 0x313 => 230,
3431
-                    0x314 => 230, 0x33D => 230, 0x33E => 230, 0x33F => 230, 0x340 => 230,
3432
-                    0x341 => 230, 0x342 => 230, 0x343 => 230, 0x344 => 230, 0x346 => 230,
3433
-                    0x34A => 230, 0x34B => 230, 0x34C => 230, 0x350 => 230, 0x351 => 230,
3434
-                    0x352 => 230, 0x357 => 230, 0x363 => 230, 0x364 => 230, 0x365 => 230,
3435
-                    0x366 => 230, 0x367 => 230, 0x368 => 230, 0x369 => 230, 0x36A => 230,
3436
-                    0x36B => 230, 0x36C => 230, 0x36D => 230, 0x36E => 230, 0x36F => 230,
3437
-                    0x483 => 230, 0x484 => 230, 0x485 => 230, 0x486 => 230, 0x592 => 230,
3438
-                    0x593 => 230, 0x594 => 230, 0x595 => 230, 0x597 => 230, 0x598 => 230,
3439
-                    0x599 => 230, 0x59C => 230, 0x59D => 230, 0x59E => 230, 0x59F => 230,
3440
-                    0x5A0 => 230, 0x5A1 => 230, 0x5A8 => 230, 0x5A9 => 230, 0x5AB => 230,
3441
-                    0x5AC => 230, 0x5AF => 230, 0x5C4 => 230, 0x610 => 230, 0x611 => 230,
3442
-                    0x612 => 230, 0x613 => 230, 0x614 => 230, 0x615 => 230, 0x653 => 230,
3443
-                    0x654 => 230, 0x657 => 230, 0x658 => 230, 0x6D6 => 230, 0x6D7 => 230,
3444
-                    0x6D8 => 230, 0x6D9 => 230, 0x6DA => 230, 0x6DB => 230, 0x6DC => 230,
3445
-                    0x6DF => 230, 0x6E0 => 230, 0x6E1 => 230, 0x6E2 => 230, 0x6E4 => 230,
3446
-                    0x6E7 => 230, 0x6E8 => 230, 0x6EB => 230, 0x6EC => 230, 0x730 => 230,
3447
-                    0x732 => 230, 0x733 => 230, 0x735 => 230, 0x736 => 230, 0x73A => 230,
3448
-                    0x73D => 230, 0x73F => 230, 0x740 => 230, 0x741 => 230, 0x743 => 230,
3449
-                    0x745 => 230, 0x747 => 230, 0x749 => 230, 0x74A => 230, 0x951 => 230,
3450
-                    0x953 => 230, 0x954 => 230, 0xF82 => 230, 0xF83 => 230, 0xF86 => 230,
3451
-                    0xF87 => 230, 0x170D => 230, 0x193A => 230, 0x20D0 => 230, 0x20D1 => 230,
3452
-                    0x20D4 => 230, 0x20D5 => 230, 0x20D6 => 230, 0x20D7 => 230, 0x20DB => 230,
3453
-                    0x20DC => 230, 0x20E1 => 230, 0x20E7 => 230, 0x20E9 => 230, 0xFE20 => 230,
3454
-                    0xFE21 => 230, 0xFE22 => 230, 0xFE23 => 230, 0x1D185 => 230, 0x1D186 => 230,
3455
-                    0x1D187 => 230, 0x1D189 => 230, 0x1D188 => 230, 0x1D1AA => 230, 0x1D1AB => 230,
3456
-                    0x1D1AC => 230, 0x1D1AD => 230, 0x315 => 232, 0x31A => 232, 0x302C => 232,
3457
-                    0x35F => 233, 0x362 => 233, 0x35D => 234, 0x35E => 234, 0x360 => 234,
3458
-                    0x361 => 234, 0x345 => 240
3459
-            )
3460
-    );
1376
+					0x33C3 => array(0x62, 0x71), 0x33C6 => array(0x63, 0x2215, 0x6B, 0x67),
1377
+					0x33C7 => array(0x63, 0x6F, 0x2E), 0x33C8 => array(0x64, 0x62),
1378
+					0x33C9 => array(0x67, 0x79), 0x33CB => array(0x68, 0x70),
1379
+					0x33CD => array(0x6B, 0x6B), 0x33CE => array(0x6B, 0x6D),
1380
+					0x33D7 => array(0x70, 0x68), 0x33D9 => array(0x70, 0x70, 0x6D),
1381
+					0x33DA => array(0x70, 0x72), 0x33DC => array(0x73, 0x76),
1382
+					0x33DD => array(0x77, 0x62), 0xFB00 => array(0x66, 0x66),
1383
+					0xFB01 => array(0x66, 0x69), 0xFB02 => array(0x66, 0x6C),
1384
+					0xFB03 => array(0x66, 0x66, 0x69), 0xFB04 => array(0x66, 0x66, 0x6C),
1385
+					0xFB05 => array(0x73, 0x74), 0xFB06 => array(0x73, 0x74),
1386
+					0xFB13 => array(0x574, 0x576), 0xFB14 => array(0x574, 0x565),
1387
+					0xFB15 => array(0x574, 0x56B), 0xFB16 => array(0x57E, 0x576),
1388
+					0xFB17 => array(0x574, 0x56D), 0xFF21 => array(0xFF41),
1389
+					0xFF22 => array(0xFF42), 0xFF23 => array(0xFF43), 0xFF24 => array(0xFF44),
1390
+					0xFF25 => array(0xFF45), 0xFF26 => array(0xFF46), 0xFF27 => array(0xFF47),
1391
+					0xFF28 => array(0xFF48), 0xFF29 => array(0xFF49), 0xFF2A => array(0xFF4A),
1392
+					0xFF2B => array(0xFF4B), 0xFF2C => array(0xFF4C), 0xFF2D => array(0xFF4D),
1393
+					0xFF2E => array(0xFF4E), 0xFF2F => array(0xFF4F), 0xFF30 => array(0xFF50),
1394
+					0xFF31 => array(0xFF51), 0xFF32 => array(0xFF52), 0xFF33 => array(0xFF53),
1395
+					0xFF34 => array(0xFF54), 0xFF35 => array(0xFF55), 0xFF36 => array(0xFF56),
1396
+					0xFF37 => array(0xFF57), 0xFF38 => array(0xFF58), 0xFF39 => array(0xFF59),
1397
+					0xFF3A => array(0xFF5A), 0x10400 => array(0x10428), 0x10401 => array(0x10429),
1398
+					0x10402 => array(0x1042A), 0x10403 => array(0x1042B), 0x10404 => array(0x1042C),
1399
+					0x10405 => array(0x1042D), 0x10406 => array(0x1042E), 0x10407 => array(0x1042F),
1400
+					0x10408 => array(0x10430), 0x10409 => array(0x10431), 0x1040A => array(0x10432),
1401
+					0x1040B => array(0x10433), 0x1040C => array(0x10434), 0x1040D => array(0x10435),
1402
+					0x1040E => array(0x10436), 0x1040F => array(0x10437), 0x10410 => array(0x10438),
1403
+					0x10411 => array(0x10439), 0x10412 => array(0x1043A), 0x10413 => array(0x1043B),
1404
+					0x10414 => array(0x1043C), 0x10415 => array(0x1043D), 0x10416 => array(0x1043E),
1405
+					0x10417 => array(0x1043F), 0x10418 => array(0x10440), 0x10419 => array(0x10441),
1406
+					0x1041A => array(0x10442), 0x1041B => array(0x10443), 0x1041C => array(0x10444),
1407
+					0x1041D => array(0x10445), 0x1041E => array(0x10446), 0x1041F => array(0x10447),
1408
+					0x10420 => array(0x10448), 0x10421 => array(0x10449), 0x10422 => array(0x1044A),
1409
+					0x10423 => array(0x1044B), 0x10424 => array(0x1044C), 0x10425 => array(0x1044D),
1410
+					0x1D400 => array(0x61), 0x1D401 => array(0x62), 0x1D402 => array(0x63),
1411
+					0x1D403 => array(0x64), 0x1D404 => array(0x65), 0x1D405 => array(0x66),
1412
+					0x1D406 => array(0x67), 0x1D407 => array(0x68), 0x1D408 => array(0x69),
1413
+					0x1D409 => array(0x6A), 0x1D40A => array(0x6B), 0x1D40B => array(0x6C),
1414
+					0x1D40C => array(0x6D), 0x1D40D => array(0x6E), 0x1D40E => array(0x6F),
1415
+					0x1D40F => array(0x70), 0x1D410 => array(0x71), 0x1D411 => array(0x72),
1416
+					0x1D412 => array(0x73), 0x1D413 => array(0x74), 0x1D414 => array(0x75),
1417
+					0x1D415 => array(0x76), 0x1D416 => array(0x77), 0x1D417 => array(0x78),
1418
+					0x1D418 => array(0x79), 0x1D419 => array(0x7A), 0x1D434 => array(0x61),
1419
+					0x1D435 => array(0x62), 0x1D436 => array(0x63), 0x1D437 => array(0x64),
1420
+					0x1D438 => array(0x65), 0x1D439 => array(0x66), 0x1D43A => array(0x67),
1421
+					0x1D43B => array(0x68), 0x1D43C => array(0x69), 0x1D43D => array(0x6A),
1422
+					0x1D43E => array(0x6B), 0x1D43F => array(0x6C), 0x1D440 => array(0x6D),
1423
+					0x1D441 => array(0x6E), 0x1D442 => array(0x6F), 0x1D443 => array(0x70),
1424
+					0x1D444 => array(0x71), 0x1D445 => array(0x72), 0x1D446 => array(0x73),
1425
+					0x1D447 => array(0x74), 0x1D448 => array(0x75), 0x1D449 => array(0x76),
1426
+					0x1D44A => array(0x77), 0x1D44B => array(0x78), 0x1D44C => array(0x79),
1427
+					0x1D44D => array(0x7A), 0x1D468 => array(0x61), 0x1D469 => array(0x62),
1428
+					0x1D46A => array(0x63), 0x1D46B => array(0x64), 0x1D46C => array(0x65),
1429
+					0x1D46D => array(0x66), 0x1D46E => array(0x67), 0x1D46F => array(0x68),
1430
+					0x1D470 => array(0x69), 0x1D471 => array(0x6A), 0x1D472 => array(0x6B),
1431
+					0x1D473 => array(0x6C), 0x1D474 => array(0x6D), 0x1D475 => array(0x6E),
1432
+					0x1D476 => array(0x6F), 0x1D477 => array(0x70), 0x1D478 => array(0x71),
1433
+					0x1D479 => array(0x72), 0x1D47A => array(0x73), 0x1D47B => array(0x74),
1434
+					0x1D47C => array(0x75), 0x1D47D => array(0x76), 0x1D47E => array(0x77),
1435
+					0x1D47F => array(0x78), 0x1D480 => array(0x79), 0x1D481 => array(0x7A),
1436
+					0x1D49C => array(0x61), 0x1D49E => array(0x63), 0x1D49F => array(0x64),
1437
+					0x1D4A2 => array(0x67), 0x1D4A5 => array(0x6A), 0x1D4A6 => array(0x6B),
1438
+					0x1D4A9 => array(0x6E), 0x1D4AA => array(0x6F), 0x1D4AB => array(0x70),
1439
+					0x1D4AC => array(0x71), 0x1D4AE => array(0x73), 0x1D4AF => array(0x74),
1440
+					0x1D4B0 => array(0x75), 0x1D4B1 => array(0x76), 0x1D4B2 => array(0x77),
1441
+					0x1D4B3 => array(0x78), 0x1D4B4 => array(0x79), 0x1D4B5 => array(0x7A),
1442
+					0x1D4D0 => array(0x61), 0x1D4D1 => array(0x62), 0x1D4D2 => array(0x63),
1443
+					0x1D4D3 => array(0x64), 0x1D4D4 => array(0x65), 0x1D4D5 => array(0x66),
1444
+					0x1D4D6 => array(0x67), 0x1D4D7 => array(0x68), 0x1D4D8 => array(0x69),
1445
+					0x1D4D9 => array(0x6A), 0x1D4DA => array(0x6B), 0x1D4DB => array(0x6C),
1446
+					0x1D4DC => array(0x6D), 0x1D4DD => array(0x6E), 0x1D4DE => array(0x6F),
1447
+					0x1D4DF => array(0x70), 0x1D4E0 => array(0x71), 0x1D4E1 => array(0x72),
1448
+					0x1D4E2 => array(0x73), 0x1D4E3 => array(0x74), 0x1D4E4 => array(0x75),
1449
+					0x1D4E5 => array(0x76), 0x1D4E6 => array(0x77), 0x1D4E7 => array(0x78),
1450
+					0x1D4E8 => array(0x79), 0x1D4E9 => array(0x7A), 0x1D504 => array(0x61),
1451
+					0x1D505 => array(0x62), 0x1D507 => array(0x64), 0x1D508 => array(0x65),
1452
+					0x1D509 => array(0x66), 0x1D50A => array(0x67), 0x1D50D => array(0x6A),
1453
+					0x1D50E => array(0x6B), 0x1D50F => array(0x6C), 0x1D510 => array(0x6D),
1454
+					0x1D511 => array(0x6E), 0x1D512 => array(0x6F), 0x1D513 => array(0x70),
1455
+					0x1D514 => array(0x71), 0x1D516 => array(0x73), 0x1D517 => array(0x74),
1456
+					0x1D518 => array(0x75), 0x1D519 => array(0x76), 0x1D51A => array(0x77),
1457
+					0x1D51B => array(0x78), 0x1D51C => array(0x79), 0x1D538 => array(0x61),
1458
+					0x1D539 => array(0x62), 0x1D53B => array(0x64), 0x1D53C => array(0x65),
1459
+					0x1D53D => array(0x66), 0x1D53E => array(0x67), 0x1D540 => array(0x69),
1460
+					0x1D541 => array(0x6A), 0x1D542 => array(0x6B), 0x1D543 => array(0x6C),
1461
+					0x1D544 => array(0x6D), 0x1D546 => array(0x6F), 0x1D54A => array(0x73),
1462
+					0x1D54B => array(0x74), 0x1D54C => array(0x75), 0x1D54D => array(0x76),
1463
+					0x1D54E => array(0x77), 0x1D54F => array(0x78), 0x1D550 => array(0x79),
1464
+					0x1D56C => array(0x61), 0x1D56D => array(0x62), 0x1D56E => array(0x63),
1465
+					0x1D56F => array(0x64), 0x1D570 => array(0x65), 0x1D571 => array(0x66),
1466
+					0x1D572 => array(0x67), 0x1D573 => array(0x68), 0x1D574 => array(0x69),
1467
+					0x1D575 => array(0x6A), 0x1D576 => array(0x6B), 0x1D577 => array(0x6C),
1468
+					0x1D578 => array(0x6D), 0x1D579 => array(0x6E), 0x1D57A => array(0x6F),
1469
+					0x1D57B => array(0x70), 0x1D57C => array(0x71), 0x1D57D => array(0x72),
1470
+					0x1D57E => array(0x73), 0x1D57F => array(0x74), 0x1D580 => array(0x75),
1471
+					0x1D581 => array(0x76), 0x1D582 => array(0x77), 0x1D583 => array(0x78),
1472
+					0x1D584 => array(0x79), 0x1D585 => array(0x7A), 0x1D5A0 => array(0x61),
1473
+					0x1D5A1 => array(0x62), 0x1D5A2 => array(0x63), 0x1D5A3 => array(0x64),
1474
+					0x1D5A4 => array(0x65), 0x1D5A5 => array(0x66), 0x1D5A6 => array(0x67),
1475
+					0x1D5A7 => array(0x68), 0x1D5A8 => array(0x69), 0x1D5A9 => array(0x6A),
1476
+					0x1D5AA => array(0x6B), 0x1D5AB => array(0x6C), 0x1D5AC => array(0x6D),
1477
+					0x1D5AD => array(0x6E), 0x1D5AE => array(0x6F), 0x1D5AF => array(0x70),
1478
+					0x1D5B0 => array(0x71), 0x1D5B1 => array(0x72), 0x1D5B2 => array(0x73),
1479
+					0x1D5B3 => array(0x74), 0x1D5B4 => array(0x75), 0x1D5B5 => array(0x76),
1480
+					0x1D5B6 => array(0x77), 0x1D5B7 => array(0x78), 0x1D5B8 => array(0x79),
1481
+					0x1D5B9 => array(0x7A), 0x1D5D4 => array(0x61), 0x1D5D5 => array(0x62),
1482
+					0x1D5D6 => array(0x63), 0x1D5D7 => array(0x64), 0x1D5D8 => array(0x65),
1483
+					0x1D5D9 => array(0x66), 0x1D5DA => array(0x67), 0x1D5DB => array(0x68),
1484
+					0x1D5DC => array(0x69), 0x1D5DD => array(0x6A), 0x1D5DE => array(0x6B),
1485
+					0x1D5DF => array(0x6C), 0x1D5E0 => array(0x6D), 0x1D5E1 => array(0x6E),
1486
+					0x1D5E2 => array(0x6F), 0x1D5E3 => array(0x70), 0x1D5E4 => array(0x71),
1487
+					0x1D5E5 => array(0x72), 0x1D5E6 => array(0x73), 0x1D5E7 => array(0x74),
1488
+					0x1D5E8 => array(0x75), 0x1D5E9 => array(0x76), 0x1D5EA => array(0x77),
1489
+					0x1D5EB => array(0x78), 0x1D5EC => array(0x79), 0x1D5ED => array(0x7A),
1490
+					0x1D608 => array(0x61), 0x1D609 => array(0x62), 0x1D60A => array(0x63),
1491
+					0x1D60B => array(0x64), 0x1D60C => array(0x65), 0x1D60D => array(0x66),
1492
+					0x1D60E => array(0x67), 0x1D60F => array(0x68), 0x1D610 => array(0x69),
1493
+					0x1D611 => array(0x6A), 0x1D612 => array(0x6B), 0x1D613 => array(0x6C),
1494
+					0x1D614 => array(0x6D), 0x1D615 => array(0x6E), 0x1D616 => array(0x6F),
1495
+					0x1D617 => array(0x70), 0x1D618 => array(0x71), 0x1D619 => array(0x72),
1496
+					0x1D61A => array(0x73), 0x1D61B => array(0x74), 0x1D61C => array(0x75),
1497
+					0x1D61D => array(0x76), 0x1D61E => array(0x77), 0x1D61F => array(0x78),
1498
+					0x1D620 => array(0x79), 0x1D621 => array(0x7A), 0x1D63C => array(0x61),
1499
+					0x1D63D => array(0x62), 0x1D63E => array(0x63), 0x1D63F => array(0x64),
1500
+					0x1D640 => array(0x65), 0x1D641 => array(0x66), 0x1D642 => array(0x67),
1501
+					0x1D643 => array(0x68), 0x1D644 => array(0x69), 0x1D645 => array(0x6A),
1502
+					0x1D646 => array(0x6B), 0x1D647 => array(0x6C), 0x1D648 => array(0x6D),
1503
+					0x1D649 => array(0x6E), 0x1D64A => array(0x6F), 0x1D64B => array(0x70),
1504
+					0x1D64C => array(0x71), 0x1D64D => array(0x72), 0x1D64E => array(0x73),
1505
+					0x1D64F => array(0x74), 0x1D650 => array(0x75), 0x1D651 => array(0x76),
1506
+					0x1D652 => array(0x77), 0x1D653 => array(0x78), 0x1D654 => array(0x79),
1507
+					0x1D655 => array(0x7A), 0x1D670 => array(0x61), 0x1D671 => array(0x62),
1508
+					0x1D672 => array(0x63), 0x1D673 => array(0x64), 0x1D674 => array(0x65),
1509
+					0x1D675 => array(0x66), 0x1D676 => array(0x67), 0x1D677 => array(0x68),
1510
+					0x1D678 => array(0x69), 0x1D679 => array(0x6A), 0x1D67A => array(0x6B),
1511
+					0x1D67B => array(0x6C), 0x1D67C => array(0x6D), 0x1D67D => array(0x6E),
1512
+					0x1D67E => array(0x6F), 0x1D67F => array(0x70), 0x1D680 => array(0x71),
1513
+					0x1D681 => array(0x72), 0x1D682 => array(0x73), 0x1D683 => array(0x74),
1514
+					0x1D684 => array(0x75), 0x1D685 => array(0x76), 0x1D686 => array(0x77),
1515
+					0x1D687 => array(0x78), 0x1D688 => array(0x79), 0x1D689 => array(0x7A),
1516
+					0x1D6A8 => array(0x3B1), 0x1D6A9 => array(0x3B2), 0x1D6AA => array(0x3B3),
1517
+					0x1D6AB => array(0x3B4), 0x1D6AC => array(0x3B5), 0x1D6AD => array(0x3B6),
1518
+					0x1D6AE => array(0x3B7), 0x1D6AF => array(0x3B8), 0x1D6B0 => array(0x3B9),
1519
+					0x1D6B1 => array(0x3BA), 0x1D6B2 => array(0x3BB), 0x1D6B3 => array(0x3BC),
1520
+					0x1D6B4 => array(0x3BD), 0x1D6B5 => array(0x3BE), 0x1D6B6 => array(0x3BF),
1521
+					0x1D6B7 => array(0x3C0), 0x1D6B8 => array(0x3C1), 0x1D6B9 => array(0x3B8),
1522
+					0x1D6BA => array(0x3C3), 0x1D6BB => array(0x3C4), 0x1D6BC => array(0x3C5),
1523
+					0x1D6BD => array(0x3C6), 0x1D6BE => array(0x3C7), 0x1D6BF => array(0x3C8),
1524
+					0x1D6C0 => array(0x3C9), 0x1D6D3 => array(0x3C3), 0x1D6E2 => array(0x3B1),
1525
+					0x1D6E3 => array(0x3B2), 0x1D6E4 => array(0x3B3), 0x1D6E5 => array(0x3B4),
1526
+					0x1D6E6 => array(0x3B5), 0x1D6E7 => array(0x3B6), 0x1D6E8 => array(0x3B7),
1527
+					0x1D6E9 => array(0x3B8), 0x1D6EA => array(0x3B9), 0x1D6EB => array(0x3BA),
1528
+					0x1D6EC => array(0x3BB), 0x1D6ED => array(0x3BC), 0x1D6EE => array(0x3BD),
1529
+					0x1D6EF => array(0x3BE), 0x1D6F0 => array(0x3BF), 0x1D6F1 => array(0x3C0),
1530
+					0x1D6F2 => array(0x3C1), 0x1D6F3 => array(0x3B8), 0x1D6F4 => array(0x3C3),
1531
+					0x1D6F5 => array(0x3C4), 0x1D6F6 => array(0x3C5), 0x1D6F7 => array(0x3C6),
1532
+					0x1D6F8 => array(0x3C7), 0x1D6F9 => array(0x3C8), 0x1D6FA => array(0x3C9),
1533
+					0x1D70D => array(0x3C3), 0x1D71C => array(0x3B1), 0x1D71D => array(0x3B2),
1534
+					0x1D71E => array(0x3B3), 0x1D71F => array(0x3B4), 0x1D720 => array(0x3B5),
1535
+					0x1D721 => array(0x3B6), 0x1D722 => array(0x3B7), 0x1D723 => array(0x3B8),
1536
+					0x1D724 => array(0x3B9), 0x1D725 => array(0x3BA), 0x1D726 => array(0x3BB),
1537
+					0x1D727 => array(0x3BC), 0x1D728 => array(0x3BD), 0x1D729 => array(0x3BE),
1538
+					0x1D72A => array(0x3BF), 0x1D72B => array(0x3C0), 0x1D72C => array(0x3C1),
1539
+					0x1D72D => array(0x3B8), 0x1D72E => array(0x3C3), 0x1D72F => array(0x3C4),
1540
+					0x1D730 => array(0x3C5), 0x1D731 => array(0x3C6), 0x1D732 => array(0x3C7),
1541
+					0x1D733 => array(0x3C8), 0x1D734 => array(0x3C9), 0x1D747 => array(0x3C3),
1542
+					0x1D756 => array(0x3B1), 0x1D757 => array(0x3B2), 0x1D758 => array(0x3B3),
1543
+					0x1D759 => array(0x3B4), 0x1D75A => array(0x3B5), 0x1D75B => array(0x3B6),
1544
+					0x1D75C => array(0x3B7), 0x1D75D => array(0x3B8), 0x1D75E => array(0x3B9),
1545
+					0x1D75F => array(0x3BA), 0x1D760 => array(0x3BB), 0x1D761 => array(0x3BC),
1546
+					0x1D762 => array(0x3BD), 0x1D763 => array(0x3BE), 0x1D764 => array(0x3BF),
1547
+					0x1D765 => array(0x3C0), 0x1D766 => array(0x3C1), 0x1D767 => array(0x3B8),
1548
+					0x1D768 => array(0x3C3), 0x1D769 => array(0x3C4), 0x1D76A => array(0x3C5),
1549
+					0x1D76B => array(0x3C6), 0x1D76C => array(0x3C7), 0x1D76D => array(0x3C8),
1550
+					0x1D76E => array(0x3C9), 0x1D781 => array(0x3C3), 0x1D790 => array(0x3B1),
1551
+					0x1D791 => array(0x3B2), 0x1D792 => array(0x3B3), 0x1D793 => array(0x3B4),
1552
+					0x1D794 => array(0x3B5), 0x1D795 => array(0x3B6), 0x1D796 => array(0x3B7),
1553
+					0x1D797 => array(0x3B8), 0x1D798 => array(0x3B9), 0x1D799 => array(0x3BA),
1554
+					0x1D79A => array(0x3BB), 0x1D79B => array(0x3BC), 0x1D79C => array(0x3BD),
1555
+					0x1D79D => array(0x3BE), 0x1D79E => array(0x3BF), 0x1D79F => array(0x3C0),
1556
+					0x1D7A0 => array(0x3C1), 0x1D7A1 => array(0x3B8), 0x1D7A2 => array(0x3C3),
1557
+					0x1D7A3 => array(0x3C4), 0x1D7A4 => array(0x3C5), 0x1D7A5 => array(0x3C6),
1558
+					0x1D7A6 => array(0x3C7), 0x1D7A7 => array(0x3C8), 0x1D7A8 => array(0x3C9),
1559
+					0x1D7BB => array(0x3C3), 0x3F9 => array(0x3C3), 0x1D2C => array(0x61),
1560
+					0x1D2D => array(0xE6), 0x1D2E => array(0x62), 0x1D30 => array(0x64),
1561
+					0x1D31 => array(0x65), 0x1D32 => array(0x1DD), 0x1D33 => array(0x67),
1562
+					0x1D34 => array(0x68), 0x1D35 => array(0x69), 0x1D36 => array(0x6A),
1563
+					0x1D37 => array(0x6B), 0x1D38 => array(0x6C), 0x1D39 => array(0x6D),
1564
+					0x1D3A => array(0x6E), 0x1D3C => array(0x6F), 0x1D3D => array(0x223),
1565
+					0x1D3E => array(0x70), 0x1D3F => array(0x72), 0x1D40 => array(0x74),
1566
+					0x1D41 => array(0x75), 0x1D42 => array(0x77), 0x213B => array(0x66, 0x61, 0x78),
1567
+					0x3250 => array(0x70, 0x74, 0x65), 0x32CC => array(0x68, 0x67),
1568
+					0x32CE => array(0x65, 0x76), 0x32CF => array(0x6C, 0x74, 0x64),
1569
+					0x337A => array(0x69, 0x75), 0x33DE => array(0x76, 0x2215, 0x6D),
1570
+					0x33DF => array(0x61, 0x2215, 0x6D)
1571
+			),
1572
+			'replacemaps' => array(0x41 => array(0x61), 0x42 => array(0x62), 0x43 => array(0x63),
1573
+					0x44 => array(0x64), 0x45 => array(0x65), 0x46 => array(0x66),
1574
+					0x47 => array(0x67), 0x48 => array(0x68), 0x49 => array(0x69),
1575
+					0x4A => array(0x6A), 0x4B => array(0x6B), 0x4C => array(0x6C),
1576
+					0x4D => array(0x6D), 0x4E => array(0x6E), 0x4F => array(0x6F),
1577
+					0x50 => array(0x70), 0x51 => array(0x71), 0x52 => array(0x72),
1578
+					0x53 => array(0x73), 0x54 => array(0x74), 0x55 => array(0x75),
1579
+					0x56 => array(0x76), 0x57 => array(0x77), 0x58 => array(0x78),
1580
+					0x59 => array(0x79), 0x5A => array(0x7A), 0xAA => array(0x61),
1581
+					0xB2 => array(0x32), 0xB3 => array(0x33), 0xB5 => array(0x3BC),
1582
+					0xB9 => array(0x31), 0xBA => array(0x6F), 0xBC => array(0x31, 0x2044, 0x34),
1583
+					0xBD => array(0x31, 0x2044, 0x32), 0xBE => array(0x33, 0x2044, 0x34), 0xC0 => array(0xE0),
1584
+					0xC1 => array(0xE1), 0xC2 => array(0xE2), 0xC3 => array(0xE3),
1585
+					0xC4 => array(0xE4), 0xC5 => array(0xE5), 0xC6 => array(0xE6),
1586
+					0xC7 => array(0xE7), 0xC8 => array(0xE8), 0xC9 => array(0xE9),
1587
+					0xCA => array(0xEA), 0xCB => array(0xEB), 0xCC => array(0xEC),
1588
+					0xCD => array(0xED), 0xCE => array(0xEE), 0xCF => array(0xEF),
1589
+					0xD0 => array(0xF0), 0xD1 => array(0xF1), 0xD2 => array(0xF2),
1590
+					0xD3 => array(0xF3), 0xD4 => array(0xF4), 0xD5 => array(0xF5),
1591
+					0xD6 => array(0xF6), 0xD8 => array(0xF8), 0xD9 => array(0xF9),
1592
+					0xDA => array(0xFA), 0xDB => array(0xFB), 0xDC => array(0xFC),
1593
+					0xDD => array(0xFD), 0xDE => array(0xFE), 0x100 => array(0x101),
1594
+					0x102 => array(0x103), 0x104 => array(0x105), 0x106 => array(0x107),
1595
+					0x108 => array(0x109), 0x10A => array(0x10B), 0x10C => array(0x10D),
1596
+					0x10E => array(0x10F), 0x110 => array(0x111), 0x112 => array(0x113),
1597
+					0x114 => array(0x115), 0x116 => array(0x117), 0x118 => array(0x119),
1598
+					0x11A => array(0x11B), 0x11C => array(0x11D), 0x11E => array(0x11F),
1599
+					0x120 => array(0x121), 0x122 => array(0x123), 0x124 => array(0x125),
1600
+					0x126 => array(0x127), 0x128 => array(0x129), 0x12A => array(0x12B),
1601
+					0x12C => array(0x12D), 0x12E => array(0x12F), 0x130 => array(0x69, 0x307),
1602
+					0x132 => array(0x69, 0x6A), 0x133 => array(0x69, 0x6A), 0x134 => array(0x135),
1603
+					0x136 => array(0x137), 0x139 => array(0x13A), 0x13B => array(0x13C),
1604
+					0x13D => array(0x13E), 0x13F => array(0x6C, 0xB7), 0x140 => array(0x6C, 0xB7),
1605
+					0x141 => array(0x142), 0x143 => array(0x144), 0x145 => array(0x146),
1606
+					0x147 => array(0x148), 0x149 => array(0x2BC, 0x6E), 0x14A => array(0x14B),
1607
+					0x14C => array(0x14D), 0x14E => array(0x14F), 0x150 => array(0x151),
1608
+					0x152 => array(0x153), 0x154 => array(0x155), 0x156 => array(0x157),
1609
+					0x158 => array(0x159), 0x15A => array(0x15B), 0x15C => array(0x15D),
1610
+					0x15E => array(0x15F), 0x160 => array(0x161), 0x162 => array(0x163),
1611
+					0x164 => array(0x165), 0x166 => array(0x167), 0x168 => array(0x169),
1612
+					0x16A => array(0x16B), 0x16C => array(0x16D), 0x16E => array(0x16F),
1613
+					0x170 => array(0x171), 0x172 => array(0x173), 0x174 => array(0x175),
1614
+					0x176 => array(0x177), 0x178 => array(0xFF), 0x179 => array(0x17A),
1615
+					0x17B => array(0x17C), 0x17D => array(0x17E), 0x17F => array(0x73),
1616
+					0x181 => array(0x253), 0x182 => array(0x183), 0x184 => array(0x185),
1617
+					0x186 => array(0x254), 0x187 => array(0x188), 0x189 => array(0x256),
1618
+					0x18A => array(0x257), 0x18B => array(0x18C), 0x18E => array(0x1DD),
1619
+					0x18F => array(0x259), 0x190 => array(0x25B), 0x191 => array(0x192),
1620
+					0x193 => array(0x260), 0x194 => array(0x263), 0x196 => array(0x269),
1621
+					0x197 => array(0x268), 0x198 => array(0x199), 0x19C => array(0x26F),
1622
+					0x19D => array(0x272), 0x19F => array(0x275), 0x1A0 => array(0x1A1),
1623
+					0x1A2 => array(0x1A3), 0x1A4 => array(0x1A5), 0x1A6 => array(0x280),
1624
+					0x1A7 => array(0x1A8), 0x1A9 => array(0x283), 0x1AC => array(0x1AD),
1625
+					0x1AE => array(0x288), 0x1AF => array(0x1B0), 0x1B1 => array(0x28A),
1626
+					0x1B2 => array(0x28B), 0x1B3 => array(0x1B4), 0x1B5 => array(0x1B6),
1627
+					0x1B7 => array(0x292), 0x1B8 => array(0x1B9), 0x1BC => array(0x1BD),
1628
+					0x1C4 => array(0x64, 0x17E), 0x1C5 => array(0x64, 0x17E), 0x1C6 => array(0x64, 0x17E),
1629
+					0x1C7 => array(0x6C, 0x6A), 0x1C8 => array(0x6C, 0x6A), 0x1C9 => array(0x6C, 0x6A),
1630
+					0x1CA => array(0x6E, 0x6A), 0x1CB => array(0x6E, 0x6A), 0x1CC => array(0x6E, 0x6A),
1631
+					0x1CD => array(0x1CE), 0x1CF => array(0x1D0), 0x1D1 => array(0x1D2),
1632
+					0x1D3 => array(0x1D4), 0x1D5 => array(0x1D6), 0x1D7 => array(0x1D8),
1633
+					0x1D9 => array(0x1DA), 0x1DB => array(0x1DC), 0x1DE => array(0x1DF),
1634
+					0x1E0 => array(0x1E1), 0x1E2 => array(0x1E3), 0x1E4 => array(0x1E5),
1635
+					0x1E6 => array(0x1E7), 0x1E8 => array(0x1E9), 0x1EA => array(0x1EB),
1636
+					0x1EC => array(0x1ED), 0x1EE => array(0x1EF), 0x1F1 => array(0x64, 0x7A),
1637
+					0x1F2 => array(0x64, 0x7A), 0x1F3 => array(0x64, 0x7A), 0x1F4 => array(0x1F5),
1638
+					0x1F6 => array(0x195), 0x1F7 => array(0x1BF), 0x1F8 => array(0x1F9),
1639
+					0x1FA => array(0x1FB), 0x1FC => array(0x1FD), 0x1FE => array(0x1FF),
1640
+					0x200 => array(0x201), 0x202 => array(0x203), 0x204 => array(0x205),
1641
+					0x206 => array(0x207), 0x208 => array(0x209), 0x20A => array(0x20B),
1642
+					0x20C => array(0x20D), 0x20E => array(0x20F), 0x210 => array(0x211),
1643
+					0x212 => array(0x213), 0x214 => array(0x215), 0x216 => array(0x217),
1644
+					0x218 => array(0x219), 0x21A => array(0x21B), 0x21C => array(0x21D),
1645
+					0x21E => array(0x21F), 0x220 => array(0x19E), 0x222 => array(0x223),
1646
+					0x224 => array(0x225), 0x226 => array(0x227), 0x228 => array(0x229),
1647
+					0x22A => array(0x22B), 0x22C => array(0x22D), 0x22E => array(0x22F),
1648
+					0x230 => array(0x231), 0x232 => array(0x233), 0x23A => array(0x2C65),
1649
+					0x23B => array(0x23C), 0x23D => array(0x19A), 0x23E => array(0x2C66),
1650
+					0x241 => array(0x242), 0x243 => array(0x180), 0x244 => array(0x289),
1651
+					0x245 => array(0x28C), 0x246 => array(0x247), 0x248 => array(0x249),
1652
+					0x24A => array(0x24B), 0x24C => array(0x24D), 0x24E => array(0x24F),
1653
+					0x2B0 => array(0x68), 0x2B1 => array(0x266), 0x2B2 => array(0x6A),
1654
+					0x2B3 => array(0x72), 0x2B4 => array(0x279), 0x2B5 => array(0x27B),
1655
+					0x2B6 => array(0x281), 0x2B7 => array(0x77), 0x2B8 => array(0x79),
1656
+					0x2E0 => array(0x263), 0x2E1 => array(0x6C), 0x2E2 => array(0x73),
1657
+					0x2E3 => array(0x78), 0x2E4 => array(0x295), 0x340 => array(0x300),
1658
+					0x341 => array(0x301), 0x343 => array(0x313), 0x344 => array(0x308, 0x301),
1659
+					0x345 => array(0x3B9), 0x370 => array(0x371), 0x372 => array(0x373),
1660
+					0x374 => array(0x2B9), 0x376 => array(0x377), 0x37F => array(0x3F3),
1661
+					0x386 => array(0x3AC), 0x387 => array(0xB7), 0x388 => array(0x3AD),
1662
+					0x389 => array(0x3AE), 0x38A => array(0x3AF), 0x38C => array(0x3CC),
1663
+					0x38E => array(0x3CD), 0x38F => array(0x3CE), 0x391 => array(0x3B1),
1664
+					0x392 => array(0x3B2), 0x393 => array(0x3B3), 0x394 => array(0x3B4),
1665
+					0x395 => array(0x3B5), 0x396 => array(0x3B6), 0x397 => array(0x3B7),
1666
+					0x398 => array(0x3B8), 0x399 => array(0x3B9), 0x39A => array(0x3BA),
1667
+					0x39B => array(0x3BB), 0x39C => array(0x3BC), 0x39D => array(0x3BD),
1668
+					0x39E => array(0x3BE), 0x39F => array(0x3BF), 0x3A0 => array(0x3C0),
1669
+					0x3A1 => array(0x3C1), 0x3A3 => array(0x3C3), 0x3A4 => array(0x3C4),
1670
+					0x3A5 => array(0x3C5), 0x3A6 => array(0x3C6), 0x3A7 => array(0x3C7),
1671
+					0x3A8 => array(0x3C8), 0x3A9 => array(0x3C9), 0x3AA => array(0x3CA),
1672
+					0x3AB => array(0x3CB), 0x3CF => array(0x3D7), 0x3D0 => array(0x3B2),
1673
+					0x3D1 => array(0x3B8), 0x3D2 => array(0x3C5), 0x3D3 => array(0x3CD),
1674
+					0x3D4 => array(0x3CB), 0x3D5 => array(0x3C6), 0x3D6 => array(0x3C0),
1675
+					0x3D8 => array(0x3D9), 0x3DA => array(0x3DB), 0x3DC => array(0x3DD),
1676
+					0x3DE => array(0x3DF), 0x3E0 => array(0x3E1), 0x3E2 => array(0x3E3),
1677
+					0x3E4 => array(0x3E5), 0x3E6 => array(0x3E7), 0x3E8 => array(0x3E9),
1678
+					0x3EA => array(0x3EB), 0x3EC => array(0x3ED), 0x3EE => array(0x3EF),
1679
+					0x3F0 => array(0x3BA), 0x3F1 => array(0x3C1), 0x3F2 => array(0x3C3),
1680
+					0x3F4 => array(0x3B8), 0x3F5 => array(0x3B5), 0x3F7 => array(0x3F8),
1681
+					0x3F9 => array(0x3C3), 0x3FA => array(0x3FB), 0x3FD => array(0x37B),
1682
+					0x3FE => array(0x37C), 0x3FF => array(0x37D), 0x400 => array(0x450),
1683
+					0x401 => array(0x451), 0x402 => array(0x452), 0x403 => array(0x453),
1684
+					0x404 => array(0x454), 0x405 => array(0x455), 0x406 => array(0x456),
1685
+					0x407 => array(0x457), 0x408 => array(0x458), 0x409 => array(0x459),
1686
+					0x40A => array(0x45A), 0x40B => array(0x45B), 0x40C => array(0x45C),
1687
+					0x40D => array(0x45D), 0x40E => array(0x45E), 0x40F => array(0x45F),
1688
+					0x410 => array(0x430), 0x411 => array(0x431), 0x412 => array(0x432),
1689
+					0x413 => array(0x433), 0x414 => array(0x434), 0x415 => array(0x435),
1690
+					0x416 => array(0x436), 0x417 => array(0x437), 0x418 => array(0x438),
1691
+					0x419 => array(0x439), 0x41A => array(0x43A), 0x41B => array(0x43B),
1692
+					0x41C => array(0x43C), 0x41D => array(0x43D), 0x41E => array(0x43E),
1693
+					0x41F => array(0x43F), 0x420 => array(0x440), 0x421 => array(0x441),
1694
+					0x422 => array(0x442), 0x423 => array(0x443), 0x424 => array(0x444),
1695
+					0x425 => array(0x445), 0x426 => array(0x446), 0x427 => array(0x447),
1696
+					0x428 => array(0x448), 0x429 => array(0x449), 0x42A => array(0x44A),
1697
+					0x42B => array(0x44B), 0x42C => array(0x44C), 0x42D => array(0x44D),
1698
+					0x42E => array(0x44E), 0x42F => array(0x44F), 0x460 => array(0x461),
1699
+					0x462 => array(0x463), 0x464 => array(0x465), 0x466 => array(0x467),
1700
+					0x468 => array(0x469), 0x46A => array(0x46B), 0x46C => array(0x46D),
1701
+					0x46E => array(0x46F), 0x470 => array(0x471), 0x472 => array(0x473),
1702
+					0x474 => array(0x475), 0x476 => array(0x477), 0x478 => array(0x479),
1703
+					0x47A => array(0x47B), 0x47C => array(0x47D), 0x47E => array(0x47F),
1704
+					0x480 => array(0x481), 0x48A => array(0x48B), 0x48C => array(0x48D),
1705
+					0x48E => array(0x48F), 0x490 => array(0x491), 0x492 => array(0x493),
1706
+					0x494 => array(0x495), 0x496 => array(0x497), 0x498 => array(0x499),
1707
+					0x49A => array(0x49B), 0x49C => array(0x49D), 0x49E => array(0x49F),
1708
+					0x4A0 => array(0x4A1), 0x4A2 => array(0x4A3), 0x4A4 => array(0x4A5),
1709
+					0x4A6 => array(0x4A7), 0x4A8 => array(0x4A9), 0x4AA => array(0x4AB),
1710
+					0x4AC => array(0x4AD), 0x4AE => array(0x4AF), 0x4B0 => array(0x4B1),
1711
+					0x4B2 => array(0x4B3), 0x4B4 => array(0x4B5), 0x4B6 => array(0x4B7),
1712
+					0x4B8 => array(0x4B9), 0x4BA => array(0x4BB), 0x4BC => array(0x4BD),
1713
+					0x4BE => array(0x4BF), 0x4C1 => array(0x4C2), 0x4C3 => array(0x4C4),
1714
+					0x4C5 => array(0x4C6), 0x4C7 => array(0x4C8), 0x4C9 => array(0x4CA),
1715
+					0x4CB => array(0x4CC), 0x4CD => array(0x4CE), 0x4D0 => array(0x4D1),
1716
+					0x4D2 => array(0x4D3), 0x4D4 => array(0x4D5), 0x4D6 => array(0x4D7),
1717
+					0x4D8 => array(0x4D9), 0x4DA => array(0x4DB), 0x4DC => array(0x4DD),
1718
+					0x4DE => array(0x4DF), 0x4E0 => array(0x4E1), 0x4E2 => array(0x4E3),
1719
+					0x4E4 => array(0x4E5), 0x4E6 => array(0x4E7), 0x4E8 => array(0x4E9),
1720
+					0x4EA => array(0x4EB), 0x4EC => array(0x4ED), 0x4EE => array(0x4EF),
1721
+					0x4F0 => array(0x4F1), 0x4F2 => array(0x4F3), 0x4F4 => array(0x4F5),
1722
+					0x4F6 => array(0x4F7), 0x4F8 => array(0x4F9), 0x4FA => array(0x4FB),
1723
+					0x4FC => array(0x4FD), 0x4FE => array(0x4FF), 0x500 => array(0x501),
1724
+					0x502 => array(0x503), 0x504 => array(0x505), 0x506 => array(0x507),
1725
+					0x508 => array(0x509), 0x50A => array(0x50B), 0x50C => array(0x50D),
1726
+					0x50E => array(0x50F), 0x510 => array(0x511), 0x512 => array(0x513),
1727
+					0x514 => array(0x515), 0x516 => array(0x517), 0x518 => array(0x519),
1728
+					0x51A => array(0x51B), 0x51C => array(0x51D), 0x51E => array(0x51F),
1729
+					0x520 => array(0x521), 0x522 => array(0x523), 0x524 => array(0x525),
1730
+					0x526 => array(0x527), 0x528 => array(0x529), 0x52A => array(0x52B),
1731
+					0x52C => array(0x52D), 0x52E => array(0x52F), 0x531 => array(0x561),
1732
+					0x532 => array(0x562), 0x533 => array(0x563), 0x534 => array(0x564),
1733
+					0x535 => array(0x565), 0x536 => array(0x566), 0x537 => array(0x567),
1734
+					0x538 => array(0x568), 0x539 => array(0x569), 0x53A => array(0x56A),
1735
+					0x53B => array(0x56B), 0x53C => array(0x56C), 0x53D => array(0x56D),
1736
+					0x53E => array(0x56E), 0x53F => array(0x56F), 0x540 => array(0x570),
1737
+					0x541 => array(0x571), 0x542 => array(0x572), 0x543 => array(0x573),
1738
+					0x544 => array(0x574), 0x545 => array(0x575), 0x546 => array(0x576),
1739
+					0x547 => array(0x577), 0x548 => array(0x578), 0x549 => array(0x579),
1740
+					0x54A => array(0x57A), 0x54B => array(0x57B), 0x54C => array(0x57C),
1741
+					0x54D => array(0x57D), 0x54E => array(0x57E), 0x54F => array(0x57F),
1742
+					0x550 => array(0x580), 0x551 => array(0x581), 0x552 => array(0x582),
1743
+					0x553 => array(0x583), 0x554 => array(0x584), 0x555 => array(0x585),
1744
+					0x556 => array(0x586), 0x587 => array(0x565, 0x582), 0x675 => array(0x627, 0x674),
1745
+					0x676 => array(0x648, 0x674), 0x677 => array(0x6C7, 0x674), 0x678 => array(0x64A, 0x674),
1746
+					0x958 => array(0x915, 0x93C), 0x959 => array(0x916, 0x93C), 0x95A => array(0x917, 0x93C),
1747
+					0x95B => array(0x91C, 0x93C), 0x95C => array(0x921, 0x93C), 0x95D => array(0x922, 0x93C),
1748
+					0x95E => array(0x92B, 0x93C), 0x95F => array(0x92F, 0x93C), 0x9DC => array(0x9A1, 0x9BC),
1749
+					0x9DD => array(0x9A2, 0x9BC), 0x9DF => array(0x9AF, 0x9BC), 0xA33 => array(0xA32, 0xA3C),
1750
+					0xA36 => array(0xA38, 0xA3C), 0xA59 => array(0xA16, 0xA3C), 0xA5A => array(0xA17, 0xA3C),
1751
+					0xA5B => array(0xA1C, 0xA3C), 0xA5E => array(0xA2B, 0xA3C), 0xB5C => array(0xB21, 0xB3C),
1752
+					0xB5D => array(0xB22, 0xB3C), 0xE33 => array(0xE4D, 0xE32), 0xEB3 => array(0xECD, 0xEB2),
1753
+					0xEDC => array(0xEAB, 0xE99), 0xEDD => array(0xEAB, 0xEA1), 0xF0C => array(0xF0B),
1754
+					0xF43 => array(0xF42, 0xFB7), 0xF4D => array(0xF4C, 0xFB7), 0xF52 => array(0xF51, 0xFB7),
1755
+					0xF57 => array(0xF56, 0xFB7), 0xF5C => array(0xF5B, 0xFB7), 0xF69 => array(0xF40, 0xFB5),
1756
+					0xF73 => array(0xF71, 0xF72), 0xF75 => array(0xF71, 0xF74), 0xF76 => array(0xFB2, 0xF80),
1757
+					0xF77 => array(0xFB2, 0xF71, 0xF80), 0xF78 => array(0xFB3, 0xF80), 0xF79 => array(0xFB3, 0xF71, 0xF80),
1758
+					0xF81 => array(0xF71, 0xF80), 0xF93 => array(0xF92, 0xFB7), 0xF9D => array(0xF9C, 0xFB7),
1759
+					0xFA2 => array(0xFA1, 0xFB7), 0xFA7 => array(0xFA6, 0xFB7), 0xFAC => array(0xFAB, 0xFB7),
1760
+					0xFB9 => array(0xF90, 0xFB5), 0x10C7 => array(0x2D27), 0x10CD => array(0x2D2D),
1761
+					0x10FC => array(0x10DC), 0x1D2C => array(0x61), 0x1D2D => array(0xE6),
1762
+					0x1D2E => array(0x62), 0x1D30 => array(0x64), 0x1D31 => array(0x65),
1763
+					0x1D32 => array(0x1DD), 0x1D33 => array(0x67), 0x1D34 => array(0x68),
1764
+					0x1D35 => array(0x69), 0x1D36 => array(0x6A), 0x1D37 => array(0x6B),
1765
+					0x1D38 => array(0x6C), 0x1D39 => array(0x6D), 0x1D3A => array(0x6E),
1766
+					0x1D3C => array(0x6F), 0x1D3D => array(0x223), 0x1D3E => array(0x70),
1767
+					0x1D3F => array(0x72), 0x1D40 => array(0x74), 0x1D41 => array(0x75),
1768
+					0x1D42 => array(0x77), 0x1D43 => array(0x61), 0x1D44 => array(0x250),
1769
+					0x1D45 => array(0x251), 0x1D46 => array(0x1D02), 0x1D47 => array(0x62),
1770
+					0x1D48 => array(0x64), 0x1D49 => array(0x65), 0x1D4A => array(0x259),
1771
+					0x1D4B => array(0x25B), 0x1D4C => array(0x25C), 0x1D4D => array(0x67),
1772
+					0x1D4F => array(0x6B), 0x1D50 => array(0x6D), 0x1D51 => array(0x14B),
1773
+					0x1D52 => array(0x6F), 0x1D53 => array(0x254), 0x1D54 => array(0x1D16),
1774
+					0x1D55 => array(0x1D17), 0x1D56 => array(0x70), 0x1D57 => array(0x74),
1775
+					0x1D58 => array(0x75), 0x1D59 => array(0x1D1D), 0x1D5A => array(0x26F),
1776
+					0x1D5B => array(0x76), 0x1D5C => array(0x1D25), 0x1D5D => array(0x3B2),
1777
+					0x1D5E => array(0x3B3), 0x1D5F => array(0x3B4), 0x1D60 => array(0x3C6),
1778
+					0x1D61 => array(0x3C7), 0x1D62 => array(0x69), 0x1D63 => array(0x72),
1779
+					0x1D64 => array(0x75), 0x1D65 => array(0x76), 0x1D66 => array(0x3B2),
1780
+					0x1D67 => array(0x3B3), 0x1D68 => array(0x3C1), 0x1D69 => array(0x3C6),
1781
+					0x1D6A => array(0x3C7), 0x1D78 => array(0x43D), 0x1D9B => array(0x252),
1782
+					0x1D9C => array(0x63), 0x1D9D => array(0x255), 0x1D9E => array(0xF0),
1783
+					0x1D9F => array(0x25C), 0x1DA0 => array(0x66), 0x1DA1 => array(0x25F),
1784
+					0x1DA2 => array(0x261), 0x1DA3 => array(0x265), 0x1DA4 => array(0x268),
1785
+					0x1DA5 => array(0x269), 0x1DA6 => array(0x26A), 0x1DA7 => array(0x1D7B),
1786
+					0x1DA8 => array(0x29D), 0x1DA9 => array(0x26D), 0x1DAA => array(0x1D85),
1787
+					0x1DAB => array(0x29F), 0x1DAC => array(0x271), 0x1DAD => array(0x270),
1788
+					0x1DAE => array(0x272), 0x1DAF => array(0x273), 0x1DB0 => array(0x274),
1789
+					0x1DB1 => array(0x275), 0x1DB2 => array(0x278), 0x1DB3 => array(0x282),
1790
+					0x1DB4 => array(0x283), 0x1DB5 => array(0x1AB), 0x1DB6 => array(0x289),
1791
+					0x1DB7 => array(0x28A), 0x1DB8 => array(0x1D1C), 0x1DB9 => array(0x28B),
1792
+					0x1DBA => array(0x28C), 0x1DBB => array(0x7A), 0x1DBC => array(0x290),
1793
+					0x1DBD => array(0x291), 0x1DBE => array(0x292), 0x1DBF => array(0x3B8),
1794
+					0x1E00 => array(0x1E01), 0x1E02 => array(0x1E03), 0x1E04 => array(0x1E05),
1795
+					0x1E06 => array(0x1E07), 0x1E08 => array(0x1E09), 0x1E0A => array(0x1E0B),
1796
+					0x1E0C => array(0x1E0D), 0x1E0E => array(0x1E0F), 0x1E10 => array(0x1E11),
1797
+					0x1E12 => array(0x1E13), 0x1E14 => array(0x1E15), 0x1E16 => array(0x1E17),
1798
+					0x1E18 => array(0x1E19), 0x1E1A => array(0x1E1B), 0x1E1C => array(0x1E1D),
1799
+					0x1E1E => array(0x1E1F), 0x1E20 => array(0x1E21), 0x1E22 => array(0x1E23),
1800
+					0x1E24 => array(0x1E25), 0x1E26 => array(0x1E27), 0x1E28 => array(0x1E29),
1801
+					0x1E2A => array(0x1E2B), 0x1E2C => array(0x1E2D), 0x1E2E => array(0x1E2F),
1802
+					0x1E30 => array(0x1E31), 0x1E32 => array(0x1E33), 0x1E34 => array(0x1E35),
1803
+					0x1E36 => array(0x1E37), 0x1E38 => array(0x1E39), 0x1E3A => array(0x1E3B),
1804
+					0x1E3C => array(0x1E3D), 0x1E3E => array(0x1E3F), 0x1E40 => array(0x1E41),
1805
+					0x1E42 => array(0x1E43), 0x1E44 => array(0x1E45), 0x1E46 => array(0x1E47),
1806
+					0x1E48 => array(0x1E49), 0x1E4A => array(0x1E4B), 0x1E4C => array(0x1E4D),
1807
+					0x1E4E => array(0x1E4F), 0x1E50 => array(0x1E51), 0x1E52 => array(0x1E53),
1808
+					0x1E54 => array(0x1E55), 0x1E56 => array(0x1E57), 0x1E58 => array(0x1E59),
1809
+					0x1E5A => array(0x1E5B), 0x1E5C => array(0x1E5D), 0x1E5E => array(0x1E5F),
1810
+					0x1E60 => array(0x1E61), 0x1E62 => array(0x1E63), 0x1E64 => array(0x1E65),
1811
+					0x1E66 => array(0x1E67), 0x1E68 => array(0x1E69), 0x1E6A => array(0x1E6B),
1812
+					0x1E6C => array(0x1E6D), 0x1E6E => array(0x1E6F), 0x1E70 => array(0x1E71),
1813
+					0x1E72 => array(0x1E73), 0x1E74 => array(0x1E75), 0x1E76 => array(0x1E77),
1814
+					0x1E78 => array(0x1E79), 0x1E7A => array(0x1E7B), 0x1E7C => array(0x1E7D),
1815
+					0x1E7E => array(0x1E7F), 0x1E80 => array(0x1E81), 0x1E82 => array(0x1E83),
1816
+					0x1E84 => array(0x1E85), 0x1E86 => array(0x1E87), 0x1E88 => array(0x1E89),
1817
+					0x1E8A => array(0x1E8B), 0x1E8C => array(0x1E8D), 0x1E8E => array(0x1E8F),
1818
+					0x1E90 => array(0x1E91), 0x1E92 => array(0x1E93), 0x1E94 => array(0x1E95),
1819
+					0x1E9A => array(0x61, 0x2BE), 0x1E9B => array(0x1E61), 0x1E9E => array(0x73, 0x73),
1820
+					0x1EA0 => array(0x1EA1), 0x1EA2 => array(0x1EA3), 0x1EA4 => array(0x1EA5),
1821
+					0x1EA6 => array(0x1EA7), 0x1EA8 => array(0x1EA9), 0x1EAA => array(0x1EAB),
1822
+					0x1EAC => array(0x1EAD), 0x1EAE => array(0x1EAF), 0x1EB0 => array(0x1EB1),
1823
+					0x1EB2 => array(0x1EB3), 0x1EB4 => array(0x1EB5), 0x1EB6 => array(0x1EB7),
1824
+					0x1EB8 => array(0x1EB9), 0x1EBA => array(0x1EBB), 0x1EBC => array(0x1EBD),
1825
+					0x1EBE => array(0x1EBF), 0x1EC0 => array(0x1EC1), 0x1EC2 => array(0x1EC3),
1826
+					0x1EC4 => array(0x1EC5), 0x1EC6 => array(0x1EC7), 0x1EC8 => array(0x1EC9),
1827
+					0x1ECA => array(0x1ECB), 0x1ECC => array(0x1ECD), 0x1ECE => array(0x1ECF),
1828
+					0x1ED0 => array(0x1ED1), 0x1ED2 => array(0x1ED3), 0x1ED4 => array(0x1ED5),
1829
+					0x1ED6 => array(0x1ED7), 0x1ED8 => array(0x1ED9), 0x1EDA => array(0x1EDB),
1830
+					0x1EDC => array(0x1EDD), 0x1EDE => array(0x1EDF), 0x1EE0 => array(0x1EE1),
1831
+					0x1EE2 => array(0x1EE3), 0x1EE4 => array(0x1EE5), 0x1EE6 => array(0x1EE7),
1832
+					0x1EE8 => array(0x1EE9), 0x1EEA => array(0x1EEB), 0x1EEC => array(0x1EED),
1833
+					0x1EEE => array(0x1EEF), 0x1EF0 => array(0x1EF1), 0x1EF2 => array(0x1EF3),
1834
+					0x1EF4 => array(0x1EF5), 0x1EF6 => array(0x1EF7), 0x1EF8 => array(0x1EF9),
1835
+					0x1EFA => array(0x1EFB), 0x1EFC => array(0x1EFD), 0x1EFE => array(0x1EFF),
1836
+					0x1F08 => array(0x1F00), 0x1F09 => array(0x1F01), 0x1F0A => array(0x1F02),
1837
+					0x1F0B => array(0x1F03), 0x1F0C => array(0x1F04), 0x1F0D => array(0x1F05),
1838
+					0x1F0E => array(0x1F06), 0x1F0F => array(0x1F07), 0x1F18 => array(0x1F10),
1839
+					0x1F19 => array(0x1F11), 0x1F1A => array(0x1F12), 0x1F1B => array(0x1F13),
1840
+					0x1F1C => array(0x1F14), 0x1F1D => array(0x1F15), 0x1F28 => array(0x1F20),
1841
+					0x1F29 => array(0x1F21), 0x1F2A => array(0x1F22), 0x1F2B => array(0x1F23),
1842
+					0x1F2C => array(0x1F24), 0x1F2D => array(0x1F25), 0x1F2E => array(0x1F26),
1843
+					0x1F2F => array(0x1F27), 0x1F38 => array(0x1F30), 0x1F39 => array(0x1F31),
1844
+					0x1F3A => array(0x1F32), 0x1F3B => array(0x1F33), 0x1F3C => array(0x1F34),
1845
+					0x1F3D => array(0x1F35), 0x1F3E => array(0x1F36), 0x1F3F => array(0x1F37),
1846
+					0x1F48 => array(0x1F40), 0x1F49 => array(0x1F41), 0x1F4A => array(0x1F42),
1847
+					0x1F4B => array(0x1F43), 0x1F4C => array(0x1F44), 0x1F4D => array(0x1F45),
1848
+					0x1F59 => array(0x1F51), 0x1F5B => array(0x1F53), 0x1F5D => array(0x1F55),
1849
+					0x1F5F => array(0x1F57), 0x1F68 => array(0x1F60), 0x1F69 => array(0x1F61),
1850
+					0x1F6A => array(0x1F62), 0x1F6B => array(0x1F63), 0x1F6C => array(0x1F64),
1851
+					0x1F6D => array(0x1F65), 0x1F6E => array(0x1F66), 0x1F6F => array(0x1F67),
1852
+					0x1F71 => array(0x3AC), 0x1F73 => array(0x3AD), 0x1F75 => array(0x3AE),
1853
+					0x1F77 => array(0x3AF), 0x1F79 => array(0x3CC), 0x1F7B => array(0x3CD),
1854
+					0x1F7D => array(0x3CE), 0x1F80 => array(0x1F00, 0x3B9), 0x1F81 => array(0x1F01, 0x3B9),
1855
+					0x1F82 => array(0x1F02, 0x3B9), 0x1F83 => array(0x1F03, 0x3B9), 0x1F84 => array(0x1F04, 0x3B9),
1856
+					0x1F85 => array(0x1F05, 0x3B9), 0x1F86 => array(0x1F06, 0x3B9), 0x1F87 => array(0x1F07, 0x3B9),
1857
+					0x1F88 => array(0x1F00, 0x3B9), 0x1F89 => array(0x1F01, 0x3B9), 0x1F8A => array(0x1F02, 0x3B9),
1858
+					0x1F8B => array(0x1F03, 0x3B9), 0x1F8C => array(0x1F04, 0x3B9), 0x1F8D => array(0x1F05, 0x3B9),
1859
+					0x1F8E => array(0x1F06, 0x3B9), 0x1F8F => array(0x1F07, 0x3B9), 0x1F90 => array(0x1F20, 0x3B9),
1860
+					0x1F91 => array(0x1F21, 0x3B9), 0x1F92 => array(0x1F22, 0x3B9), 0x1F93 => array(0x1F23, 0x3B9),
1861
+					0x1F94 => array(0x1F24, 0x3B9), 0x1F95 => array(0x1F25, 0x3B9), 0x1F96 => array(0x1F26, 0x3B9),
1862
+					0x1F97 => array(0x1F27, 0x3B9), 0x1F98 => array(0x1F20, 0x3B9), 0x1F99 => array(0x1F21, 0x3B9),
1863
+					0x1F9A => array(0x1F22, 0x3B9), 0x1F9B => array(0x1F23, 0x3B9), 0x1F9C => array(0x1F24, 0x3B9),
1864
+					0x1F9D => array(0x1F25, 0x3B9), 0x1F9E => array(0x1F26, 0x3B9), 0x1F9F => array(0x1F27, 0x3B9),
1865
+					0x1FA0 => array(0x1F60, 0x3B9), 0x1FA1 => array(0x1F61, 0x3B9), 0x1FA2 => array(0x1F62, 0x3B9),
1866
+					0x1FA3 => array(0x1F63, 0x3B9), 0x1FA4 => array(0x1F64, 0x3B9), 0x1FA5 => array(0x1F65, 0x3B9),
1867
+					0x1FA6 => array(0x1F66, 0x3B9), 0x1FA7 => array(0x1F67, 0x3B9), 0x1FA8 => array(0x1F60, 0x3B9),
1868
+					0x1FA9 => array(0x1F61, 0x3B9), 0x1FAA => array(0x1F62, 0x3B9), 0x1FAB => array(0x1F63, 0x3B9),
1869
+					0x1FAC => array(0x1F64, 0x3B9), 0x1FAD => array(0x1F65, 0x3B9), 0x1FAE => array(0x1F66, 0x3B9),
1870
+					0x1FAF => array(0x1F67, 0x3B9), 0x1FB2 => array(0x1F70, 0x3B9), 0x1FB3 => array(0x3B1, 0x3B9),
1871
+					0x1FB4 => array(0x3AC, 0x3B9), 0x1FB7 => array(0x1FB6, 0x3B9), 0x1FB8 => array(0x1FB0),
1872
+					0x1FB9 => array(0x1FB1), 0x1FBA => array(0x1F70), 0x1FBB => array(0x3AC),
1873
+					0x1FBC => array(0x3B1, 0x3B9), 0x1FBE => array(0x3B9), 0x1FC2 => array(0x1F74, 0x3B9),
1874
+					0x1FC3 => array(0x3B7, 0x3B9), 0x1FC4 => array(0x3AE, 0x3B9), 0x1FC7 => array(0x1FC6, 0x3B9),
1875
+					0x1FC8 => array(0x1F72), 0x1FC9 => array(0x3AD), 0x1FCA => array(0x1F74),
1876
+					0x1FCB => array(0x3AE), 0x1FCC => array(0x3B7, 0x3B9), 0x1FD3 => array(0x390),
1877
+					0x1FD8 => array(0x1FD0), 0x1FD9 => array(0x1FD1), 0x1FDA => array(0x1F76),
1878
+					0x1FDB => array(0x3AF), 0x1FE3 => array(0x3B0), 0x1FE8 => array(0x1FE0),
1879
+					0x1FE9 => array(0x1FE1), 0x1FEA => array(0x1F7A), 0x1FEB => array(0x3CD),
1880
+					0x1FEC => array(0x1FE5), 0x1FF2 => array(0x1F7C, 0x3B9), 0x1FF3 => array(0x3C9, 0x3B9),
1881
+					0x1FF4 => array(0x3CE, 0x3B9), 0x1FF7 => array(0x1FF6, 0x3B9), 0x1FF8 => array(0x1F78),
1882
+					0x1FF9 => array(0x3CC), 0x1FFA => array(0x1F7C), 0x1FFB => array(0x3CE),
1883
+					0x1FFC => array(0x3C9, 0x3B9), 0x2011 => array(0x2010), 0x2033 => array(0x2032, 0x2032),
1884
+					0x2034 => array(0x2032, 0x2032, 0x2032), 0x2036 => array(0x2035, 0x2035), 0x2037 => array(0x2035, 0x2035, 0x2035),
1885
+					0x2057 => array(0x2032, 0x2032, 0x2032, 0x2032), 0x2070 => array(0x30), 0x2071 => array(0x69),
1886
+					0x2074 => array(0x34), 0x2075 => array(0x35), 0x2076 => array(0x36),
1887
+					0x2077 => array(0x37), 0x2078 => array(0x38), 0x2079 => array(0x39),
1888
+					0x207B => array(0x2212), 0x207F => array(0x6E), 0x2080 => array(0x30),
1889
+					0x2081 => array(0x31), 0x2082 => array(0x32), 0x2083 => array(0x33),
1890
+					0x2084 => array(0x34), 0x2085 => array(0x35), 0x2086 => array(0x36),
1891
+					0x2087 => array(0x37), 0x2088 => array(0x38), 0x2089 => array(0x39),
1892
+					0x208B => array(0x2212), 0x2090 => array(0x61), 0x2091 => array(0x65),
1893
+					0x2092 => array(0x6F), 0x2093 => array(0x78), 0x2094 => array(0x259),
1894
+					0x2095 => array(0x68), 0x2096 => array(0x6B), 0x2097 => array(0x6C),
1895
+					0x2098 => array(0x6D), 0x2099 => array(0x6E), 0x209A => array(0x70),
1896
+					0x209B => array(0x73), 0x209C => array(0x74), 0x20A8 => array(0x72, 0x73),
1897
+					0x2102 => array(0x63), 0x2103 => array(0xB0, 0x63), 0x2107 => array(0x25B),
1898
+					0x2109 => array(0xB0, 0x66), 0x210A => array(0x67), 0x210B => array(0x68),
1899
+					0x210C => array(0x68), 0x210D => array(0x68), 0x210E => array(0x68),
1900
+					0x210F => array(0x127), 0x2110 => array(0x69), 0x2111 => array(0x69),
1901
+					0x2112 => array(0x6C), 0x2113 => array(0x6C), 0x2115 => array(0x6E),
1902
+					0x2116 => array(0x6E, 0x6F), 0x2119 => array(0x70), 0x211A => array(0x71),
1903
+					0x211B => array(0x72), 0x211C => array(0x72), 0x211D => array(0x72),
1904
+					0x2120 => array(0x73, 0x6D), 0x2121 => array(0x74, 0x65, 0x6C), 0x2122 => array(0x74, 0x6D),
1905
+					0x2124 => array(0x7A), 0x2126 => array(0x3C9), 0x2128 => array(0x7A),
1906
+					0x212A => array(0x6B), 0x212B => array(0xE5), 0x212C => array(0x62),
1907
+					0x212D => array(0x63), 0x212F => array(0x65), 0x2130 => array(0x65),
1908
+					0x2131 => array(0x66), 0x2133 => array(0x6D), 0x2134 => array(0x6F),
1909
+					0x2135 => array(0x5D0), 0x2136 => array(0x5D1), 0x2137 => array(0x5D2),
1910
+					0x2138 => array(0x5D3), 0x2139 => array(0x69), 0x213B => array(0x66, 0x61, 0x78),
1911
+					0x213C => array(0x3C0), 0x213D => array(0x3B3), 0x213E => array(0x3B3),
1912
+					0x213F => array(0x3C0), 0x2140 => array(0x2211), 0x2145 => array(0x64),
1913
+					0x2146 => array(0x64), 0x2147 => array(0x65), 0x2148 => array(0x69),
1914
+					0x2149 => array(0x6A), 0x2150 => array(0x31, 0x2044, 0x37), 0x2151 => array(0x31, 0x2044, 0x39),
1915
+					0x2152 => array(0x31, 0x2044, 0x31, 0x30), 0x2153 => array(0x31, 0x2044, 0x33), 0x2154 => array(0x32, 0x2044, 0x33),
1916
+					0x2155 => array(0x31, 0x2044, 0x35), 0x2156 => array(0x32, 0x2044, 0x35), 0x2157 => array(0x33, 0x2044, 0x35),
1917
+					0x2158 => array(0x34, 0x2044, 0x35), 0x2159 => array(0x31, 0x2044, 0x36), 0x215A => array(0x35, 0x2044, 0x36),
1918
+					0x215B => array(0x31, 0x2044, 0x38), 0x215C => array(0x33, 0x2044, 0x38), 0x215D => array(0x35, 0x2044, 0x38),
1919
+					0x215E => array(0x37, 0x2044, 0x38), 0x215F => array(0x31, 0x2044), 0x2160 => array(0x69),
1920
+					0x2161 => array(0x69, 0x69), 0x2162 => array(0x69, 0x69, 0x69), 0x2163 => array(0x69, 0x76),
1921
+					0x2164 => array(0x76), 0x2165 => array(0x76, 0x69), 0x2166 => array(0x76, 0x69, 0x69),
1922
+					0x2167 => array(0x76, 0x69, 0x69, 0x69), 0x2168 => array(0x69, 0x78), 0x2169 => array(0x78),
1923
+					0x216A => array(0x78, 0x69), 0x216B => array(0x78, 0x69, 0x69), 0x216C => array(0x6C),
1924
+					0x216D => array(0x63), 0x216E => array(0x64), 0x216F => array(0x6D),
1925
+					0x2170 => array(0x69), 0x2171 => array(0x69, 0x69), 0x2172 => array(0x69, 0x69, 0x69),
1926
+					0x2173 => array(0x69, 0x76), 0x2174 => array(0x76), 0x2175 => array(0x76, 0x69),
1927
+					0x2176 => array(0x76, 0x69, 0x69), 0x2177 => array(0x76, 0x69, 0x69, 0x69), 0x2178 => array(0x69, 0x78),
1928
+					0x2179 => array(0x78), 0x217A => array(0x78, 0x69), 0x217B => array(0x78, 0x69, 0x69),
1929
+					0x217C => array(0x6C), 0x217D => array(0x63), 0x217E => array(0x64),
1930
+					0x217F => array(0x6D), 0x2189 => array(0x30, 0x2044, 0x33), 0x222C => array(0x222B, 0x222B),
1931
+					0x222D => array(0x222B, 0x222B, 0x222B), 0x222F => array(0x222E, 0x222E), 0x2230 => array(0x222E, 0x222E, 0x222E),
1932
+					0x2329 => array(0x3008), 0x232A => array(0x3009), 0x2460 => array(0x31),
1933
+					0x2461 => array(0x32), 0x2462 => array(0x33), 0x2463 => array(0x34),
1934
+					0x2464 => array(0x35), 0x2465 => array(0x36), 0x2466 => array(0x37),
1935
+					0x2467 => array(0x38), 0x2468 => array(0x39), 0x2469 => array(0x31, 0x30),
1936
+					0x246A => array(0x31, 0x31), 0x246B => array(0x31, 0x32), 0x246C => array(0x31, 0x33),
1937
+					0x246D => array(0x31, 0x34), 0x246E => array(0x31, 0x35), 0x246F => array(0x31, 0x36),
1938
+					0x2470 => array(0x31, 0x37), 0x2471 => array(0x31, 0x38), 0x2472 => array(0x31, 0x39),
1939
+					0x2473 => array(0x32, 0x30), 0x24B6 => array(0x61), 0x24B7 => array(0x62),
1940
+					0x24B8 => array(0x63), 0x24B9 => array(0x64), 0x24BA => array(0x65),
1941
+					0x24BB => array(0x66), 0x24BC => array(0x67), 0x24BD => array(0x68),
1942
+					0x24BE => array(0x69), 0x24BF => array(0x6A), 0x24C0 => array(0x6B),
1943
+					0x24C1 => array(0x6C), 0x24C2 => array(0x6D), 0x24C3 => array(0x6E),
1944
+					0x24C4 => array(0x6F), 0x24C5 => array(0x70), 0x24C6 => array(0x71),
1945
+					0x24C7 => array(0x72), 0x24C8 => array(0x73), 0x24C9 => array(0x74),
1946
+					0x24CA => array(0x75), 0x24CB => array(0x76), 0x24CC => array(0x77),
1947
+					0x24CD => array(0x78), 0x24CE => array(0x79), 0x24CF => array(0x7A),
1948
+					0x24D0 => array(0x61), 0x24D1 => array(0x62), 0x24D2 => array(0x63),
1949
+					0x24D3 => array(0x64), 0x24D4 => array(0x65), 0x24D5 => array(0x66),
1950
+					0x24D6 => array(0x67), 0x24D7 => array(0x68), 0x24D8 => array(0x69),
1951
+					0x24D9 => array(0x6A), 0x24DA => array(0x6B), 0x24DB => array(0x6C),
1952
+					0x24DC => array(0x6D), 0x24DD => array(0x6E), 0x24DE => array(0x6F),
1953
+					0x24DF => array(0x70), 0x24E0 => array(0x71), 0x24E1 => array(0x72),
1954
+					0x24E2 => array(0x73), 0x24E3 => array(0x74), 0x24E4 => array(0x75),
1955
+					0x24E5 => array(0x76), 0x24E6 => array(0x77), 0x24E7 => array(0x78),
1956
+					0x24E8 => array(0x79), 0x24E9 => array(0x7A), 0x24EA => array(0x30),
1957
+					0x2A0C => array(0x222B, 0x222B, 0x222B, 0x222B), 0x2ADC => array(0x2ADD, 0x338), 0x2C00 => array(0x2C30),
1958
+					0x2C01 => array(0x2C31), 0x2C02 => array(0x2C32), 0x2C03 => array(0x2C33),
1959
+					0x2C04 => array(0x2C34), 0x2C05 => array(0x2C35), 0x2C06 => array(0x2C36),
1960
+					0x2C07 => array(0x2C37), 0x2C08 => array(0x2C38), 0x2C09 => array(0x2C39),
1961
+					0x2C0A => array(0x2C3A), 0x2C0B => array(0x2C3B), 0x2C0C => array(0x2C3C),
1962
+					0x2C0D => array(0x2C3D), 0x2C0E => array(0x2C3E), 0x2C0F => array(0x2C3F),
1963
+					0x2C10 => array(0x2C40), 0x2C11 => array(0x2C41), 0x2C12 => array(0x2C42),
1964
+					0x2C13 => array(0x2C43), 0x2C14 => array(0x2C44), 0x2C15 => array(0x2C45),
1965
+					0x2C16 => array(0x2C46), 0x2C17 => array(0x2C47), 0x2C18 => array(0x2C48),
1966
+					0x2C19 => array(0x2C49), 0x2C1A => array(0x2C4A), 0x2C1B => array(0x2C4B),
1967
+					0x2C1C => array(0x2C4C), 0x2C1D => array(0x2C4D), 0x2C1E => array(0x2C4E),
1968
+					0x2C1F => array(0x2C4F), 0x2C20 => array(0x2C50), 0x2C21 => array(0x2C51),
1969
+					0x2C22 => array(0x2C52), 0x2C23 => array(0x2C53), 0x2C24 => array(0x2C54),
1970
+					0x2C25 => array(0x2C55), 0x2C26 => array(0x2C56), 0x2C27 => array(0x2C57),
1971
+					0x2C28 => array(0x2C58), 0x2C29 => array(0x2C59), 0x2C2A => array(0x2C5A),
1972
+					0x2C2B => array(0x2C5B), 0x2C2C => array(0x2C5C), 0x2C2D => array(0x2C5D),
1973
+					0x2C2E => array(0x2C5E), 0x2C60 => array(0x2C61), 0x2C62 => array(0x26B),
1974
+					0x2C63 => array(0x1D7D), 0x2C64 => array(0x27D), 0x2C67 => array(0x2C68),
1975
+					0x2C69 => array(0x2C6A), 0x2C6B => array(0x2C6C), 0x2C6D => array(0x251),
1976
+					0x2C6E => array(0x271), 0x2C6F => array(0x250), 0x2C70 => array(0x252),
1977
+					0x2C72 => array(0x2C73), 0x2C75 => array(0x2C76), 0x2C7C => array(0x6A),
1978
+					0x2C7D => array(0x76), 0x2C7E => array(0x23F), 0x2C7F => array(0x240),
1979
+					0x2C80 => array(0x2C81), 0x2C82 => array(0x2C83), 0x2C84 => array(0x2C85),
1980
+					0x2C86 => array(0x2C87), 0x2C88 => array(0x2C89), 0x2C8A => array(0x2C8B),
1981
+					0x2C8C => array(0x2C8D), 0x2C8E => array(0x2C8F), 0x2C90 => array(0x2C91),
1982
+					0x2C92 => array(0x2C93), 0x2C94 => array(0x2C95), 0x2C96 => array(0x2C97),
1983
+					0x2C98 => array(0x2C99), 0x2C9A => array(0x2C9B), 0x2C9C => array(0x2C9D),
1984
+					0x2C9E => array(0x2C9F), 0x2CA0 => array(0x2CA1), 0x2CA2 => array(0x2CA3),
1985
+					0x2CA4 => array(0x2CA5), 0x2CA6 => array(0x2CA7), 0x2CA8 => array(0x2CA9),
1986
+					0x2CAA => array(0x2CAB), 0x2CAC => array(0x2CAD), 0x2CAE => array(0x2CAF),
1987
+					0x2CB0 => array(0x2CB1), 0x2CB2 => array(0x2CB3), 0x2CB4 => array(0x2CB5),
1988
+					0x2CB6 => array(0x2CB7), 0x2CB8 => array(0x2CB9), 0x2CBA => array(0x2CBB),
1989
+					0x2CBC => array(0x2CBD), 0x2CBE => array(0x2CBF), 0x2CC0 => array(0x2CC1),
1990
+					0x2CC2 => array(0x2CC3), 0x2CC4 => array(0x2CC5), 0x2CC6 => array(0x2CC7),
1991
+					0x2CC8 => array(0x2CC9), 0x2CCA => array(0x2CCB), 0x2CCC => array(0x2CCD),
1992
+					0x2CCE => array(0x2CCF), 0x2CD0 => array(0x2CD1), 0x2CD2 => array(0x2CD3),
1993
+					0x2CD4 => array(0x2CD5), 0x2CD6 => array(0x2CD7), 0x2CD8 => array(0x2CD9),
1994
+					0x2CDA => array(0x2CDB), 0x2CDC => array(0x2CDD), 0x2CDE => array(0x2CDF),
1995
+					0x2CE0 => array(0x2CE1), 0x2CE2 => array(0x2CE3), 0x2CEB => array(0x2CEC),
1996
+					0x2CED => array(0x2CEE), 0x2CF2 => array(0x2CF3), 0x2D6F => array(0x2D61),
1997
+					0x2E9F => array(0x6BCD), 0x2EF3 => array(0x9F9F), 0x2F00 => array(0x4E00),
1998
+					0x2F01 => array(0x4E28), 0x2F02 => array(0x4E36), 0x2F03 => array(0x4E3F),
1999
+					0x2F04 => array(0x4E59), 0x2F05 => array(0x4E85), 0x2F06 => array(0x4E8C),
2000
+					0x2F07 => array(0x4EA0), 0x2F08 => array(0x4EBA), 0x2F09 => array(0x513F),
2001
+					0x2F0A => array(0x5165), 0x2F0B => array(0x516B), 0x2F0C => array(0x5182),
2002
+					0x2F0D => array(0x5196), 0x2F0E => array(0x51AB), 0x2F0F => array(0x51E0),
2003
+					0x2F10 => array(0x51F5), 0x2F11 => array(0x5200), 0x2F12 => array(0x529B),
2004
+					0x2F13 => array(0x52F9), 0x2F14 => array(0x5315), 0x2F15 => array(0x531A),
2005
+					0x2F16 => array(0x5338), 0x2F17 => array(0x5341), 0x2F18 => array(0x535C),
2006
+					0x2F19 => array(0x5369), 0x2F1A => array(0x5382), 0x2F1B => array(0x53B6),
2007
+					0x2F1C => array(0x53C8), 0x2F1D => array(0x53E3), 0x2F1E => array(0x56D7),
2008
+					0x2F1F => array(0x571F), 0x2F20 => array(0x58EB), 0x2F21 => array(0x5902),
2009
+					0x2F22 => array(0x590A), 0x2F23 => array(0x5915), 0x2F24 => array(0x5927),
2010
+					0x2F25 => array(0x5973), 0x2F26 => array(0x5B50), 0x2F27 => array(0x5B80),
2011
+					0x2F28 => array(0x5BF8), 0x2F29 => array(0x5C0F), 0x2F2A => array(0x5C22),
2012
+					0x2F2B => array(0x5C38), 0x2F2C => array(0x5C6E), 0x2F2D => array(0x5C71),
2013
+					0x2F2E => array(0x5DDB), 0x2F2F => array(0x5DE5), 0x2F30 => array(0x5DF1),
2014
+					0x2F31 => array(0x5DFE), 0x2F32 => array(0x5E72), 0x2F33 => array(0x5E7A),
2015
+					0x2F34 => array(0x5E7F), 0x2F35 => array(0x5EF4), 0x2F36 => array(0x5EFE),
2016
+					0x2F37 => array(0x5F0B), 0x2F38 => array(0x5F13), 0x2F39 => array(0x5F50),
2017
+					0x2F3A => array(0x5F61), 0x2F3B => array(0x5F73), 0x2F3C => array(0x5FC3),
2018
+					0x2F3D => array(0x6208), 0x2F3E => array(0x6236), 0x2F3F => array(0x624B),
2019
+					0x2F40 => array(0x652F), 0x2F41 => array(0x6534), 0x2F42 => array(0x6587),
2020
+					0x2F43 => array(0x6597), 0x2F44 => array(0x65A4), 0x2F45 => array(0x65B9),
2021
+					0x2F46 => array(0x65E0), 0x2F47 => array(0x65E5), 0x2F48 => array(0x66F0),
2022
+					0x2F49 => array(0x6708), 0x2F4A => array(0x6728), 0x2F4B => array(0x6B20),
2023
+					0x2F4C => array(0x6B62), 0x2F4D => array(0x6B79), 0x2F4E => array(0x6BB3),
2024
+					0x2F4F => array(0x6BCB), 0x2F50 => array(0x6BD4), 0x2F51 => array(0x6BDB),
2025
+					0x2F52 => array(0x6C0F), 0x2F53 => array(0x6C14), 0x2F54 => array(0x6C34),
2026
+					0x2F55 => array(0x706B), 0x2F56 => array(0x722A), 0x2F57 => array(0x7236),
2027
+					0x2F58 => array(0x723B), 0x2F59 => array(0x723F), 0x2F5A => array(0x7247),
2028
+					0x2F5B => array(0x7259), 0x2F5C => array(0x725B), 0x2F5D => array(0x72AC),
2029
+					0x2F5E => array(0x7384), 0x2F5F => array(0x7389), 0x2F60 => array(0x74DC),
2030
+					0x2F61 => array(0x74E6), 0x2F62 => array(0x7518), 0x2F63 => array(0x751F),
2031
+					0x2F64 => array(0x7528), 0x2F65 => array(0x7530), 0x2F66 => array(0x758B),
2032
+					0x2F67 => array(0x7592), 0x2F68 => array(0x7676), 0x2F69 => array(0x767D),
2033
+					0x2F6A => array(0x76AE), 0x2F6B => array(0x76BF), 0x2F6C => array(0x76EE),
2034
+					0x2F6D => array(0x77DB), 0x2F6E => array(0x77E2), 0x2F6F => array(0x77F3),
2035
+					0x2F70 => array(0x793A), 0x2F71 => array(0x79B8), 0x2F72 => array(0x79BE),
2036
+					0x2F73 => array(0x7A74), 0x2F74 => array(0x7ACB), 0x2F75 => array(0x7AF9),
2037
+					0x2F76 => array(0x7C73), 0x2F77 => array(0x7CF8), 0x2F78 => array(0x7F36),
2038
+					0x2F79 => array(0x7F51), 0x2F7A => array(0x7F8A), 0x2F7B => array(0x7FBD),
2039
+					0x2F7C => array(0x8001), 0x2F7D => array(0x800C), 0x2F7E => array(0x8012),
2040
+					0x2F7F => array(0x8033), 0x2F80 => array(0x807F), 0x2F81 => array(0x8089),
2041
+					0x2F82 => array(0x81E3), 0x2F83 => array(0x81EA), 0x2F84 => array(0x81F3),
2042
+					0x2F85 => array(0x81FC), 0x2F86 => array(0x820C), 0x2F87 => array(0x821B),
2043
+					0x2F88 => array(0x821F), 0x2F89 => array(0x826E), 0x2F8A => array(0x8272),
2044
+					0x2F8B => array(0x8278), 0x2F8C => array(0x864D), 0x2F8D => array(0x866B),
2045
+					0x2F8E => array(0x8840), 0x2F8F => array(0x884C), 0x2F90 => array(0x8863),
2046
+					0x2F91 => array(0x897E), 0x2F92 => array(0x898B), 0x2F93 => array(0x89D2),
2047
+					0x2F94 => array(0x8A00), 0x2F95 => array(0x8C37), 0x2F96 => array(0x8C46),
2048
+					0x2F97 => array(0x8C55), 0x2F98 => array(0x8C78), 0x2F99 => array(0x8C9D),
2049
+					0x2F9A => array(0x8D64), 0x2F9B => array(0x8D70), 0x2F9C => array(0x8DB3),
2050
+					0x2F9D => array(0x8EAB), 0x2F9E => array(0x8ECA), 0x2F9F => array(0x8F9B),
2051
+					0x2FA0 => array(0x8FB0), 0x2FA1 => array(0x8FB5), 0x2FA2 => array(0x9091),
2052
+					0x2FA3 => array(0x9149), 0x2FA4 => array(0x91C6), 0x2FA5 => array(0x91CC),
2053
+					0x2FA6 => array(0x91D1), 0x2FA7 => array(0x9577), 0x2FA8 => array(0x9580),
2054
+					0x2FA9 => array(0x961C), 0x2FAA => array(0x96B6), 0x2FAB => array(0x96B9),
2055
+					0x2FAC => array(0x96E8), 0x2FAD => array(0x9751), 0x2FAE => array(0x975E),
2056
+					0x2FAF => array(0x9762), 0x2FB0 => array(0x9769), 0x2FB1 => array(0x97CB),
2057
+					0x2FB2 => array(0x97ED), 0x2FB3 => array(0x97F3), 0x2FB4 => array(0x9801),
2058
+					0x2FB5 => array(0x98A8), 0x2FB6 => array(0x98DB), 0x2FB7 => array(0x98DF),
2059
+					0x2FB8 => array(0x9996), 0x2FB9 => array(0x9999), 0x2FBA => array(0x99AC),
2060
+					0x2FBB => array(0x9AA8), 0x2FBC => array(0x9AD8), 0x2FBD => array(0x9ADF),
2061
+					0x2FBE => array(0x9B25), 0x2FBF => array(0x9B2F), 0x2FC0 => array(0x9B32),
2062
+					0x2FC1 => array(0x9B3C), 0x2FC2 => array(0x9B5A), 0x2FC3 => array(0x9CE5),
2063
+					0x2FC4 => array(0x9E75), 0x2FC5 => array(0x9E7F), 0x2FC6 => array(0x9EA5),
2064
+					0x2FC7 => array(0x9EBB), 0x2FC8 => array(0x9EC3), 0x2FC9 => array(0x9ECD),
2065
+					0x2FCA => array(0x9ED1), 0x2FCB => array(0x9EF9), 0x2FCC => array(0x9EFD),
2066
+					0x2FCD => array(0x9F0E), 0x2FCE => array(0x9F13), 0x2FCF => array(0x9F20),
2067
+					0x2FD0 => array(0x9F3B), 0x2FD1 => array(0x9F4A), 0x2FD2 => array(0x9F52),
2068
+					0x2FD3 => array(0x9F8D), 0x2FD4 => array(0x9F9C), 0x2FD5 => array(0x9FA0),
2069
+					0x3002 => array(0x2E), 0x3036 => array(0x3012), 0x3038 => array(0x5341),
2070
+					0x3039 => array(0x5344), 0x303A => array(0x5345), 0x309F => array(0x3088, 0x308A),
2071
+					0x30FF => array(0x30B3, 0x30C8), 0x3131 => array(0x1100), 0x3132 => array(0x1101),
2072
+					0x3133 => array(0x11AA), 0x3134 => array(0x1102), 0x3135 => array(0x11AC),
2073
+					0x3136 => array(0x11AD), 0x3137 => array(0x1103), 0x3138 => array(0x1104),
2074
+					0x3139 => array(0x1105), 0x313A => array(0x11B0), 0x313B => array(0x11B1),
2075
+					0x313C => array(0x11B2), 0x313D => array(0x11B3), 0x313E => array(0x11B4),
2076
+					0x313F => array(0x11B5), 0x3140 => array(0x111A), 0x3141 => array(0x1106),
2077
+					0x3142 => array(0x1107), 0x3143 => array(0x1108), 0x3144 => array(0x1121),
2078
+					0x3145 => array(0x1109), 0x3146 => array(0x110A), 0x3147 => array(0x110B),
2079
+					0x3148 => array(0x110C), 0x3149 => array(0x110D), 0x314A => array(0x110E),
2080
+					0x314B => array(0x110F), 0x314C => array(0x1110), 0x314D => array(0x1111),
2081
+					0x314E => array(0x1112), 0x314F => array(0x1161), 0x3150 => array(0x1162),
2082
+					0x3151 => array(0x1163), 0x3152 => array(0x1164), 0x3153 => array(0x1165),
2083
+					0x3154 => array(0x1166), 0x3155 => array(0x1167), 0x3156 => array(0x1168),
2084
+					0x3157 => array(0x1169), 0x3158 => array(0x116A), 0x3159 => array(0x116B),
2085
+					0x315A => array(0x116C), 0x315B => array(0x116D), 0x315C => array(0x116E),
2086
+					0x315D => array(0x116F), 0x315E => array(0x1170), 0x315F => array(0x1171),
2087
+					0x3160 => array(0x1172), 0x3161 => array(0x1173), 0x3162 => array(0x1174),
2088
+					0x3163 => array(0x1175), 0x3165 => array(0x1114), 0x3166 => array(0x1115),
2089
+					0x3167 => array(0x11C7), 0x3168 => array(0x11C8), 0x3169 => array(0x11CC),
2090
+					0x316A => array(0x11CE), 0x316B => array(0x11D3), 0x316C => array(0x11D7),
2091
+					0x316D => array(0x11D9), 0x316E => array(0x111C), 0x316F => array(0x11DD),
2092
+					0x3170 => array(0x11DF), 0x3171 => array(0x111D), 0x3172 => array(0x111E),
2093
+					0x3173 => array(0x1120), 0x3174 => array(0x1122), 0x3175 => array(0x1123),
2094
+					0x3176 => array(0x1127), 0x3177 => array(0x1129), 0x3178 => array(0x112B),
2095
+					0x3179 => array(0x112C), 0x317A => array(0x112D), 0x317B => array(0x112E),
2096
+					0x317C => array(0x112F), 0x317D => array(0x1132), 0x317E => array(0x1136),
2097
+					0x317F => array(0x1140), 0x3180 => array(0x1147), 0x3181 => array(0x114C),
2098
+					0x3182 => array(0x11F1), 0x3183 => array(0x11F2), 0x3184 => array(0x1157),
2099
+					0x3185 => array(0x1158), 0x3186 => array(0x1159), 0x3187 => array(0x1184),
2100
+					0x3188 => array(0x1185), 0x3189 => array(0x1188), 0x318A => array(0x1191),
2101
+					0x318B => array(0x1192), 0x318C => array(0x1194), 0x318D => array(0x119E),
2102
+					0x318E => array(0x11A1), 0x3192 => array(0x4E00), 0x3193 => array(0x4E8C),
2103
+					0x3194 => array(0x4E09), 0x3195 => array(0x56DB), 0x3196 => array(0x4E0A),
2104
+					0x3197 => array(0x4E2D), 0x3198 => array(0x4E0B), 0x3199 => array(0x7532),
2105
+					0x319A => array(0x4E59), 0x319B => array(0x4E19), 0x319C => array(0x4E01),
2106
+					0x319D => array(0x5929), 0x319E => array(0x5730), 0x319F => array(0x4EBA),
2107
+					0x3244 => array(0x554F), 0x3245 => array(0x5E7C), 0x3246 => array(0x6587),
2108
+					0x3247 => array(0x7B8F), 0x3250 => array(0x70, 0x74, 0x65), 0x3251 => array(0x32, 0x31),
2109
+					0x3252 => array(0x32, 0x32), 0x3253 => array(0x32, 0x33), 0x3254 => array(0x32, 0x34),
2110
+					0x3255 => array(0x32, 0x35), 0x3256 => array(0x32, 0x36), 0x3257 => array(0x32, 0x37),
2111
+					0x3258 => array(0x32, 0x38), 0x3259 => array(0x32, 0x39), 0x325A => array(0x33, 0x30),
2112
+					0x325B => array(0x33, 0x31), 0x325C => array(0x33, 0x32), 0x325D => array(0x33, 0x33),
2113
+					0x325E => array(0x33, 0x34), 0x325F => array(0x33, 0x35), 0x3260 => array(0x1100),
2114
+					0x3261 => array(0x1102), 0x3262 => array(0x1103), 0x3263 => array(0x1105),
2115
+					0x3264 => array(0x1106), 0x3265 => array(0x1107), 0x3266 => array(0x1109),
2116
+					0x3267 => array(0x110B), 0x3268 => array(0x110C), 0x3269 => array(0x110E),
2117
+					0x326A => array(0x110F), 0x326B => array(0x1110), 0x326C => array(0x1111),
2118
+					0x326D => array(0x1112), 0x326E => array(0xAC00), 0x326F => array(0xB098),
2119
+					0x3270 => array(0xB2E4), 0x3271 => array(0xB77C), 0x3272 => array(0xB9C8),
2120
+					0x3273 => array(0xBC14), 0x3274 => array(0xC0AC), 0x3275 => array(0xC544),
2121
+					0x3276 => array(0xC790), 0x3277 => array(0xCC28), 0x3278 => array(0xCE74),
2122
+					0x3279 => array(0xD0C0), 0x327A => array(0xD30C), 0x327B => array(0xD558),
2123
+					0x327C => array(0xCC38, 0xACE0), 0x327D => array(0xC8FC, 0xC758), 0x327E => array(0xC6B0),
2124
+					0x3280 => array(0x4E00), 0x3281 => array(0x4E8C), 0x3282 => array(0x4E09),
2125
+					0x3283 => array(0x56DB), 0x3284 => array(0x4E94), 0x3285 => array(0x516D),
2126
+					0x3286 => array(0x4E03), 0x3287 => array(0x516B), 0x3288 => array(0x4E5D),
2127
+					0x3289 => array(0x5341), 0x328A => array(0x6708), 0x328B => array(0x706B),
2128
+					0x328C => array(0x6C34), 0x328D => array(0x6728), 0x328E => array(0x91D1),
2129
+					0x328F => array(0x571F), 0x3290 => array(0x65E5), 0x3291 => array(0x682A),
2130
+					0x3292 => array(0x6709), 0x3293 => array(0x793E), 0x3294 => array(0x540D),
2131
+					0x3295 => array(0x7279), 0x3296 => array(0x8CA1), 0x3297 => array(0x795D),
2132
+					0x3298 => array(0x52B4), 0x3299 => array(0x79D8), 0x329A => array(0x7537),
2133
+					0x329B => array(0x5973), 0x329C => array(0x9069), 0x329D => array(0x512A),
2134
+					0x329E => array(0x5370), 0x329F => array(0x6CE8), 0x32A0 => array(0x9805),
2135
+					0x32A1 => array(0x4F11), 0x32A2 => array(0x5199), 0x32A3 => array(0x6B63),
2136
+					0x32A4 => array(0x4E0A), 0x32A5 => array(0x4E2D), 0x32A6 => array(0x4E0B),
2137
+					0x32A7 => array(0x5DE6), 0x32A8 => array(0x53F3), 0x32A9 => array(0x533B),
2138
+					0x32AA => array(0x5B97), 0x32AB => array(0x5B66), 0x32AC => array(0x76E3),
2139
+					0x32AD => array(0x4F01), 0x32AE => array(0x8CC7), 0x32AF => array(0x5354),
2140
+					0x32B0 => array(0x591C), 0x32B1 => array(0x33, 0x36), 0x32B2 => array(0x33, 0x37),
2141
+					0x32B3 => array(0x33, 0x38), 0x32B4 => array(0x33, 0x39), 0x32B5 => array(0x34, 0x30),
2142
+					0x32B6 => array(0x34, 0x31), 0x32B7 => array(0x34, 0x32), 0x32B8 => array(0x34, 0x33),
2143
+					0x32B9 => array(0x34, 0x34), 0x32BA => array(0x34, 0x35), 0x32BB => array(0x34, 0x36),
2144
+					0x32BC => array(0x34, 0x37), 0x32BD => array(0x34, 0x38), 0x32BE => array(0x34, 0x39),
2145
+					0x32BF => array(0x35, 0x30), 0x32C0 => array(0x31, 0x6708), 0x32C1 => array(0x32, 0x6708),
2146
+					0x32C2 => array(0x33, 0x6708), 0x32C3 => array(0x34, 0x6708), 0x32C4 => array(0x35, 0x6708),
2147
+					0x32C5 => array(0x36, 0x6708), 0x32C6 => array(0x37, 0x6708), 0x32C7 => array(0x38, 0x6708),
2148
+					0x32C8 => array(0x39, 0x6708), 0x32C9 => array(0x31, 0x30, 0x6708), 0x32CA => array(0x31, 0x31, 0x6708),
2149
+					0x32CB => array(0x31, 0x32, 0x6708), 0x32CC => array(0x68, 0x67), 0x32CD => array(0x65, 0x72, 0x67),
2150
+					0x32CE => array(0x65, 0x76), 0x32CF => array(0x6C, 0x74, 0x64), 0x32D0 => array(0x30A2),
2151
+					0x32D1 => array(0x30A4), 0x32D2 => array(0x30A6), 0x32D3 => array(0x30A8),
2152
+					0x32D4 => array(0x30AA), 0x32D5 => array(0x30AB), 0x32D6 => array(0x30AD),
2153
+					0x32D7 => array(0x30AF), 0x32D8 => array(0x30B1), 0x32D9 => array(0x30B3),
2154
+					0x32DA => array(0x30B5), 0x32DB => array(0x30B7), 0x32DC => array(0x30B9),
2155
+					0x32DD => array(0x30BB), 0x32DE => array(0x30BD), 0x32DF => array(0x30BF),
2156
+					0x32E0 => array(0x30C1), 0x32E1 => array(0x30C4), 0x32E2 => array(0x30C6),
2157
+					0x32E3 => array(0x30C8), 0x32E4 => array(0x30CA), 0x32E5 => array(0x30CB),
2158
+					0x32E6 => array(0x30CC), 0x32E7 => array(0x30CD), 0x32E8 => array(0x30CE),
2159
+					0x32E9 => array(0x30CF), 0x32EA => array(0x30D2), 0x32EB => array(0x30D5),
2160
+					0x32EC => array(0x30D8), 0x32ED => array(0x30DB), 0x32EE => array(0x30DE),
2161
+					0x32EF => array(0x30DF), 0x32F0 => array(0x30E0), 0x32F1 => array(0x30E1),
2162
+					0x32F2 => array(0x30E2), 0x32F3 => array(0x30E4), 0x32F4 => array(0x30E6),
2163
+					0x32F5 => array(0x30E8), 0x32F6 => array(0x30E9), 0x32F7 => array(0x30EA),
2164
+					0x32F8 => array(0x30EB), 0x32F9 => array(0x30EC), 0x32FA => array(0x30ED),
2165
+					0x32FB => array(0x30EF), 0x32FC => array(0x30F0), 0x32FD => array(0x30F1),
2166
+					0x32FE => array(0x30F2), 0x3300 => array(0x30A2, 0x30D1, 0x30FC, 0x30C8), 0x3301 => array(0x30A2, 0x30EB, 0x30D5, 0x30A1),
2167
+					0x3302 => array(0x30A2, 0x30F3, 0x30DA, 0x30A2), 0x3303 => array(0x30A2, 0x30FC, 0x30EB), 0x3304 => array(0x30A4, 0x30CB, 0x30F3, 0x30B0),
2168
+					0x3305 => array(0x30A4, 0x30F3, 0x30C1), 0x3306 => array(0x30A6, 0x30A9, 0x30F3), 0x3307 => array(0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9),
2169
+					0x3308 => array(0x30A8, 0x30FC, 0x30AB, 0x30FC), 0x3309 => array(0x30AA, 0x30F3, 0x30B9), 0x330A => array(0x30AA, 0x30FC, 0x30E0),
2170
+					0x330B => array(0x30AB, 0x30A4, 0x30EA), 0x330C => array(0x30AB, 0x30E9, 0x30C3, 0x30C8), 0x330D => array(0x30AB, 0x30ED, 0x30EA, 0x30FC),
2171
+					0x330E => array(0x30AC, 0x30ED, 0x30F3), 0x330F => array(0x30AC, 0x30F3, 0x30DE), 0x3310 => array(0x30AE, 0x30AC),
2172
+					0x3311 => array(0x30AE, 0x30CB, 0x30FC), 0x3312 => array(0x30AD, 0x30E5, 0x30EA, 0x30FC), 0x3313 => array(0x30AE, 0x30EB, 0x30C0, 0x30FC),
2173
+					0x3314 => array(0x30AD, 0x30ED), 0x3315 => array(0x30AD, 0x30ED, 0x30B0, 0x30E9, 0x30E0), 0x3316 => array(0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB),
2174
+					0x3317 => array(0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8), 0x3318 => array(0x30B0, 0x30E9, 0x30E0), 0x3319 => array(0x30B0, 0x30E9, 0x30E0, 0x30C8, 0x30F3),
2175
+					0x331A => array(0x30AF, 0x30EB, 0x30BC, 0x30A4, 0x30ED), 0x331B => array(0x30AF, 0x30ED, 0x30FC, 0x30CD), 0x331C => array(0x30B1, 0x30FC, 0x30B9),
2176
+					0x331D => array(0x30B3, 0x30EB, 0x30CA), 0x331E => array(0x30B3, 0x30FC, 0x30DD), 0x331F => array(0x30B5, 0x30A4, 0x30AF, 0x30EB),
2177
+					0x3320 => array(0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0), 0x3321 => array(0x30B7, 0x30EA, 0x30F3, 0x30B0), 0x3322 => array(0x30BB, 0x30F3, 0x30C1),
2178
+					0x3323 => array(0x30BB, 0x30F3, 0x30C8), 0x3324 => array(0x30C0, 0x30FC, 0x30B9), 0x3325 => array(0x30C7, 0x30B7),
2179
+					0x3326 => array(0x30C9, 0x30EB), 0x3327 => array(0x30C8, 0x30F3), 0x3328 => array(0x30CA, 0x30CE),
2180
+					0x3329 => array(0x30CE, 0x30C3, 0x30C8), 0x332A => array(0x30CF, 0x30A4, 0x30C4), 0x332B => array(0x30D1, 0x30FC, 0x30BB, 0x30F3, 0x30C8),
2181
+					0x332C => array(0x30D1, 0x30FC, 0x30C4), 0x332D => array(0x30D0, 0x30FC, 0x30EC, 0x30EB), 0x332E => array(0x30D4, 0x30A2, 0x30B9, 0x30C8, 0x30EB),
2182
+					0x332F => array(0x30D4, 0x30AF, 0x30EB), 0x3330 => array(0x30D4, 0x30B3), 0x3331 => array(0x30D3, 0x30EB),
2183
+					0x3332 => array(0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9), 0x3333 => array(0x30D5, 0x30A3, 0x30FC, 0x30C8), 0x3334 => array(0x30D6, 0x30C3, 0x30B7, 0x30A7, 0x30EB),
2184
+					0x3335 => array(0x30D5, 0x30E9, 0x30F3), 0x3336 => array(0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB), 0x3337 => array(0x30DA, 0x30BD),
2185
+					0x3338 => array(0x30DA, 0x30CB, 0x30D2), 0x3339 => array(0x30D8, 0x30EB, 0x30C4), 0x333A => array(0x30DA, 0x30F3, 0x30B9),
2186
+					0x333B => array(0x30DA, 0x30FC, 0x30B8), 0x333C => array(0x30D9, 0x30FC, 0x30BF), 0x333D => array(0x30DD, 0x30A4, 0x30F3, 0x30C8),
2187
+					0x333E => array(0x30DC, 0x30EB, 0x30C8), 0x333F => array(0x30DB, 0x30F3), 0x3340 => array(0x30DD, 0x30F3, 0x30C9),
2188
+					0x3341 => array(0x30DB, 0x30FC, 0x30EB), 0x3342 => array(0x30DB, 0x30FC, 0x30F3), 0x3343 => array(0x30DE, 0x30A4, 0x30AF, 0x30ED),
2189
+					0x3344 => array(0x30DE, 0x30A4, 0x30EB), 0x3345 => array(0x30DE, 0x30C3, 0x30CF), 0x3346 => array(0x30DE, 0x30EB, 0x30AF),
2190
+					0x3347 => array(0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3), 0x3348 => array(0x30DF, 0x30AF, 0x30ED, 0x30F3), 0x3349 => array(0x30DF, 0x30EA),
2191
+					0x334A => array(0x30DF, 0x30EA, 0x30D0, 0x30FC, 0x30EB), 0x334B => array(0x30E1, 0x30AC), 0x334C => array(0x30E1, 0x30AC, 0x30C8, 0x30F3),
2192
+					0x334D => array(0x30E1, 0x30FC, 0x30C8, 0x30EB), 0x334E => array(0x30E4, 0x30FC, 0x30C9), 0x334F => array(0x30E4, 0x30FC, 0x30EB),
2193
+					0x3350 => array(0x30E6, 0x30A2, 0x30F3), 0x3351 => array(0x30EA, 0x30C3, 0x30C8, 0x30EB), 0x3352 => array(0x30EA, 0x30E9),
2194
+					0x3353 => array(0x30EB, 0x30D4, 0x30FC), 0x3354 => array(0x30EB, 0x30FC, 0x30D6, 0x30EB), 0x3355 => array(0x30EC, 0x30E0),
2195
+					0x3356 => array(0x30EC, 0x30F3, 0x30C8, 0x30B2, 0x30F3), 0x3357 => array(0x30EF, 0x30C3, 0x30C8), 0x3358 => array(0x30, 0x70B9),
2196
+					0x3359 => array(0x31, 0x70B9), 0x335A => array(0x32, 0x70B9), 0x335B => array(0x33, 0x70B9),
2197
+					0x335C => array(0x34, 0x70B9), 0x335D => array(0x35, 0x70B9), 0x335E => array(0x36, 0x70B9),
2198
+					0x335F => array(0x37, 0x70B9), 0x3360 => array(0x38, 0x70B9), 0x3361 => array(0x39, 0x70B9),
2199
+					0x3362 => array(0x31, 0x30, 0x70B9), 0x3363 => array(0x31, 0x31, 0x70B9), 0x3364 => array(0x31, 0x32, 0x70B9),
2200
+					0x3365 => array(0x31, 0x33, 0x70B9), 0x3366 => array(0x31, 0x34, 0x70B9), 0x3367 => array(0x31, 0x35, 0x70B9),
2201
+					0x3368 => array(0x31, 0x36, 0x70B9), 0x3369 => array(0x31, 0x37, 0x70B9), 0x336A => array(0x31, 0x38, 0x70B9),
2202
+					0x336B => array(0x31, 0x39, 0x70B9), 0x336C => array(0x32, 0x30, 0x70B9), 0x336D => array(0x32, 0x31, 0x70B9),
2203
+					0x336E => array(0x32, 0x32, 0x70B9), 0x336F => array(0x32, 0x33, 0x70B9), 0x3370 => array(0x32, 0x34, 0x70B9),
2204
+					0x3371 => array(0x68, 0x70, 0x61), 0x3372 => array(0x64, 0x61), 0x3373 => array(0x61, 0x75),
2205
+					0x3374 => array(0x62, 0x61, 0x72), 0x3375 => array(0x6F, 0x76), 0x3376 => array(0x70, 0x63),
2206
+					0x3377 => array(0x64, 0x6D), 0x3378 => array(0x64, 0x6D, 0x32), 0x3379 => array(0x64, 0x6D, 0x33),
2207
+					0x337A => array(0x69, 0x75), 0x337B => array(0x5E73, 0x6210), 0x337C => array(0x662D, 0x548C),
2208
+					0x337D => array(0x5927, 0x6B63), 0x337E => array(0x660E, 0x6CBB), 0x337F => array(0x682A, 0x5F0F, 0x4F1A, 0x793E),
2209
+					0x3380 => array(0x70, 0x61), 0x3381 => array(0x6E, 0x61), 0x3382 => array(0x3BC, 0x61),
2210
+					0x3383 => array(0x6D, 0x61), 0x3384 => array(0x6B, 0x61), 0x3385 => array(0x6B, 0x62),
2211
+					0x3386 => array(0x6D, 0x62), 0x3387 => array(0x67, 0x62), 0x3388 => array(0x63, 0x61, 0x6C),
2212
+					0x3389 => array(0x6B, 0x63, 0x61, 0x6C), 0x338A => array(0x70, 0x66), 0x338B => array(0x6E, 0x66),
2213
+					0x338C => array(0x3BC, 0x66), 0x338D => array(0x3BC, 0x67), 0x338E => array(0x6D, 0x67),
2214
+					0x338F => array(0x6B, 0x67), 0x3390 => array(0x68, 0x7A), 0x3391 => array(0x6B, 0x68, 0x7A),
2215
+					0x3392 => array(0x6D, 0x68, 0x7A), 0x3393 => array(0x67, 0x68, 0x7A), 0x3394 => array(0x74, 0x68, 0x7A),
2216
+					0x3395 => array(0x3BC, 0x6C), 0x3396 => array(0x6D, 0x6C), 0x3397 => array(0x64, 0x6C),
2217
+					0x3398 => array(0x6B, 0x6C), 0x3399 => array(0x66, 0x6D), 0x339A => array(0x6E, 0x6D),
2218
+					0x339B => array(0x3BC, 0x6D), 0x339C => array(0x6D, 0x6D), 0x339D => array(0x63, 0x6D),
2219
+					0x339E => array(0x6B, 0x6D), 0x339F => array(0x6D, 0x6D, 0x32), 0x33A0 => array(0x63, 0x6D, 0x32),
2220
+					0x33A1 => array(0x6D, 0x32), 0x33A2 => array(0x6B, 0x6D, 0x32), 0x33A3 => array(0x6D, 0x6D, 0x33),
2221
+					0x33A4 => array(0x63, 0x6D, 0x33), 0x33A5 => array(0x6D, 0x33), 0x33A6 => array(0x6B, 0x6D, 0x33),
2222
+					0x33A7 => array(0x6D, 0x2215, 0x73), 0x33A8 => array(0x6D, 0x2215, 0x73, 0x32), 0x33A9 => array(0x70, 0x61),
2223
+					0x33AA => array(0x6B, 0x70, 0x61), 0x33AB => array(0x6D, 0x70, 0x61), 0x33AC => array(0x67, 0x70, 0x61),
2224
+					0x33AD => array(0x72, 0x61, 0x64), 0x33AE => array(0x72, 0x61, 0x64, 0x2215, 0x73), 0x33AF => array(0x72, 0x61, 0x64, 0x2215, 0x73, 0x32),
2225
+					0x33B0 => array(0x70, 0x73), 0x33B1 => array(0x6E, 0x73), 0x33B2 => array(0x3BC, 0x73),
2226
+					0x33B3 => array(0x6D, 0x73), 0x33B4 => array(0x70, 0x76), 0x33B5 => array(0x6E, 0x76),
2227
+					0x33B6 => array(0x3BC, 0x76), 0x33B7 => array(0x6D, 0x76), 0x33B8 => array(0x6B, 0x76),
2228
+					0x33B9 => array(0x6D, 0x76), 0x33BA => array(0x70, 0x77), 0x33BB => array(0x6E, 0x77),
2229
+					0x33BC => array(0x3BC, 0x77), 0x33BD => array(0x6D, 0x77), 0x33BE => array(0x6B, 0x77),
2230
+					0x33BF => array(0x6D, 0x77), 0x33C0 => array(0x6B, 0x3C9), 0x33C1 => array(0x6D, 0x3C9),
2231
+					0x33C3 => array(0x62, 0x71), 0x33C4 => array(0x63, 0x63), 0x33C5 => array(0x63, 0x64),
2232
+					0x33C6 => array(0x63, 0x2215, 0x6B, 0x67), 0x33C8 => array(0x64, 0x62), 0x33C9 => array(0x67, 0x79),
2233
+					0x33CA => array(0x68, 0x61), 0x33CB => array(0x68, 0x70), 0x33CC => array(0x69, 0x6E),
2234
+					0x33CD => array(0x6B, 0x6B), 0x33CE => array(0x6B, 0x6D), 0x33CF => array(0x6B, 0x74),
2235
+					0x33D0 => array(0x6C, 0x6D), 0x33D1 => array(0x6C, 0x6E), 0x33D2 => array(0x6C, 0x6F, 0x67),
2236
+					0x33D3 => array(0x6C, 0x78), 0x33D4 => array(0x6D, 0x62), 0x33D5 => array(0x6D, 0x69, 0x6C),
2237
+					0x33D6 => array(0x6D, 0x6F, 0x6C), 0x33D7 => array(0x70, 0x68), 0x33D9 => array(0x70, 0x70, 0x6D),
2238
+					0x33DA => array(0x70, 0x72), 0x33DB => array(0x73, 0x72), 0x33DC => array(0x73, 0x76),
2239
+					0x33DD => array(0x77, 0x62), 0x33DE => array(0x76, 0x2215, 0x6D), 0x33DF => array(0x61, 0x2215, 0x6D),
2240
+					0x33E0 => array(0x31, 0x65E5), 0x33E1 => array(0x32, 0x65E5), 0x33E2 => array(0x33, 0x65E5),
2241
+					0x33E3 => array(0x34, 0x65E5), 0x33E4 => array(0x35, 0x65E5), 0x33E5 => array(0x36, 0x65E5),
2242
+					0x33E6 => array(0x37, 0x65E5), 0x33E7 => array(0x38, 0x65E5), 0x33E8 => array(0x39, 0x65E5),
2243
+					0x33E9 => array(0x31, 0x30, 0x65E5), 0x33EA => array(0x31, 0x31, 0x65E5), 0x33EB => array(0x31, 0x32, 0x65E5),
2244
+					0x33EC => array(0x31, 0x33, 0x65E5), 0x33ED => array(0x31, 0x34, 0x65E5), 0x33EE => array(0x31, 0x35, 0x65E5),
2245
+					0x33EF => array(0x31, 0x36, 0x65E5), 0x33F0 => array(0x31, 0x37, 0x65E5), 0x33F1 => array(0x31, 0x38, 0x65E5),
2246
+					0x33F2 => array(0x31, 0x39, 0x65E5), 0x33F3 => array(0x32, 0x30, 0x65E5), 0x33F4 => array(0x32, 0x31, 0x65E5),
2247
+					0x33F5 => array(0x32, 0x32, 0x65E5), 0x33F6 => array(0x32, 0x33, 0x65E5), 0x33F7 => array(0x32, 0x34, 0x65E5),
2248
+					0x33F8 => array(0x32, 0x35, 0x65E5), 0x33F9 => array(0x32, 0x36, 0x65E5), 0x33FA => array(0x32, 0x37, 0x65E5),
2249
+					0x33FB => array(0x32, 0x38, 0x65E5), 0x33FC => array(0x32, 0x39, 0x65E5), 0x33FD => array(0x33, 0x30, 0x65E5),
2250
+					0x33FE => array(0x33, 0x31, 0x65E5), 0x33FF => array(0x67, 0x61, 0x6C), 0xA640 => array(0xA641),
2251
+					0xA642 => array(0xA643), 0xA644 => array(0xA645), 0xA646 => array(0xA647),
2252
+					0xA648 => array(0xA649), 0xA64A => array(0xA64B), 0xA64C => array(0xA64D),
2253
+					0xA64E => array(0xA64F), 0xA650 => array(0xA651), 0xA652 => array(0xA653),
2254
+					0xA654 => array(0xA655), 0xA656 => array(0xA657), 0xA658 => array(0xA659),
2255
+					0xA65A => array(0xA65B), 0xA65C => array(0xA65D), 0xA65E => array(0xA65F),
2256
+					0xA660 => array(0xA661), 0xA662 => array(0xA663), 0xA664 => array(0xA665),
2257
+					0xA666 => array(0xA667), 0xA668 => array(0xA669), 0xA66A => array(0xA66B),
2258
+					0xA66C => array(0xA66D), 0xA680 => array(0xA681), 0xA682 => array(0xA683),
2259
+					0xA684 => array(0xA685), 0xA686 => array(0xA687), 0xA688 => array(0xA689),
2260
+					0xA68A => array(0xA68B), 0xA68C => array(0xA68D), 0xA68E => array(0xA68F),
2261
+					0xA690 => array(0xA691), 0xA692 => array(0xA693), 0xA694 => array(0xA695),
2262
+					0xA696 => array(0xA697), 0xA698 => array(0xA699), 0xA69A => array(0xA69B),
2263
+					0xA69C => array(0x44A), 0xA69D => array(0x44C), 0xA722 => array(0xA723),
2264
+					0xA724 => array(0xA725), 0xA726 => array(0xA727), 0xA728 => array(0xA729),
2265
+					0xA72A => array(0xA72B), 0xA72C => array(0xA72D), 0xA72E => array(0xA72F),
2266
+					0xA732 => array(0xA733), 0xA734 => array(0xA735), 0xA736 => array(0xA737),
2267
+					0xA738 => array(0xA739), 0xA73A => array(0xA73B), 0xA73C => array(0xA73D),
2268
+					0xA73E => array(0xA73F), 0xA740 => array(0xA741), 0xA742 => array(0xA743),
2269
+					0xA744 => array(0xA745), 0xA746 => array(0xA747), 0xA748 => array(0xA749),
2270
+					0xA74A => array(0xA74B), 0xA74C => array(0xA74D), 0xA74E => array(0xA74F),
2271
+					0xA750 => array(0xA751), 0xA752 => array(0xA753), 0xA754 => array(0xA755),
2272
+					0xA756 => array(0xA757), 0xA758 => array(0xA759), 0xA75A => array(0xA75B),
2273
+					0xA75C => array(0xA75D), 0xA75E => array(0xA75F), 0xA760 => array(0xA761),
2274
+					0xA762 => array(0xA763), 0xA764 => array(0xA765), 0xA766 => array(0xA767),
2275
+					0xA768 => array(0xA769), 0xA76A => array(0xA76B), 0xA76C => array(0xA76D),
2276
+					0xA76E => array(0xA76F), 0xA770 => array(0xA76F), 0xA779 => array(0xA77A),
2277
+					0xA77B => array(0xA77C), 0xA77D => array(0x1D79), 0xA77E => array(0xA77F),
2278
+					0xA780 => array(0xA781), 0xA782 => array(0xA783), 0xA784 => array(0xA785),
2279
+					0xA786 => array(0xA787), 0xA78B => array(0xA78C), 0xA78D => array(0x265),
2280
+					0xA790 => array(0xA791), 0xA792 => array(0xA793), 0xA796 => array(0xA797),
2281
+					0xA798 => array(0xA799), 0xA79A => array(0xA79B), 0xA79C => array(0xA79D),
2282
+					0xA79E => array(0xA79F), 0xA7A0 => array(0xA7A1), 0xA7A2 => array(0xA7A3),
2283
+					0xA7A4 => array(0xA7A5), 0xA7A6 => array(0xA7A7), 0xA7A8 => array(0xA7A9),
2284
+					0xA7AA => array(0x266), 0xA7AB => array(0x25C), 0xA7AC => array(0x261),
2285
+					0xA7AD => array(0x26C), 0xA7B0 => array(0x29E), 0xA7B1 => array(0x287),
2286
+					0xA7F8 => array(0x127), 0xA7F9 => array(0x153), 0xAB5C => array(0xA727),
2287
+					0xAB5D => array(0xAB37), 0xAB5E => array(0x26B), 0xAB5F => array(0xAB52),
2288
+					0xF900 => array(0x8C48), 0xF901 => array(0x66F4), 0xF902 => array(0x8ECA),
2289
+					0xF903 => array(0x8CC8), 0xF904 => array(0x6ED1), 0xF905 => array(0x4E32),
2290
+					0xF906 => array(0x53E5), 0xF907 => array(0x9F9C), 0xF908 => array(0x9F9C),
2291
+					0xF909 => array(0x5951), 0xF90A => array(0x91D1), 0xF90B => array(0x5587),
2292
+					0xF90C => array(0x5948), 0xF90D => array(0x61F6), 0xF90E => array(0x7669),
2293
+					0xF90F => array(0x7F85), 0xF910 => array(0x863F), 0xF911 => array(0x87BA),
2294
+					0xF912 => array(0x88F8), 0xF913 => array(0x908F), 0xF914 => array(0x6A02),
2295
+					0xF915 => array(0x6D1B), 0xF916 => array(0x70D9), 0xF917 => array(0x73DE),
2296
+					0xF918 => array(0x843D), 0xF919 => array(0x916A), 0xF91A => array(0x99F1),
2297
+					0xF91B => array(0x4E82), 0xF91C => array(0x5375), 0xF91D => array(0x6B04),
2298
+					0xF91E => array(0x721B), 0xF91F => array(0x862D), 0xF920 => array(0x9E1E),
2299
+					0xF921 => array(0x5D50), 0xF922 => array(0x6FEB), 0xF923 => array(0x85CD),
2300
+					0xF924 => array(0x8964), 0xF925 => array(0x62C9), 0xF926 => array(0x81D8),
2301
+					0xF927 => array(0x881F), 0xF928 => array(0x5ECA), 0xF929 => array(0x6717),
2302
+					0xF92A => array(0x6D6A), 0xF92B => array(0x72FC), 0xF92C => array(0x90CE),
2303
+					0xF92D => array(0x4F86), 0xF92E => array(0x51B7), 0xF92F => array(0x52DE),
2304
+					0xF930 => array(0x64C4), 0xF931 => array(0x6AD3), 0xF932 => array(0x7210),
2305
+					0xF933 => array(0x76E7), 0xF934 => array(0x8001), 0xF935 => array(0x8606),
2306
+					0xF936 => array(0x865C), 0xF937 => array(0x8DEF), 0xF938 => array(0x9732),
2307
+					0xF939 => array(0x9B6F), 0xF93A => array(0x9DFA), 0xF93B => array(0x788C),
2308
+					0xF93C => array(0x797F), 0xF93D => array(0x7DA0), 0xF93E => array(0x83C9),
2309
+					0xF93F => array(0x9304), 0xF940 => array(0x9E7F), 0xF941 => array(0x8AD6),
2310
+					0xF942 => array(0x58DF), 0xF943 => array(0x5F04), 0xF944 => array(0x7C60),
2311
+					0xF945 => array(0x807E), 0xF946 => array(0x7262), 0xF947 => array(0x78CA),
2312
+					0xF948 => array(0x8CC2), 0xF949 => array(0x96F7), 0xF94A => array(0x58D8),
2313
+					0xF94B => array(0x5C62), 0xF94C => array(0x6A13), 0xF94D => array(0x6DDA),
2314
+					0xF94E => array(0x6F0F), 0xF94F => array(0x7D2F), 0xF950 => array(0x7E37),
2315
+					0xF951 => array(0x964B), 0xF952 => array(0x52D2), 0xF953 => array(0x808B),
2316
+					0xF954 => array(0x51DC), 0xF955 => array(0x51CC), 0xF956 => array(0x7A1C),
2317
+					0xF957 => array(0x7DBE), 0xF958 => array(0x83F1), 0xF959 => array(0x9675),
2318
+					0xF95A => array(0x8B80), 0xF95B => array(0x62CF), 0xF95C => array(0x6A02),
2319
+					0xF95D => array(0x8AFE), 0xF95E => array(0x4E39), 0xF95F => array(0x5BE7),
2320
+					0xF960 => array(0x6012), 0xF961 => array(0x7387), 0xF962 => array(0x7570),
2321
+					0xF963 => array(0x5317), 0xF964 => array(0x78FB), 0xF965 => array(0x4FBF),
2322
+					0xF966 => array(0x5FA9), 0xF967 => array(0x4E0D), 0xF968 => array(0x6CCC),
2323
+					0xF969 => array(0x6578), 0xF96A => array(0x7D22), 0xF96B => array(0x53C3),
2324
+					0xF96C => array(0x585E), 0xF96D => array(0x7701), 0xF96E => array(0x8449),
2325
+					0xF96F => array(0x8AAA), 0xF970 => array(0x6BBA), 0xF971 => array(0x8FB0),
2326
+					0xF972 => array(0x6C88), 0xF973 => array(0x62FE), 0xF974 => array(0x82E5),
2327
+					0xF975 => array(0x63A0), 0xF976 => array(0x7565), 0xF977 => array(0x4EAE),
2328
+					0xF978 => array(0x5169), 0xF979 => array(0x51C9), 0xF97A => array(0x6881),
2329
+					0xF97B => array(0x7CE7), 0xF97C => array(0x826F), 0xF97D => array(0x8AD2),
2330
+					0xF97E => array(0x91CF), 0xF97F => array(0x52F5), 0xF980 => array(0x5442),
2331
+					0xF981 => array(0x5973), 0xF982 => array(0x5EEC), 0xF983 => array(0x65C5),
2332
+					0xF984 => array(0x6FFE), 0xF985 => array(0x792A), 0xF986 => array(0x95AD),
2333
+					0xF987 => array(0x9A6A), 0xF988 => array(0x9E97), 0xF989 => array(0x9ECE),
2334
+					0xF98A => array(0x529B), 0xF98B => array(0x66C6), 0xF98C => array(0x6B77),
2335
+					0xF98D => array(0x8F62), 0xF98E => array(0x5E74), 0xF98F => array(0x6190),
2336
+					0xF990 => array(0x6200), 0xF991 => array(0x649A), 0xF992 => array(0x6F23),
2337
+					0xF993 => array(0x7149), 0xF994 => array(0x7489), 0xF995 => array(0x79CA),
2338
+					0xF996 => array(0x7DF4), 0xF997 => array(0x806F), 0xF998 => array(0x8F26),
2339
+					0xF999 => array(0x84EE), 0xF99A => array(0x9023), 0xF99B => array(0x934A),
2340
+					0xF99C => array(0x5217), 0xF99D => array(0x52A3), 0xF99E => array(0x54BD),
2341
+					0xF99F => array(0x70C8), 0xF9A0 => array(0x88C2), 0xF9A1 => array(0x8AAA),
2342
+					0xF9A2 => array(0x5EC9), 0xF9A3 => array(0x5FF5), 0xF9A4 => array(0x637B),
2343
+					0xF9A5 => array(0x6BAE), 0xF9A6 => array(0x7C3E), 0xF9A7 => array(0x7375),
2344
+					0xF9A8 => array(0x4EE4), 0xF9A9 => array(0x56F9), 0xF9AA => array(0x5BE7),
2345
+					0xF9AB => array(0x5DBA), 0xF9AC => array(0x601C), 0xF9AD => array(0x73B2),
2346
+					0xF9AE => array(0x7469), 0xF9AF => array(0x7F9A), 0xF9B0 => array(0x8046),
2347
+					0xF9B1 => array(0x9234), 0xF9B2 => array(0x96F6), 0xF9B3 => array(0x9748),
2348
+					0xF9B4 => array(0x9818), 0xF9B5 => array(0x4F8B), 0xF9B6 => array(0x79AE),
2349
+					0xF9B7 => array(0x91B4), 0xF9B8 => array(0x96B8), 0xF9B9 => array(0x60E1),
2350
+					0xF9BA => array(0x4E86), 0xF9BB => array(0x50DA), 0xF9BC => array(0x5BEE),
2351
+					0xF9BD => array(0x5C3F), 0xF9BE => array(0x6599), 0xF9BF => array(0x6A02),
2352
+					0xF9C0 => array(0x71CE), 0xF9C1 => array(0x7642), 0xF9C2 => array(0x84FC),
2353
+					0xF9C3 => array(0x907C), 0xF9C4 => array(0x9F8D), 0xF9C5 => array(0x6688),
2354
+					0xF9C6 => array(0x962E), 0xF9C7 => array(0x5289), 0xF9C8 => array(0x677B),
2355
+					0xF9C9 => array(0x67F3), 0xF9CA => array(0x6D41), 0xF9CB => array(0x6E9C),
2356
+					0xF9CC => array(0x7409), 0xF9CD => array(0x7559), 0xF9CE => array(0x786B),
2357
+					0xF9CF => array(0x7D10), 0xF9D0 => array(0x985E), 0xF9D1 => array(0x516D),
2358
+					0xF9D2 => array(0x622E), 0xF9D3 => array(0x9678), 0xF9D4 => array(0x502B),
2359
+					0xF9D5 => array(0x5D19), 0xF9D6 => array(0x6DEA), 0xF9D7 => array(0x8F2A),
2360
+					0xF9D8 => array(0x5F8B), 0xF9D9 => array(0x6144), 0xF9DA => array(0x6817),
2361
+					0xF9DB => array(0x7387), 0xF9DC => array(0x9686), 0xF9DD => array(0x5229),
2362
+					0xF9DE => array(0x540F), 0xF9DF => array(0x5C65), 0xF9E0 => array(0x6613),
2363
+					0xF9E1 => array(0x674E), 0xF9E2 => array(0x68A8), 0xF9E3 => array(0x6CE5),
2364
+					0xF9E4 => array(0x7406), 0xF9E5 => array(0x75E2), 0xF9E6 => array(0x7F79),
2365
+					0xF9E7 => array(0x88CF), 0xF9E8 => array(0x88E1), 0xF9E9 => array(0x91CC),
2366
+					0xF9EA => array(0x96E2), 0xF9EB => array(0x533F), 0xF9EC => array(0x6EBA),
2367
+					0xF9ED => array(0x541D), 0xF9EE => array(0x71D0), 0xF9EF => array(0x7498),
2368
+					0xF9F0 => array(0x85FA), 0xF9F1 => array(0x96A3), 0xF9F2 => array(0x9C57),
2369
+					0xF9F3 => array(0x9E9F), 0xF9F4 => array(0x6797), 0xF9F5 => array(0x6DCB),
2370
+					0xF9F6 => array(0x81E8), 0xF9F7 => array(0x7ACB), 0xF9F8 => array(0x7B20),
2371
+					0xF9F9 => array(0x7C92), 0xF9FA => array(0x72C0), 0xF9FB => array(0x7099),
2372
+					0xF9FC => array(0x8B58), 0xF9FD => array(0x4EC0), 0xF9FE => array(0x8336),
2373
+					0xF9FF => array(0x523A), 0xFA00 => array(0x5207), 0xFA01 => array(0x5EA6),
2374
+					0xFA02 => array(0x62D3), 0xFA03 => array(0x7CD6), 0xFA04 => array(0x5B85),
2375
+					0xFA05 => array(0x6D1E), 0xFA06 => array(0x66B4), 0xFA07 => array(0x8F3B),
2376
+					0xFA08 => array(0x884C), 0xFA09 => array(0x964D), 0xFA0A => array(0x898B),
2377
+					0xFA0B => array(0x5ED3), 0xFA0C => array(0x5140), 0xFA0D => array(0x55C0),
2378
+					0xFA10 => array(0x585A), 0xFA12 => array(0x6674), 0xFA15 => array(0x51DE),
2379
+					0xFA16 => array(0x732A), 0xFA17 => array(0x76CA), 0xFA18 => array(0x793C),
2380
+					0xFA19 => array(0x795E), 0xFA1A => array(0x7965), 0xFA1B => array(0x798F),
2381
+					0xFA1C => array(0x9756), 0xFA1D => array(0x7CBE), 0xFA1E => array(0x7FBD),
2382
+					0xFA20 => array(0x8612), 0xFA22 => array(0x8AF8), 0xFA25 => array(0x9038),
2383
+					0xFA26 => array(0x90FD), 0xFA2A => array(0x98EF), 0xFA2B => array(0x98FC),
2384
+					0xFA2C => array(0x9928), 0xFA2D => array(0x9DB4), 0xFA2E => array(0x90DE),
2385
+					0xFA2F => array(0x96B7), 0xFA30 => array(0x4FAE), 0xFA31 => array(0x50E7),
2386
+					0xFA32 => array(0x514D), 0xFA33 => array(0x52C9), 0xFA34 => array(0x52E4),
2387
+					0xFA35 => array(0x5351), 0xFA36 => array(0x559D), 0xFA37 => array(0x5606),
2388
+					0xFA38 => array(0x5668), 0xFA39 => array(0x5840), 0xFA3A => array(0x58A8),
2389
+					0xFA3B => array(0x5C64), 0xFA3C => array(0x5C6E), 0xFA3D => array(0x6094),
2390
+					0xFA3E => array(0x6168), 0xFA3F => array(0x618E), 0xFA40 => array(0x61F2),
2391
+					0xFA41 => array(0x654F), 0xFA42 => array(0x65E2), 0xFA43 => array(0x6691),
2392
+					0xFA44 => array(0x6885), 0xFA45 => array(0x6D77), 0xFA46 => array(0x6E1A),
2393
+					0xFA47 => array(0x6F22), 0xFA48 => array(0x716E), 0xFA49 => array(0x722B),
2394
+					0xFA4A => array(0x7422), 0xFA4B => array(0x7891), 0xFA4C => array(0x793E),
2395
+					0xFA4D => array(0x7949), 0xFA4E => array(0x7948), 0xFA4F => array(0x7950),
2396
+					0xFA50 => array(0x7956), 0xFA51 => array(0x795D), 0xFA52 => array(0x798D),
2397
+					0xFA53 => array(0x798E), 0xFA54 => array(0x7A40), 0xFA55 => array(0x7A81),
2398
+					0xFA56 => array(0x7BC0), 0xFA57 => array(0x7DF4), 0xFA58 => array(0x7E09),
2399
+					0xFA59 => array(0x7E41), 0xFA5A => array(0x7F72), 0xFA5B => array(0x8005),
2400
+					0xFA5C => array(0x81ED), 0xFA5D => array(0x8279), 0xFA5E => array(0x8279),
2401
+					0xFA5F => array(0x8457), 0xFA60 => array(0x8910), 0xFA61 => array(0x8996),
2402
+					0xFA62 => array(0x8B01), 0xFA63 => array(0x8B39), 0xFA64 => array(0x8CD3),
2403
+					0xFA65 => array(0x8D08), 0xFA66 => array(0x8FB6), 0xFA67 => array(0x9038),
2404
+					0xFA68 => array(0x96E3), 0xFA69 => array(0x97FF), 0xFA6A => array(0x983B),
2405
+					0xFA6B => array(0x6075), 0xFA6C => array(0x242EE), 0xFA6D => array(0x8218),
2406
+					0xFA70 => array(0x4E26), 0xFA71 => array(0x51B5), 0xFA72 => array(0x5168),
2407
+					0xFA73 => array(0x4F80), 0xFA74 => array(0x5145), 0xFA75 => array(0x5180),
2408
+					0xFA76 => array(0x52C7), 0xFA77 => array(0x52FA), 0xFA78 => array(0x559D),
2409
+					0xFA79 => array(0x5555), 0xFA7A => array(0x5599), 0xFA7B => array(0x55E2),
2410
+					0xFA7C => array(0x585A), 0xFA7D => array(0x58B3), 0xFA7E => array(0x5944),
2411
+					0xFA7F => array(0x5954), 0xFA80 => array(0x5A62), 0xFA81 => array(0x5B28),
2412
+					0xFA82 => array(0x5ED2), 0xFA83 => array(0x5ED9), 0xFA84 => array(0x5F69),
2413
+					0xFA85 => array(0x5FAD), 0xFA86 => array(0x60D8), 0xFA87 => array(0x614E),
2414
+					0xFA88 => array(0x6108), 0xFA89 => array(0x618E), 0xFA8A => array(0x6160),
2415
+					0xFA8B => array(0x61F2), 0xFA8C => array(0x6234), 0xFA8D => array(0x63C4),
2416
+					0xFA8E => array(0x641C), 0xFA8F => array(0x6452), 0xFA90 => array(0x6556),
2417
+					0xFA91 => array(0x6674), 0xFA92 => array(0x6717), 0xFA93 => array(0x671B),
2418
+					0xFA94 => array(0x6756), 0xFA95 => array(0x6B79), 0xFA96 => array(0x6BBA),
2419
+					0xFA97 => array(0x6D41), 0xFA98 => array(0x6EDB), 0xFA99 => array(0x6ECB),
2420
+					0xFA9A => array(0x6F22), 0xFA9B => array(0x701E), 0xFA9C => array(0x716E),
2421
+					0xFA9D => array(0x77A7), 0xFA9E => array(0x7235), 0xFA9F => array(0x72AF),
2422
+					0xFAA0 => array(0x732A), 0xFAA1 => array(0x7471), 0xFAA2 => array(0x7506),
2423
+					0xFAA3 => array(0x753B), 0xFAA4 => array(0x761D), 0xFAA5 => array(0x761F),
2424
+					0xFAA6 => array(0x76CA), 0xFAA7 => array(0x76DB), 0xFAA8 => array(0x76F4),
2425
+					0xFAA9 => array(0x774A), 0xFAAA => array(0x7740), 0xFAAB => array(0x78CC),
2426
+					0xFAAC => array(0x7AB1), 0xFAAD => array(0x7BC0), 0xFAAE => array(0x7C7B),
2427
+					0xFAAF => array(0x7D5B), 0xFAB0 => array(0x7DF4), 0xFAB1 => array(0x7F3E),
2428
+					0xFAB2 => array(0x8005), 0xFAB3 => array(0x8352), 0xFAB4 => array(0x83EF),
2429
+					0xFAB5 => array(0x8779), 0xFAB6 => array(0x8941), 0xFAB7 => array(0x8986),
2430
+					0xFAB8 => array(0x8996), 0xFAB9 => array(0x8ABF), 0xFABA => array(0x8AF8),
2431
+					0xFABB => array(0x8ACB), 0xFABC => array(0x8B01), 0xFABD => array(0x8AFE),
2432
+					0xFABE => array(0x8AED), 0xFABF => array(0x8B39), 0xFAC0 => array(0x8B8A),
2433
+					0xFAC1 => array(0x8D08), 0xFAC2 => array(0x8F38), 0xFAC3 => array(0x9072),
2434
+					0xFAC4 => array(0x9199), 0xFAC5 => array(0x9276), 0xFAC6 => array(0x967C),
2435
+					0xFAC7 => array(0x96E3), 0xFAC8 => array(0x9756), 0xFAC9 => array(0x97DB),
2436
+					0xFACA => array(0x97FF), 0xFACB => array(0x980B), 0xFACC => array(0x983B),
2437
+					0xFACD => array(0x9B12), 0xFACE => array(0x9F9C), 0xFACF => array(0x2284A),
2438
+					0xFAD0 => array(0x22844), 0xFAD1 => array(0x233D5), 0xFAD2 => array(0x3B9D),
2439
+					0xFAD3 => array(0x4018), 0xFAD4 => array(0x4039), 0xFAD5 => array(0x25249),
2440
+					0xFAD6 => array(0x25CD0), 0xFAD7 => array(0x27ED3), 0xFAD8 => array(0x9F43),
2441
+					0xFAD9 => array(0x9F8E), 0xFB00 => array(0x66, 0x66), 0xFB01 => array(0x66, 0x69),
2442
+					0xFB02 => array(0x66, 0x6C), 0xFB03 => array(0x66, 0x66, 0x69), 0xFB04 => array(0x66, 0x66, 0x6C),
2443
+					0xFB05 => array(0x73, 0x74), 0xFB06 => array(0x73, 0x74), 0xFB13 => array(0x574, 0x576),
2444
+					0xFB14 => array(0x574, 0x565), 0xFB15 => array(0x574, 0x56B), 0xFB16 => array(0x57E, 0x576),
2445
+					0xFB17 => array(0x574, 0x56D), 0xFB1D => array(0x5D9, 0x5B4), 0xFB1F => array(0x5F2, 0x5B7),
2446
+					0xFB20 => array(0x5E2), 0xFB21 => array(0x5D0), 0xFB22 => array(0x5D3),
2447
+					0xFB23 => array(0x5D4), 0xFB24 => array(0x5DB), 0xFB25 => array(0x5DC),
2448
+					0xFB26 => array(0x5DD), 0xFB27 => array(0x5E8), 0xFB28 => array(0x5EA),
2449
+					0xFB2A => array(0x5E9, 0x5C1), 0xFB2B => array(0x5E9, 0x5C2), 0xFB2C => array(0x5E9, 0x5BC, 0x5C1),
2450
+					0xFB2D => array(0x5E9, 0x5BC, 0x5C2), 0xFB2E => array(0x5D0, 0x5B7), 0xFB2F => array(0x5D0, 0x5B8),
2451
+					0xFB30 => array(0x5D0, 0x5BC), 0xFB31 => array(0x5D1, 0x5BC), 0xFB32 => array(0x5D2, 0x5BC),
2452
+					0xFB33 => array(0x5D3, 0x5BC), 0xFB34 => array(0x5D4, 0x5BC), 0xFB35 => array(0x5D5, 0x5BC),
2453
+					0xFB36 => array(0x5D6, 0x5BC), 0xFB38 => array(0x5D8, 0x5BC), 0xFB39 => array(0x5D9, 0x5BC),
2454
+					0xFB3A => array(0x5DA, 0x5BC), 0xFB3B => array(0x5DB, 0x5BC), 0xFB3C => array(0x5DC, 0x5BC),
2455
+					0xFB3E => array(0x5DE, 0x5BC), 0xFB40 => array(0x5E0, 0x5BC), 0xFB41 => array(0x5E1, 0x5BC),
2456
+					0xFB43 => array(0x5E3, 0x5BC), 0xFB44 => array(0x5E4, 0x5BC), 0xFB46 => array(0x5E6, 0x5BC),
2457
+					0xFB47 => array(0x5E7, 0x5BC), 0xFB48 => array(0x5E8, 0x5BC), 0xFB49 => array(0x5E9, 0x5BC),
2458
+					0xFB4A => array(0x5EA, 0x5BC), 0xFB4B => array(0x5D5, 0x5B9), 0xFB4C => array(0x5D1, 0x5BF),
2459
+					0xFB4D => array(0x5DB, 0x5BF), 0xFB4E => array(0x5E4, 0x5BF), 0xFB4F => array(0x5D0, 0x5DC),
2460
+					0xFB50 => array(0x671), 0xFB51 => array(0x671), 0xFB52 => array(0x67B),
2461
+					0xFB53 => array(0x67B), 0xFB54 => array(0x67B), 0xFB55 => array(0x67B),
2462
+					0xFB56 => array(0x67E), 0xFB57 => array(0x67E), 0xFB58 => array(0x67E),
2463
+					0xFB59 => array(0x67E), 0xFB5A => array(0x680), 0xFB5B => array(0x680),
2464
+					0xFB5C => array(0x680), 0xFB5D => array(0x680), 0xFB5E => array(0x67A),
2465
+					0xFB5F => array(0x67A), 0xFB60 => array(0x67A), 0xFB61 => array(0x67A),
2466
+					0xFB62 => array(0x67F), 0xFB63 => array(0x67F), 0xFB64 => array(0x67F),
2467
+					0xFB65 => array(0x67F), 0xFB66 => array(0x679), 0xFB67 => array(0x679),
2468
+					0xFB68 => array(0x679), 0xFB69 => array(0x679), 0xFB6A => array(0x6A4),
2469
+					0xFB6B => array(0x6A4), 0xFB6C => array(0x6A4), 0xFB6D => array(0x6A4),
2470
+					0xFB6E => array(0x6A6), 0xFB6F => array(0x6A6), 0xFB70 => array(0x6A6),
2471
+					0xFB71 => array(0x6A6), 0xFB72 => array(0x684), 0xFB73 => array(0x684),
2472
+					0xFB74 => array(0x684), 0xFB75 => array(0x684), 0xFB76 => array(0x683),
2473
+					0xFB77 => array(0x683), 0xFB78 => array(0x683), 0xFB79 => array(0x683),
2474
+					0xFB7A => array(0x686), 0xFB7B => array(0x686), 0xFB7C => array(0x686),
2475
+					0xFB7D => array(0x686), 0xFB7E => array(0x687), 0xFB7F => array(0x687),
2476
+					0xFB80 => array(0x687), 0xFB81 => array(0x687), 0xFB82 => array(0x68D),
2477
+					0xFB83 => array(0x68D), 0xFB84 => array(0x68C), 0xFB85 => array(0x68C),
2478
+					0xFB86 => array(0x68E), 0xFB87 => array(0x68E), 0xFB88 => array(0x688),
2479
+					0xFB89 => array(0x688), 0xFB8A => array(0x698), 0xFB8B => array(0x698),
2480
+					0xFB8C => array(0x691), 0xFB8D => array(0x691), 0xFB8E => array(0x6A9),
2481
+					0xFB8F => array(0x6A9), 0xFB90 => array(0x6A9), 0xFB91 => array(0x6A9),
2482
+					0xFB92 => array(0x6AF), 0xFB93 => array(0x6AF), 0xFB94 => array(0x6AF),
2483
+					0xFB95 => array(0x6AF), 0xFB96 => array(0x6B3), 0xFB97 => array(0x6B3),
2484
+					0xFB98 => array(0x6B3), 0xFB99 => array(0x6B3), 0xFB9A => array(0x6B1),
2485
+					0xFB9B => array(0x6B1), 0xFB9C => array(0x6B1), 0xFB9D => array(0x6B1),
2486
+					0xFB9E => array(0x6BA), 0xFB9F => array(0x6BA), 0xFBA0 => array(0x6BB),
2487
+					0xFBA1 => array(0x6BB), 0xFBA2 => array(0x6BB), 0xFBA3 => array(0x6BB),
2488
+					0xFBA4 => array(0x6C0), 0xFBA5 => array(0x6C0), 0xFBA6 => array(0x6C1),
2489
+					0xFBA7 => array(0x6C1), 0xFBA8 => array(0x6C1), 0xFBA9 => array(0x6C1),
2490
+					0xFBAA => array(0x6BE), 0xFBAB => array(0x6BE), 0xFBAC => array(0x6BE),
2491
+					0xFBAD => array(0x6BE), 0xFBAE => array(0x6D2), 0xFBAF => array(0x6D2),
2492
+					0xFBB0 => array(0x6D3), 0xFBB1 => array(0x6D3), 0xFBD3 => array(0x6AD),
2493
+					0xFBD4 => array(0x6AD), 0xFBD5 => array(0x6AD), 0xFBD6 => array(0x6AD),
2494
+					0xFBD7 => array(0x6C7), 0xFBD8 => array(0x6C7), 0xFBD9 => array(0x6C6),
2495
+					0xFBDA => array(0x6C6), 0xFBDB => array(0x6C8), 0xFBDC => array(0x6C8),
2496
+					0xFBDD => array(0x6C7, 0x674), 0xFBDE => array(0x6CB), 0xFBDF => array(0x6CB),
2497
+					0xFBE0 => array(0x6C5), 0xFBE1 => array(0x6C5), 0xFBE2 => array(0x6C9),
2498
+					0xFBE3 => array(0x6C9), 0xFBE4 => array(0x6D0), 0xFBE5 => array(0x6D0),
2499
+					0xFBE6 => array(0x6D0), 0xFBE7 => array(0x6D0), 0xFBE8 => array(0x649),
2500
+					0xFBE9 => array(0x649), 0xFBEA => array(0x626, 0x627), 0xFBEB => array(0x626, 0x627),
2501
+					0xFBEC => array(0x626, 0x6D5), 0xFBED => array(0x626, 0x6D5), 0xFBEE => array(0x626, 0x648),
2502
+					0xFBEF => array(0x626, 0x648), 0xFBF0 => array(0x626, 0x6C7), 0xFBF1 => array(0x626, 0x6C7),
2503
+					0xFBF2 => array(0x626, 0x6C6), 0xFBF3 => array(0x626, 0x6C6), 0xFBF4 => array(0x626, 0x6C8),
2504
+					0xFBF5 => array(0x626, 0x6C8), 0xFBF6 => array(0x626, 0x6D0), 0xFBF7 => array(0x626, 0x6D0),
2505
+					0xFBF8 => array(0x626, 0x6D0), 0xFBF9 => array(0x626, 0x649), 0xFBFA => array(0x626, 0x649),
2506
+					0xFBFB => array(0x626, 0x649), 0xFBFC => array(0x6CC), 0xFBFD => array(0x6CC),
2507
+					0xFBFE => array(0x6CC), 0xFBFF => array(0x6CC), 0xFC00 => array(0x626, 0x62C),
2508
+					0xFC01 => array(0x626, 0x62D), 0xFC02 => array(0x626, 0x645), 0xFC03 => array(0x626, 0x649),
2509
+					0xFC04 => array(0x626, 0x64A), 0xFC05 => array(0x628, 0x62C), 0xFC06 => array(0x628, 0x62D),
2510
+					0xFC07 => array(0x628, 0x62E), 0xFC08 => array(0x628, 0x645), 0xFC09 => array(0x628, 0x649),
2511
+					0xFC0A => array(0x628, 0x64A), 0xFC0B => array(0x62A, 0x62C), 0xFC0C => array(0x62A, 0x62D),
2512
+					0xFC0D => array(0x62A, 0x62E), 0xFC0E => array(0x62A, 0x645), 0xFC0F => array(0x62A, 0x649),
2513
+					0xFC10 => array(0x62A, 0x64A), 0xFC11 => array(0x62B, 0x62C), 0xFC12 => array(0x62B, 0x645),
2514
+					0xFC13 => array(0x62B, 0x649), 0xFC14 => array(0x62B, 0x64A), 0xFC15 => array(0x62C, 0x62D),
2515
+					0xFC16 => array(0x62C, 0x645), 0xFC17 => array(0x62D, 0x62C), 0xFC18 => array(0x62D, 0x645),
2516
+					0xFC19 => array(0x62E, 0x62C), 0xFC1A => array(0x62E, 0x62D), 0xFC1B => array(0x62E, 0x645),
2517
+					0xFC1C => array(0x633, 0x62C), 0xFC1D => array(0x633, 0x62D), 0xFC1E => array(0x633, 0x62E),
2518
+					0xFC1F => array(0x633, 0x645), 0xFC20 => array(0x635, 0x62D), 0xFC21 => array(0x635, 0x645),
2519
+					0xFC22 => array(0x636, 0x62C), 0xFC23 => array(0x636, 0x62D), 0xFC24 => array(0x636, 0x62E),
2520
+					0xFC25 => array(0x636, 0x645), 0xFC26 => array(0x637, 0x62D), 0xFC27 => array(0x637, 0x645),
2521
+					0xFC28 => array(0x638, 0x645), 0xFC29 => array(0x639, 0x62C), 0xFC2A => array(0x639, 0x645),
2522
+					0xFC2B => array(0x63A, 0x62C), 0xFC2C => array(0x63A, 0x645), 0xFC2D => array(0x641, 0x62C),
2523
+					0xFC2E => array(0x641, 0x62D), 0xFC2F => array(0x641, 0x62E), 0xFC30 => array(0x641, 0x645),
2524
+					0xFC31 => array(0x641, 0x649), 0xFC32 => array(0x641, 0x64A), 0xFC33 => array(0x642, 0x62D),
2525
+					0xFC34 => array(0x642, 0x645), 0xFC35 => array(0x642, 0x649), 0xFC36 => array(0x642, 0x64A),
2526
+					0xFC37 => array(0x643, 0x627), 0xFC38 => array(0x643, 0x62C), 0xFC39 => array(0x643, 0x62D),
2527
+					0xFC3A => array(0x643, 0x62E), 0xFC3B => array(0x643, 0x644), 0xFC3C => array(0x643, 0x645),
2528
+					0xFC3D => array(0x643, 0x649), 0xFC3E => array(0x643, 0x64A), 0xFC3F => array(0x644, 0x62C),
2529
+					0xFC40 => array(0x644, 0x62D), 0xFC41 => array(0x644, 0x62E), 0xFC42 => array(0x644, 0x645),
2530
+					0xFC43 => array(0x644, 0x649), 0xFC44 => array(0x644, 0x64A), 0xFC45 => array(0x645, 0x62C),
2531
+					0xFC46 => array(0x645, 0x62D), 0xFC47 => array(0x645, 0x62E), 0xFC48 => array(0x645, 0x645),
2532
+					0xFC49 => array(0x645, 0x649), 0xFC4A => array(0x645, 0x64A), 0xFC4B => array(0x646, 0x62C),
2533
+					0xFC4C => array(0x646, 0x62D), 0xFC4D => array(0x646, 0x62E), 0xFC4E => array(0x646, 0x645),
2534
+					0xFC4F => array(0x646, 0x649), 0xFC50 => array(0x646, 0x64A), 0xFC51 => array(0x647, 0x62C),
2535
+					0xFC52 => array(0x647, 0x645), 0xFC53 => array(0x647, 0x649), 0xFC54 => array(0x647, 0x64A),
2536
+					0xFC55 => array(0x64A, 0x62C), 0xFC56 => array(0x64A, 0x62D), 0xFC57 => array(0x64A, 0x62E),
2537
+					0xFC58 => array(0x64A, 0x645), 0xFC59 => array(0x64A, 0x649), 0xFC5A => array(0x64A, 0x64A),
2538
+					0xFC5B => array(0x630, 0x670), 0xFC5C => array(0x631, 0x670), 0xFC5D => array(0x649, 0x670),
2539
+					0xFC64 => array(0x626, 0x631), 0xFC65 => array(0x626, 0x632), 0xFC66 => array(0x626, 0x645),
2540
+					0xFC67 => array(0x626, 0x646), 0xFC68 => array(0x626, 0x649), 0xFC69 => array(0x626, 0x64A),
2541
+					0xFC6A => array(0x628, 0x631), 0xFC6B => array(0x628, 0x632), 0xFC6C => array(0x628, 0x645),
2542
+					0xFC6D => array(0x628, 0x646), 0xFC6E => array(0x628, 0x649), 0xFC6F => array(0x628, 0x64A),
2543
+					0xFC70 => array(0x62A, 0x631), 0xFC71 => array(0x62A, 0x632), 0xFC72 => array(0x62A, 0x645),
2544
+					0xFC73 => array(0x62A, 0x646), 0xFC74 => array(0x62A, 0x649), 0xFC75 => array(0x62A, 0x64A),
2545
+					0xFC76 => array(0x62B, 0x631), 0xFC77 => array(0x62B, 0x632), 0xFC78 => array(0x62B, 0x645),
2546
+					0xFC79 => array(0x62B, 0x646), 0xFC7A => array(0x62B, 0x649), 0xFC7B => array(0x62B, 0x64A),
2547
+					0xFC7C => array(0x641, 0x649), 0xFC7D => array(0x641, 0x64A), 0xFC7E => array(0x642, 0x649),
2548
+					0xFC7F => array(0x642, 0x64A), 0xFC80 => array(0x643, 0x627), 0xFC81 => array(0x643, 0x644),
2549
+					0xFC82 => array(0x643, 0x645), 0xFC83 => array(0x643, 0x649), 0xFC84 => array(0x643, 0x64A),
2550
+					0xFC85 => array(0x644, 0x645), 0xFC86 => array(0x644, 0x649), 0xFC87 => array(0x644, 0x64A),
2551
+					0xFC88 => array(0x645, 0x627), 0xFC89 => array(0x645, 0x645), 0xFC8A => array(0x646, 0x631),
2552
+					0xFC8B => array(0x646, 0x632), 0xFC8C => array(0x646, 0x645), 0xFC8D => array(0x646, 0x646),
2553
+					0xFC8E => array(0x646, 0x649), 0xFC8F => array(0x646, 0x64A), 0xFC90 => array(0x649, 0x670),
2554
+					0xFC91 => array(0x64A, 0x631), 0xFC92 => array(0x64A, 0x632), 0xFC93 => array(0x64A, 0x645),
2555
+					0xFC94 => array(0x64A, 0x646), 0xFC95 => array(0x64A, 0x649), 0xFC96 => array(0x64A, 0x64A),
2556
+					0xFC97 => array(0x626, 0x62C), 0xFC98 => array(0x626, 0x62D), 0xFC99 => array(0x626, 0x62E),
2557
+					0xFC9A => array(0x626, 0x645), 0xFC9B => array(0x626, 0x647), 0xFC9C => array(0x628, 0x62C),
2558
+					0xFC9D => array(0x628, 0x62D), 0xFC9E => array(0x628, 0x62E), 0xFC9F => array(0x628, 0x645),
2559
+					0xFCA0 => array(0x628, 0x647), 0xFCA1 => array(0x62A, 0x62C), 0xFCA2 => array(0x62A, 0x62D),
2560
+					0xFCA3 => array(0x62A, 0x62E), 0xFCA4 => array(0x62A, 0x645), 0xFCA5 => array(0x62A, 0x647),
2561
+					0xFCA6 => array(0x62B, 0x645), 0xFCA7 => array(0x62C, 0x62D), 0xFCA8 => array(0x62C, 0x645),
2562
+					0xFCA9 => array(0x62D, 0x62C), 0xFCAA => array(0x62D, 0x645), 0xFCAB => array(0x62E, 0x62C),
2563
+					0xFCAC => array(0x62E, 0x645), 0xFCAD => array(0x633, 0x62C), 0xFCAE => array(0x633, 0x62D),
2564
+					0xFCAF => array(0x633, 0x62E), 0xFCB0 => array(0x633, 0x645), 0xFCB1 => array(0x635, 0x62D),
2565
+					0xFCB2 => array(0x635, 0x62E), 0xFCB3 => array(0x635, 0x645), 0xFCB4 => array(0x636, 0x62C),
2566
+					0xFCB5 => array(0x636, 0x62D), 0xFCB6 => array(0x636, 0x62E), 0xFCB7 => array(0x636, 0x645),
2567
+					0xFCB8 => array(0x637, 0x62D), 0xFCB9 => array(0x638, 0x645), 0xFCBA => array(0x639, 0x62C),
2568
+					0xFCBB => array(0x639, 0x645), 0xFCBC => array(0x63A, 0x62C), 0xFCBD => array(0x63A, 0x645),
2569
+					0xFCBE => array(0x641, 0x62C), 0xFCBF => array(0x641, 0x62D), 0xFCC0 => array(0x641, 0x62E),
2570
+					0xFCC1 => array(0x641, 0x645), 0xFCC2 => array(0x642, 0x62D), 0xFCC3 => array(0x642, 0x645),
2571
+					0xFCC4 => array(0x643, 0x62C), 0xFCC5 => array(0x643, 0x62D), 0xFCC6 => array(0x643, 0x62E),
2572
+					0xFCC7 => array(0x643, 0x644), 0xFCC8 => array(0x643, 0x645), 0xFCC9 => array(0x644, 0x62C),
2573
+					0xFCCA => array(0x644, 0x62D), 0xFCCB => array(0x644, 0x62E), 0xFCCC => array(0x644, 0x645),
2574
+					0xFCCD => array(0x644, 0x647), 0xFCCE => array(0x645, 0x62C), 0xFCCF => array(0x645, 0x62D),
2575
+					0xFCD0 => array(0x645, 0x62E), 0xFCD1 => array(0x645, 0x645), 0xFCD2 => array(0x646, 0x62C),
2576
+					0xFCD3 => array(0x646, 0x62D), 0xFCD4 => array(0x646, 0x62E), 0xFCD5 => array(0x646, 0x645),
2577
+					0xFCD6 => array(0x646, 0x647), 0xFCD7 => array(0x647, 0x62C), 0xFCD8 => array(0x647, 0x645),
2578
+					0xFCD9 => array(0x647, 0x670), 0xFCDA => array(0x64A, 0x62C), 0xFCDB => array(0x64A, 0x62D),
2579
+					0xFCDC => array(0x64A, 0x62E), 0xFCDD => array(0x64A, 0x645), 0xFCDE => array(0x64A, 0x647),
2580
+					0xFCDF => array(0x626, 0x645), 0xFCE0 => array(0x626, 0x647), 0xFCE1 => array(0x628, 0x645),
2581
+					0xFCE2 => array(0x628, 0x647), 0xFCE3 => array(0x62A, 0x645), 0xFCE4 => array(0x62A, 0x647),
2582
+					0xFCE5 => array(0x62B, 0x645), 0xFCE6 => array(0x62B, 0x647), 0xFCE7 => array(0x633, 0x645),
2583
+					0xFCE8 => array(0x633, 0x647), 0xFCE9 => array(0x634, 0x645), 0xFCEA => array(0x634, 0x647),
2584
+					0xFCEB => array(0x643, 0x644), 0xFCEC => array(0x643, 0x645), 0xFCED => array(0x644, 0x645),
2585
+					0xFCEE => array(0x646, 0x645), 0xFCEF => array(0x646, 0x647), 0xFCF0 => array(0x64A, 0x645),
2586
+					0xFCF1 => array(0x64A, 0x647), 0xFCF2 => array(0x640, 0x64E, 0x651), 0xFCF3 => array(0x640, 0x64F, 0x651),
2587
+					0xFCF4 => array(0x640, 0x650, 0x651), 0xFCF5 => array(0x637, 0x649), 0xFCF6 => array(0x637, 0x64A),
2588
+					0xFCF7 => array(0x639, 0x649), 0xFCF8 => array(0x639, 0x64A), 0xFCF9 => array(0x63A, 0x649),
2589
+					0xFCFA => array(0x63A, 0x64A), 0xFCFB => array(0x633, 0x649), 0xFCFC => array(0x633, 0x64A),
2590
+					0xFCFD => array(0x634, 0x649), 0xFCFE => array(0x634, 0x64A), 0xFCFF => array(0x62D, 0x649),
2591
+					0xFD00 => array(0x62D, 0x64A), 0xFD01 => array(0x62C, 0x649), 0xFD02 => array(0x62C, 0x64A),
2592
+					0xFD03 => array(0x62E, 0x649), 0xFD04 => array(0x62E, 0x64A), 0xFD05 => array(0x635, 0x649),
2593
+					0xFD06 => array(0x635, 0x64A), 0xFD07 => array(0x636, 0x649), 0xFD08 => array(0x636, 0x64A),
2594
+					0xFD09 => array(0x634, 0x62C), 0xFD0A => array(0x634, 0x62D), 0xFD0B => array(0x634, 0x62E),
2595
+					0xFD0C => array(0x634, 0x645), 0xFD0D => array(0x634, 0x631), 0xFD0E => array(0x633, 0x631),
2596
+					0xFD0F => array(0x635, 0x631), 0xFD10 => array(0x636, 0x631), 0xFD11 => array(0x637, 0x649),
2597
+					0xFD12 => array(0x637, 0x64A), 0xFD13 => array(0x639, 0x649), 0xFD14 => array(0x639, 0x64A),
2598
+					0xFD15 => array(0x63A, 0x649), 0xFD16 => array(0x63A, 0x64A), 0xFD17 => array(0x633, 0x649),
2599
+					0xFD18 => array(0x633, 0x64A), 0xFD19 => array(0x634, 0x649), 0xFD1A => array(0x634, 0x64A),
2600
+					0xFD1B => array(0x62D, 0x649), 0xFD1C => array(0x62D, 0x64A), 0xFD1D => array(0x62C, 0x649),
2601
+					0xFD1E => array(0x62C, 0x64A), 0xFD1F => array(0x62E, 0x649), 0xFD20 => array(0x62E, 0x64A),
2602
+					0xFD21 => array(0x635, 0x649), 0xFD22 => array(0x635, 0x64A), 0xFD23 => array(0x636, 0x649),
2603
+					0xFD24 => array(0x636, 0x64A), 0xFD25 => array(0x634, 0x62C), 0xFD26 => array(0x634, 0x62D),
2604
+					0xFD27 => array(0x634, 0x62E), 0xFD28 => array(0x634, 0x645), 0xFD29 => array(0x634, 0x631),
2605
+					0xFD2A => array(0x633, 0x631), 0xFD2B => array(0x635, 0x631), 0xFD2C => array(0x636, 0x631),
2606
+					0xFD2D => array(0x634, 0x62C), 0xFD2E => array(0x634, 0x62D), 0xFD2F => array(0x634, 0x62E),
2607
+					0xFD30 => array(0x634, 0x645), 0xFD31 => array(0x633, 0x647), 0xFD32 => array(0x634, 0x647),
2608
+					0xFD33 => array(0x637, 0x645), 0xFD34 => array(0x633, 0x62C), 0xFD35 => array(0x633, 0x62D),
2609
+					0xFD36 => array(0x633, 0x62E), 0xFD37 => array(0x634, 0x62C), 0xFD38 => array(0x634, 0x62D),
2610
+					0xFD39 => array(0x634, 0x62E), 0xFD3A => array(0x637, 0x645), 0xFD3B => array(0x638, 0x645),
2611
+					0xFD3C => array(0x627, 0x64B), 0xFD3D => array(0x627, 0x64B), 0xFD50 => array(0x62A, 0x62C, 0x645),
2612
+					0xFD51 => array(0x62A, 0x62D, 0x62C), 0xFD52 => array(0x62A, 0x62D, 0x62C), 0xFD53 => array(0x62A, 0x62D, 0x645),
2613
+					0xFD54 => array(0x62A, 0x62E, 0x645), 0xFD55 => array(0x62A, 0x645, 0x62C), 0xFD56 => array(0x62A, 0x645, 0x62D),
2614
+					0xFD57 => array(0x62A, 0x645, 0x62E), 0xFD58 => array(0x62C, 0x645, 0x62D), 0xFD59 => array(0x62C, 0x645, 0x62D),
2615
+					0xFD5A => array(0x62D, 0x645, 0x64A), 0xFD5B => array(0x62D, 0x645, 0x649), 0xFD5C => array(0x633, 0x62D, 0x62C),
2616
+					0xFD5D => array(0x633, 0x62C, 0x62D), 0xFD5E => array(0x633, 0x62C, 0x649), 0xFD5F => array(0x633, 0x645, 0x62D),
2617
+					0xFD60 => array(0x633, 0x645, 0x62D), 0xFD61 => array(0x633, 0x645, 0x62C), 0xFD62 => array(0x633, 0x645, 0x645),
2618
+					0xFD63 => array(0x633, 0x645, 0x645), 0xFD64 => array(0x635, 0x62D, 0x62D), 0xFD65 => array(0x635, 0x62D, 0x62D),
2619
+					0xFD66 => array(0x635, 0x645, 0x645), 0xFD67 => array(0x634, 0x62D, 0x645), 0xFD68 => array(0x634, 0x62D, 0x645),
2620
+					0xFD69 => array(0x634, 0x62C, 0x64A), 0xFD6A => array(0x634, 0x645, 0x62E), 0xFD6B => array(0x634, 0x645, 0x62E),
2621
+					0xFD6C => array(0x634, 0x645, 0x645), 0xFD6D => array(0x634, 0x645, 0x645), 0xFD6E => array(0x636, 0x62D, 0x649),
2622
+					0xFD6F => array(0x636, 0x62E, 0x645), 0xFD70 => array(0x636, 0x62E, 0x645), 0xFD71 => array(0x637, 0x645, 0x62D),
2623
+					0xFD72 => array(0x637, 0x645, 0x62D), 0xFD73 => array(0x637, 0x645, 0x645), 0xFD74 => array(0x637, 0x645, 0x64A),
2624
+					0xFD75 => array(0x639, 0x62C, 0x645), 0xFD76 => array(0x639, 0x645, 0x645), 0xFD77 => array(0x639, 0x645, 0x645),
2625
+					0xFD78 => array(0x639, 0x645, 0x649), 0xFD79 => array(0x63A, 0x645, 0x645), 0xFD7A => array(0x63A, 0x645, 0x64A),
2626
+					0xFD7B => array(0x63A, 0x645, 0x649), 0xFD7C => array(0x641, 0x62E, 0x645), 0xFD7D => array(0x641, 0x62E, 0x645),
2627
+					0xFD7E => array(0x642, 0x645, 0x62D), 0xFD7F => array(0x642, 0x645, 0x645), 0xFD80 => array(0x644, 0x62D, 0x645),
2628
+					0xFD81 => array(0x644, 0x62D, 0x64A), 0xFD82 => array(0x644, 0x62D, 0x649), 0xFD83 => array(0x644, 0x62C, 0x62C),
2629
+					0xFD84 => array(0x644, 0x62C, 0x62C), 0xFD85 => array(0x644, 0x62E, 0x645), 0xFD86 => array(0x644, 0x62E, 0x645),
2630
+					0xFD87 => array(0x644, 0x645, 0x62D), 0xFD88 => array(0x644, 0x645, 0x62D), 0xFD89 => array(0x645, 0x62D, 0x62C),
2631
+					0xFD8A => array(0x645, 0x62D, 0x645), 0xFD8B => array(0x645, 0x62D, 0x64A), 0xFD8C => array(0x645, 0x62C, 0x62D),
2632
+					0xFD8D => array(0x645, 0x62C, 0x645), 0xFD8E => array(0x645, 0x62E, 0x62C), 0xFD8F => array(0x645, 0x62E, 0x645),
2633
+					0xFD92 => array(0x645, 0x62C, 0x62E), 0xFD93 => array(0x647, 0x645, 0x62C), 0xFD94 => array(0x647, 0x645, 0x645),
2634
+					0xFD95 => array(0x646, 0x62D, 0x645), 0xFD96 => array(0x646, 0x62D, 0x649), 0xFD97 => array(0x646, 0x62C, 0x645),
2635
+					0xFD98 => array(0x646, 0x62C, 0x645), 0xFD99 => array(0x646, 0x62C, 0x649), 0xFD9A => array(0x646, 0x645, 0x64A),
2636
+					0xFD9B => array(0x646, 0x645, 0x649), 0xFD9C => array(0x64A, 0x645, 0x645), 0xFD9D => array(0x64A, 0x645, 0x645),
2637
+					0xFD9E => array(0x628, 0x62E, 0x64A), 0xFD9F => array(0x62A, 0x62C, 0x64A), 0xFDA0 => array(0x62A, 0x62C, 0x649),
2638
+					0xFDA1 => array(0x62A, 0x62E, 0x64A), 0xFDA2 => array(0x62A, 0x62E, 0x649), 0xFDA3 => array(0x62A, 0x645, 0x64A),
2639
+					0xFDA4 => array(0x62A, 0x645, 0x649), 0xFDA5 => array(0x62C, 0x645, 0x64A), 0xFDA6 => array(0x62C, 0x62D, 0x649),
2640
+					0xFDA7 => array(0x62C, 0x645, 0x649), 0xFDA8 => array(0x633, 0x62E, 0x649), 0xFDA9 => array(0x635, 0x62D, 0x64A),
2641
+					0xFDAA => array(0x634, 0x62D, 0x64A), 0xFDAB => array(0x636, 0x62D, 0x64A), 0xFDAC => array(0x644, 0x62C, 0x64A),
2642
+					0xFDAD => array(0x644, 0x645, 0x64A), 0xFDAE => array(0x64A, 0x62D, 0x64A), 0xFDAF => array(0x64A, 0x62C, 0x64A),
2643
+					0xFDB0 => array(0x64A, 0x645, 0x64A), 0xFDB1 => array(0x645, 0x645, 0x64A), 0xFDB2 => array(0x642, 0x645, 0x64A),
2644
+					0xFDB3 => array(0x646, 0x62D, 0x64A), 0xFDB4 => array(0x642, 0x645, 0x62D), 0xFDB5 => array(0x644, 0x62D, 0x645),
2645
+					0xFDB6 => array(0x639, 0x645, 0x64A), 0xFDB7 => array(0x643, 0x645, 0x64A), 0xFDB8 => array(0x646, 0x62C, 0x62D),
2646
+					0xFDB9 => array(0x645, 0x62E, 0x64A), 0xFDBA => array(0x644, 0x62C, 0x645), 0xFDBB => array(0x643, 0x645, 0x645),
2647
+					0xFDBC => array(0x644, 0x62C, 0x645), 0xFDBD => array(0x646, 0x62C, 0x62D), 0xFDBE => array(0x62C, 0x62D, 0x64A),
2648
+					0xFDBF => array(0x62D, 0x62C, 0x64A), 0xFDC0 => array(0x645, 0x62C, 0x64A), 0xFDC1 => array(0x641, 0x645, 0x64A),
2649
+					0xFDC2 => array(0x628, 0x62D, 0x64A), 0xFDC3 => array(0x643, 0x645, 0x645), 0xFDC4 => array(0x639, 0x62C, 0x645),
2650
+					0xFDC5 => array(0x635, 0x645, 0x645), 0xFDC6 => array(0x633, 0x62E, 0x64A), 0xFDC7 => array(0x646, 0x62C, 0x64A),
2651
+					0xFDF0 => array(0x635, 0x644, 0x6D2), 0xFDF1 => array(0x642, 0x644, 0x6D2), 0xFDF2 => array(0x627, 0x644, 0x644, 0x647),
2652
+					0xFDF3 => array(0x627, 0x643, 0x628, 0x631), 0xFDF4 => array(0x645, 0x62D, 0x645, 0x62F), 0xFDF5 => array(0x635, 0x644, 0x639, 0x645),
2653
+					0xFDF6 => array(0x631, 0x633, 0x648, 0x644), 0xFDF7 => array(0x639, 0x644, 0x64A, 0x647), 0xFDF8 => array(0x648, 0x633, 0x644, 0x645),
2654
+					0xFDF9 => array(0x635, 0x644, 0x649), 0xFDFC => array(0x631, 0x6CC, 0x627, 0x644), 0xFE11 => array(0x3001),
2655
+					0xFE17 => array(0x3016), 0xFE18 => array(0x3017), 0xFE31 => array(0x2014),
2656
+					0xFE32 => array(0x2013), 0xFE39 => array(0x3014), 0xFE3A => array(0x3015),
2657
+					0xFE3B => array(0x3010), 0xFE3C => array(0x3011), 0xFE3D => array(0x300A),
2658
+					0xFE3E => array(0x300B), 0xFE3F => array(0x3008), 0xFE40 => array(0x3009),
2659
+					0xFE41 => array(0x300C), 0xFE42 => array(0x300D), 0xFE43 => array(0x300E),
2660
+					0xFE44 => array(0x300F), 0xFE51 => array(0x3001), 0xFE58 => array(0x2014),
2661
+					0xFE5D => array(0x3014), 0xFE5E => array(0x3015), 0xFE63 => array(0x2D),
2662
+					0xFE71 => array(0x640, 0x64B), 0xFE77 => array(0x640, 0x64E), 0xFE79 => array(0x640, 0x64F),
2663
+					0xFE7B => array(0x640, 0x650), 0xFE7D => array(0x640, 0x651), 0xFE7F => array(0x640, 0x652),
2664
+					0xFE80 => array(0x621), 0xFE81 => array(0x622), 0xFE82 => array(0x622),
2665
+					0xFE83 => array(0x623), 0xFE84 => array(0x623), 0xFE85 => array(0x624),
2666
+					0xFE86 => array(0x624), 0xFE87 => array(0x625), 0xFE88 => array(0x625),
2667
+					0xFE89 => array(0x626), 0xFE8A => array(0x626), 0xFE8B => array(0x626),
2668
+					0xFE8C => array(0x626), 0xFE8D => array(0x627), 0xFE8E => array(0x627),
2669
+					0xFE8F => array(0x628), 0xFE90 => array(0x628), 0xFE91 => array(0x628),
2670
+					0xFE92 => array(0x628), 0xFE93 => array(0x629), 0xFE94 => array(0x629),
2671
+					0xFE95 => array(0x62A), 0xFE96 => array(0x62A), 0xFE97 => array(0x62A),
2672
+					0xFE98 => array(0x62A), 0xFE99 => array(0x62B), 0xFE9A => array(0x62B),
2673
+					0xFE9B => array(0x62B), 0xFE9C => array(0x62B), 0xFE9D => array(0x62C),
2674
+					0xFE9E => array(0x62C), 0xFE9F => array(0x62C), 0xFEA0 => array(0x62C),
2675
+					0xFEA1 => array(0x62D), 0xFEA2 => array(0x62D), 0xFEA3 => array(0x62D),
2676
+					0xFEA4 => array(0x62D), 0xFEA5 => array(0x62E), 0xFEA6 => array(0x62E),
2677
+					0xFEA7 => array(0x62E), 0xFEA8 => array(0x62E), 0xFEA9 => array(0x62F),
2678
+					0xFEAA => array(0x62F), 0xFEAB => array(0x630), 0xFEAC => array(0x630),
2679
+					0xFEAD => array(0x631), 0xFEAE => array(0x631), 0xFEAF => array(0x632),
2680
+					0xFEB0 => array(0x632), 0xFEB1 => array(0x633), 0xFEB2 => array(0x633),
2681
+					0xFEB3 => array(0x633), 0xFEB4 => array(0x633), 0xFEB5 => array(0x634),
2682
+					0xFEB6 => array(0x634), 0xFEB7 => array(0x634), 0xFEB8 => array(0x634),
2683
+					0xFEB9 => array(0x635), 0xFEBA => array(0x635), 0xFEBB => array(0x635),
2684
+					0xFEBC => array(0x635), 0xFEBD => array(0x636), 0xFEBE => array(0x636),
2685
+					0xFEBF => array(0x636), 0xFEC0 => array(0x636), 0xFEC1 => array(0x637),
2686
+					0xFEC2 => array(0x637), 0xFEC3 => array(0x637), 0xFEC4 => array(0x637),
2687
+					0xFEC5 => array(0x638), 0xFEC6 => array(0x638), 0xFEC7 => array(0x638),
2688
+					0xFEC8 => array(0x638), 0xFEC9 => array(0x639), 0xFECA => array(0x639),
2689
+					0xFECB => array(0x639), 0xFECC => array(0x639), 0xFECD => array(0x63A),
2690
+					0xFECE => array(0x63A), 0xFECF => array(0x63A), 0xFED0 => array(0x63A),
2691
+					0xFED1 => array(0x641), 0xFED2 => array(0x641), 0xFED3 => array(0x641),
2692
+					0xFED4 => array(0x641), 0xFED5 => array(0x642), 0xFED6 => array(0x642),
2693
+					0xFED7 => array(0x642), 0xFED8 => array(0x642), 0xFED9 => array(0x643),
2694
+					0xFEDA => array(0x643), 0xFEDB => array(0x643), 0xFEDC => array(0x643),
2695
+					0xFEDD => array(0x644), 0xFEDE => array(0x644), 0xFEDF => array(0x644),
2696
+					0xFEE0 => array(0x644), 0xFEE1 => array(0x645), 0xFEE2 => array(0x645),
2697
+					0xFEE3 => array(0x645), 0xFEE4 => array(0x645), 0xFEE5 => array(0x646),
2698
+					0xFEE6 => array(0x646), 0xFEE7 => array(0x646), 0xFEE8 => array(0x646),
2699
+					0xFEE9 => array(0x647), 0xFEEA => array(0x647), 0xFEEB => array(0x647),
2700
+					0xFEEC => array(0x647), 0xFEED => array(0x648), 0xFEEE => array(0x648),
2701
+					0xFEEF => array(0x649), 0xFEF0 => array(0x649), 0xFEF1 => array(0x64A),
2702
+					0xFEF2 => array(0x64A), 0xFEF3 => array(0x64A), 0xFEF4 => array(0x64A),
2703
+					0xFEF5 => array(0x644, 0x622), 0xFEF6 => array(0x644, 0x622), 0xFEF7 => array(0x644, 0x623),
2704
+					0xFEF8 => array(0x644, 0x623), 0xFEF9 => array(0x644, 0x625), 0xFEFA => array(0x644, 0x625),
2705
+					0xFEFB => array(0x644, 0x627), 0xFEFC => array(0x644, 0x627), 0xFF0D => array(0x2D),
2706
+					0xFF0E => array(0x2E), 0xFF10 => array(0x30), 0xFF11 => array(0x31),
2707
+					0xFF12 => array(0x32), 0xFF13 => array(0x33), 0xFF14 => array(0x34),
2708
+					0xFF15 => array(0x35), 0xFF16 => array(0x36), 0xFF17 => array(0x37),
2709
+					0xFF18 => array(0x38), 0xFF19 => array(0x39), 0xFF21 => array(0x61),
2710
+					0xFF22 => array(0x62), 0xFF23 => array(0x63), 0xFF24 => array(0x64),
2711
+					0xFF25 => array(0x65), 0xFF26 => array(0x66), 0xFF27 => array(0x67),
2712
+					0xFF28 => array(0x68), 0xFF29 => array(0x69), 0xFF2A => array(0x6A),
2713
+					0xFF2B => array(0x6B), 0xFF2C => array(0x6C), 0xFF2D => array(0x6D),
2714
+					0xFF2E => array(0x6E), 0xFF2F => array(0x6F), 0xFF30 => array(0x70),
2715
+					0xFF31 => array(0x71), 0xFF32 => array(0x72), 0xFF33 => array(0x73),
2716
+					0xFF34 => array(0x74), 0xFF35 => array(0x75), 0xFF36 => array(0x76),
2717
+					0xFF37 => array(0x77), 0xFF38 => array(0x78), 0xFF39 => array(0x79),
2718
+					0xFF3A => array(0x7A), 0xFF41 => array(0x61), 0xFF42 => array(0x62),
2719
+					0xFF43 => array(0x63), 0xFF44 => array(0x64), 0xFF45 => array(0x65),
2720
+					0xFF46 => array(0x66), 0xFF47 => array(0x67), 0xFF48 => array(0x68),
2721
+					0xFF49 => array(0x69), 0xFF4A => array(0x6A), 0xFF4B => array(0x6B),
2722
+					0xFF4C => array(0x6C), 0xFF4D => array(0x6D), 0xFF4E => array(0x6E),
2723
+					0xFF4F => array(0x6F), 0xFF50 => array(0x70), 0xFF51 => array(0x71),
2724
+					0xFF52 => array(0x72), 0xFF53 => array(0x73), 0xFF54 => array(0x74),
2725
+					0xFF55 => array(0x75), 0xFF56 => array(0x76), 0xFF57 => array(0x77),
2726
+					0xFF58 => array(0x78), 0xFF59 => array(0x79), 0xFF5A => array(0x7A),
2727
+					0xFF5F => array(0x2985), 0xFF60 => array(0x2986), 0xFF61 => array(0x2E),
2728
+					0xFF62 => array(0x300C), 0xFF63 => array(0x300D), 0xFF64 => array(0x3001),
2729
+					0xFF65 => array(0x30FB), 0xFF66 => array(0x30F2), 0xFF67 => array(0x30A1),
2730
+					0xFF68 => array(0x30A3), 0xFF69 => array(0x30A5), 0xFF6A => array(0x30A7),
2731
+					0xFF6B => array(0x30A9), 0xFF6C => array(0x30E3), 0xFF6D => array(0x30E5),
2732
+					0xFF6E => array(0x30E7), 0xFF6F => array(0x30C3), 0xFF70 => array(0x30FC),
2733
+					0xFF71 => array(0x30A2), 0xFF72 => array(0x30A4), 0xFF73 => array(0x30A6),
2734
+					0xFF74 => array(0x30A8), 0xFF75 => array(0x30AA), 0xFF76 => array(0x30AB),
2735
+					0xFF77 => array(0x30AD), 0xFF78 => array(0x30AF), 0xFF79 => array(0x30B1),
2736
+					0xFF7A => array(0x30B3), 0xFF7B => array(0x30B5), 0xFF7C => array(0x30B7),
2737
+					0xFF7D => array(0x30B9), 0xFF7E => array(0x30BB), 0xFF7F => array(0x30BD),
2738
+					0xFF80 => array(0x30BF), 0xFF81 => array(0x30C1), 0xFF82 => array(0x30C4),
2739
+					0xFF83 => array(0x30C6), 0xFF84 => array(0x30C8), 0xFF85 => array(0x30CA),
2740
+					0xFF86 => array(0x30CB), 0xFF87 => array(0x30CC), 0xFF88 => array(0x30CD),
2741
+					0xFF89 => array(0x30CE), 0xFF8A => array(0x30CF), 0xFF8B => array(0x30D2),
2742
+					0xFF8C => array(0x30D5), 0xFF8D => array(0x30D8), 0xFF8E => array(0x30DB),
2743
+					0xFF8F => array(0x30DE), 0xFF90 => array(0x30DF), 0xFF91 => array(0x30E0),
2744
+					0xFF92 => array(0x30E1), 0xFF93 => array(0x30E2), 0xFF94 => array(0x30E4),
2745
+					0xFF95 => array(0x30E6), 0xFF96 => array(0x30E8), 0xFF97 => array(0x30E9),
2746
+					0xFF98 => array(0x30EA), 0xFF99 => array(0x30EB), 0xFF9A => array(0x30EC),
2747
+					0xFF9B => array(0x30ED), 0xFF9C => array(0x30EF), 0xFF9D => array(0x30F3),
2748
+					0xFF9E => array(0x3099), 0xFF9F => array(0x309A), 0xFFA1 => array(0x1100),
2749
+					0xFFA2 => array(0x1101), 0xFFA3 => array(0x11AA), 0xFFA4 => array(0x1102),
2750
+					0xFFA5 => array(0x11AC), 0xFFA6 => array(0x11AD), 0xFFA7 => array(0x1103),
2751
+					0xFFA8 => array(0x1104), 0xFFA9 => array(0x1105), 0xFFAA => array(0x11B0),
2752
+					0xFFAB => array(0x11B1), 0xFFAC => array(0x11B2), 0xFFAD => array(0x11B3),
2753
+					0xFFAE => array(0x11B4), 0xFFAF => array(0x11B5), 0xFFB0 => array(0x111A),
2754
+					0xFFB1 => array(0x1106), 0xFFB2 => array(0x1107), 0xFFB3 => array(0x1108),
2755
+					0xFFB4 => array(0x1121), 0xFFB5 => array(0x1109), 0xFFB6 => array(0x110A),
2756
+					0xFFB7 => array(0x110B), 0xFFB8 => array(0x110C), 0xFFB9 => array(0x110D),
2757
+					0xFFBA => array(0x110E), 0xFFBB => array(0x110F), 0xFFBC => array(0x1110),
2758
+					0xFFBD => array(0x1111), 0xFFBE => array(0x1112), 0xFFC2 => array(0x1161),
2759
+					0xFFC3 => array(0x1162), 0xFFC4 => array(0x1163), 0xFFC5 => array(0x1164),
2760
+					0xFFC6 => array(0x1165), 0xFFC7 => array(0x1166), 0xFFCA => array(0x1167),
2761
+					0xFFCB => array(0x1168), 0xFFCC => array(0x1169), 0xFFCD => array(0x116A),
2762
+					0xFFCE => array(0x116B), 0xFFCF => array(0x116C), 0xFFD2 => array(0x116D),
2763
+					0xFFD3 => array(0x116E), 0xFFD4 => array(0x116F), 0xFFD5 => array(0x1170),
2764
+					0xFFD6 => array(0x1171), 0xFFD7 => array(0x1172), 0xFFDA => array(0x1173),
2765
+					0xFFDB => array(0x1174), 0xFFDC => array(0x1175), 0xFFE0 => array(0xA2),
2766
+					0xFFE1 => array(0xA3), 0xFFE2 => array(0xAC), 0xFFE4 => array(0xA6),
2767
+					0xFFE5 => array(0xA5), 0xFFE6 => array(0x20A9), 0xFFE8 => array(0x2502),
2768
+					0xFFE9 => array(0x2190), 0xFFEA => array(0x2191), 0xFFEB => array(0x2192),
2769
+					0xFFEC => array(0x2193), 0xFFED => array(0x25A0), 0xFFEE => array(0x25CB),
2770
+					0x10400 => array(0x10428), 0x10401 => array(0x10429), 0x10402 => array(0x1042A),
2771
+					0x10403 => array(0x1042B), 0x10404 => array(0x1042C), 0x10405 => array(0x1042D),
2772
+					0x10406 => array(0x1042E), 0x10407 => array(0x1042F), 0x10408 => array(0x10430),
2773
+					0x10409 => array(0x10431), 0x1040A => array(0x10432), 0x1040B => array(0x10433),
2774
+					0x1040C => array(0x10434), 0x1040D => array(0x10435), 0x1040E => array(0x10436),
2775
+					0x1040F => array(0x10437), 0x10410 => array(0x10438), 0x10411 => array(0x10439),
2776
+					0x10412 => array(0x1043A), 0x10413 => array(0x1043B), 0x10414 => array(0x1043C),
2777
+					0x10415 => array(0x1043D), 0x10416 => array(0x1043E), 0x10417 => array(0x1043F),
2778
+					0x10418 => array(0x10440), 0x10419 => array(0x10441), 0x1041A => array(0x10442),
2779
+					0x1041B => array(0x10443), 0x1041C => array(0x10444), 0x1041D => array(0x10445),
2780
+					0x1041E => array(0x10446), 0x1041F => array(0x10447), 0x10420 => array(0x10448),
2781
+					0x10421 => array(0x10449), 0x10422 => array(0x1044A), 0x10423 => array(0x1044B),
2782
+					0x10424 => array(0x1044C), 0x10425 => array(0x1044D), 0x10426 => array(0x1044E),
2783
+					0x10427 => array(0x1044F), 0x118A0 => array(0x118C0), 0x118A1 => array(0x118C1),
2784
+					0x118A2 => array(0x118C2), 0x118A3 => array(0x118C3), 0x118A4 => array(0x118C4),
2785
+					0x118A5 => array(0x118C5), 0x118A6 => array(0x118C6), 0x118A7 => array(0x118C7),
2786
+					0x118A8 => array(0x118C8), 0x118A9 => array(0x118C9), 0x118AA => array(0x118CA),
2787
+					0x118AB => array(0x118CB), 0x118AC => array(0x118CC), 0x118AD => array(0x118CD),
2788
+					0x118AE => array(0x118CE), 0x118AF => array(0x118CF), 0x118B0 => array(0x118D0),
2789
+					0x118B1 => array(0x118D1), 0x118B2 => array(0x118D2), 0x118B3 => array(0x118D3),
2790
+					0x118B4 => array(0x118D4), 0x118B5 => array(0x118D5), 0x118B6 => array(0x118D6),
2791
+					0x118B7 => array(0x118D7), 0x118B8 => array(0x118D8), 0x118B9 => array(0x118D9),
2792
+					0x118BA => array(0x118DA), 0x118BB => array(0x118DB), 0x118BC => array(0x118DC),
2793
+					0x118BD => array(0x118DD), 0x118BE => array(0x118DE), 0x118BF => array(0x118DF),
2794
+					0x1D15E => array(0x1D157, 0x1D165), 0x1D15F => array(0x1D158, 0x1D165), 0x1D160 => array(0x1D158, 0x1D165, 0x1D16E),
2795
+					0x1D161 => array(0x1D158, 0x1D165, 0x1D16F), 0x1D162 => array(0x1D158, 0x1D165, 0x1D170), 0x1D163 => array(0x1D158, 0x1D165, 0x1D171),
2796
+					0x1D164 => array(0x1D158, 0x1D165, 0x1D172), 0x1D1BB => array(0x1D1B9, 0x1D165), 0x1D1BC => array(0x1D1BA, 0x1D165),
2797
+					0x1D1BD => array(0x1D1B9, 0x1D165, 0x1D16E), 0x1D1BE => array(0x1D1BA, 0x1D165, 0x1D16E), 0x1D1BF => array(0x1D1B9, 0x1D165, 0x1D16F),
2798
+					0x1D1C0 => array(0x1D1BA, 0x1D165, 0x1D16F), 0x1D400 => array(0x61), 0x1D401 => array(0x62),
2799
+					0x1D402 => array(0x63), 0x1D403 => array(0x64), 0x1D404 => array(0x65),
2800
+					0x1D405 => array(0x66), 0x1D406 => array(0x67), 0x1D407 => array(0x68),
2801
+					0x1D408 => array(0x69), 0x1D409 => array(0x6A), 0x1D40A => array(0x6B),
2802
+					0x1D40B => array(0x6C), 0x1D40C => array(0x6D), 0x1D40D => array(0x6E),
2803
+					0x1D40E => array(0x6F), 0x1D40F => array(0x70), 0x1D410 => array(0x71),
2804
+					0x1D411 => array(0x72), 0x1D412 => array(0x73), 0x1D413 => array(0x74),
2805
+					0x1D414 => array(0x75), 0x1D415 => array(0x76), 0x1D416 => array(0x77),
2806
+					0x1D417 => array(0x78), 0x1D418 => array(0x79), 0x1D419 => array(0x7A),
2807
+					0x1D41A => array(0x61), 0x1D41B => array(0x62), 0x1D41C => array(0x63),
2808
+					0x1D41D => array(0x64), 0x1D41E => array(0x65), 0x1D41F => array(0x66),
2809
+					0x1D420 => array(0x67), 0x1D421 => array(0x68), 0x1D422 => array(0x69),
2810
+					0x1D423 => array(0x6A), 0x1D424 => array(0x6B), 0x1D425 => array(0x6C),
2811
+					0x1D426 => array(0x6D), 0x1D427 => array(0x6E), 0x1D428 => array(0x6F),
2812
+					0x1D429 => array(0x70), 0x1D42A => array(0x71), 0x1D42B => array(0x72),
2813
+					0x1D42C => array(0x73), 0x1D42D => array(0x74), 0x1D42E => array(0x75),
2814
+					0x1D42F => array(0x76), 0x1D430 => array(0x77), 0x1D431 => array(0x78),
2815
+					0x1D432 => array(0x79), 0x1D433 => array(0x7A), 0x1D434 => array(0x61),
2816
+					0x1D435 => array(0x62), 0x1D436 => array(0x63), 0x1D437 => array(0x64),
2817
+					0x1D438 => array(0x65), 0x1D439 => array(0x66), 0x1D43A => array(0x67),
2818
+					0x1D43B => array(0x68), 0x1D43C => array(0x69), 0x1D43D => array(0x6A),
2819
+					0x1D43E => array(0x6B), 0x1D43F => array(0x6C), 0x1D440 => array(0x6D),
2820
+					0x1D441 => array(0x6E), 0x1D442 => array(0x6F), 0x1D443 => array(0x70),
2821
+					0x1D444 => array(0x71), 0x1D445 => array(0x72), 0x1D446 => array(0x73),
2822
+					0x1D447 => array(0x74), 0x1D448 => array(0x75), 0x1D449 => array(0x76),
2823
+					0x1D44A => array(0x77), 0x1D44B => array(0x78), 0x1D44C => array(0x79),
2824
+					0x1D44D => array(0x7A), 0x1D44E => array(0x61), 0x1D44F => array(0x62),
2825
+					0x1D450 => array(0x63), 0x1D451 => array(0x64), 0x1D452 => array(0x65),
2826
+					0x1D453 => array(0x66), 0x1D454 => array(0x67), 0x1D456 => array(0x69),
2827
+					0x1D457 => array(0x6A), 0x1D458 => array(0x6B), 0x1D459 => array(0x6C),
2828
+					0x1D45A => array(0x6D), 0x1D45B => array(0x6E), 0x1D45C => array(0x6F),
2829
+					0x1D45D => array(0x70), 0x1D45E => array(0x71), 0x1D45F => array(0x72),
2830
+					0x1D460 => array(0x73), 0x1D461 => array(0x74), 0x1D462 => array(0x75),
2831
+					0x1D463 => array(0x76), 0x1D464 => array(0x77), 0x1D465 => array(0x78),
2832
+					0x1D466 => array(0x79), 0x1D467 => array(0x7A), 0x1D468 => array(0x61),
2833
+					0x1D469 => array(0x62), 0x1D46A => array(0x63), 0x1D46B => array(0x64),
2834
+					0x1D46C => array(0x65), 0x1D46D => array(0x66), 0x1D46E => array(0x67),
2835
+					0x1D46F => array(0x68), 0x1D470 => array(0x69), 0x1D471 => array(0x6A),
2836
+					0x1D472 => array(0x6B), 0x1D473 => array(0x6C), 0x1D474 => array(0x6D),
2837
+					0x1D475 => array(0x6E), 0x1D476 => array(0x6F), 0x1D477 => array(0x70),
2838
+					0x1D478 => array(0x71), 0x1D479 => array(0x72), 0x1D47A => array(0x73),
2839
+					0x1D47B => array(0x74), 0x1D47C => array(0x75), 0x1D47D => array(0x76),
2840
+					0x1D47E => array(0x77), 0x1D47F => array(0x78), 0x1D480 => array(0x79),
2841
+					0x1D481 => array(0x7A), 0x1D482 => array(0x61), 0x1D483 => array(0x62),
2842
+					0x1D484 => array(0x63), 0x1D485 => array(0x64), 0x1D486 => array(0x65),
2843
+					0x1D487 => array(0x66), 0x1D488 => array(0x67), 0x1D489 => array(0x68),
2844
+					0x1D48A => array(0x69), 0x1D48B => array(0x6A), 0x1D48C => array(0x6B),
2845
+					0x1D48D => array(0x6C), 0x1D48E => array(0x6D), 0x1D48F => array(0x6E),
2846
+					0x1D490 => array(0x6F), 0x1D491 => array(0x70), 0x1D492 => array(0x71),
2847
+					0x1D493 => array(0x72), 0x1D494 => array(0x73), 0x1D495 => array(0x74),
2848
+					0x1D496 => array(0x75), 0x1D497 => array(0x76), 0x1D498 => array(0x77),
2849
+					0x1D499 => array(0x78), 0x1D49A => array(0x79), 0x1D49B => array(0x7A),
2850
+					0x1D49C => array(0x61), 0x1D49E => array(0x63), 0x1D49F => array(0x64),
2851
+					0x1D4A2 => array(0x67), 0x1D4A5 => array(0x6A), 0x1D4A6 => array(0x6B),
2852
+					0x1D4A9 => array(0x6E), 0x1D4AA => array(0x6F), 0x1D4AB => array(0x70),
2853
+					0x1D4AC => array(0x71), 0x1D4AE => array(0x73), 0x1D4AF => array(0x74),
2854
+					0x1D4B0 => array(0x75), 0x1D4B1 => array(0x76), 0x1D4B2 => array(0x77),
2855
+					0x1D4B3 => array(0x78), 0x1D4B4 => array(0x79), 0x1D4B5 => array(0x7A),
2856
+					0x1D4B6 => array(0x61), 0x1D4B7 => array(0x62), 0x1D4B8 => array(0x63),
2857
+					0x1D4B9 => array(0x64), 0x1D4BB => array(0x66), 0x1D4BD => array(0x68),
2858
+					0x1D4BE => array(0x69), 0x1D4BF => array(0x6A), 0x1D4C0 => array(0x6B),
2859
+					0x1D4C1 => array(0x6C), 0x1D4C2 => array(0x6D), 0x1D4C3 => array(0x6E),
2860
+					0x1D4C5 => array(0x70), 0x1D4C6 => array(0x71), 0x1D4C7 => array(0x72),
2861
+					0x1D4C8 => array(0x73), 0x1D4C9 => array(0x74), 0x1D4CA => array(0x75),
2862
+					0x1D4CB => array(0x76), 0x1D4CC => array(0x77), 0x1D4CD => array(0x78),
2863
+					0x1D4CE => array(0x79), 0x1D4CF => array(0x7A), 0x1D4D0 => array(0x61),
2864
+					0x1D4D1 => array(0x62), 0x1D4D2 => array(0x63), 0x1D4D3 => array(0x64),
2865
+					0x1D4D4 => array(0x65), 0x1D4D5 => array(0x66), 0x1D4D6 => array(0x67),
2866
+					0x1D4D7 => array(0x68), 0x1D4D8 => array(0x69), 0x1D4D9 => array(0x6A),
2867
+					0x1D4DA => array(0x6B), 0x1D4DB => array(0x6C), 0x1D4DC => array(0x6D),
2868
+					0x1D4DD => array(0x6E), 0x1D4DE => array(0x6F), 0x1D4DF => array(0x70),
2869
+					0x1D4E0 => array(0x71), 0x1D4E1 => array(0x72), 0x1D4E2 => array(0x73),
2870
+					0x1D4E3 => array(0x74), 0x1D4E4 => array(0x75), 0x1D4E5 => array(0x76),
2871
+					0x1D4E6 => array(0x77), 0x1D4E7 => array(0x78), 0x1D4E8 => array(0x79),
2872
+					0x1D4E9 => array(0x7A), 0x1D4EA => array(0x61), 0x1D4EB => array(0x62),
2873
+					0x1D4EC => array(0x63), 0x1D4ED => array(0x64), 0x1D4EE => array(0x65),
2874
+					0x1D4EF => array(0x66), 0x1D4F0 => array(0x67), 0x1D4F1 => array(0x68),
2875
+					0x1D4F2 => array(0x69), 0x1D4F3 => array(0x6A), 0x1D4F4 => array(0x6B),
2876
+					0x1D4F5 => array(0x6C), 0x1D4F6 => array(0x6D), 0x1D4F7 => array(0x6E),
2877
+					0x1D4F8 => array(0x6F), 0x1D4F9 => array(0x70), 0x1D4FA => array(0x71),
2878
+					0x1D4FB => array(0x72), 0x1D4FC => array(0x73), 0x1D4FD => array(0x74),
2879
+					0x1D4FE => array(0x75), 0x1D4FF => array(0x76), 0x1D500 => array(0x77),
2880
+					0x1D501 => array(0x78), 0x1D502 => array(0x79), 0x1D503 => array(0x7A),
2881
+					0x1D504 => array(0x61), 0x1D505 => array(0x62), 0x1D507 => array(0x64),
2882
+					0x1D508 => array(0x65), 0x1D509 => array(0x66), 0x1D50A => array(0x67),
2883
+					0x1D50D => array(0x6A), 0x1D50E => array(0x6B), 0x1D50F => array(0x6C),
2884
+					0x1D510 => array(0x6D), 0x1D511 => array(0x6E), 0x1D512 => array(0x6F),
2885
+					0x1D513 => array(0x70), 0x1D514 => array(0x71), 0x1D516 => array(0x73),
2886
+					0x1D517 => array(0x74), 0x1D518 => array(0x75), 0x1D519 => array(0x76),
2887
+					0x1D51A => array(0x77), 0x1D51B => array(0x78), 0x1D51C => array(0x79),
2888
+					0x1D51E => array(0x61), 0x1D51F => array(0x62), 0x1D520 => array(0x63),
2889
+					0x1D521 => array(0x64), 0x1D522 => array(0x65), 0x1D523 => array(0x66),
2890
+					0x1D524 => array(0x67), 0x1D525 => array(0x68), 0x1D526 => array(0x69),
2891
+					0x1D527 => array(0x6A), 0x1D528 => array(0x6B), 0x1D529 => array(0x6C),
2892
+					0x1D52A => array(0x6D), 0x1D52B => array(0x6E), 0x1D52C => array(0x6F),
2893
+					0x1D52D => array(0x70), 0x1D52E => array(0x71), 0x1D52F => array(0x72),
2894
+					0x1D530 => array(0x73), 0x1D531 => array(0x74), 0x1D532 => array(0x75),
2895
+					0x1D533 => array(0x76), 0x1D534 => array(0x77), 0x1D535 => array(0x78),
2896
+					0x1D536 => array(0x79), 0x1D537 => array(0x7A), 0x1D538 => array(0x61),
2897
+					0x1D539 => array(0x62), 0x1D53B => array(0x64), 0x1D53C => array(0x65),
2898
+					0x1D53D => array(0x66), 0x1D53E => array(0x67), 0x1D540 => array(0x69),
2899
+					0x1D541 => array(0x6A), 0x1D542 => array(0x6B), 0x1D543 => array(0x6C),
2900
+					0x1D544 => array(0x6D), 0x1D546 => array(0x6F), 0x1D54A => array(0x73),
2901
+					0x1D54B => array(0x74), 0x1D54C => array(0x75), 0x1D54D => array(0x76),
2902
+					0x1D54E => array(0x77), 0x1D54F => array(0x78), 0x1D550 => array(0x79),
2903
+					0x1D552 => array(0x61), 0x1D553 => array(0x62), 0x1D554 => array(0x63),
2904
+					0x1D555 => array(0x64), 0x1D556 => array(0x65), 0x1D557 => array(0x66),
2905
+					0x1D558 => array(0x67), 0x1D559 => array(0x68), 0x1D55A => array(0x69),
2906
+					0x1D55B => array(0x6A), 0x1D55C => array(0x6B), 0x1D55D => array(0x6C),
2907
+					0x1D55E => array(0x6D), 0x1D55F => array(0x6E), 0x1D560 => array(0x6F),
2908
+					0x1D561 => array(0x70), 0x1D562 => array(0x71), 0x1D563 => array(0x72),
2909
+					0x1D564 => array(0x73), 0x1D565 => array(0x74), 0x1D566 => array(0x75),
2910
+					0x1D567 => array(0x76), 0x1D568 => array(0x77), 0x1D569 => array(0x78),
2911
+					0x1D56A => array(0x79), 0x1D56B => array(0x7A), 0x1D56C => array(0x61),
2912
+					0x1D56D => array(0x62), 0x1D56E => array(0x63), 0x1D56F => array(0x64),
2913
+					0x1D570 => array(0x65), 0x1D571 => array(0x66), 0x1D572 => array(0x67),
2914
+					0x1D573 => array(0x68), 0x1D574 => array(0x69), 0x1D575 => array(0x6A),
2915
+					0x1D576 => array(0x6B), 0x1D577 => array(0x6C), 0x1D578 => array(0x6D),
2916
+					0x1D579 => array(0x6E), 0x1D57A => array(0x6F), 0x1D57B => array(0x70),
2917
+					0x1D57C => array(0x71), 0x1D57D => array(0x72), 0x1D57E => array(0x73),
2918
+					0x1D57F => array(0x74), 0x1D580 => array(0x75), 0x1D581 => array(0x76),
2919
+					0x1D582 => array(0x77), 0x1D583 => array(0x78), 0x1D584 => array(0x79),
2920
+					0x1D585 => array(0x7A), 0x1D586 => array(0x61), 0x1D587 => array(0x62),
2921
+					0x1D588 => array(0x63), 0x1D589 => array(0x64), 0x1D58A => array(0x65),
2922
+					0x1D58B => array(0x66), 0x1D58C => array(0x67), 0x1D58D => array(0x68),
2923
+					0x1D58E => array(0x69), 0x1D58F => array(0x6A), 0x1D590 => array(0x6B),
2924
+					0x1D591 => array(0x6C), 0x1D592 => array(0x6D), 0x1D593 => array(0x6E),
2925
+					0x1D594 => array(0x6F), 0x1D595 => array(0x70), 0x1D596 => array(0x71),
2926
+					0x1D597 => array(0x72), 0x1D598 => array(0x73), 0x1D599 => array(0x74),
2927
+					0x1D59A => array(0x75), 0x1D59B => array(0x76), 0x1D59C => array(0x77),
2928
+					0x1D59D => array(0x78), 0x1D59E => array(0x79), 0x1D59F => array(0x7A),
2929
+					0x1D5A0 => array(0x61), 0x1D5A1 => array(0x62), 0x1D5A2 => array(0x63),
2930
+					0x1D5A3 => array(0x64), 0x1D5A4 => array(0x65), 0x1D5A5 => array(0x66),
2931
+					0x1D5A6 => array(0x67), 0x1D5A7 => array(0x68), 0x1D5A8 => array(0x69),
2932
+					0x1D5A9 => array(0x6A), 0x1D5AA => array(0x6B), 0x1D5AB => array(0x6C),
2933
+					0x1D5AC => array(0x6D), 0x1D5AD => array(0x6E), 0x1D5AE => array(0x6F),
2934
+					0x1D5AF => array(0x70), 0x1D5B0 => array(0x71), 0x1D5B1 => array(0x72),
2935
+					0x1D5B2 => array(0x73), 0x1D5B3 => array(0x74), 0x1D5B4 => array(0x75),
2936
+					0x1D5B5 => array(0x76), 0x1D5B6 => array(0x77), 0x1D5B7 => array(0x78),
2937
+					0x1D5B8 => array(0x79), 0x1D5B9 => array(0x7A), 0x1D5BA => array(0x61),
2938
+					0x1D5BB => array(0x62), 0x1D5BC => array(0x63), 0x1D5BD => array(0x64),
2939
+					0x1D5BE => array(0x65), 0x1D5BF => array(0x66), 0x1D5C0 => array(0x67),
2940
+					0x1D5C1 => array(0x68), 0x1D5C2 => array(0x69), 0x1D5C3 => array(0x6A),
2941
+					0x1D5C4 => array(0x6B), 0x1D5C5 => array(0x6C), 0x1D5C6 => array(0x6D),
2942
+					0x1D5C7 => array(0x6E), 0x1D5C8 => array(0x6F), 0x1D5C9 => array(0x70),
2943
+					0x1D5CA => array(0x71), 0x1D5CB => array(0x72), 0x1D5CC => array(0x73),
2944
+					0x1D5CD => array(0x74), 0x1D5CE => array(0x75), 0x1D5CF => array(0x76),
2945
+					0x1D5D0 => array(0x77), 0x1D5D1 => array(0x78), 0x1D5D2 => array(0x79),
2946
+					0x1D5D3 => array(0x7A), 0x1D5D4 => array(0x61), 0x1D5D5 => array(0x62),
2947
+					0x1D5D6 => array(0x63), 0x1D5D7 => array(0x64), 0x1D5D8 => array(0x65),
2948
+					0x1D5D9 => array(0x66), 0x1D5DA => array(0x67), 0x1D5DB => array(0x68),
2949
+					0x1D5DC => array(0x69), 0x1D5DD => array(0x6A), 0x1D5DE => array(0x6B),
2950
+					0x1D5DF => array(0x6C), 0x1D5E0 => array(0x6D), 0x1D5E1 => array(0x6E),
2951
+					0x1D5E2 => array(0x6F), 0x1D5E3 => array(0x70), 0x1D5E4 => array(0x71),
2952
+					0x1D5E5 => array(0x72), 0x1D5E6 => array(0x73), 0x1D5E7 => array(0x74),
2953
+					0x1D5E8 => array(0x75), 0x1D5E9 => array(0x76), 0x1D5EA => array(0x77),
2954
+					0x1D5EB => array(0x78), 0x1D5EC => array(0x79), 0x1D5ED => array(0x7A),
2955
+					0x1D5EE => array(0x61), 0x1D5EF => array(0x62), 0x1D5F0 => array(0x63),
2956
+					0x1D5F1 => array(0x64), 0x1D5F2 => array(0x65), 0x1D5F3 => array(0x66),
2957
+					0x1D5F4 => array(0x67), 0x1D5F5 => array(0x68), 0x1D5F6 => array(0x69),
2958
+					0x1D5F7 => array(0x6A), 0x1D5F8 => array(0x6B), 0x1D5F9 => array(0x6C),
2959
+					0x1D5FA => array(0x6D), 0x1D5FB => array(0x6E), 0x1D5FC => array(0x6F),
2960
+					0x1D5FD => array(0x70), 0x1D5FE => array(0x71), 0x1D5FF => array(0x72),
2961
+					0x1D600 => array(0x73), 0x1D601 => array(0x74), 0x1D602 => array(0x75),
2962
+					0x1D603 => array(0x76), 0x1D604 => array(0x77), 0x1D605 => array(0x78),
2963
+					0x1D606 => array(0x79), 0x1D607 => array(0x7A), 0x1D608 => array(0x61),
2964
+					0x1D609 => array(0x62), 0x1D60A => array(0x63), 0x1D60B => array(0x64),
2965
+					0x1D60C => array(0x65), 0x1D60D => array(0x66), 0x1D60E => array(0x67),
2966
+					0x1D60F => array(0x68), 0x1D610 => array(0x69), 0x1D611 => array(0x6A),
2967
+					0x1D612 => array(0x6B), 0x1D613 => array(0x6C), 0x1D614 => array(0x6D),
2968
+					0x1D615 => array(0x6E), 0x1D616 => array(0x6F), 0x1D617 => array(0x70),
2969
+					0x1D618 => array(0x71), 0x1D619 => array(0x72), 0x1D61A => array(0x73),
2970
+					0x1D61B => array(0x74), 0x1D61C => array(0x75), 0x1D61D => array(0x76),
2971
+					0x1D61E => array(0x77), 0x1D61F => array(0x78), 0x1D620 => array(0x79),
2972
+					0x1D621 => array(0x7A), 0x1D622 => array(0x61), 0x1D623 => array(0x62),
2973
+					0x1D624 => array(0x63), 0x1D625 => array(0x64), 0x1D626 => array(0x65),
2974
+					0x1D627 => array(0x66), 0x1D628 => array(0x67), 0x1D629 => array(0x68),
2975
+					0x1D62A => array(0x69), 0x1D62B => array(0x6A), 0x1D62C => array(0x6B),
2976
+					0x1D62D => array(0x6C), 0x1D62E => array(0x6D), 0x1D62F => array(0x6E),
2977
+					0x1D630 => array(0x6F), 0x1D631 => array(0x70), 0x1D632 => array(0x71),
2978
+					0x1D633 => array(0x72), 0x1D634 => array(0x73), 0x1D635 => array(0x74),
2979
+					0x1D636 => array(0x75), 0x1D637 => array(0x76), 0x1D638 => array(0x77),
2980
+					0x1D639 => array(0x78), 0x1D63A => array(0x79), 0x1D63B => array(0x7A),
2981
+					0x1D63C => array(0x61), 0x1D63D => array(0x62), 0x1D63E => array(0x63),
2982
+					0x1D63F => array(0x64), 0x1D640 => array(0x65), 0x1D641 => array(0x66),
2983
+					0x1D642 => array(0x67), 0x1D643 => array(0x68), 0x1D644 => array(0x69),
2984
+					0x1D645 => array(0x6A), 0x1D646 => array(0x6B), 0x1D647 => array(0x6C),
2985
+					0x1D648 => array(0x6D), 0x1D649 => array(0x6E), 0x1D64A => array(0x6F),
2986
+					0x1D64B => array(0x70), 0x1D64C => array(0x71), 0x1D64D => array(0x72),
2987
+					0x1D64E => array(0x73), 0x1D64F => array(0x74), 0x1D650 => array(0x75),
2988
+					0x1D651 => array(0x76), 0x1D652 => array(0x77), 0x1D653 => array(0x78),
2989
+					0x1D654 => array(0x79), 0x1D655 => array(0x7A), 0x1D656 => array(0x61),
2990
+					0x1D657 => array(0x62), 0x1D658 => array(0x63), 0x1D659 => array(0x64),
2991
+					0x1D65A => array(0x65), 0x1D65B => array(0x66), 0x1D65C => array(0x67),
2992
+					0x1D65D => array(0x68), 0x1D65E => array(0x69), 0x1D65F => array(0x6A),
2993
+					0x1D660 => array(0x6B), 0x1D661 => array(0x6C), 0x1D662 => array(0x6D),
2994
+					0x1D663 => array(0x6E), 0x1D664 => array(0x6F), 0x1D665 => array(0x70),
2995
+					0x1D666 => array(0x71), 0x1D667 => array(0x72), 0x1D668 => array(0x73),
2996
+					0x1D669 => array(0x74), 0x1D66A => array(0x75), 0x1D66B => array(0x76),
2997
+					0x1D66C => array(0x77), 0x1D66D => array(0x78), 0x1D66E => array(0x79),
2998
+					0x1D66F => array(0x7A), 0x1D670 => array(0x61), 0x1D671 => array(0x62),
2999
+					0x1D672 => array(0x63), 0x1D673 => array(0x64), 0x1D674 => array(0x65),
3000
+					0x1D675 => array(0x66), 0x1D676 => array(0x67), 0x1D677 => array(0x68),
3001
+					0x1D678 => array(0x69), 0x1D679 => array(0x6A), 0x1D67A => array(0x6B),
3002
+					0x1D67B => array(0x6C), 0x1D67C => array(0x6D), 0x1D67D => array(0x6E),
3003
+					0x1D67E => array(0x6F), 0x1D67F => array(0x70), 0x1D680 => array(0x71),
3004
+					0x1D681 => array(0x72), 0x1D682 => array(0x73), 0x1D683 => array(0x74),
3005
+					0x1D684 => array(0x75), 0x1D685 => array(0x76), 0x1D686 => array(0x77),
3006
+					0x1D687 => array(0x78), 0x1D688 => array(0x79), 0x1D689 => array(0x7A),
3007
+					0x1D68A => array(0x61), 0x1D68B => array(0x62), 0x1D68C => array(0x63),
3008
+					0x1D68D => array(0x64), 0x1D68E => array(0x65), 0x1D68F => array(0x66),
3009
+					0x1D690 => array(0x67), 0x1D691 => array(0x68), 0x1D692 => array(0x69),
3010
+					0x1D693 => array(0x6A), 0x1D694 => array(0x6B), 0x1D695 => array(0x6C),
3011
+					0x1D696 => array(0x6D), 0x1D697 => array(0x6E), 0x1D698 => array(0x6F),
3012
+					0x1D699 => array(0x70), 0x1D69A => array(0x71), 0x1D69B => array(0x72),
3013
+					0x1D69C => array(0x73), 0x1D69D => array(0x74), 0x1D69E => array(0x75),
3014
+					0x1D69F => array(0x76), 0x1D6A0 => array(0x77), 0x1D6A1 => array(0x78),
3015
+					0x1D6A2 => array(0x79), 0x1D6A3 => array(0x7A), 0x1D6A4 => array(0x131),
3016
+					0x1D6A5 => array(0x237), 0x1D6A8 => array(0x3B1), 0x1D6A9 => array(0x3B2),
3017
+					0x1D6AA => array(0x3B3), 0x1D6AB => array(0x3B4), 0x1D6AC => array(0x3B5),
3018
+					0x1D6AD => array(0x3B6), 0x1D6AE => array(0x3B7), 0x1D6AF => array(0x3B8),
3019
+					0x1D6B0 => array(0x3B9), 0x1D6B1 => array(0x3BA), 0x1D6B2 => array(0x3BB),
3020
+					0x1D6B3 => array(0x3BC), 0x1D6B4 => array(0x3BD), 0x1D6B5 => array(0x3BE),
3021
+					0x1D6B6 => array(0x3BF), 0x1D6B7 => array(0x3C0), 0x1D6B8 => array(0x3C1),
3022
+					0x1D6B9 => array(0x3B8), 0x1D6BA => array(0x3C3), 0x1D6BB => array(0x3C4),
3023
+					0x1D6BC => array(0x3C5), 0x1D6BD => array(0x3C6), 0x1D6BE => array(0x3C7),
3024
+					0x1D6BF => array(0x3C8), 0x1D6C0 => array(0x3C9), 0x1D6C1 => array(0x2207),
3025
+					0x1D6C2 => array(0x3B1), 0x1D6C3 => array(0x3B2), 0x1D6C4 => array(0x3B3),
3026
+					0x1D6C5 => array(0x3B4), 0x1D6C6 => array(0x3B5), 0x1D6C7 => array(0x3B6),
3027
+					0x1D6C8 => array(0x3B7), 0x1D6C9 => array(0x3B8), 0x1D6CA => array(0x3B9),
3028
+					0x1D6CB => array(0x3BA), 0x1D6CC => array(0x3BB), 0x1D6CD => array(0x3BC),
3029
+					0x1D6CE => array(0x3BD), 0x1D6CF => array(0x3BE), 0x1D6D0 => array(0x3BF),
3030
+					0x1D6D1 => array(0x3C0), 0x1D6D2 => array(0x3C1), 0x1D6D3 => array(0x3C3),
3031
+					0x1D6D4 => array(0x3C3), 0x1D6D5 => array(0x3C4), 0x1D6D6 => array(0x3C5),
3032
+					0x1D6D7 => array(0x3C6), 0x1D6D8 => array(0x3C7), 0x1D6D9 => array(0x3C8),
3033
+					0x1D6DA => array(0x3C9), 0x1D6DB => array(0x2202), 0x1D6DC => array(0x3B5),
3034
+					0x1D6DD => array(0x3B8), 0x1D6DE => array(0x3BA), 0x1D6DF => array(0x3C6),
3035
+					0x1D6E0 => array(0x3C1), 0x1D6E1 => array(0x3C0), 0x1D6E2 => array(0x3B1),
3036
+					0x1D6E3 => array(0x3B2), 0x1D6E4 => array(0x3B3), 0x1D6E5 => array(0x3B4),
3037
+					0x1D6E6 => array(0x3B5), 0x1D6E7 => array(0x3B6), 0x1D6E8 => array(0x3B7),
3038
+					0x1D6E9 => array(0x3B8), 0x1D6EA => array(0x3B9), 0x1D6EB => array(0x3BA),
3039
+					0x1D6EC => array(0x3BB), 0x1D6ED => array(0x3BC), 0x1D6EE => array(0x3BD),
3040
+					0x1D6EF => array(0x3BE), 0x1D6F0 => array(0x3BF), 0x1D6F1 => array(0x3C0),
3041
+					0x1D6F2 => array(0x3C1), 0x1D6F3 => array(0x3B8), 0x1D6F4 => array(0x3C3),
3042
+					0x1D6F5 => array(0x3C4), 0x1D6F6 => array(0x3C5), 0x1D6F7 => array(0x3C6),
3043
+					0x1D6F8 => array(0x3C7), 0x1D6F9 => array(0x3C8), 0x1D6FA => array(0x3C9),
3044
+					0x1D6FB => array(0x2207), 0x1D6FC => array(0x3B1), 0x1D6FD => array(0x3B2),
3045
+					0x1D6FE => array(0x3B3), 0x1D6FF => array(0x3B4), 0x1D700 => array(0x3B5),
3046
+					0x1D701 => array(0x3B6), 0x1D702 => array(0x3B7), 0x1D703 => array(0x3B8),
3047
+					0x1D704 => array(0x3B9), 0x1D705 => array(0x3BA), 0x1D706 => array(0x3BB),
3048
+					0x1D707 => array(0x3BC), 0x1D708 => array(0x3BD), 0x1D709 => array(0x3BE),
3049
+					0x1D70A => array(0x3BF), 0x1D70B => array(0x3C0), 0x1D70C => array(0x3C1),
3050
+					0x1D70D => array(0x3C3), 0x1D70E => array(0x3C3), 0x1D70F => array(0x3C4),
3051
+					0x1D710 => array(0x3C5), 0x1D711 => array(0x3C6), 0x1D712 => array(0x3C7),
3052
+					0x1D713 => array(0x3C8), 0x1D714 => array(0x3C9), 0x1D715 => array(0x2202),
3053
+					0x1D716 => array(0x3B5), 0x1D717 => array(0x3B8), 0x1D718 => array(0x3BA),
3054
+					0x1D719 => array(0x3C6), 0x1D71A => array(0x3C1), 0x1D71B => array(0x3C0),
3055
+					0x1D71C => array(0x3B1), 0x1D71D => array(0x3B2), 0x1D71E => array(0x3B3),
3056
+					0x1D71F => array(0x3B4), 0x1D720 => array(0x3B5), 0x1D721 => array(0x3B6),
3057
+					0x1D722 => array(0x3B7), 0x1D723 => array(0x3B8), 0x1D724 => array(0x3B9),
3058
+					0x1D725 => array(0x3BA), 0x1D726 => array(0x3BB), 0x1D727 => array(0x3BC),
3059
+					0x1D728 => array(0x3BD), 0x1D729 => array(0x3BE), 0x1D72A => array(0x3BF),
3060
+					0x1D72B => array(0x3C0), 0x1D72C => array(0x3C1), 0x1D72D => array(0x3B8),
3061
+					0x1D72E => array(0x3C3), 0x1D72F => array(0x3C4), 0x1D730 => array(0x3C5),
3062
+					0x1D731 => array(0x3C6), 0x1D732 => array(0x3C7), 0x1D733 => array(0x3C8),
3063
+					0x1D734 => array(0x3C9), 0x1D735 => array(0x2207), 0x1D736 => array(0x3B1),
3064
+					0x1D737 => array(0x3B2), 0x1D738 => array(0x3B3), 0x1D739 => array(0x3B4),
3065
+					0x1D73A => array(0x3B5), 0x1D73B => array(0x3B6), 0x1D73C => array(0x3B7),
3066
+					0x1D73D => array(0x3B8), 0x1D73E => array(0x3B9), 0x1D73F => array(0x3BA),
3067
+					0x1D740 => array(0x3BB), 0x1D741 => array(0x3BC), 0x1D742 => array(0x3BD),
3068
+					0x1D743 => array(0x3BE), 0x1D744 => array(0x3BF), 0x1D745 => array(0x3C0),
3069
+					0x1D746 => array(0x3C1), 0x1D747 => array(0x3C3), 0x1D748 => array(0x3C3),
3070
+					0x1D749 => array(0x3C4), 0x1D74A => array(0x3C5), 0x1D74B => array(0x3C6),
3071
+					0x1D74C => array(0x3C7), 0x1D74D => array(0x3C8), 0x1D74E => array(0x3C9),
3072
+					0x1D74F => array(0x2202), 0x1D750 => array(0x3B5), 0x1D751 => array(0x3B8),
3073
+					0x1D752 => array(0x3BA), 0x1D753 => array(0x3C6), 0x1D754 => array(0x3C1),
3074
+					0x1D755 => array(0x3C0), 0x1D756 => array(0x3B1), 0x1D757 => array(0x3B2),
3075
+					0x1D758 => array(0x3B3), 0x1D759 => array(0x3B4), 0x1D75A => array(0x3B5),
3076
+					0x1D75B => array(0x3B6), 0x1D75C => array(0x3B7), 0x1D75D => array(0x3B8),
3077
+					0x1D75E => array(0x3B9), 0x1D75F => array(0x3BA), 0x1D760 => array(0x3BB),
3078
+					0x1D761 => array(0x3BC), 0x1D762 => array(0x3BD), 0x1D763 => array(0x3BE),
3079
+					0x1D764 => array(0x3BF), 0x1D765 => array(0x3C0), 0x1D766 => array(0x3C1),
3080
+					0x1D767 => array(0x3B8), 0x1D768 => array(0x3C3), 0x1D769 => array(0x3C4),
3081
+					0x1D76A => array(0x3C5), 0x1D76B => array(0x3C6), 0x1D76C => array(0x3C7),
3082
+					0x1D76D => array(0x3C8), 0x1D76E => array(0x3C9), 0x1D76F => array(0x2207),
3083
+					0x1D770 => array(0x3B1), 0x1D771 => array(0x3B2), 0x1D772 => array(0x3B3),
3084
+					0x1D773 => array(0x3B4), 0x1D774 => array(0x3B5), 0x1D775 => array(0x3B6),
3085
+					0x1D776 => array(0x3B7), 0x1D777 => array(0x3B8), 0x1D778 => array(0x3B9),
3086
+					0x1D779 => array(0x3BA), 0x1D77A => array(0x3BB), 0x1D77B => array(0x3BC),
3087
+					0x1D77C => array(0x3BD), 0x1D77D => array(0x3BE), 0x1D77E => array(0x3BF),
3088
+					0x1D77F => array(0x3C0), 0x1D780 => array(0x3C1), 0x1D781 => array(0x3C3),
3089
+					0x1D782 => array(0x3C3), 0x1D783 => array(0x3C4), 0x1D784 => array(0x3C5),
3090
+					0x1D785 => array(0x3C6), 0x1D786 => array(0x3C7), 0x1D787 => array(0x3C8),
3091
+					0x1D788 => array(0x3C9), 0x1D789 => array(0x2202), 0x1D78A => array(0x3B5),
3092
+					0x1D78B => array(0x3B8), 0x1D78C => array(0x3BA), 0x1D78D => array(0x3C6),
3093
+					0x1D78E => array(0x3C1), 0x1D78F => array(0x3C0), 0x1D790 => array(0x3B1),
3094
+					0x1D791 => array(0x3B2), 0x1D792 => array(0x3B3), 0x1D793 => array(0x3B4),
3095
+					0x1D794 => array(0x3B5), 0x1D795 => array(0x3B6), 0x1D796 => array(0x3B7),
3096
+					0x1D797 => array(0x3B8), 0x1D798 => array(0x3B9), 0x1D799 => array(0x3BA),
3097
+					0x1D79A => array(0x3BB), 0x1D79B => array(0x3BC), 0x1D79C => array(0x3BD),
3098
+					0x1D79D => array(0x3BE), 0x1D79E => array(0x3BF), 0x1D79F => array(0x3C0),
3099
+					0x1D7A0 => array(0x3C1), 0x1D7A1 => array(0x3B8), 0x1D7A2 => array(0x3C3),
3100
+					0x1D7A3 => array(0x3C4), 0x1D7A4 => array(0x3C5), 0x1D7A5 => array(0x3C6),
3101
+					0x1D7A6 => array(0x3C7), 0x1D7A7 => array(0x3C8), 0x1D7A8 => array(0x3C9),
3102
+					0x1D7A9 => array(0x2207), 0x1D7AA => array(0x3B1), 0x1D7AB => array(0x3B2),
3103
+					0x1D7AC => array(0x3B3), 0x1D7AD => array(0x3B4), 0x1D7AE => array(0x3B5),
3104
+					0x1D7AF => array(0x3B6), 0x1D7B0 => array(0x3B7), 0x1D7B1 => array(0x3B8),
3105
+					0x1D7B2 => array(0x3B9), 0x1D7B3 => array(0x3BA), 0x1D7B4 => array(0x3BB),
3106
+					0x1D7B5 => array(0x3BC), 0x1D7B6 => array(0x3BD), 0x1D7B7 => array(0x3BE),
3107
+					0x1D7B8 => array(0x3BF), 0x1D7B9 => array(0x3C0), 0x1D7BA => array(0x3C1),
3108
+					0x1D7BB => array(0x3C3), 0x1D7BC => array(0x3C3), 0x1D7BD => array(0x3C4),
3109
+					0x1D7BE => array(0x3C5), 0x1D7BF => array(0x3C6), 0x1D7C0 => array(0x3C7),
3110
+					0x1D7C1 => array(0x3C8), 0x1D7C2 => array(0x3C9), 0x1D7C3 => array(0x2202),
3111
+					0x1D7C4 => array(0x3B5), 0x1D7C5 => array(0x3B8), 0x1D7C6 => array(0x3BA),
3112
+					0x1D7C7 => array(0x3C6), 0x1D7C8 => array(0x3C1), 0x1D7C9 => array(0x3C0),
3113
+					0x1D7CA => array(0x3DD), 0x1D7CB => array(0x3DD), 0x1D7CE => array(0x30),
3114
+					0x1D7CF => array(0x31), 0x1D7D0 => array(0x32), 0x1D7D1 => array(0x33),
3115
+					0x1D7D2 => array(0x34), 0x1D7D3 => array(0x35), 0x1D7D4 => array(0x36),
3116
+					0x1D7D5 => array(0x37), 0x1D7D6 => array(0x38), 0x1D7D7 => array(0x39),
3117
+					0x1D7D8 => array(0x30), 0x1D7D9 => array(0x31), 0x1D7DA => array(0x32),
3118
+					0x1D7DB => array(0x33), 0x1D7DC => array(0x34), 0x1D7DD => array(0x35),
3119
+					0x1D7DE => array(0x36), 0x1D7DF => array(0x37), 0x1D7E0 => array(0x38),
3120
+					0x1D7E1 => array(0x39), 0x1D7E2 => array(0x30), 0x1D7E3 => array(0x31),
3121
+					0x1D7E4 => array(0x32), 0x1D7E5 => array(0x33), 0x1D7E6 => array(0x34),
3122
+					0x1D7E7 => array(0x35), 0x1D7E8 => array(0x36), 0x1D7E9 => array(0x37),
3123
+					0x1D7EA => array(0x38), 0x1D7EB => array(0x39), 0x1D7EC => array(0x30),
3124
+					0x1D7ED => array(0x31), 0x1D7EE => array(0x32), 0x1D7EF => array(0x33),
3125
+					0x1D7F0 => array(0x34), 0x1D7F1 => array(0x35), 0x1D7F2 => array(0x36),
3126
+					0x1D7F3 => array(0x37), 0x1D7F4 => array(0x38), 0x1D7F5 => array(0x39),
3127
+					0x1D7F6 => array(0x30), 0x1D7F7 => array(0x31), 0x1D7F8 => array(0x32),
3128
+					0x1D7F9 => array(0x33), 0x1D7FA => array(0x34), 0x1D7FB => array(0x35),
3129
+					0x1D7FC => array(0x36), 0x1D7FD => array(0x37), 0x1D7FE => array(0x38),
3130
+					0x1D7FF => array(0x39), 0x1EE00 => array(0x627), 0x1EE01 => array(0x628),
3131
+					0x1EE02 => array(0x62C), 0x1EE03 => array(0x62F), 0x1EE05 => array(0x648),
3132
+					0x1EE06 => array(0x632), 0x1EE07 => array(0x62D), 0x1EE08 => array(0x637),
3133
+					0x1EE09 => array(0x64A), 0x1EE0A => array(0x643), 0x1EE0B => array(0x644),
3134
+					0x1EE0C => array(0x645), 0x1EE0D => array(0x646), 0x1EE0E => array(0x633),
3135
+					0x1EE0F => array(0x639), 0x1EE10 => array(0x641), 0x1EE11 => array(0x635),
3136
+					0x1EE12 => array(0x642), 0x1EE13 => array(0x631), 0x1EE14 => array(0x634),
3137
+					0x1EE15 => array(0x62A), 0x1EE16 => array(0x62B), 0x1EE17 => array(0x62E),
3138
+					0x1EE18 => array(0x630), 0x1EE19 => array(0x636), 0x1EE1A => array(0x638),
3139
+					0x1EE1B => array(0x63A), 0x1EE1C => array(0x66E), 0x1EE1D => array(0x6BA),
3140
+					0x1EE1E => array(0x6A1), 0x1EE1F => array(0x66F), 0x1EE21 => array(0x628),
3141
+					0x1EE22 => array(0x62C), 0x1EE24 => array(0x647), 0x1EE27 => array(0x62D),
3142
+					0x1EE29 => array(0x64A), 0x1EE2A => array(0x643), 0x1EE2B => array(0x644),
3143
+					0x1EE2C => array(0x645), 0x1EE2D => array(0x646), 0x1EE2E => array(0x633),
3144
+					0x1EE2F => array(0x639), 0x1EE30 => array(0x641), 0x1EE31 => array(0x635),
3145
+					0x1EE32 => array(0x642), 0x1EE34 => array(0x634), 0x1EE35 => array(0x62A),
3146
+					0x1EE36 => array(0x62B), 0x1EE37 => array(0x62E), 0x1EE39 => array(0x636),
3147
+					0x1EE3B => array(0x63A), 0x1EE42 => array(0x62C), 0x1EE47 => array(0x62D),
3148
+					0x1EE49 => array(0x64A), 0x1EE4B => array(0x644), 0x1EE4D => array(0x646),
3149
+					0x1EE4E => array(0x633), 0x1EE4F => array(0x639), 0x1EE51 => array(0x635),
3150
+					0x1EE52 => array(0x642), 0x1EE54 => array(0x634), 0x1EE57 => array(0x62E),
3151
+					0x1EE59 => array(0x636), 0x1EE5B => array(0x63A), 0x1EE5D => array(0x6BA),
3152
+					0x1EE5F => array(0x66F), 0x1EE61 => array(0x628), 0x1EE62 => array(0x62C),
3153
+					0x1EE64 => array(0x647), 0x1EE67 => array(0x62D), 0x1EE68 => array(0x637),
3154
+					0x1EE69 => array(0x64A), 0x1EE6A => array(0x643), 0x1EE6C => array(0x645),
3155
+					0x1EE6D => array(0x646), 0x1EE6E => array(0x633), 0x1EE6F => array(0x639),
3156
+					0x1EE70 => array(0x641), 0x1EE71 => array(0x635), 0x1EE72 => array(0x642),
3157
+					0x1EE74 => array(0x634), 0x1EE75 => array(0x62A), 0x1EE76 => array(0x62B),
3158
+					0x1EE77 => array(0x62E), 0x1EE79 => array(0x636), 0x1EE7A => array(0x638),
3159
+					0x1EE7B => array(0x63A), 0x1EE7C => array(0x66E), 0x1EE7E => array(0x6A1),
3160
+					0x1EE80 => array(0x627), 0x1EE81 => array(0x628), 0x1EE82 => array(0x62C),
3161
+					0x1EE83 => array(0x62F), 0x1EE84 => array(0x647), 0x1EE85 => array(0x648),
3162
+					0x1EE86 => array(0x632), 0x1EE87 => array(0x62D), 0x1EE88 => array(0x637),
3163
+					0x1EE89 => array(0x64A), 0x1EE8B => array(0x644), 0x1EE8C => array(0x645),
3164
+					0x1EE8D => array(0x646), 0x1EE8E => array(0x633), 0x1EE8F => array(0x639),
3165
+					0x1EE90 => array(0x641), 0x1EE91 => array(0x635), 0x1EE92 => array(0x642),
3166
+					0x1EE93 => array(0x631), 0x1EE94 => array(0x634), 0x1EE95 => array(0x62A),
3167
+					0x1EE96 => array(0x62B), 0x1EE97 => array(0x62E), 0x1EE98 => array(0x630),
3168
+					0x1EE99 => array(0x636), 0x1EE9A => array(0x638), 0x1EE9B => array(0x63A),
3169
+					0x1EEA1 => array(0x628), 0x1EEA2 => array(0x62C), 0x1EEA3 => array(0x62F),
3170
+					0x1EEA5 => array(0x648), 0x1EEA6 => array(0x632), 0x1EEA7 => array(0x62D),
3171
+					0x1EEA8 => array(0x637), 0x1EEA9 => array(0x64A), 0x1EEAB => array(0x644),
3172
+					0x1EEAC => array(0x645), 0x1EEAD => array(0x646), 0x1EEAE => array(0x633),
3173
+					0x1EEAF => array(0x639), 0x1EEB0 => array(0x641), 0x1EEB1 => array(0x635),
3174
+					0x1EEB2 => array(0x642), 0x1EEB3 => array(0x631), 0x1EEB4 => array(0x634),
3175
+					0x1EEB5 => array(0x62A), 0x1EEB6 => array(0x62B), 0x1EEB7 => array(0x62E),
3176
+					0x1EEB8 => array(0x630), 0x1EEB9 => array(0x636), 0x1EEBA => array(0x638),
3177
+					0x1EEBB => array(0x63A), 0x1F12A => array(0x3014, 0x73, 0x3015), 0x1F12B => array(0x63),
3178
+					0x1F12C => array(0x72), 0x1F12D => array(0x63, 0x64), 0x1F12E => array(0x77, 0x7A),
3179
+					0x1F130 => array(0x61), 0x1F131 => array(0x62), 0x1F132 => array(0x63),
3180
+					0x1F133 => array(0x64), 0x1F134 => array(0x65), 0x1F135 => array(0x66),
3181
+					0x1F136 => array(0x67), 0x1F137 => array(0x68), 0x1F138 => array(0x69),
3182
+					0x1F139 => array(0x6A), 0x1F13A => array(0x6B), 0x1F13B => array(0x6C),
3183
+					0x1F13C => array(0x6D), 0x1F13D => array(0x6E), 0x1F13E => array(0x6F),
3184
+					0x1F13F => array(0x70), 0x1F140 => array(0x71), 0x1F141 => array(0x72),
3185
+					0x1F142 => array(0x73), 0x1F143 => array(0x74), 0x1F144 => array(0x75),
3186
+					0x1F145 => array(0x76), 0x1F146 => array(0x77), 0x1F147 => array(0x78),
3187
+					0x1F148 => array(0x79), 0x1F149 => array(0x7A), 0x1F14A => array(0x68, 0x76),
3188
+					0x1F14B => array(0x6D, 0x76), 0x1F14C => array(0x73, 0x64), 0x1F14D => array(0x73, 0x73),
3189
+					0x1F14E => array(0x70, 0x70, 0x76), 0x1F14F => array(0x77, 0x63), 0x1F16A => array(0x6D, 0x63),
3190
+					0x1F16B => array(0x6D, 0x64), 0x1F190 => array(0x64, 0x6A), 0x1F200 => array(0x307B, 0x304B),
3191
+					0x1F201 => array(0x30B3, 0x30B3), 0x1F202 => array(0x30B5), 0x1F210 => array(0x624B),
3192
+					0x1F211 => array(0x5B57), 0x1F212 => array(0x53CC), 0x1F213 => array(0x30C7),
3193
+					0x1F214 => array(0x4E8C), 0x1F215 => array(0x591A), 0x1F216 => array(0x89E3),
3194
+					0x1F217 => array(0x5929), 0x1F218 => array(0x4EA4), 0x1F219 => array(0x6620),
3195
+					0x1F21A => array(0x7121), 0x1F21B => array(0x6599), 0x1F21C => array(0x524D),
3196
+					0x1F21D => array(0x5F8C), 0x1F21E => array(0x518D), 0x1F21F => array(0x65B0),
3197
+					0x1F220 => array(0x521D), 0x1F221 => array(0x7D42), 0x1F222 => array(0x751F),
3198
+					0x1F223 => array(0x8CA9), 0x1F224 => array(0x58F0), 0x1F225 => array(0x5439),
3199
+					0x1F226 => array(0x6F14), 0x1F227 => array(0x6295), 0x1F228 => array(0x6355),
3200
+					0x1F229 => array(0x4E00), 0x1F22A => array(0x4E09), 0x1F22B => array(0x904A),
3201
+					0x1F22C => array(0x5DE6), 0x1F22D => array(0x4E2D), 0x1F22E => array(0x53F3),
3202
+					0x1F22F => array(0x6307), 0x1F230 => array(0x8D70), 0x1F231 => array(0x6253),
3203
+					0x1F232 => array(0x7981), 0x1F233 => array(0x7A7A), 0x1F234 => array(0x5408),
3204
+					0x1F235 => array(0x6E80), 0x1F236 => array(0x6709), 0x1F237 => array(0x6708),
3205
+					0x1F238 => array(0x7533), 0x1F239 => array(0x5272), 0x1F23A => array(0x55B6),
3206
+					0x1F240 => array(0x3014, 0x672C, 0x3015), 0x1F241 => array(0x3014, 0x4E09, 0x3015), 0x1F242 => array(0x3014, 0x4E8C, 0x3015),
3207
+					0x1F243 => array(0x3014, 0x5B89, 0x3015), 0x1F244 => array(0x3014, 0x70B9, 0x3015), 0x1F245 => array(0x3014, 0x6253, 0x3015),
3208
+					0x1F246 => array(0x3014, 0x76D7, 0x3015), 0x1F247 => array(0x3014, 0x52DD, 0x3015), 0x1F248 => array(0x3014, 0x6557, 0x3015),
3209
+					0x1F250 => array(0x5F97), 0x1F251 => array(0x53EF), 0x2F800 => array(0x4E3D),
3210
+					0x2F801 => array(0x4E38), 0x2F802 => array(0x4E41), 0x2F803 => array(0x20122),
3211
+					0x2F804 => array(0x4F60), 0x2F805 => array(0x4FAE), 0x2F806 => array(0x4FBB),
3212
+					0x2F807 => array(0x5002), 0x2F808 => array(0x507A), 0x2F809 => array(0x5099),
3213
+					0x2F80A => array(0x50E7), 0x2F80B => array(0x50CF), 0x2F80C => array(0x349E),
3214
+					0x2F80D => array(0x2063A), 0x2F80E => array(0x514D), 0x2F80F => array(0x5154),
3215
+					0x2F810 => array(0x5164), 0x2F811 => array(0x5177), 0x2F812 => array(0x2051C),
3216
+					0x2F813 => array(0x34B9), 0x2F814 => array(0x5167), 0x2F815 => array(0x518D),
3217
+					0x2F816 => array(0x2054B), 0x2F817 => array(0x5197), 0x2F818 => array(0x51A4),
3218
+					0x2F819 => array(0x4ECC), 0x2F81A => array(0x51AC), 0x2F81B => array(0x51B5),
3219
+					0x2F81C => array(0x291DF), 0x2F81D => array(0x51F5), 0x2F81E => array(0x5203),
3220
+					0x2F81F => array(0x34DF), 0x2F820 => array(0x523B), 0x2F821 => array(0x5246),
3221
+					0x2F822 => array(0x5272), 0x2F823 => array(0x5277), 0x2F824 => array(0x3515),
3222
+					0x2F825 => array(0x52C7), 0x2F826 => array(0x52C9), 0x2F827 => array(0x52E4),
3223
+					0x2F828 => array(0x52FA), 0x2F829 => array(0x5305), 0x2F82A => array(0x5306),
3224
+					0x2F82B => array(0x5317), 0x2F82C => array(0x5349), 0x2F82D => array(0x5351),
3225
+					0x2F82E => array(0x535A), 0x2F82F => array(0x5373), 0x2F830 => array(0x537D),
3226
+					0x2F831 => array(0x537F), 0x2F832 => array(0x537F), 0x2F833 => array(0x537F),
3227
+					0x2F834 => array(0x20A2C), 0x2F835 => array(0x7070), 0x2F836 => array(0x53CA),
3228
+					0x2F837 => array(0x53DF), 0x2F838 => array(0x20B63), 0x2F839 => array(0x53EB),
3229
+					0x2F83A => array(0x53F1), 0x2F83B => array(0x5406), 0x2F83C => array(0x549E),
3230
+					0x2F83D => array(0x5438), 0x2F83E => array(0x5448), 0x2F83F => array(0x5468),
3231
+					0x2F840 => array(0x54A2), 0x2F841 => array(0x54F6), 0x2F842 => array(0x5510),
3232
+					0x2F843 => array(0x5553), 0x2F844 => array(0x5563), 0x2F845 => array(0x5584),
3233
+					0x2F846 => array(0x5584), 0x2F847 => array(0x5599), 0x2F848 => array(0x55AB),
3234
+					0x2F849 => array(0x55B3), 0x2F84A => array(0x55C2), 0x2F84B => array(0x5716),
3235
+					0x2F84C => array(0x5606), 0x2F84D => array(0x5717), 0x2F84E => array(0x5651),
3236
+					0x2F84F => array(0x5674), 0x2F850 => array(0x5207), 0x2F851 => array(0x58EE),
3237
+					0x2F852 => array(0x57CE), 0x2F853 => array(0x57F4), 0x2F854 => array(0x580D),
3238
+					0x2F855 => array(0x578B), 0x2F856 => array(0x5832), 0x2F857 => array(0x5831),
3239
+					0x2F858 => array(0x58AC), 0x2F859 => array(0x214E4), 0x2F85A => array(0x58F2),
3240
+					0x2F85B => array(0x58F7), 0x2F85C => array(0x5906), 0x2F85D => array(0x591A),
3241
+					0x2F85E => array(0x5922), 0x2F85F => array(0x5962), 0x2F860 => array(0x216A8),
3242
+					0x2F861 => array(0x216EA), 0x2F862 => array(0x59EC), 0x2F863 => array(0x5A1B),
3243
+					0x2F864 => array(0x5A27), 0x2F865 => array(0x59D8), 0x2F866 => array(0x5A66),
3244
+					0x2F867 => array(0x36EE), 0x2F869 => array(0x5B08), 0x2F86A => array(0x5B3E),
3245
+					0x2F86B => array(0x5B3E), 0x2F86C => array(0x219C8), 0x2F86D => array(0x5BC3),
3246
+					0x2F86E => array(0x5BD8), 0x2F86F => array(0x5BE7), 0x2F870 => array(0x5BF3),
3247
+					0x2F871 => array(0x21B18), 0x2F872 => array(0x5BFF), 0x2F873 => array(0x5C06),
3248
+					0x2F875 => array(0x5C22), 0x2F876 => array(0x3781), 0x2F877 => array(0x5C60),
3249
+					0x2F878 => array(0x5C6E), 0x2F879 => array(0x5CC0), 0x2F87A => array(0x5C8D),
3250
+					0x2F87B => array(0x21DE4), 0x2F87C => array(0x5D43), 0x2F87D => array(0x21DE6),
3251
+					0x2F87E => array(0x5D6E), 0x2F87F => array(0x5D6B), 0x2F880 => array(0x5D7C),
3252
+					0x2F881 => array(0x5DE1), 0x2F882 => array(0x5DE2), 0x2F883 => array(0x382F),
3253
+					0x2F884 => array(0x5DFD), 0x2F885 => array(0x5E28), 0x2F886 => array(0x5E3D),
3254
+					0x2F887 => array(0x5E69), 0x2F888 => array(0x3862), 0x2F889 => array(0x22183),
3255
+					0x2F88A => array(0x387C), 0x2F88B => array(0x5EB0), 0x2F88C => array(0x5EB3),
3256
+					0x2F88D => array(0x5EB6), 0x2F88E => array(0x5ECA), 0x2F88F => array(0x2A392),
3257
+					0x2F890 => array(0x5EFE), 0x2F891 => array(0x22331), 0x2F892 => array(0x22331),
3258
+					0x2F893 => array(0x8201), 0x2F894 => array(0x5F22), 0x2F895 => array(0x5F22),
3259
+					0x2F896 => array(0x38C7), 0x2F897 => array(0x232B8), 0x2F898 => array(0x261DA),
3260
+					0x2F899 => array(0x5F62), 0x2F89A => array(0x5F6B), 0x2F89B => array(0x38E3),
3261
+					0x2F89C => array(0x5F9A), 0x2F89D => array(0x5FCD), 0x2F89E => array(0x5FD7),
3262
+					0x2F89F => array(0x5FF9), 0x2F8A0 => array(0x6081), 0x2F8A1 => array(0x393A),
3263
+					0x2F8A2 => array(0x391C), 0x2F8A3 => array(0x6094), 0x2F8A4 => array(0x226D4),
3264
+					0x2F8A5 => array(0x60C7), 0x2F8A6 => array(0x6148), 0x2F8A7 => array(0x614C),
3265
+					0x2F8A8 => array(0x614E), 0x2F8A9 => array(0x614C), 0x2F8AA => array(0x617A),
3266
+					0x2F8AB => array(0x618E), 0x2F8AC => array(0x61B2), 0x2F8AD => array(0x61A4),
3267
+					0x2F8AE => array(0x61AF), 0x2F8AF => array(0x61DE), 0x2F8B0 => array(0x61F2),
3268
+					0x2F8B1 => array(0x61F6), 0x2F8B2 => array(0x6210), 0x2F8B3 => array(0x621B),
3269
+					0x2F8B4 => array(0x625D), 0x2F8B5 => array(0x62B1), 0x2F8B6 => array(0x62D4),
3270
+					0x2F8B7 => array(0x6350), 0x2F8B8 => array(0x22B0C), 0x2F8B9 => array(0x633D),
3271
+					0x2F8BA => array(0x62FC), 0x2F8BB => array(0x6368), 0x2F8BC => array(0x6383),
3272
+					0x2F8BD => array(0x63E4), 0x2F8BE => array(0x22BF1), 0x2F8BF => array(0x6422),
3273
+					0x2F8C0 => array(0x63C5), 0x2F8C1 => array(0x63A9), 0x2F8C2 => array(0x3A2E),
3274
+					0x2F8C3 => array(0x6469), 0x2F8C4 => array(0x647E), 0x2F8C5 => array(0x649D),
3275
+					0x2F8C6 => array(0x6477), 0x2F8C7 => array(0x3A6C), 0x2F8C8 => array(0x654F),
3276
+					0x2F8C9 => array(0x656C), 0x2F8CA => array(0x2300A), 0x2F8CB => array(0x65E3),
3277
+					0x2F8CC => array(0x66F8), 0x2F8CD => array(0x6649), 0x2F8CE => array(0x3B19),
3278
+					0x2F8CF => array(0x6691), 0x2F8D0 => array(0x3B08), 0x2F8D1 => array(0x3AE4),
3279
+					0x2F8D2 => array(0x5192), 0x2F8D3 => array(0x5195), 0x2F8D4 => array(0x6700),
3280
+					0x2F8D5 => array(0x669C), 0x2F8D6 => array(0x80AD), 0x2F8D7 => array(0x43D9),
3281
+					0x2F8D8 => array(0x6717), 0x2F8D9 => array(0x671B), 0x2F8DA => array(0x6721),
3282
+					0x2F8DB => array(0x675E), 0x2F8DC => array(0x6753), 0x2F8DD => array(0x233C3),
3283
+					0x2F8DE => array(0x3B49), 0x2F8DF => array(0x67FA), 0x2F8E0 => array(0x6785),
3284
+					0x2F8E1 => array(0x6852), 0x2F8E2 => array(0x6885), 0x2F8E3 => array(0x2346D),
3285
+					0x2F8E4 => array(0x688E), 0x2F8E5 => array(0x681F), 0x2F8E6 => array(0x6914),
3286
+					0x2F8E7 => array(0x3B9D), 0x2F8E8 => array(0x6942), 0x2F8E9 => array(0x69A3),
3287
+					0x2F8EA => array(0x69EA), 0x2F8EB => array(0x6AA8), 0x2F8EC => array(0x236A3),
3288
+					0x2F8ED => array(0x6ADB), 0x2F8EE => array(0x3C18), 0x2F8EF => array(0x6B21),
3289
+					0x2F8F0 => array(0x238A7), 0x2F8F1 => array(0x6B54), 0x2F8F2 => array(0x3C4E),
3290
+					0x2F8F3 => array(0x6B72), 0x2F8F4 => array(0x6B9F), 0x2F8F5 => array(0x6BBA),
3291
+					0x2F8F6 => array(0x6BBB), 0x2F8F7 => array(0x23A8D), 0x2F8F8 => array(0x21D0B),
3292
+					0x2F8F9 => array(0x23AFA), 0x2F8FA => array(0x6C4E), 0x2F8FB => array(0x23CBC),
3293
+					0x2F8FC => array(0x6CBF), 0x2F8FD => array(0x6CCD), 0x2F8FE => array(0x6C67),
3294
+					0x2F8FF => array(0x6D16), 0x2F900 => array(0x6D3E), 0x2F901 => array(0x6D77),
3295
+					0x2F902 => array(0x6D41), 0x2F903 => array(0x6D69), 0x2F904 => array(0x6D78),
3296
+					0x2F905 => array(0x6D85), 0x2F906 => array(0x23D1E), 0x2F907 => array(0x6D34),
3297
+					0x2F908 => array(0x6E2F), 0x2F909 => array(0x6E6E), 0x2F90A => array(0x3D33),
3298
+					0x2F90B => array(0x6ECB), 0x2F90C => array(0x6EC7), 0x2F90D => array(0x23ED1),
3299
+					0x2F90E => array(0x6DF9), 0x2F90F => array(0x6F6E), 0x2F910 => array(0x23F5E),
3300
+					0x2F911 => array(0x23F8E), 0x2F912 => array(0x6FC6), 0x2F913 => array(0x7039),
3301
+					0x2F914 => array(0x701E), 0x2F915 => array(0x701B), 0x2F916 => array(0x3D96),
3302
+					0x2F917 => array(0x704A), 0x2F918 => array(0x707D), 0x2F919 => array(0x7077),
3303
+					0x2F91A => array(0x70AD), 0x2F91B => array(0x20525), 0x2F91C => array(0x7145),
3304
+					0x2F91D => array(0x24263), 0x2F91E => array(0x719C), 0x2F920 => array(0x7228),
3305
+					0x2F921 => array(0x7235), 0x2F922 => array(0x7250), 0x2F923 => array(0x24608),
3306
+					0x2F924 => array(0x7280), 0x2F925 => array(0x7295), 0x2F926 => array(0x24735),
3307
+					0x2F927 => array(0x24814), 0x2F928 => array(0x737A), 0x2F929 => array(0x738B),
3308
+					0x2F92A => array(0x3EAC), 0x2F92B => array(0x73A5), 0x2F92C => array(0x3EB8),
3309
+					0x2F92D => array(0x3EB8), 0x2F92E => array(0x7447), 0x2F92F => array(0x745C),
3310
+					0x2F930 => array(0x7471), 0x2F931 => array(0x7485), 0x2F932 => array(0x74CA),
3311
+					0x2F933 => array(0x3F1B), 0x2F934 => array(0x7524), 0x2F935 => array(0x24C36),
3312
+					0x2F936 => array(0x753E), 0x2F937 => array(0x24C92), 0x2F938 => array(0x7570),
3313
+					0x2F939 => array(0x2219F), 0x2F93A => array(0x7610), 0x2F93B => array(0x24FA1),
3314
+					0x2F93C => array(0x24FB8), 0x2F93D => array(0x25044), 0x2F93E => array(0x3FFC),
3315
+					0x2F93F => array(0x4008), 0x2F940 => array(0x76F4), 0x2F941 => array(0x250F3),
3316
+					0x2F942 => array(0x250F2), 0x2F943 => array(0x25119), 0x2F944 => array(0x25133),
3317
+					0x2F945 => array(0x771E), 0x2F946 => array(0x771F), 0x2F947 => array(0x771F),
3318
+					0x2F948 => array(0x774A), 0x2F949 => array(0x4039), 0x2F94A => array(0x778B),
3319
+					0x2F94B => array(0x4046), 0x2F94C => array(0x4096), 0x2F94D => array(0x2541D),
3320
+					0x2F94E => array(0x784E), 0x2F94F => array(0x788C), 0x2F950 => array(0x78CC),
3321
+					0x2F951 => array(0x40E3), 0x2F952 => array(0x25626), 0x2F953 => array(0x7956),
3322
+					0x2F954 => array(0x2569A), 0x2F955 => array(0x256C5), 0x2F956 => array(0x798F),
3323
+					0x2F957 => array(0x79EB), 0x2F958 => array(0x412F), 0x2F959 => array(0x7A40),
3324
+					0x2F95A => array(0x7A4A), 0x2F95B => array(0x7A4F), 0x2F95C => array(0x2597C),
3325
+					0x2F95D => array(0x25AA7), 0x2F95E => array(0x25AA7), 0x2F960 => array(0x4202),
3326
+					0x2F961 => array(0x25BAB), 0x2F962 => array(0x7BC6), 0x2F963 => array(0x7BC9),
3327
+					0x2F964 => array(0x4227), 0x2F965 => array(0x25C80), 0x2F966 => array(0x7CD2),
3328
+					0x2F967 => array(0x42A0), 0x2F968 => array(0x7CE8), 0x2F969 => array(0x7CE3),
3329
+					0x2F96A => array(0x7D00), 0x2F96B => array(0x25F86), 0x2F96C => array(0x7D63),
3330
+					0x2F96D => array(0x4301), 0x2F96E => array(0x7DC7), 0x2F96F => array(0x7E02),
3331
+					0x2F970 => array(0x7E45), 0x2F971 => array(0x4334), 0x2F972 => array(0x26228),
3332
+					0x2F973 => array(0x26247), 0x2F974 => array(0x4359), 0x2F975 => array(0x262D9),
3333
+					0x2F976 => array(0x7F7A), 0x2F977 => array(0x2633E), 0x2F978 => array(0x7F95),
3334
+					0x2F979 => array(0x7FFA), 0x2F97A => array(0x8005), 0x2F97B => array(0x264DA),
3335
+					0x2F97C => array(0x26523), 0x2F97D => array(0x8060), 0x2F97E => array(0x265A8),
3336
+					0x2F97F => array(0x8070), 0x2F980 => array(0x2335F), 0x2F981 => array(0x43D5),
3337
+					0x2F982 => array(0x80B2), 0x2F983 => array(0x8103), 0x2F984 => array(0x440B),
3338
+					0x2F985 => array(0x813E), 0x2F986 => array(0x5AB5), 0x2F987 => array(0x267A7),
3339
+					0x2F988 => array(0x267B5), 0x2F989 => array(0x23393), 0x2F98A => array(0x2339C),
3340
+					0x2F98B => array(0x8201), 0x2F98C => array(0x8204), 0x2F98D => array(0x8F9E),
3341
+					0x2F98E => array(0x446B), 0x2F98F => array(0x8291), 0x2F990 => array(0x828B),
3342
+					0x2F991 => array(0x829D), 0x2F992 => array(0x52B3), 0x2F993 => array(0x82B1),
3343
+					0x2F994 => array(0x82B3), 0x2F995 => array(0x82BD), 0x2F996 => array(0x82E6),
3344
+					0x2F997 => array(0x26B3C), 0x2F998 => array(0x82E5), 0x2F999 => array(0x831D),
3345
+					0x2F99A => array(0x8363), 0x2F99B => array(0x83AD), 0x2F99C => array(0x8323),
3346
+					0x2F99D => array(0x83BD), 0x2F99E => array(0x83E7), 0x2F99F => array(0x8457),
3347
+					0x2F9A0 => array(0x8353), 0x2F9A1 => array(0x83CA), 0x2F9A2 => array(0x83CC),
3348
+					0x2F9A3 => array(0x83DC), 0x2F9A4 => array(0x26C36), 0x2F9A5 => array(0x26D6B),
3349
+					0x2F9A6 => array(0x26CD5), 0x2F9A7 => array(0x452B), 0x2F9A8 => array(0x84F1),
3350
+					0x2F9A9 => array(0x84F3), 0x2F9AA => array(0x8516), 0x2F9AB => array(0x273CA),
3351
+					0x2F9AC => array(0x8564), 0x2F9AD => array(0x26F2C), 0x2F9AE => array(0x455D),
3352
+					0x2F9AF => array(0x4561), 0x2F9B0 => array(0x26FB1), 0x2F9B1 => array(0x270D2),
3353
+					0x2F9B2 => array(0x456B), 0x2F9B3 => array(0x8650), 0x2F9B4 => array(0x865C),
3354
+					0x2F9B5 => array(0x8667), 0x2F9B6 => array(0x8669), 0x2F9B7 => array(0x86A9),
3355
+					0x2F9B8 => array(0x8688), 0x2F9B9 => array(0x870E), 0x2F9BA => array(0x86E2),
3356
+					0x2F9BB => array(0x8779), 0x2F9BC => array(0x8728), 0x2F9BD => array(0x876B),
3357
+					0x2F9BE => array(0x8786), 0x2F9C0 => array(0x87E1), 0x2F9C1 => array(0x8801),
3358
+					0x2F9C2 => array(0x45F9), 0x2F9C3 => array(0x8860), 0x2F9C4 => array(0x8863),
3359
+					0x2F9C5 => array(0x27667), 0x2F9C6 => array(0x88D7), 0x2F9C7 => array(0x88DE),
3360
+					0x2F9C8 => array(0x4635), 0x2F9C9 => array(0x88FA), 0x2F9CA => array(0x34BB),
3361
+					0x2F9CB => array(0x278AE), 0x2F9CC => array(0x27966), 0x2F9CD => array(0x46BE),
3362
+					0x2F9CE => array(0x46C7), 0x2F9CF => array(0x8AA0), 0x2F9D0 => array(0x8AED),
3363
+					0x2F9D1 => array(0x8B8A), 0x2F9D2 => array(0x8C55), 0x2F9D3 => array(0x27CA8),
3364
+					0x2F9D4 => array(0x8CAB), 0x2F9D5 => array(0x8CC1), 0x2F9D6 => array(0x8D1B),
3365
+					0x2F9D7 => array(0x8D77), 0x2F9D8 => array(0x27F2F), 0x2F9D9 => array(0x20804),
3366
+					0x2F9DA => array(0x8DCB), 0x2F9DB => array(0x8DBC), 0x2F9DC => array(0x8DF0),
3367
+					0x2F9DD => array(0x208DE), 0x2F9DE => array(0x8ED4), 0x2F9DF => array(0x8F38),
3368
+					0x2F9E0 => array(0x285D2), 0x2F9E1 => array(0x285ED), 0x2F9E2 => array(0x9094),
3369
+					0x2F9E3 => array(0x90F1), 0x2F9E4 => array(0x9111), 0x2F9E5 => array(0x2872E),
3370
+					0x2F9E6 => array(0x911B), 0x2F9E7 => array(0x9238), 0x2F9E8 => array(0x92D7),
3371
+					0x2F9E9 => array(0x92D8), 0x2F9EA => array(0x927C), 0x2F9EB => array(0x93F9),
3372
+					0x2F9EC => array(0x9415), 0x2F9ED => array(0x28BFA), 0x2F9EE => array(0x958B),
3373
+					0x2F9EF => array(0x4995), 0x2F9F0 => array(0x95B7), 0x2F9F1 => array(0x28D77),
3374
+					0x2F9F2 => array(0x49E6), 0x2F9F3 => array(0x96C3), 0x2F9F4 => array(0x5DB2),
3375
+					0x2F9F5 => array(0x9723), 0x2F9F6 => array(0x29145), 0x2F9F7 => array(0x2921A),
3376
+					0x2F9F8 => array(0x4A6E), 0x2F9F9 => array(0x4A76), 0x2F9FA => array(0x97E0),
3377
+					0x2F9FB => array(0x2940A), 0x2F9FC => array(0x4AB2), 0x2F9FD => array(0x29496),
3378
+					0x2F9FE => array(0x980B), 0x2F9FF => array(0x980B), 0x2FA00 => array(0x9829),
3379
+					0x2FA01 => array(0x295B6), 0x2FA02 => array(0x98E2), 0x2FA03 => array(0x4B33),
3380
+					0x2FA04 => array(0x9929), 0x2FA05 => array(0x99A7), 0x2FA06 => array(0x99C2),
3381
+					0x2FA07 => array(0x99FE), 0x2FA08 => array(0x4BCE), 0x2FA09 => array(0x29B30),
3382
+					0x2FA0A => array(0x9B12), 0x2FA0B => array(0x9C40), 0x2FA0C => array(0x9CFD),
3383
+					0x2FA0D => array(0x4CCE), 0x2FA0E => array(0x4CED), 0x2FA0F => array(0x9D67),
3384
+					0x2FA10 => array(0x2A0CE), 0x2FA11 => array(0x4CF8), 0x2FA12 => array(0x2A105),
3385
+					0x2FA13 => array(0x2A20E), 0x2FA14 => array(0x2A291), 0x2FA15 => array(0x9EBB),
3386
+					0x2FA16 => array(0x4D56), 0x2FA17 => array(0x9EF9), 0x2FA18 => array(0x9EFE),
3387
+					0x2FA19 => array(0x9F05), 0x2FA1A => array(0x9F0F), 0x2FA1B => array(0x9F16),
3388
+					0x2FA1C => array(0x9F3B), 0x2FA1D => array(0x2A600)
3389
+			),
3390
+			'norm_combcls' => array(0x334 => 1, 0x335 => 1, 0x336 => 1, 0x337 => 1,
3391
+					0x338 => 1, 0x93C => 7, 0x9BC => 7, 0xA3C => 7, 0xABC => 7,
3392
+					0xB3C => 7, 0xCBC => 7, 0x1037 => 7, 0x3099 => 8, 0x309A => 8,
3393
+					0x94D => 9, 0x9CD => 9, 0xA4D => 9, 0xACD => 9, 0xB4D => 9,
3394
+					0xBCD => 9, 0xC4D => 9, 0xCCD => 9, 0xD4D => 9, 0xDCA => 9,
3395
+					0xE3A => 9, 0xF84 => 9, 0x1039 => 9, 0x1714 => 9, 0x1734 => 9,
3396
+					0x17D2 => 9, 0x5B0 => 10, 0x5B1 => 11, 0x5B2 => 12, 0x5B3 => 13,
3397
+					0x5B4 => 14, 0x5B5 => 15, 0x5B6 => 16, 0x5B7 => 17, 0x5B8 => 18,
3398
+					0x5B9 => 19, 0x5BB => 20, 0x5Bc => 21, 0x5BD => 22, 0x5BF => 23,
3399
+					0x5C1 => 24, 0x5C2 => 25, 0xFB1E => 26, 0x64B => 27, 0x64C => 28,
3400
+					0x64D => 29, 0x64E => 30, 0x64F => 31, 0x650 => 32, 0x651 => 33,
3401
+					0x652 => 34, 0x670 => 35, 0x711 => 36, 0xC55 => 84, 0xC56 => 91,
3402
+					0xE38 => 103, 0xE39 => 103, 0xE48 => 107, 0xE49 => 107, 0xE4A => 107,
3403
+					0xE4B => 107, 0xEB8 => 118, 0xEB9 => 118, 0xEC8 => 122, 0xEC9 => 122,
3404
+					0xECA => 122, 0xECB => 122, 0xF71 => 129, 0xF72 => 130, 0xF7A => 130,
3405
+					0xF7B => 130, 0xF7C => 130, 0xF7D => 130, 0xF80 => 130, 0xF74 => 132,
3406
+					0x321 => 202, 0x322 => 202, 0x327 => 202, 0x328 => 202, 0x31B => 216,
3407
+					0xF39 => 216, 0x1D165 => 216, 0x1D166 => 216, 0x1D16E => 216, 0x1D16F => 216,
3408
+					0x1D170 => 216, 0x1D171 => 216, 0x1D172 => 216, 0x302A => 218, 0x316 => 220,
3409
+					0x317 => 220, 0x318 => 220, 0x319 => 220, 0x31C => 220, 0x31D => 220,
3410
+					0x31E => 220, 0x31F => 220, 0x320 => 220, 0x323 => 220, 0x324 => 220,
3411
+					0x325 => 220, 0x326 => 220, 0x329 => 220, 0x32A => 220, 0x32B => 220,
3412
+					0x32C => 220, 0x32D => 220, 0x32E => 220, 0x32F => 220, 0x330 => 220,
3413
+					0x331 => 220, 0x332 => 220, 0x333 => 220, 0x339 => 220, 0x33A => 220,
3414
+					0x33B => 220, 0x33C => 220, 0x347 => 220, 0x348 => 220, 0x349 => 220,
3415
+					0x34D => 220, 0x34E => 220, 0x353 => 220, 0x354 => 220, 0x355 => 220,
3416
+					0x356 => 220, 0x591 => 220, 0x596 => 220, 0x59B => 220, 0x5A3 => 220,
3417
+					0x5A4 => 220, 0x5A5 => 220, 0x5A6 => 220, 0x5A7 => 220, 0x5AA => 220,
3418
+					0x655 => 220, 0x656 => 220, 0x6E3 => 220, 0x6EA => 220, 0x6ED => 220,
3419
+					0x731 => 220, 0x734 => 220, 0x737 => 220, 0x738 => 220, 0x739 => 220,
3420
+					0x73B => 220, 0x73C => 220, 0x73E => 220, 0x742 => 220, 0x744 => 220,
3421
+					0x746 => 220, 0x748 => 220, 0x952 => 220, 0xF18 => 220, 0xF19 => 220,
3422
+					0xF35 => 220, 0xF37 => 220, 0xFC6 => 220, 0x193B => 220, 0x20E8 => 220,
3423
+					0x1D17B => 220, 0x1D17C => 220, 0x1D17D => 220, 0x1D17E => 220, 0x1D17F => 220,
3424
+					0x1D180 => 220, 0x1D181 => 220, 0x1D182 => 220, 0x1D18A => 220, 0x1D18B => 220,
3425
+					0x59A => 222, 0x5AD => 222, 0x1929 => 222, 0x302D => 222, 0x302E => 224,
3426
+					0x302F => 224, 0x1D16D => 226, 0x5AE => 228, 0x18A9 => 228, 0x302B => 228,
3427
+					0x300 => 230, 0x301 => 230, 0x302 => 230, 0x303 => 230, 0x304 => 230,
3428
+					0x305 => 230, 0x306 => 230, 0x307 => 230, 0x308 => 230, 0x309 => 230,
3429
+					0x30A => 230, 0x30B => 230, 0x30C => 230, 0x30D => 230, 0x30E => 230,
3430
+					0x30F => 230, 0x310 => 230, 0x311 => 230, 0x312 => 230, 0x313 => 230,
3431
+					0x314 => 230, 0x33D => 230, 0x33E => 230, 0x33F => 230, 0x340 => 230,
3432
+					0x341 => 230, 0x342 => 230, 0x343 => 230, 0x344 => 230, 0x346 => 230,
3433
+					0x34A => 230, 0x34B => 230, 0x34C => 230, 0x350 => 230, 0x351 => 230,
3434
+					0x352 => 230, 0x357 => 230, 0x363 => 230, 0x364 => 230, 0x365 => 230,
3435
+					0x366 => 230, 0x367 => 230, 0x368 => 230, 0x369 => 230, 0x36A => 230,
3436
+					0x36B => 230, 0x36C => 230, 0x36D => 230, 0x36E => 230, 0x36F => 230,
3437
+					0x483 => 230, 0x484 => 230, 0x485 => 230, 0x486 => 230, 0x592 => 230,
3438
+					0x593 => 230, 0x594 => 230, 0x595 => 230, 0x597 => 230, 0x598 => 230,
3439
+					0x599 => 230, 0x59C => 230, 0x59D => 230, 0x59E => 230, 0x59F => 230,
3440
+					0x5A0 => 230, 0x5A1 => 230, 0x5A8 => 230, 0x5A9 => 230, 0x5AB => 230,
3441
+					0x5AC => 230, 0x5AF => 230, 0x5C4 => 230, 0x610 => 230, 0x611 => 230,
3442
+					0x612 => 230, 0x613 => 230, 0x614 => 230, 0x615 => 230, 0x653 => 230,
3443
+					0x654 => 230, 0x657 => 230, 0x658 => 230, 0x6D6 => 230, 0x6D7 => 230,
3444
+					0x6D8 => 230, 0x6D9 => 230, 0x6DA => 230, 0x6DB => 230, 0x6DC => 230,
3445
+					0x6DF => 230, 0x6E0 => 230, 0x6E1 => 230, 0x6E2 => 230, 0x6E4 => 230,
3446
+					0x6E7 => 230, 0x6E8 => 230, 0x6EB => 230, 0x6EC => 230, 0x730 => 230,
3447
+					0x732 => 230, 0x733 => 230, 0x735 => 230, 0x736 => 230, 0x73A => 230,
3448
+					0x73D => 230, 0x73F => 230, 0x740 => 230, 0x741 => 230, 0x743 => 230,
3449
+					0x745 => 230, 0x747 => 230, 0x749 => 230, 0x74A => 230, 0x951 => 230,
3450
+					0x953 => 230, 0x954 => 230, 0xF82 => 230, 0xF83 => 230, 0xF86 => 230,
3451
+					0xF87 => 230, 0x170D => 230, 0x193A => 230, 0x20D0 => 230, 0x20D1 => 230,
3452
+					0x20D4 => 230, 0x20D5 => 230, 0x20D6 => 230, 0x20D7 => 230, 0x20DB => 230,
3453
+					0x20DC => 230, 0x20E1 => 230, 0x20E7 => 230, 0x20E9 => 230, 0xFE20 => 230,
3454
+					0xFE21 => 230, 0xFE22 => 230, 0xFE23 => 230, 0x1D185 => 230, 0x1D186 => 230,
3455
+					0x1D187 => 230, 0x1D189 => 230, 0x1D188 => 230, 0x1D1AA => 230, 0x1D1AB => 230,
3456
+					0x1D1AC => 230, 0x1D1AD => 230, 0x315 => 232, 0x31A => 232, 0x302C => 232,
3457
+					0x35F => 233, 0x362 => 233, 0x35D => 234, 0x35E => 234, 0x360 => 234,
3458
+					0x361 => 234, 0x345 => 240
3459
+			)
3460
+	);
3461 3461
 }
3462 3462
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +43 added lines, -46 removed lines patch added patch discarded remove patch
@@ -73,16 +73,16 @@  discard block
 block discarded – undo
73 73
     protected $_lcount = 19;
74 74
     protected $_vcount = 21;
75 75
     protected $_tcount = 28;
76
-    protected $_ncount = 588;   // _vcount * _tcount
76
+    protected $_ncount = 588; // _vcount * _tcount
77 77
     protected $_scount = 11172; // _lcount * _tcount * _vcount
78 78
     protected $_error = false;
79 79
     protected static $_mb_string_overload = null;
80 80
     // See {@link set_paramter()} for details of how to change the following
81 81
     // settings from within your script / application
82
-    protected $_api_encoding = 'utf8';   // Default input charset is UTF-8
83
-    protected $_allow_overlong = false;  // Overlong UTF-8 encodings are forbidden
84
-    protected $_strict_mode = false;     // Behave strict or not
85
-    protected $_idn_version = 2003;      // Can be either 2003 (old, default) or 2008
82
+    protected $_api_encoding = 'utf8'; // Default input charset is UTF-8
83
+    protected $_allow_overlong = false; // Overlong UTF-8 encodings are forbidden
84
+    protected $_strict_mode = false; // Behave strict or not
85
+    protected $_idn_version = 2003; // Can be either 2003 (old, default) or 2008
86 86
 
87 87
     /**
88 88
      * the constructor
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
                             $this->_api_encoding = $v;
141 141
                             break;
142 142
                         default:
143
-                            $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
143
+                            $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k);
144 144
                             return false;
145 145
                     }
146 146
                     break;
@@ -154,7 +154,7 @@  discard block
 block discarded – undo
154 154
                     if (in_array($v, array('2003', '2008'))) {
155 155
                         $this->_idn_version = $v;
156 156
                     } else {
157
-                        $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
157
+                        $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k);
158 158
                     }
159 159
                     break;
160 160
                 case 'encode_german_sz': // Deprecated
@@ -165,7 +165,7 @@  discard block
 block discarded – undo
165 165
                     }
166 166
                     break;
167 167
                 default:
168
-                    $this->_error('Set Parameter: Unknown option ' . $k);
168
+                    $this->_error('Set Parameter: Unknown option '.$k);
169 169
                     return false;
170 170
             }
171 171
         }
@@ -188,7 +188,7 @@  discard block
 block discarded – undo
188 188
                 case 'ucs4_array':
189 189
                     break;
190 190
                 default:
191
-                    $this->_error('Unknown encoding ' . $one_time_encoding);
191
+                    $this->_error('Unknown encoding '.$one_time_encoding);
192 192
                     return false;
193 193
             }
194 194
         }
@@ -206,7 +206,7 @@  discard block
 block discarded – undo
206 206
             list ($email_pref, $input) = explode('@', $input, 2);
207 207
             $arr = explode('.', $input);
208 208
             foreach ($arr as $k => $v) {
209
-                if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
209
+                if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
210 210
                     $conv = $this->_decode($v);
211 211
                     if ($conv) {
212 212
                         $arr[$k] = $conv;
@@ -216,7 +216,7 @@  discard block
 block discarded – undo
216 216
             $input = join('.', $arr);
217 217
             $arr = explode('.', $email_pref);
218 218
             foreach ($arr as $k => $v) {
219
-                if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
219
+                if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
220 220
                     $conv = $this->_decode($v);
221 221
                     if ($conv) {
222 222
                         $arr[$k] = $conv;
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
                 }
225 225
             }
226 226
             $email_pref = join('.', $arr);
227
-            $return = $email_pref . '@' . $input;
227
+            $return = $email_pref.'@'.$input;
228 228
         } elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters)
229 229
             // No no in strict mode
230 230
             if ($this->_strict_mode) {
@@ -241,13 +241,13 @@  discard block
 block discarded – undo
241 241
                     }
242 242
                 }
243 243
                 $parsed['host'] = join('.', $arr);
244
-                $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
245
-                        (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
244
+                $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'].(strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
245
+                        (empty($parsed['user']) ? '' : $parsed['user'].(empty($parsed['pass']) ? '' : ':'.$parsed['pass']).'@').
246 246
                         $parsed['host'].
247
-                        (empty($parsed['port']) ? '' : ':' . $parsed['port']).
247
+                        (empty($parsed['port']) ? '' : ':'.$parsed['port']).
248 248
                         (empty($parsed['path']) ? '' : $parsed['path']).
249
-                        (empty($parsed['query']) ? '' : '?' . $parsed['query']).
250
-                        (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
249
+                        (empty($parsed['query']) ? '' : '?'.$parsed['query']).
250
+                        (empty($parsed['fragment']) ? '' : '#'.$parsed['fragment']);
251 251
             } else { // parse_url seems to have failed, try without it
252 252
                 $arr = explode('.', $input);
253 253
                 foreach ($arr as $k => $v) {
@@ -265,8 +265,8 @@  discard block
 block discarded – undo
265 265
         // The output is UTF-8 by default, other output formats need conversion here
266 266
         // If one time encoding is given, use this, else the objects property
267 267
         switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) {
268
-            case 'utf8':        return $return; // break;
269
-            case 'ucs4_string': return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));  // break;
268
+            case 'utf8' : return $return; // break;
269
+            case 'ucs4_string': return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return)); // break;
270 270
             case 'ucs4_array':  return $this->_utf8_to_ucs4($return); // break;
271 271
             default:            $this->_error('Unsupported output format'); return false;
272 272
         }
@@ -283,15 +283,14 @@  discard block
 block discarded – undo
283 283
         // Forcing conversion of input to UCS4 array
284 284
         // If one time encoding is given, use this, else the objects property
285 285
         switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) {
286
-            case 'utf8':
287
-                $decoded = $this->_utf8_to_ucs4($decoded);
286
+            case 'utf8' : $decoded = $this->_utf8_to_ucs4($decoded);
288 287
                 break;
289 288
             case 'ucs4_string':
290 289
                 $decoded = $this->_ucs4_string_to_ucs4($decoded);
291 290
             case 'ucs4_array':
292 291
                 break;
293 292
             default:
294
-                $this->_error('Unsupported input format: ' . ($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
293
+                $this->_error('Unsupported input format: '.($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
295 294
                 return false;
296 295
         }
297 296
 
@@ -380,13 +379,13 @@  discard block
 block discarded – undo
380 379
             }
381 380
         }
382 381
         $parsed['host'] = join('.', $arr);
383
-        $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
384
-                (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
382
+        $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'].(strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
383
+                (empty($parsed['user']) ? '' : $parsed['user'].(empty($parsed['pass']) ? '' : ':'.$parsed['pass']).'@').
385 384
                 $parsed['host'].
386
-                (empty($parsed['port']) ? '' : ':' . $parsed['port']).
385
+                (empty($parsed['port']) ? '' : ':'.$parsed['port']).
387 386
                 (empty($parsed['path']) ? '' : $parsed['path']).
388
-                (empty($parsed['query']) ? '' : '?' . $parsed['query']).
389
-                (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
387
+                (empty($parsed['query']) ? '' : '?'.$parsed['query']).
388
+                (empty($parsed['fragment']) ? '' : '#'.$parsed['fragment']);
390 389
         return $return;
391 390
     }
392 391
 
@@ -409,11 +408,11 @@  discard block
 block discarded – undo
409 408
     {
410 409
         $decoded = array();
411 410
         // find the Punycode prefix
412
-        if (!preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $encoded)) {
411
+        if (!preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $encoded)) {
413 412
             $this->_error('This is not a punycode string');
414 413
             return false;
415 414
         }
416
-        $encode_test = preg_replace('!^' . preg_quote($this->_punycode_prefix, '!') . '!', '', $encoded);
415
+        $encode_test = preg_replace('!^'.preg_quote($this->_punycode_prefix, '!').'!', '', $encoded);
417 416
         // If nothing left after removing the prefix, it is hopeless
418 417
         if (!$encode_test) {
419 418
             $this->_error('The given encoded string was empty');
@@ -439,8 +438,7 @@  discard block
 block discarded – undo
439 438
             for ($old_idx = $idx, $w = 1, $k = $this->_base; 1; $k += $this->_base) {
440 439
                 $digit = $this->_decode_digit($encoded{$enco_idx++});
441 440
                 $idx += $digit * $w;
442
-                $t = ($k <= $bias) ? $this->_tmin :
443
-                        (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
441
+                $t = ($k <= $bias) ? $this->_tmin : (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
444 442
                 if ($digit < $t) {
445 443
                     break;
446 444
                 }
@@ -513,7 +511,7 @@  discard block
 block discarded – undo
513 511
             return $encoded; // All codepoints were basic ones
514 512
         }
515 513
         // Start with the prefix; copy it to output
516
-        $encoded = $this->_punycode_prefix . $encoded;
514
+        $encoded = $this->_punycode_prefix.$encoded;
517 515
         // If we have basic code points in output, add an hyphen to the end
518 516
         if ($codecount) {
519 517
             $encoded .= '-';
@@ -540,8 +538,7 @@  discard block
 block discarded – undo
540 538
                     $delta++;
541 539
                 } elseif ($decoded[$i] == $cur_code) {
542 540
                     for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) {
543
-                        $t = ($k <= $bias) ? $this->_tmin :
544
-                                (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
541
+                        $t = ($k <= $bias) ? $this->_tmin : (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
545 542
                         if ($q < $t) {
546 543
                             break;
547 544
                         }
@@ -628,12 +625,12 @@  discard block
 block discarded – undo
628 625
             }
629 626
             // Try to find prohibited input
630 627
             if (in_array($v, self::$NP['prohibit']) || in_array($v, self::$NP['general_prohibited'])) {
631
-                $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
628
+                $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
632 629
                 return false;
633 630
             }
634 631
             foreach (self::$NP['prohibit_ranges'] as $range) {
635 632
                 if ($range[0] <= $v && $v <= $range[1]) {
636
-                    $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
633
+                    $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
637 634
                     return false;
638 635
                 }
639 636
             }
@@ -869,7 +866,7 @@  discard block
 block discarded – undo
869 866
                 $output[$out_len] = $v;
870 867
                 ++$out_len;
871 868
                 if ('add' == $mode) {
872
-                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
869
+                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
873 870
                     return false;
874 871
                 }
875 872
                 continue;
@@ -894,7 +891,7 @@  discard block
 block discarded – undo
894 891
                     $next_byte = 4;
895 892
                     $v = ($v - 252) << 30;
896 893
                 } else {
897
-                    $this->_error('This might be UTF-8, but I don\'t understand it at byte ' . $k);
894
+                    $this->_error('This might be UTF-8, but I don\'t understand it at byte '.$k);
898 895
                     return false;
899 896
                 }
900 897
                 if ('add' == $mode) {
@@ -907,7 +904,7 @@  discard block
 block discarded – undo
907 904
                 if (!$this->_allow_overlong && $test == 'range') {
908 905
                     $test = 'none';
909 906
                     if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) {
910
-                        $this->_error('Bogus UTF-8 character detected (out of legal range) at byte ' . $k);
907
+                        $this->_error('Bogus UTF-8 character detected (out of legal range) at byte '.$k);
911 908
                         return false;
912 909
                     }
913 910
                 }
@@ -916,7 +913,7 @@  discard block
 block discarded – undo
916 913
                     $output[($out_len - 1)] += $v;
917 914
                     --$next_byte;
918 915
                 } else {
919
-                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
916
+                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
920 917
                     return false;
921 918
                 }
922 919
                 if ($next_byte < 0) {
@@ -940,13 +937,13 @@  discard block
 block discarded – undo
940 937
             if ($v < 128) { // 7bit are transferred literally
941 938
                 $output .= chr($v);
942 939
             } elseif ($v < (1 << 11)) { // 2 bytes
943
-                $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
940
+                $output .= chr(192 + ($v >> 6)).chr(128 + ($v & 63));
944 941
             } elseif ($v < (1 << 16)) { // 3 bytes
945
-                $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
942
+                $output .= chr(224 + ($v >> 12)).chr(128 + (($v >> 6) & 63)).chr(128 + ($v & 63));
946 943
             } elseif ($v < (1 << 21)) { // 4 bytes
947
-                $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
944
+                $output .= chr(240 + ($v >> 18)).chr(128 + (($v >> 12) & 63)).chr(128 + (($v >> 6) & 63)).chr(128 + ($v & 63));
948 945
             } else {
949
-                $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte ' . $k);
946
+                $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k);
950 947
                 return false;
951 948
             }
952 949
         }
@@ -965,7 +962,7 @@  discard block
 block discarded – undo
965 962
         // Take array values and split output to 4 bytes per value
966 963
         // The bit mask is 255, which reads &11111111
967 964
         foreach ($input as $v) {
968
-            $output .= chr(($v >> 24) & 255) . chr(($v >> 16) & 255) . chr(($v >> 8) & 255) . chr($v & 255);
965
+            $output .= chr(($v >> 24) & 255).chr(($v >> 16) & 255).chr(($v >> 8) & 255).chr($v & 255);
969 966
         }
970 967
         return $output;
971 968
     }
@@ -995,7 +992,7 @@  discard block
 block discarded – undo
995 992
                 $out_len++;
996 993
                 $output[$out_len] = 0;
997 994
             }
998
-            $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4) ) );
995
+            $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4)));
999 996
         }
1000 997
         return $output;
1001 998
     }
Please login to merge, or discard this patch.