/* Generated by re2c */
#line 1 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
// re2c $INPUT -o $OUTPUT -u --encoding-policy ignore
#include <stdio.h>

#define YYCTYPE unsigned int
enum Block
{
	Basic_Latin,
	Latin___Supplement,
	Latin_Extended_A,
	Latin_Extended_B,
	IPA_Extensions,
	Spacing_Modifier_Letters,
	Combining_Diacritical_Marks,
	Greek_and_Coptic,
	Cyrillic,
	Cyrillic_Supplementary,
	Armenian,
	Hebrew,
	Arabic,
	Syriac,
	Thaana,
	Devanagari,
	Bengali,
	Gurmukhi,
	Gujarati,
	Oriya,
	Tamil,
	Telugu,
	Kannada,
	Malayalam,
	Sinhala,
	Thai,
	Lao,
	Tibetan,
	Myanmar,
	Georgian,
	Hangul_Jamo,
	Ethiopic,
	Cherokee,
	Unified_Canadian_Aboriginal_Syllabics,
	Ogham,
	Runic,
	Tagalog,
	Hanunoo,
	Buhid,
	Tagbanwa,
	Khmer,
	Mongolian,
	Limbu,
	Tai_Le,
	Khmer_Symbols,
	Phonetic_Extensions,
	Latin_Extended_Additional,
	Greek_Extended,
	General_Punctuation,
	Superscripts_and_Subscripts,
	Currency_Symbols,
	Combining_Diacritical_Marks_for_Symbols,
	Letterlike_Symbols,
	Number_Forms,
	Arrows,
	Mathematical_Operators,
	Miscellaneous_Technical,
	Control_Pictures,
	Optical_Character_Recognition,
	Enclosed_Alphanumerics,
	Box_Drawing,
	Block_Elements,
	Geometric_Shapes,
	Miscellaneous_Symbols,
	Dingbats,
	Miscellaneous_Mathematical_Symbols_A,
	Supplemental_Arrows_A,
	Braille_Patterns,
	Supplemental_Arrows_B,
	Miscellaneous_Mathematical_Symbols_B,
	Supplemental_Mathematical_Operators,
	Miscellaneous_Symbols_and_Arrows,
	CJK_Radicals_Supplement,
	Kangxi_Radicals,
	Ideographic_Description_Characters,
	CJK_Symbols_and_Punctuation,
	Hiragana,
	Katakana,
	Bopomofo,
	Hangul_Compatibility_Jamo,
	Kanbun,
	Bopomofo_Extended,
	Katakana_Phonetic_Extensions,
	Enclosed_CJK_Letters_and_Months,
	CJK_Compatibility,
	CJK_Unified_Ideographs_Extension_A,
	Yijing_Hexagram_Symbols,
	CJK_Unified_Ideographs,
	Yi_Syllables,
	Yi_Radicals,
	Hangul_Syllables,
	High_Surrogates,
	High_Private_Use_Surrogates,
	Low_Surrogates,
	Private_Use_Area,
	CJK_Compatibility_Ideographs,
	Alphabetic_Presentation_Forms,
	Arabic_Presentation_Forms_A,
	Variation_Selectors,
	Combining_Half_Marks,
	CJK_Compatibility_Forms,
	Small_Form_Variants,
	Arabic_Presentation_Forms_B,
	Halfwidth_and_Fullwidth_Forms,
	Specials,
	All,

	Error
};
Block scan(const YYCTYPE * start, const YYCTYPE * const limit, Block blk)
{
	__attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used
#	define YYCURSOR start
	switch (blk)
	{
		case Basic_Latin: goto Basic_Latin ;
		case Latin___Supplement: goto Latin___Supplement ;
		case Latin_Extended_A: goto Latin_Extended_A ;
		case Latin_Extended_B: goto Latin_Extended_B ;
		case IPA_Extensions: goto IPA_Extensions ;
		case Spacing_Modifier_Letters: goto Spacing_Modifier_Letters ;
		case Combining_Diacritical_Marks: goto Combining_Diacritical_Marks ;
		case Greek_and_Coptic: goto Greek_and_Coptic ;
		case Cyrillic: goto Cyrillic ;
		case Cyrillic_Supplementary: goto Cyrillic_Supplementary ;
		case Armenian: goto Armenian ;
		case Hebrew: goto Hebrew ;
		case Arabic: goto Arabic ;
		case Syriac: goto Syriac ;
		case Thaana: goto Thaana ;
		case Devanagari: goto Devanagari ;
		case Bengali: goto Bengali ;
		case Gurmukhi: goto Gurmukhi ;
		case Gujarati: goto Gujarati ;
		case Oriya: goto Oriya ;
		case Tamil: goto Tamil ;
		case Telugu: goto Telugu ;
		case Kannada: goto Kannada ;
		case Malayalam: goto Malayalam ;
		case Sinhala: goto Sinhala ;
		case Thai: goto Thai ;
		case Lao: goto Lao ;
		case Tibetan: goto Tibetan ;
		case Myanmar: goto Myanmar ;
		case Georgian: goto Georgian ;
		case Hangul_Jamo: goto Hangul_Jamo ;
		case Ethiopic: goto Ethiopic ;
		case Cherokee: goto Cherokee ;
		case Unified_Canadian_Aboriginal_Syllabics: goto Unified_Canadian_Aboriginal_Syllabics ;
		case Ogham: goto Ogham ;
		case Runic: goto Runic ;
		case Tagalog: goto Tagalog ;
		case Hanunoo: goto Hanunoo ;
		case Buhid: goto Buhid ;
		case Tagbanwa: goto Tagbanwa ;
		case Khmer: goto Khmer ;
		case Mongolian: goto Mongolian ;
		case Limbu: goto Limbu ;
		case Tai_Le: goto Tai_Le ;
		case Khmer_Symbols: goto Khmer_Symbols ;
		case Phonetic_Extensions: goto Phonetic_Extensions ;
		case Latin_Extended_Additional: goto Latin_Extended_Additional ;
		case Greek_Extended: goto Greek_Extended ;
		case General_Punctuation: goto General_Punctuation ;
		case Superscripts_and_Subscripts: goto Superscripts_and_Subscripts ;
		case Currency_Symbols: goto Currency_Symbols ;
		case Combining_Diacritical_Marks_for_Symbols: goto Combining_Diacritical_Marks_for_Symbols ;
		case Letterlike_Symbols: goto Letterlike_Symbols ;
		case Number_Forms: goto Number_Forms ;
		case Arrows: goto Arrows ;
		case Mathematical_Operators: goto Mathematical_Operators ;
		case Miscellaneous_Technical: goto Miscellaneous_Technical ;
		case Control_Pictures: goto Control_Pictures ;
		case Optical_Character_Recognition: goto Optical_Character_Recognition ;
		case Enclosed_Alphanumerics: goto Enclosed_Alphanumerics ;
		case Box_Drawing: goto Box_Drawing ;
		case Block_Elements: goto Block_Elements ;
		case Geometric_Shapes: goto Geometric_Shapes ;
		case Miscellaneous_Symbols: goto Miscellaneous_Symbols ;
		case Dingbats: goto Dingbats ;
		case Miscellaneous_Mathematical_Symbols_A: goto Miscellaneous_Mathematical_Symbols_A ;
		case Supplemental_Arrows_A: goto Supplemental_Arrows_A ;
		case Braille_Patterns: goto Braille_Patterns ;
		case Supplemental_Arrows_B: goto Supplemental_Arrows_B ;
		case Miscellaneous_Mathematical_Symbols_B: goto Miscellaneous_Mathematical_Symbols_B ;
		case Supplemental_Mathematical_Operators: goto Supplemental_Mathematical_Operators ;
		case Miscellaneous_Symbols_and_Arrows: goto Miscellaneous_Symbols_and_Arrows ;
		case CJK_Radicals_Supplement: goto CJK_Radicals_Supplement ;
		case Kangxi_Radicals: goto Kangxi_Radicals ;
		case Ideographic_Description_Characters: goto Ideographic_Description_Characters ;
		case CJK_Symbols_and_Punctuation: goto CJK_Symbols_and_Punctuation ;
		case Hiragana: goto Hiragana ;
		case Katakana: goto Katakana ;
		case Bopomofo: goto Bopomofo ;
		case Hangul_Compatibility_Jamo: goto Hangul_Compatibility_Jamo ;
		case Kanbun: goto Kanbun ;
		case Bopomofo_Extended: goto Bopomofo_Extended ;
		case Katakana_Phonetic_Extensions: goto Katakana_Phonetic_Extensions ;
		case Enclosed_CJK_Letters_and_Months: goto Enclosed_CJK_Letters_and_Months ;
		case CJK_Compatibility: goto CJK_Compatibility ;
		case CJK_Unified_Ideographs_Extension_A: goto CJK_Unified_Ideographs_Extension_A ;
		case Yijing_Hexagram_Symbols: goto Yijing_Hexagram_Symbols ;
		case CJK_Unified_Ideographs: goto CJK_Unified_Ideographs ;
		case Yi_Syllables: goto Yi_Syllables ;
		case Yi_Radicals: goto Yi_Radicals ;
		case Hangul_Syllables: goto Hangul_Syllables ;
		case High_Surrogates: goto High_Surrogates ;
		case High_Private_Use_Surrogates: goto High_Private_Use_Surrogates ;
		case Low_Surrogates: goto Low_Surrogates ;
		case Private_Use_Area: goto Private_Use_Area ;
		case CJK_Compatibility_Ideographs: goto CJK_Compatibility_Ideographs ;
		case Alphabetic_Presentation_Forms: goto Alphabetic_Presentation_Forms ;
		case Arabic_Presentation_Forms_A: goto Arabic_Presentation_Forms_A ;
		case Variation_Selectors: goto Variation_Selectors ;
		case Combining_Half_Marks: goto Combining_Half_Marks ;
		case CJK_Compatibility_Forms: goto CJK_Compatibility_Forms ;
		case Small_Form_Variants: goto Small_Form_Variants ;
		case Arabic_Presentation_Forms_B: goto Arabic_Presentation_Forms_B ;
		case Halfwidth_and_Fullwidth_Forms: goto Halfwidth_and_Fullwidth_Forms ;
		case Specials: goto Specials ;
		case All: goto All ;

		default: return Error;
	}
	#line 339 "encodings/unicode_blocks_u_encoding_policy_ignore.re"

Basic_Latin:
	
#line 238 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych >= 0x00000080) goto yy1;
	++YYCURSOR;
#line 343 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Basic_Latin; }
#line 246 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy1:
	++YYCURSOR;
#line 344 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Basic_Latin; else return Error; }
#line 251 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 345 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Latin___Supplement:
	
#line 258 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000007F) goto yy3;
	if (yych <= 0x000000FF) goto yy4;
yy3:
	++YYCURSOR;
#line 351 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Latin___Supplement; else return Error; }
#line 268 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy4:
	++YYCURSOR;
#line 350 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Latin___Supplement; }
#line 273 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 352 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Latin_Extended_A:
	
#line 280 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000000FF) goto yy6;
	if (yych <= 0x0000017F) goto yy7;
yy6:
	++YYCURSOR;
#line 358 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Latin_Extended_A; else return Error; }
#line 290 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy7:
	++YYCURSOR;
#line 357 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Latin_Extended_A; }
#line 295 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 359 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Latin_Extended_B:
	
#line 302 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000017F) goto yy9;
	if (yych <= 0x0000024F) goto yy10;
yy9:
	++YYCURSOR;
#line 365 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Latin_Extended_B; else return Error; }
#line 312 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy10:
	++YYCURSOR;
#line 364 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Latin_Extended_B; }
#line 317 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 366 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


IPA_Extensions:
	
#line 324 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000024F) goto yy12;
	if (yych <= 0x000002AF) goto yy13;
yy12:
	++YYCURSOR;
#line 372 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return IPA_Extensions; else return Error; }
#line 334 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy13:
	++YYCURSOR;
#line 371 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto IPA_Extensions; }
#line 339 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 373 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Spacing_Modifier_Letters:
	
#line 346 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000002AF) goto yy15;
	if (yych <= 0x000002FF) goto yy16;
yy15:
	++YYCURSOR;
#line 379 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Spacing_Modifier_Letters; else return Error; }
#line 356 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy16:
	++YYCURSOR;
#line 378 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Spacing_Modifier_Letters; }
#line 361 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 380 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Combining_Diacritical_Marks:
	
#line 368 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000002FF) goto yy18;
	if (yych <= 0x0000036F) goto yy19;
yy18:
	++YYCURSOR;
#line 386 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Combining_Diacritical_Marks; else return Error; }
#line 378 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy19:
	++YYCURSOR;
#line 385 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Combining_Diacritical_Marks; }
#line 383 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 387 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Greek_and_Coptic:
	
#line 390 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000036F) goto yy21;
	if (yych <= 0x000003FF) goto yy22;
yy21:
	++YYCURSOR;
#line 393 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Greek_and_Coptic; else return Error; }
#line 400 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy22:
	++YYCURSOR;
#line 392 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Greek_and_Coptic; }
#line 405 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 394 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Cyrillic:
	
#line 412 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000003FF) goto yy24;
	if (yych <= 0x000004FF) goto yy25;
yy24:
	++YYCURSOR;
#line 400 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Cyrillic; else return Error; }
#line 422 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy25:
	++YYCURSOR;
#line 399 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Cyrillic; }
#line 427 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 401 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Cyrillic_Supplementary:
	
#line 434 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000004FF) goto yy27;
	if (yych <= 0x0000052F) goto yy28;
yy27:
	++YYCURSOR;
#line 407 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Cyrillic_Supplementary; else return Error; }
#line 444 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy28:
	++YYCURSOR;
#line 406 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Cyrillic_Supplementary; }
#line 449 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 408 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Armenian:
	
#line 456 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000052F) goto yy30;
	if (yych <= 0x0000058F) goto yy31;
yy30:
	++YYCURSOR;
#line 414 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Armenian; else return Error; }
#line 466 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy31:
	++YYCURSOR;
#line 413 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Armenian; }
#line 471 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 415 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Hebrew:
	
#line 478 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000058F) goto yy33;
	if (yych <= 0x000005FF) goto yy34;
yy33:
	++YYCURSOR;
#line 421 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Hebrew; else return Error; }
#line 488 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy34:
	++YYCURSOR;
#line 420 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Hebrew; }
#line 493 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 422 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Arabic:
	
#line 500 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000005FF) goto yy36;
	if (yych <= 0x000006FF) goto yy37;
yy36:
	++YYCURSOR;
#line 428 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Arabic; else return Error; }
#line 510 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy37:
	++YYCURSOR;
#line 427 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Arabic; }
#line 515 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 429 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Syriac:
	
#line 522 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000006FF) goto yy39;
	if (yych <= 0x0000074F) goto yy40;
yy39:
	++YYCURSOR;
#line 435 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Syriac; else return Error; }
#line 532 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy40:
	++YYCURSOR;
#line 434 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Syriac; }
#line 537 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 436 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Thaana:
	
#line 544 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000077F) goto yy42;
	if (yych <= 0x000007BF) goto yy43;
yy42:
	++YYCURSOR;
#line 442 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Thaana; else return Error; }
#line 554 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy43:
	++YYCURSOR;
#line 441 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Thaana; }
#line 559 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 443 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Devanagari:
	
#line 566 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000008FF) goto yy45;
	if (yych <= 0x0000097F) goto yy46;
yy45:
	++YYCURSOR;
#line 449 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Devanagari; else return Error; }
#line 576 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy46:
	++YYCURSOR;
#line 448 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Devanagari; }
#line 581 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 450 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Bengali:
	
#line 588 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000097F) goto yy48;
	if (yych <= 0x000009FF) goto yy49;
yy48:
	++YYCURSOR;
#line 456 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Bengali; else return Error; }
#line 598 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy49:
	++YYCURSOR;
#line 455 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Bengali; }
#line 603 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 457 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Gurmukhi:
	
#line 610 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000009FF) goto yy51;
	if (yych <= 0x00000A7F) goto yy52;
yy51:
	++YYCURSOR;
#line 463 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Gurmukhi; else return Error; }
#line 620 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy52:
	++YYCURSOR;
#line 462 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Gurmukhi; }
#line 625 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 464 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Gujarati:
	
#line 632 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000A7F) goto yy54;
	if (yych <= 0x00000AFF) goto yy55;
yy54:
	++YYCURSOR;
#line 470 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Gujarati; else return Error; }
#line 642 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy55:
	++YYCURSOR;
#line 469 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Gujarati; }
#line 647 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 471 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Oriya:
	
#line 654 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000AFF) goto yy57;
	if (yych <= 0x00000B7F) goto yy58;
yy57:
	++YYCURSOR;
#line 477 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Oriya; else return Error; }
#line 664 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy58:
	++YYCURSOR;
#line 476 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Oriya; }
#line 669 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 478 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Tamil:
	
#line 676 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000B7F) goto yy60;
	if (yych <= 0x00000BFF) goto yy61;
yy60:
	++YYCURSOR;
#line 484 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Tamil; else return Error; }
#line 686 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy61:
	++YYCURSOR;
#line 483 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Tamil; }
#line 691 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 485 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Telugu:
	
#line 698 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000BFF) goto yy63;
	if (yych <= 0x00000C7F) goto yy64;
yy63:
	++YYCURSOR;
#line 491 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Telugu; else return Error; }
#line 708 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy64:
	++YYCURSOR;
#line 490 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Telugu; }
#line 713 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 492 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Kannada:
	
#line 720 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000C7F) goto yy66;
	if (yych <= 0x00000CFF) goto yy67;
yy66:
	++YYCURSOR;
#line 498 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Kannada; else return Error; }
#line 730 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy67:
	++YYCURSOR;
#line 497 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Kannada; }
#line 735 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 499 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Malayalam:
	
#line 742 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000CFF) goto yy69;
	if (yych <= 0x00000D7F) goto yy70;
yy69:
	++YYCURSOR;
#line 505 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Malayalam; else return Error; }
#line 752 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy70:
	++YYCURSOR;
#line 504 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Malayalam; }
#line 757 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 506 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Sinhala:
	
#line 764 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000D7F) goto yy72;
	if (yych <= 0x00000DFF) goto yy73;
yy72:
	++YYCURSOR;
#line 512 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Sinhala; else return Error; }
#line 774 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy73:
	++YYCURSOR;
#line 511 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Sinhala; }
#line 779 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 513 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Thai:
	
#line 786 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000DFF) goto yy75;
	if (yych <= 0x00000E7F) goto yy76;
yy75:
	++YYCURSOR;
#line 519 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Thai; else return Error; }
#line 796 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy76:
	++YYCURSOR;
#line 518 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Thai; }
#line 801 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 520 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Lao:
	
#line 808 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000E7F) goto yy78;
	if (yych <= 0x00000EFF) goto yy79;
yy78:
	++YYCURSOR;
#line 526 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Lao; else return Error; }
#line 818 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy79:
	++YYCURSOR;
#line 525 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Lao; }
#line 823 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 527 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Tibetan:
	
#line 830 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000EFF) goto yy81;
	if (yych <= 0x00000FFF) goto yy82;
yy81:
	++YYCURSOR;
#line 533 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Tibetan; else return Error; }
#line 840 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy82:
	++YYCURSOR;
#line 532 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Tibetan; }
#line 845 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 534 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Myanmar:
	
#line 852 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00000FFF) goto yy84;
	if (yych <= 0x0000109F) goto yy85;
yy84:
	++YYCURSOR;
#line 540 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Myanmar; else return Error; }
#line 862 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy85:
	++YYCURSOR;
#line 539 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Myanmar; }
#line 867 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 541 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Georgian:
	
#line 874 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000109F) goto yy87;
	if (yych <= 0x000010FF) goto yy88;
yy87:
	++YYCURSOR;
#line 547 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Georgian; else return Error; }
#line 884 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy88:
	++YYCURSOR;
#line 546 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Georgian; }
#line 889 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 548 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Hangul_Jamo:
	
#line 896 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000010FF) goto yy90;
	if (yych <= 0x000011FF) goto yy91;
yy90:
	++YYCURSOR;
#line 554 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Hangul_Jamo; else return Error; }
#line 906 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy91:
	++YYCURSOR;
#line 553 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Hangul_Jamo; }
#line 911 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 555 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Ethiopic:
	
#line 918 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000011FF) goto yy93;
	if (yych <= 0x0000137F) goto yy94;
yy93:
	++YYCURSOR;
#line 561 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Ethiopic; else return Error; }
#line 928 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy94:
	++YYCURSOR;
#line 560 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Ethiopic; }
#line 933 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 562 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Cherokee:
	
#line 940 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000139F) goto yy96;
	if (yych <= 0x000013FF) goto yy97;
yy96:
	++YYCURSOR;
#line 568 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Cherokee; else return Error; }
#line 950 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy97:
	++YYCURSOR;
#line 567 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Cherokee; }
#line 955 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 569 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Unified_Canadian_Aboriginal_Syllabics:
	
#line 962 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000013FF) goto yy99;
	if (yych <= 0x0000167F) goto yy100;
yy99:
	++YYCURSOR;
#line 575 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Unified_Canadian_Aboriginal_Syllabics; else return Error; }
#line 972 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy100:
	++YYCURSOR;
#line 574 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Unified_Canadian_Aboriginal_Syllabics; }
#line 977 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 576 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Ogham:
	
#line 984 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000167F) goto yy102;
	if (yych <= 0x0000169F) goto yy103;
yy102:
	++YYCURSOR;
#line 582 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Ogham; else return Error; }
#line 994 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy103:
	++YYCURSOR;
#line 581 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Ogham; }
#line 999 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 583 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Runic:
	
#line 1006 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000169F) goto yy105;
	if (yych <= 0x000016FF) goto yy106;
yy105:
	++YYCURSOR;
#line 589 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Runic; else return Error; }
#line 1016 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy106:
	++YYCURSOR;
#line 588 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Runic; }
#line 1021 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 590 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Tagalog:
	
#line 1028 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000016FF) goto yy108;
	if (yych <= 0x0000171F) goto yy109;
yy108:
	++YYCURSOR;
#line 596 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Tagalog; else return Error; }
#line 1038 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy109:
	++YYCURSOR;
#line 595 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Tagalog; }
#line 1043 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 597 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Hanunoo:
	
#line 1050 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000171F) goto yy111;
	if (yych <= 0x0000173F) goto yy112;
yy111:
	++YYCURSOR;
#line 603 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Hanunoo; else return Error; }
#line 1060 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy112:
	++YYCURSOR;
#line 602 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Hanunoo; }
#line 1065 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 604 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Buhid:
	
#line 1072 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000173F) goto yy114;
	if (yych <= 0x0000175F) goto yy115;
yy114:
	++YYCURSOR;
#line 610 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Buhid; else return Error; }
#line 1082 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy115:
	++YYCURSOR;
#line 609 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Buhid; }
#line 1087 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 611 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Tagbanwa:
	
#line 1094 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000175F) goto yy117;
	if (yych <= 0x0000177F) goto yy118;
yy117:
	++YYCURSOR;
#line 617 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Tagbanwa; else return Error; }
#line 1104 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy118:
	++YYCURSOR;
#line 616 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Tagbanwa; }
#line 1109 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 618 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Khmer:
	
#line 1116 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000177F) goto yy120;
	if (yych <= 0x000017FF) goto yy121;
yy120:
	++YYCURSOR;
#line 624 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Khmer; else return Error; }
#line 1126 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy121:
	++YYCURSOR;
#line 623 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Khmer; }
#line 1131 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 625 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Mongolian:
	
#line 1138 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000017FF) goto yy123;
	if (yych <= 0x000018AF) goto yy124;
yy123:
	++YYCURSOR;
#line 631 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Mongolian; else return Error; }
#line 1148 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy124:
	++YYCURSOR;
#line 630 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Mongolian; }
#line 1153 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 632 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Limbu:
	
#line 1160 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000018FF) goto yy126;
	if (yych <= 0x0000194F) goto yy127;
yy126:
	++YYCURSOR;
#line 638 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Limbu; else return Error; }
#line 1170 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy127:
	++YYCURSOR;
#line 637 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Limbu; }
#line 1175 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 639 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Tai_Le:
	
#line 1182 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000194F) goto yy129;
	if (yych <= 0x0000197F) goto yy130;
yy129:
	++YYCURSOR;
#line 645 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Tai_Le; else return Error; }
#line 1192 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy130:
	++YYCURSOR;
#line 644 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Tai_Le; }
#line 1197 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 646 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Khmer_Symbols:
	
#line 1204 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000019DF) goto yy132;
	if (yych <= 0x000019FF) goto yy133;
yy132:
	++YYCURSOR;
#line 652 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Khmer_Symbols; else return Error; }
#line 1214 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy133:
	++YYCURSOR;
#line 651 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Khmer_Symbols; }
#line 1219 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 653 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Phonetic_Extensions:
	
#line 1226 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00001CFF) goto yy135;
	if (yych <= 0x00001D7F) goto yy136;
yy135:
	++YYCURSOR;
#line 659 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Phonetic_Extensions; else return Error; }
#line 1236 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy136:
	++YYCURSOR;
#line 658 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Phonetic_Extensions; }
#line 1241 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 660 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Latin_Extended_Additional:
	
#line 1248 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00001DFF) goto yy138;
	if (yych <= 0x00001EFF) goto yy139;
yy138:
	++YYCURSOR;
#line 666 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Latin_Extended_Additional; else return Error; }
#line 1258 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy139:
	++YYCURSOR;
#line 665 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Latin_Extended_Additional; }
#line 1263 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 667 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Greek_Extended:
	
#line 1270 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00001EFF) goto yy141;
	if (yych <= 0x00001FFF) goto yy142;
yy141:
	++YYCURSOR;
#line 673 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Greek_Extended; else return Error; }
#line 1280 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy142:
	++YYCURSOR;
#line 672 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Greek_Extended; }
#line 1285 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 674 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


General_Punctuation:
	
#line 1292 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00001FFF) goto yy144;
	if (yych <= 0x0000206F) goto yy145;
yy144:
	++YYCURSOR;
#line 680 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return General_Punctuation; else return Error; }
#line 1302 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy145:
	++YYCURSOR;
#line 679 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto General_Punctuation; }
#line 1307 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 681 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Superscripts_and_Subscripts:
	
#line 1314 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000206F) goto yy147;
	if (yych <= 0x0000209F) goto yy148;
yy147:
	++YYCURSOR;
#line 687 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Superscripts_and_Subscripts; else return Error; }
#line 1324 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy148:
	++YYCURSOR;
#line 686 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Superscripts_and_Subscripts; }
#line 1329 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 688 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Currency_Symbols:
	
#line 1336 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000209F) goto yy150;
	if (yych <= 0x000020CF) goto yy151;
yy150:
	++YYCURSOR;
#line 694 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Currency_Symbols; else return Error; }
#line 1346 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy151:
	++YYCURSOR;
#line 693 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Currency_Symbols; }
#line 1351 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 695 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Combining_Diacritical_Marks_for_Symbols:
	
#line 1358 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000020CF) goto yy153;
	if (yych <= 0x000020FF) goto yy154;
yy153:
	++YYCURSOR;
#line 701 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Combining_Diacritical_Marks_for_Symbols; else return Error; }
#line 1368 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy154:
	++YYCURSOR;
#line 700 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Combining_Diacritical_Marks_for_Symbols; }
#line 1373 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 702 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Letterlike_Symbols:
	
#line 1380 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000020FF) goto yy156;
	if (yych <= 0x0000214F) goto yy157;
yy156:
	++YYCURSOR;
#line 708 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Letterlike_Symbols; else return Error; }
#line 1390 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy157:
	++YYCURSOR;
#line 707 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Letterlike_Symbols; }
#line 1395 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 709 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Number_Forms:
	
#line 1402 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000214F) goto yy159;
	if (yych <= 0x0000218F) goto yy160;
yy159:
	++YYCURSOR;
#line 715 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Number_Forms; else return Error; }
#line 1412 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy160:
	++YYCURSOR;
#line 714 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Number_Forms; }
#line 1417 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 716 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Arrows:
	
#line 1424 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000218F) goto yy162;
	if (yych <= 0x000021FF) goto yy163;
yy162:
	++YYCURSOR;
#line 722 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Arrows; else return Error; }
#line 1434 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy163:
	++YYCURSOR;
#line 721 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Arrows; }
#line 1439 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 723 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Mathematical_Operators:
	
#line 1446 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000021FF) goto yy165;
	if (yych <= 0x000022FF) goto yy166;
yy165:
	++YYCURSOR;
#line 729 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Mathematical_Operators; else return Error; }
#line 1456 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy166:
	++YYCURSOR;
#line 728 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Mathematical_Operators; }
#line 1461 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 730 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Miscellaneous_Technical:
	
#line 1468 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000022FF) goto yy168;
	if (yych <= 0x000023FF) goto yy169;
yy168:
	++YYCURSOR;
#line 736 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Miscellaneous_Technical; else return Error; }
#line 1478 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy169:
	++YYCURSOR;
#line 735 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Miscellaneous_Technical; }
#line 1483 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 737 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Control_Pictures:
	
#line 1490 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000023FF) goto yy171;
	if (yych <= 0x0000243F) goto yy172;
yy171:
	++YYCURSOR;
#line 743 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Control_Pictures; else return Error; }
#line 1500 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy172:
	++YYCURSOR;
#line 742 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Control_Pictures; }
#line 1505 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 744 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Optical_Character_Recognition:
	
#line 1512 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000243F) goto yy174;
	if (yych <= 0x0000245F) goto yy175;
yy174:
	++YYCURSOR;
#line 750 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Optical_Character_Recognition; else return Error; }
#line 1522 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy175:
	++YYCURSOR;
#line 749 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Optical_Character_Recognition; }
#line 1527 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 751 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Enclosed_Alphanumerics:
	
#line 1534 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000245F) goto yy177;
	if (yych <= 0x000024FF) goto yy178;
yy177:
	++YYCURSOR;
#line 757 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Enclosed_Alphanumerics; else return Error; }
#line 1544 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy178:
	++YYCURSOR;
#line 756 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Enclosed_Alphanumerics; }
#line 1549 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 758 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Box_Drawing:
	
#line 1556 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000024FF) goto yy180;
	if (yych <= 0x0000257F) goto yy181;
yy180:
	++YYCURSOR;
#line 764 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Box_Drawing; else return Error; }
#line 1566 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy181:
	++YYCURSOR;
#line 763 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Box_Drawing; }
#line 1571 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 765 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Block_Elements:
	
#line 1578 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000257F) goto yy183;
	if (yych <= 0x0000259F) goto yy184;
yy183:
	++YYCURSOR;
#line 771 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Block_Elements; else return Error; }
#line 1588 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy184:
	++YYCURSOR;
#line 770 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Block_Elements; }
#line 1593 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 772 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Geometric_Shapes:
	
#line 1600 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000259F) goto yy186;
	if (yych <= 0x000025FF) goto yy187;
yy186:
	++YYCURSOR;
#line 778 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Geometric_Shapes; else return Error; }
#line 1610 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy187:
	++YYCURSOR;
#line 777 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Geometric_Shapes; }
#line 1615 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 779 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Miscellaneous_Symbols:
	
#line 1622 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000025FF) goto yy189;
	if (yych <= 0x000026FF) goto yy190;
yy189:
	++YYCURSOR;
#line 785 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Miscellaneous_Symbols; else return Error; }
#line 1632 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy190:
	++YYCURSOR;
#line 784 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Miscellaneous_Symbols; }
#line 1637 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 786 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Dingbats:
	
#line 1644 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000026FF) goto yy192;
	if (yych <= 0x000027BF) goto yy193;
yy192:
	++YYCURSOR;
#line 792 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Dingbats; else return Error; }
#line 1654 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy193:
	++YYCURSOR;
#line 791 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Dingbats; }
#line 1659 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 793 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Miscellaneous_Mathematical_Symbols_A:
	
#line 1666 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000027BF) goto yy195;
	if (yych <= 0x000027EF) goto yy196;
yy195:
	++YYCURSOR;
#line 799 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Miscellaneous_Mathematical_Symbols_A; else return Error; }
#line 1676 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy196:
	++YYCURSOR;
#line 798 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Miscellaneous_Mathematical_Symbols_A; }
#line 1681 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 800 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Supplemental_Arrows_A:
	
#line 1688 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000027EF) goto yy198;
	if (yych <= 0x000027FF) goto yy199;
yy198:
	++YYCURSOR;
#line 806 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Supplemental_Arrows_A; else return Error; }
#line 1698 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy199:
	++YYCURSOR;
#line 805 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Supplemental_Arrows_A; }
#line 1703 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 807 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Braille_Patterns:
	
#line 1710 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000027FF) goto yy201;
	if (yych <= 0x000028FF) goto yy202;
yy201:
	++YYCURSOR;
#line 813 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Braille_Patterns; else return Error; }
#line 1720 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy202:
	++YYCURSOR;
#line 812 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Braille_Patterns; }
#line 1725 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 814 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Supplemental_Arrows_B:
	
#line 1732 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000028FF) goto yy204;
	if (yych <= 0x0000297F) goto yy205;
yy204:
	++YYCURSOR;
#line 820 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Supplemental_Arrows_B; else return Error; }
#line 1742 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy205:
	++YYCURSOR;
#line 819 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Supplemental_Arrows_B; }
#line 1747 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 821 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Miscellaneous_Mathematical_Symbols_B:
	
#line 1754 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000297F) goto yy207;
	if (yych <= 0x000029FF) goto yy208;
yy207:
	++YYCURSOR;
#line 827 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Miscellaneous_Mathematical_Symbols_B; else return Error; }
#line 1764 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy208:
	++YYCURSOR;
#line 826 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Miscellaneous_Mathematical_Symbols_B; }
#line 1769 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 828 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Supplemental_Mathematical_Operators:
	
#line 1776 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000029FF) goto yy210;
	if (yych <= 0x00002AFF) goto yy211;
yy210:
	++YYCURSOR;
#line 834 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Supplemental_Mathematical_Operators; else return Error; }
#line 1786 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy211:
	++YYCURSOR;
#line 833 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Supplemental_Mathematical_Operators; }
#line 1791 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 835 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Miscellaneous_Symbols_and_Arrows:
	
#line 1798 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00002AFF) goto yy213;
	if (yych <= 0x00002BFF) goto yy214;
yy213:
	++YYCURSOR;
#line 841 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Miscellaneous_Symbols_and_Arrows; else return Error; }
#line 1808 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy214:
	++YYCURSOR;
#line 840 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Miscellaneous_Symbols_and_Arrows; }
#line 1813 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 842 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


CJK_Radicals_Supplement:
	
#line 1820 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00002E7F) goto yy216;
	if (yych <= 0x00002EFF) goto yy217;
yy216:
	++YYCURSOR;
#line 848 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return CJK_Radicals_Supplement; else return Error; }
#line 1830 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy217:
	++YYCURSOR;
#line 847 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto CJK_Radicals_Supplement; }
#line 1835 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 849 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Kangxi_Radicals:
	
#line 1842 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00002EFF) goto yy219;
	if (yych <= 0x00002FDF) goto yy220;
yy219:
	++YYCURSOR;
#line 855 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Kangxi_Radicals; else return Error; }
#line 1852 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy220:
	++YYCURSOR;
#line 854 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Kangxi_Radicals; }
#line 1857 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 856 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Ideographic_Description_Characters:
	
#line 1864 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00002FEF) goto yy222;
	if (yych <= 0x00002FFF) goto yy223;
yy222:
	++YYCURSOR;
#line 862 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Ideographic_Description_Characters; else return Error; }
#line 1874 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy223:
	++YYCURSOR;
#line 861 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Ideographic_Description_Characters; }
#line 1879 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 863 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


CJK_Symbols_and_Punctuation:
	
#line 1886 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00002FFF) goto yy225;
	if (yych <= 0x0000303F) goto yy226;
yy225:
	++YYCURSOR;
#line 869 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return CJK_Symbols_and_Punctuation; else return Error; }
#line 1896 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy226:
	++YYCURSOR;
#line 868 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto CJK_Symbols_and_Punctuation; }
#line 1901 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 870 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Hiragana:
	
#line 1908 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000303F) goto yy228;
	if (yych <= 0x0000309F) goto yy229;
yy228:
	++YYCURSOR;
#line 876 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Hiragana; else return Error; }
#line 1918 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy229:
	++YYCURSOR;
#line 875 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Hiragana; }
#line 1923 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 877 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Katakana:
	
#line 1930 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000309F) goto yy231;
	if (yych <= 0x000030FF) goto yy232;
yy231:
	++YYCURSOR;
#line 883 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Katakana; else return Error; }
#line 1940 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy232:
	++YYCURSOR;
#line 882 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Katakana; }
#line 1945 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 884 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Bopomofo:
	
#line 1952 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000030FF) goto yy234;
	if (yych <= 0x0000312F) goto yy235;
yy234:
	++YYCURSOR;
#line 890 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Bopomofo; else return Error; }
#line 1962 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy235:
	++YYCURSOR;
#line 889 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Bopomofo; }
#line 1967 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 891 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Hangul_Compatibility_Jamo:
	
#line 1974 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000312F) goto yy237;
	if (yych <= 0x0000318F) goto yy238;
yy237:
	++YYCURSOR;
#line 897 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Hangul_Compatibility_Jamo; else return Error; }
#line 1984 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy238:
	++YYCURSOR;
#line 896 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Hangul_Compatibility_Jamo; }
#line 1989 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 898 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Kanbun:
	
#line 1996 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000318F) goto yy240;
	if (yych <= 0x0000319F) goto yy241;
yy240:
	++YYCURSOR;
#line 904 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Kanbun; else return Error; }
#line 2006 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy241:
	++YYCURSOR;
#line 903 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Kanbun; }
#line 2011 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 905 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Bopomofo_Extended:
	
#line 2018 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000319F) goto yy243;
	if (yych <= 0x000031BF) goto yy244;
yy243:
	++YYCURSOR;
#line 911 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Bopomofo_Extended; else return Error; }
#line 2028 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy244:
	++YYCURSOR;
#line 910 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Bopomofo_Extended; }
#line 2033 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 912 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Katakana_Phonetic_Extensions:
	
#line 2040 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000031EF) goto yy246;
	if (yych <= 0x000031FF) goto yy247;
yy246:
	++YYCURSOR;
#line 918 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Katakana_Phonetic_Extensions; else return Error; }
#line 2050 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy247:
	++YYCURSOR;
#line 917 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Katakana_Phonetic_Extensions; }
#line 2055 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 919 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Enclosed_CJK_Letters_and_Months:
	
#line 2062 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000031FF) goto yy249;
	if (yych <= 0x000032FF) goto yy250;
yy249:
	++YYCURSOR;
#line 925 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Enclosed_CJK_Letters_and_Months; else return Error; }
#line 2072 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy250:
	++YYCURSOR;
#line 924 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Enclosed_CJK_Letters_and_Months; }
#line 2077 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 926 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


CJK_Compatibility:
	
#line 2084 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000032FF) goto yy252;
	if (yych <= 0x000033FF) goto yy253;
yy252:
	++YYCURSOR;
#line 932 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return CJK_Compatibility; else return Error; }
#line 2094 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy253:
	++YYCURSOR;
#line 931 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto CJK_Compatibility; }
#line 2099 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 933 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


CJK_Unified_Ideographs_Extension_A:
	
#line 2106 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x000033FF) goto yy255;
	if (yych <= 0x00004DBF) goto yy256;
yy255:
	++YYCURSOR;
#line 939 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return CJK_Unified_Ideographs_Extension_A; else return Error; }
#line 2116 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy256:
	++YYCURSOR;
#line 938 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto CJK_Unified_Ideographs_Extension_A; }
#line 2121 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 940 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Yijing_Hexagram_Symbols:
	
#line 2128 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00004DBF) goto yy258;
	if (yych <= 0x00004DFF) goto yy259;
yy258:
	++YYCURSOR;
#line 946 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Yijing_Hexagram_Symbols; else return Error; }
#line 2138 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy259:
	++YYCURSOR;
#line 945 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Yijing_Hexagram_Symbols; }
#line 2143 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 947 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


CJK_Unified_Ideographs:
	
#line 2150 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00004DFF) goto yy261;
	if (yych <= 0x00009FFF) goto yy262;
yy261:
	++YYCURSOR;
#line 953 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return CJK_Unified_Ideographs; else return Error; }
#line 2160 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy262:
	++YYCURSOR;
#line 952 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto CJK_Unified_Ideographs; }
#line 2165 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 954 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Yi_Syllables:
	
#line 2172 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00009FFF) goto yy264;
	if (yych <= 0x0000A48F) goto yy265;
yy264:
	++YYCURSOR;
#line 960 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Yi_Syllables; else return Error; }
#line 2182 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy265:
	++YYCURSOR;
#line 959 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Yi_Syllables; }
#line 2187 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 961 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Yi_Radicals:
	
#line 2194 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000A48F) goto yy267;
	if (yych <= 0x0000A4CF) goto yy268;
yy267:
	++YYCURSOR;
#line 967 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Yi_Radicals; else return Error; }
#line 2204 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy268:
	++YYCURSOR;
#line 966 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Yi_Radicals; }
#line 2209 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 968 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Hangul_Syllables:
	
#line 2216 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000ABFF) goto yy270;
	if (yych <= 0x0000D7AF) goto yy271;
yy270:
	++YYCURSOR;
#line 974 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Hangul_Syllables; else return Error; }
#line 2226 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy271:
	++YYCURSOR;
#line 973 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Hangul_Syllables; }
#line 2231 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 975 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


High_Surrogates:
	
#line 2238 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000D7FF) goto yy273;
	if (yych <= 0x0000DB7F) goto yy274;
yy273:
	++YYCURSOR;
#line 981 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return High_Surrogates; else return Error; }
#line 2248 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy274:
	++YYCURSOR;
#line 980 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto High_Surrogates; }
#line 2253 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 982 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


High_Private_Use_Surrogates:
	
#line 2260 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000DB7F) goto yy276;
	if (yych <= 0x0000DBFF) goto yy277;
yy276:
	++YYCURSOR;
#line 988 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return High_Private_Use_Surrogates; else return Error; }
#line 2270 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy277:
	++YYCURSOR;
#line 987 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto High_Private_Use_Surrogates; }
#line 2275 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 989 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Low_Surrogates:
	
#line 2282 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000DBFF) goto yy279;
	if (yych <= 0x0000DFFF) goto yy280;
yy279:
	++YYCURSOR;
#line 995 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Low_Surrogates; else return Error; }
#line 2292 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy280:
	++YYCURSOR;
#line 994 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Low_Surrogates; }
#line 2297 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 996 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Private_Use_Area:
	
#line 2304 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000DFFF) goto yy282;
	if (yych <= 0x0000F8FF) goto yy283;
yy282:
	++YYCURSOR;
#line 1002 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Private_Use_Area; else return Error; }
#line 2314 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy283:
	++YYCURSOR;
#line 1001 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Private_Use_Area; }
#line 2319 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1003 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


CJK_Compatibility_Ideographs:
	
#line 2326 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000F8FF) goto yy285;
	if (yych <= 0x0000FAFF) goto yy286;
yy285:
	++YYCURSOR;
#line 1009 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return CJK_Compatibility_Ideographs; else return Error; }
#line 2336 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy286:
	++YYCURSOR;
#line 1008 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto CJK_Compatibility_Ideographs; }
#line 2341 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1010 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Alphabetic_Presentation_Forms:
	
#line 2348 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000FAFF) goto yy288;
	if (yych <= 0x0000FB4F) goto yy289;
yy288:
	++YYCURSOR;
#line 1016 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Alphabetic_Presentation_Forms; else return Error; }
#line 2358 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy289:
	++YYCURSOR;
#line 1015 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Alphabetic_Presentation_Forms; }
#line 2363 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1017 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Arabic_Presentation_Forms_A:
	
#line 2370 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000FB4F) goto yy291;
	if (yych <= 0x0000FDFF) goto yy292;
yy291:
	++YYCURSOR;
#line 1023 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Arabic_Presentation_Forms_A; else return Error; }
#line 2380 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy292:
	++YYCURSOR;
#line 1022 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Arabic_Presentation_Forms_A; }
#line 2385 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1024 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Variation_Selectors:
	
#line 2392 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000FDFF) goto yy294;
	if (yych <= 0x0000FE0F) goto yy295;
yy294:
	++YYCURSOR;
#line 1030 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Variation_Selectors; else return Error; }
#line 2402 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy295:
	++YYCURSOR;
#line 1029 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Variation_Selectors; }
#line 2407 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1031 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Combining_Half_Marks:
	
#line 2414 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000FE1F) goto yy297;
	if (yych <= 0x0000FE2F) goto yy298;
yy297:
	++YYCURSOR;
#line 1037 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Combining_Half_Marks; else return Error; }
#line 2424 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy298:
	++YYCURSOR;
#line 1036 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Combining_Half_Marks; }
#line 2429 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1038 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


CJK_Compatibility_Forms:
	
#line 2436 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000FE2F) goto yy300;
	if (yych <= 0x0000FE4F) goto yy301;
yy300:
	++YYCURSOR;
#line 1044 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return CJK_Compatibility_Forms; else return Error; }
#line 2446 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy301:
	++YYCURSOR;
#line 1043 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto CJK_Compatibility_Forms; }
#line 2451 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1045 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Small_Form_Variants:
	
#line 2458 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000FE4F) goto yy303;
	if (yych <= 0x0000FE6F) goto yy304;
yy303:
	++YYCURSOR;
#line 1051 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Small_Form_Variants; else return Error; }
#line 2468 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy304:
	++YYCURSOR;
#line 1050 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Small_Form_Variants; }
#line 2473 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1052 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Arabic_Presentation_Forms_B:
	
#line 2480 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000FE6F) goto yy306;
	if (yych <= 0x0000FEFF) goto yy307;
yy306:
	++YYCURSOR;
#line 1058 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Arabic_Presentation_Forms_B; else return Error; }
#line 2490 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy307:
	++YYCURSOR;
#line 1057 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Arabic_Presentation_Forms_B; }
#line 2495 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1059 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Halfwidth_and_Fullwidth_Forms:
	
#line 2502 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000FEFF) goto yy309;
	if (yych <= 0x0000FFEF) goto yy310;
yy309:
	++YYCURSOR;
#line 1065 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Halfwidth_and_Fullwidth_Forms; else return Error; }
#line 2512 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy310:
	++YYCURSOR;
#line 1064 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Halfwidth_and_Fullwidth_Forms; }
#line 2517 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1066 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


Specials:
	
#line 2524 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x0000FFEF) goto yy312;
	if (yych <= 0x0000FFFF) goto yy313;
yy312:
	++YYCURSOR;
#line 1072 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return Specials; else return Error; }
#line 2534 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy313:
	++YYCURSOR;
#line 1071 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto Specials; }
#line 2539 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1073 "encodings/unicode_blocks_u_encoding_policy_ignore.re"


All:
	
#line 2546 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x00001DFF) {
		if (yych <= 0x000018AF) {
			if (yych <= 0x000007BF) {
				if (yych <= 0x0000074F) goto yy315;
				if (yych <= 0x0000077F) goto yy316;
			} else {
				if (yych <= 0x000008FF) goto yy316;
				if (yych <= 0x0000137F) goto yy315;
				if (yych <= 0x0000139F) goto yy316;
			}
		} else {
			if (yych <= 0x000019DF) {
				if (yych <= 0x000018FF) goto yy316;
				if (yych >= 0x00001980) goto yy316;
			} else {
				if (yych <= 0x000019FF) goto yy315;
				if (yych <= 0x00001CFF) goto yy316;
				if (yych >= 0x00001D80) goto yy316;
			}
		}
	} else {
		if (yych <= 0x0000A4CF) {
			if (yych <= 0x00002FDF) {
				if (yych <= 0x00002BFF) goto yy315;
				if (yych <= 0x00002E7F) goto yy316;
			} else {
				if (yych <= 0x00002FEF) goto yy316;
				if (yych <= 0x000031BF) goto yy315;
				if (yych <= 0x000031EF) goto yy316;
			}
		} else {
			if (yych <= 0x0000D7FF) {
				if (yych <= 0x0000ABFF) goto yy316;
				if (yych >= 0x0000D7B0) goto yy316;
			} else {
				if (yych <= 0x0000FE0F) goto yy315;
				if (yych <= 0x0000FE1F) goto yy316;
				if (yych >= 0x00010000) goto yy316;
			}
		}
	}
yy315:
	++YYCURSOR;
#line 1078 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ goto All; }
#line 2595 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
yy316:
	++YYCURSOR;
#line 1079 "encodings/unicode_blocks_u_encoding_policy_ignore.re"
	{ if (YYCURSOR == limit) return All; else return Error; }
#line 2600 "encodings/unicode_blocks_u_encoding_policy_ignore.c"
}
#line 1080 "encodings/unicode_blocks_u_encoding_policy_ignore.re"



}
static const unsigned int chars_Basic_Latin [] = {0x0,0x7f,  0x80,0x80};
static const unsigned int chars_Latin___Supplement [] = {0x80,0xff,  0x0,0x0};
static const unsigned int chars_Latin_Extended_A [] = {0x100,0x17f,  0x0,0x0};
static const unsigned int chars_Latin_Extended_B [] = {0x180,0x24f,  0x0,0x0};
static const unsigned int chars_IPA_Extensions [] = {0x250,0x2af,  0x0,0x0};
static const unsigned int chars_Spacing_Modifier_Letters [] = {0x2b0,0x2ff,  0x0,0x0};
static const unsigned int chars_Combining_Diacritical_Marks [] = {0x300,0x36f,  0x0,0x0};
static const unsigned int chars_Greek_and_Coptic [] = {0x370,0x3ff,  0x0,0x0};
static const unsigned int chars_Cyrillic [] = {0x400,0x4ff,  0x0,0x0};
static const unsigned int chars_Cyrillic_Supplementary [] = {0x500,0x52f,  0x0,0x0};
static const unsigned int chars_Armenian [] = {0x530,0x58f,  0x0,0x0};
static const unsigned int chars_Hebrew [] = {0x590,0x5ff,  0x0,0x0};
static const unsigned int chars_Arabic [] = {0x600,0x6ff,  0x0,0x0};
static const unsigned int chars_Syriac [] = {0x700,0x74f,  0x0,0x0};
static const unsigned int chars_Thaana [] = {0x780,0x7bf,  0x0,0x0};
static const unsigned int chars_Devanagari [] = {0x900,0x97f,  0x0,0x0};
static const unsigned int chars_Bengali [] = {0x980,0x9ff,  0x0,0x0};
static const unsigned int chars_Gurmukhi [] = {0xa00,0xa7f,  0x0,0x0};
static const unsigned int chars_Gujarati [] = {0xa80,0xaff,  0x0,0x0};
static const unsigned int chars_Oriya [] = {0xb00,0xb7f,  0x0,0x0};
static const unsigned int chars_Tamil [] = {0xb80,0xbff,  0x0,0x0};
static const unsigned int chars_Telugu [] = {0xc00,0xc7f,  0x0,0x0};
static const unsigned int chars_Kannada [] = {0xc80,0xcff,  0x0,0x0};
static const unsigned int chars_Malayalam [] = {0xd00,0xd7f,  0x0,0x0};
static const unsigned int chars_Sinhala [] = {0xd80,0xdff,  0x0,0x0};
static const unsigned int chars_Thai [] = {0xe00,0xe7f,  0x0,0x0};
static const unsigned int chars_Lao [] = {0xe80,0xeff,  0x0,0x0};
static const unsigned int chars_Tibetan [] = {0xf00,0xfff,  0x0,0x0};
static const unsigned int chars_Myanmar [] = {0x1000,0x109f,  0x0,0x0};
static const unsigned int chars_Georgian [] = {0x10a0,0x10ff,  0x0,0x0};
static const unsigned int chars_Hangul_Jamo [] = {0x1100,0x11ff,  0x0,0x0};
static const unsigned int chars_Ethiopic [] = {0x1200,0x137f,  0x0,0x0};
static const unsigned int chars_Cherokee [] = {0x13a0,0x13ff,  0x0,0x0};
static const unsigned int chars_Unified_Canadian_Aboriginal_Syllabics [] = {0x1400,0x167f,  0x0,0x0};
static const unsigned int chars_Ogham [] = {0x1680,0x169f,  0x0,0x0};
static const unsigned int chars_Runic [] = {0x16a0,0x16ff,  0x0,0x0};
static const unsigned int chars_Tagalog [] = {0x1700,0x171f,  0x0,0x0};
static const unsigned int chars_Hanunoo [] = {0x1720,0x173f,  0x0,0x0};
static const unsigned int chars_Buhid [] = {0x1740,0x175f,  0x0,0x0};
static const unsigned int chars_Tagbanwa [] = {0x1760,0x177f,  0x0,0x0};
static const unsigned int chars_Khmer [] = {0x1780,0x17ff,  0x0,0x0};
static const unsigned int chars_Mongolian [] = {0x1800,0x18af,  0x0,0x0};
static const unsigned int chars_Limbu [] = {0x1900,0x194f,  0x0,0x0};
static const unsigned int chars_Tai_Le [] = {0x1950,0x197f,  0x0,0x0};
static const unsigned int chars_Khmer_Symbols [] = {0x19e0,0x19ff,  0x0,0x0};
static const unsigned int chars_Phonetic_Extensions [] = {0x1d00,0x1d7f,  0x0,0x0};
static const unsigned int chars_Latin_Extended_Additional [] = {0x1e00,0x1eff,  0x0,0x0};
static const unsigned int chars_Greek_Extended [] = {0x1f00,0x1fff,  0x0,0x0};
static const unsigned int chars_General_Punctuation [] = {0x2000,0x206f,  0x0,0x0};
static const unsigned int chars_Superscripts_and_Subscripts [] = {0x2070,0x209f,  0x0,0x0};
static const unsigned int chars_Currency_Symbols [] = {0x20a0,0x20cf,  0x0,0x0};
static const unsigned int chars_Combining_Diacritical_Marks_for_Symbols [] = {0x20d0,0x20ff,  0x0,0x0};
static const unsigned int chars_Letterlike_Symbols [] = {0x2100,0x214f,  0x0,0x0};
static const unsigned int chars_Number_Forms [] = {0x2150,0x218f,  0x0,0x0};
static const unsigned int chars_Arrows [] = {0x2190,0x21ff,  0x0,0x0};
static const unsigned int chars_Mathematical_Operators [] = {0x2200,0x22ff,  0x0,0x0};
static const unsigned int chars_Miscellaneous_Technical [] = {0x2300,0x23ff,  0x0,0x0};
static const unsigned int chars_Control_Pictures [] = {0x2400,0x243f,  0x0,0x0};
static const unsigned int chars_Optical_Character_Recognition [] = {0x2440,0x245f,  0x0,0x0};
static const unsigned int chars_Enclosed_Alphanumerics [] = {0x2460,0x24ff,  0x0,0x0};
static const unsigned int chars_Box_Drawing [] = {0x2500,0x257f,  0x0,0x0};
static const unsigned int chars_Block_Elements [] = {0x2580,0x259f,  0x0,0x0};
static const unsigned int chars_Geometric_Shapes [] = {0x25a0,0x25ff,  0x0,0x0};
static const unsigned int chars_Miscellaneous_Symbols [] = {0x2600,0x26ff,  0x0,0x0};
static const unsigned int chars_Dingbats [] = {0x2700,0x27bf,  0x0,0x0};
static const unsigned int chars_Miscellaneous_Mathematical_Symbols_A [] = {0x27c0,0x27ef,  0x0,0x0};
static const unsigned int chars_Supplemental_Arrows_A [] = {0x27f0,0x27ff,  0x0,0x0};
static const unsigned int chars_Braille_Patterns [] = {0x2800,0x28ff,  0x0,0x0};
static const unsigned int chars_Supplemental_Arrows_B [] = {0x2900,0x297f,  0x0,0x0};
static const unsigned int chars_Miscellaneous_Mathematical_Symbols_B [] = {0x2980,0x29ff,  0x0,0x0};
static const unsigned int chars_Supplemental_Mathematical_Operators [] = {0x2a00,0x2aff,  0x0,0x0};
static const unsigned int chars_Miscellaneous_Symbols_and_Arrows [] = {0x2b00,0x2bff,  0x0,0x0};
static const unsigned int chars_CJK_Radicals_Supplement [] = {0x2e80,0x2eff,  0x0,0x0};
static const unsigned int chars_Kangxi_Radicals [] = {0x2f00,0x2fdf,  0x0,0x0};
static const unsigned int chars_Ideographic_Description_Characters [] = {0x2ff0,0x2fff,  0x0,0x0};
static const unsigned int chars_CJK_Symbols_and_Punctuation [] = {0x3000,0x303f,  0x0,0x0};
static const unsigned int chars_Hiragana [] = {0x3040,0x309f,  0x0,0x0};
static const unsigned int chars_Katakana [] = {0x30a0,0x30ff,  0x0,0x0};
static const unsigned int chars_Bopomofo [] = {0x3100,0x312f,  0x0,0x0};
static const unsigned int chars_Hangul_Compatibility_Jamo [] = {0x3130,0x318f,  0x0,0x0};
static const unsigned int chars_Kanbun [] = {0x3190,0x319f,  0x0,0x0};
static const unsigned int chars_Bopomofo_Extended [] = {0x31a0,0x31bf,  0x0,0x0};
static const unsigned int chars_Katakana_Phonetic_Extensions [] = {0x31f0,0x31ff,  0x0,0x0};
static const unsigned int chars_Enclosed_CJK_Letters_and_Months [] = {0x3200,0x32ff,  0x0,0x0};
static const unsigned int chars_CJK_Compatibility [] = {0x3300,0x33ff,  0x0,0x0};
static const unsigned int chars_CJK_Unified_Ideographs_Extension_A [] = {0x3400,0x4dbf,  0x0,0x0};
static const unsigned int chars_Yijing_Hexagram_Symbols [] = {0x4dc0,0x4dff,  0x0,0x0};
static const unsigned int chars_CJK_Unified_Ideographs [] = {0x4e00,0x9fff,  0x0,0x0};
static const unsigned int chars_Yi_Syllables [] = {0xa000,0xa48f,  0x0,0x0};
static const unsigned int chars_Yi_Radicals [] = {0xa490,0xa4cf,  0x0,0x0};
static const unsigned int chars_Hangul_Syllables [] = {0xac00,0xd7af,  0x0,0x0};
static const unsigned int chars_High_Surrogates [] = {0xd800,0xdb7f,  0x0,0x0};
static const unsigned int chars_High_Private_Use_Surrogates [] = {0xdb80,0xdbff,  0x0,0x0};
static const unsigned int chars_Low_Surrogates [] = {0xdc00,0xdfff,  0x0,0x0};
static const unsigned int chars_Private_Use_Area [] = {0xe000,0xf8ff,  0x0,0x0};
static const unsigned int chars_CJK_Compatibility_Ideographs [] = {0xf900,0xfaff,  0x0,0x0};
static const unsigned int chars_Alphabetic_Presentation_Forms [] = {0xfb00,0xfb4f,  0x0,0x0};
static const unsigned int chars_Arabic_Presentation_Forms_A [] = {0xfb50,0xfdff,  0x0,0x0};
static const unsigned int chars_Variation_Selectors [] = {0xfe00,0xfe0f,  0x0,0x0};
static const unsigned int chars_Combining_Half_Marks [] = {0xfe20,0xfe2f,  0x0,0x0};
static const unsigned int chars_CJK_Compatibility_Forms [] = {0xfe30,0xfe4f,  0x0,0x0};
static const unsigned int chars_Small_Form_Variants [] = {0xfe50,0xfe6f,  0x0,0x0};
static const unsigned int chars_Arabic_Presentation_Forms_B [] = {0xfe70,0xfeff,  0x0,0x0};
static const unsigned int chars_Halfwidth_and_Fullwidth_Forms [] = {0xff00,0xffef,  0x0,0x0};
static const unsigned int chars_Specials [] = {0xfff0,0xffff,  0x0,0x0};
static const unsigned int chars_All [] = {0x0,0x74f,  0x780,0x7bf,  0x900,0x137f,  0x13a0,0x18af,  0x1900,0x197f,  0x19e0,0x19ff,  0x1d00,0x1d7f,  0x1e00,0x2bff,  0x2e80,0x2fdf,  0x2ff0,0x31bf,  0x31f0,0xa4cf,  0xac00,0xd7af,  0xd800,0xfe0f,  0xfe20,0xffff,  0x750,0x750};

static unsigned int encode_utf32 (const unsigned int * ranges, unsigned int ranges_count, unsigned int * s)
{
	unsigned int * const s_start = s;
	for (unsigned int i = 0; i < ranges_count; i += 2)
		for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j)
			*s++ = j;
	return s - s_start;
}

int main()
{
	unsigned int * buffer_Basic_Latin = new unsigned int [129];
	YYCTYPE * s_Basic_Latin = (YYCTYPE *) buffer_Basic_Latin;
	unsigned int buffer_Basic_Latin_len = encode_utf32 (chars_Basic_Latin, sizeof (chars_Basic_Latin) / sizeof (unsigned int), buffer_Basic_Latin);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Basic_Latin_len; ++i) s_Basic_Latin[i] = buffer_Basic_Latin[i];
	if (scan (s_Basic_Latin, s_Basic_Latin + buffer_Basic_Latin_len, Basic_Latin) != Basic_Latin)
		printf ("test 'Basic_Latin' failed\n");
	delete [] buffer_Basic_Latin;

	unsigned int * buffer_Latin___Supplement = new unsigned int [129];
	YYCTYPE * s_Latin___Supplement = (YYCTYPE *) buffer_Latin___Supplement;
	unsigned int buffer_Latin___Supplement_len = encode_utf32 (chars_Latin___Supplement, sizeof (chars_Latin___Supplement) / sizeof (unsigned int), buffer_Latin___Supplement);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Latin___Supplement_len; ++i) s_Latin___Supplement[i] = buffer_Latin___Supplement[i];
	if (scan (s_Latin___Supplement, s_Latin___Supplement + buffer_Latin___Supplement_len, Latin___Supplement) != Latin___Supplement)
		printf ("test 'Latin___Supplement' failed\n");
	delete [] buffer_Latin___Supplement;

	unsigned int * buffer_Latin_Extended_A = new unsigned int [129];
	YYCTYPE * s_Latin_Extended_A = (YYCTYPE *) buffer_Latin_Extended_A;
	unsigned int buffer_Latin_Extended_A_len = encode_utf32 (chars_Latin_Extended_A, sizeof (chars_Latin_Extended_A) / sizeof (unsigned int), buffer_Latin_Extended_A);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Latin_Extended_A_len; ++i) s_Latin_Extended_A[i] = buffer_Latin_Extended_A[i];
	if (scan (s_Latin_Extended_A, s_Latin_Extended_A + buffer_Latin_Extended_A_len, Latin_Extended_A) != Latin_Extended_A)
		printf ("test 'Latin_Extended_A' failed\n");
	delete [] buffer_Latin_Extended_A;

	unsigned int * buffer_Latin_Extended_B = new unsigned int [209];
	YYCTYPE * s_Latin_Extended_B = (YYCTYPE *) buffer_Latin_Extended_B;
	unsigned int buffer_Latin_Extended_B_len = encode_utf32 (chars_Latin_Extended_B, sizeof (chars_Latin_Extended_B) / sizeof (unsigned int), buffer_Latin_Extended_B);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Latin_Extended_B_len; ++i) s_Latin_Extended_B[i] = buffer_Latin_Extended_B[i];
	if (scan (s_Latin_Extended_B, s_Latin_Extended_B + buffer_Latin_Extended_B_len, Latin_Extended_B) != Latin_Extended_B)
		printf ("test 'Latin_Extended_B' failed\n");
	delete [] buffer_Latin_Extended_B;

	unsigned int * buffer_IPA_Extensions = new unsigned int [97];
	YYCTYPE * s_IPA_Extensions = (YYCTYPE *) buffer_IPA_Extensions;
	unsigned int buffer_IPA_Extensions_len = encode_utf32 (chars_IPA_Extensions, sizeof (chars_IPA_Extensions) / sizeof (unsigned int), buffer_IPA_Extensions);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_IPA_Extensions_len; ++i) s_IPA_Extensions[i] = buffer_IPA_Extensions[i];
	if (scan (s_IPA_Extensions, s_IPA_Extensions + buffer_IPA_Extensions_len, IPA_Extensions) != IPA_Extensions)
		printf ("test 'IPA_Extensions' failed\n");
	delete [] buffer_IPA_Extensions;

	unsigned int * buffer_Spacing_Modifier_Letters = new unsigned int [81];
	YYCTYPE * s_Spacing_Modifier_Letters = (YYCTYPE *) buffer_Spacing_Modifier_Letters;
	unsigned int buffer_Spacing_Modifier_Letters_len = encode_utf32 (chars_Spacing_Modifier_Letters, sizeof (chars_Spacing_Modifier_Letters) / sizeof (unsigned int), buffer_Spacing_Modifier_Letters);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Spacing_Modifier_Letters_len; ++i) s_Spacing_Modifier_Letters[i] = buffer_Spacing_Modifier_Letters[i];
	if (scan (s_Spacing_Modifier_Letters, s_Spacing_Modifier_Letters + buffer_Spacing_Modifier_Letters_len, Spacing_Modifier_Letters) != Spacing_Modifier_Letters)
		printf ("test 'Spacing_Modifier_Letters' failed\n");
	delete [] buffer_Spacing_Modifier_Letters;

	unsigned int * buffer_Combining_Diacritical_Marks = new unsigned int [113];
	YYCTYPE * s_Combining_Diacritical_Marks = (YYCTYPE *) buffer_Combining_Diacritical_Marks;
	unsigned int buffer_Combining_Diacritical_Marks_len = encode_utf32 (chars_Combining_Diacritical_Marks, sizeof (chars_Combining_Diacritical_Marks) / sizeof (unsigned int), buffer_Combining_Diacritical_Marks);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Combining_Diacritical_Marks_len; ++i) s_Combining_Diacritical_Marks[i] = buffer_Combining_Diacritical_Marks[i];
	if (scan (s_Combining_Diacritical_Marks, s_Combining_Diacritical_Marks + buffer_Combining_Diacritical_Marks_len, Combining_Diacritical_Marks) != Combining_Diacritical_Marks)
		printf ("test 'Combining_Diacritical_Marks' failed\n");
	delete [] buffer_Combining_Diacritical_Marks;

	unsigned int * buffer_Greek_and_Coptic = new unsigned int [145];
	YYCTYPE * s_Greek_and_Coptic = (YYCTYPE *) buffer_Greek_and_Coptic;
	unsigned int buffer_Greek_and_Coptic_len = encode_utf32 (chars_Greek_and_Coptic, sizeof (chars_Greek_and_Coptic) / sizeof (unsigned int), buffer_Greek_and_Coptic);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Greek_and_Coptic_len; ++i) s_Greek_and_Coptic[i] = buffer_Greek_and_Coptic[i];
	if (scan (s_Greek_and_Coptic, s_Greek_and_Coptic + buffer_Greek_and_Coptic_len, Greek_and_Coptic) != Greek_and_Coptic)
		printf ("test 'Greek_and_Coptic' failed\n");
	delete [] buffer_Greek_and_Coptic;

	unsigned int * buffer_Cyrillic = new unsigned int [257];
	YYCTYPE * s_Cyrillic = (YYCTYPE *) buffer_Cyrillic;
	unsigned int buffer_Cyrillic_len = encode_utf32 (chars_Cyrillic, sizeof (chars_Cyrillic) / sizeof (unsigned int), buffer_Cyrillic);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Cyrillic_len; ++i) s_Cyrillic[i] = buffer_Cyrillic[i];
	if (scan (s_Cyrillic, s_Cyrillic + buffer_Cyrillic_len, Cyrillic) != Cyrillic)
		printf ("test 'Cyrillic' failed\n");
	delete [] buffer_Cyrillic;

	unsigned int * buffer_Cyrillic_Supplementary = new unsigned int [49];
	YYCTYPE * s_Cyrillic_Supplementary = (YYCTYPE *) buffer_Cyrillic_Supplementary;
	unsigned int buffer_Cyrillic_Supplementary_len = encode_utf32 (chars_Cyrillic_Supplementary, sizeof (chars_Cyrillic_Supplementary) / sizeof (unsigned int), buffer_Cyrillic_Supplementary);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Cyrillic_Supplementary_len; ++i) s_Cyrillic_Supplementary[i] = buffer_Cyrillic_Supplementary[i];
	if (scan (s_Cyrillic_Supplementary, s_Cyrillic_Supplementary + buffer_Cyrillic_Supplementary_len, Cyrillic_Supplementary) != Cyrillic_Supplementary)
		printf ("test 'Cyrillic_Supplementary' failed\n");
	delete [] buffer_Cyrillic_Supplementary;

	unsigned int * buffer_Armenian = new unsigned int [97];
	YYCTYPE * s_Armenian = (YYCTYPE *) buffer_Armenian;
	unsigned int buffer_Armenian_len = encode_utf32 (chars_Armenian, sizeof (chars_Armenian) / sizeof (unsigned int), buffer_Armenian);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Armenian_len; ++i) s_Armenian[i] = buffer_Armenian[i];
	if (scan (s_Armenian, s_Armenian + buffer_Armenian_len, Armenian) != Armenian)
		printf ("test 'Armenian' failed\n");
	delete [] buffer_Armenian;

	unsigned int * buffer_Hebrew = new unsigned int [113];
	YYCTYPE * s_Hebrew = (YYCTYPE *) buffer_Hebrew;
	unsigned int buffer_Hebrew_len = encode_utf32 (chars_Hebrew, sizeof (chars_Hebrew) / sizeof (unsigned int), buffer_Hebrew);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Hebrew_len; ++i) s_Hebrew[i] = buffer_Hebrew[i];
	if (scan (s_Hebrew, s_Hebrew + buffer_Hebrew_len, Hebrew) != Hebrew)
		printf ("test 'Hebrew' failed\n");
	delete [] buffer_Hebrew;

	unsigned int * buffer_Arabic = new unsigned int [257];
	YYCTYPE * s_Arabic = (YYCTYPE *) buffer_Arabic;
	unsigned int buffer_Arabic_len = encode_utf32 (chars_Arabic, sizeof (chars_Arabic) / sizeof (unsigned int), buffer_Arabic);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Arabic_len; ++i) s_Arabic[i] = buffer_Arabic[i];
	if (scan (s_Arabic, s_Arabic + buffer_Arabic_len, Arabic) != Arabic)
		printf ("test 'Arabic' failed\n");
	delete [] buffer_Arabic;

	unsigned int * buffer_Syriac = new unsigned int [81];
	YYCTYPE * s_Syriac = (YYCTYPE *) buffer_Syriac;
	unsigned int buffer_Syriac_len = encode_utf32 (chars_Syriac, sizeof (chars_Syriac) / sizeof (unsigned int), buffer_Syriac);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Syriac_len; ++i) s_Syriac[i] = buffer_Syriac[i];
	if (scan (s_Syriac, s_Syriac + buffer_Syriac_len, Syriac) != Syriac)
		printf ("test 'Syriac' failed\n");
	delete [] buffer_Syriac;

	unsigned int * buffer_Thaana = new unsigned int [65];
	YYCTYPE * s_Thaana = (YYCTYPE *) buffer_Thaana;
	unsigned int buffer_Thaana_len = encode_utf32 (chars_Thaana, sizeof (chars_Thaana) / sizeof (unsigned int), buffer_Thaana);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Thaana_len; ++i) s_Thaana[i] = buffer_Thaana[i];
	if (scan (s_Thaana, s_Thaana + buffer_Thaana_len, Thaana) != Thaana)
		printf ("test 'Thaana' failed\n");
	delete [] buffer_Thaana;

	unsigned int * buffer_Devanagari = new unsigned int [129];
	YYCTYPE * s_Devanagari = (YYCTYPE *) buffer_Devanagari;
	unsigned int buffer_Devanagari_len = encode_utf32 (chars_Devanagari, sizeof (chars_Devanagari) / sizeof (unsigned int), buffer_Devanagari);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Devanagari_len; ++i) s_Devanagari[i] = buffer_Devanagari[i];
	if (scan (s_Devanagari, s_Devanagari + buffer_Devanagari_len, Devanagari) != Devanagari)
		printf ("test 'Devanagari' failed\n");
	delete [] buffer_Devanagari;

	unsigned int * buffer_Bengali = new unsigned int [129];
	YYCTYPE * s_Bengali = (YYCTYPE *) buffer_Bengali;
	unsigned int buffer_Bengali_len = encode_utf32 (chars_Bengali, sizeof (chars_Bengali) / sizeof (unsigned int), buffer_Bengali);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Bengali_len; ++i) s_Bengali[i] = buffer_Bengali[i];
	if (scan (s_Bengali, s_Bengali + buffer_Bengali_len, Bengali) != Bengali)
		printf ("test 'Bengali' failed\n");
	delete [] buffer_Bengali;

	unsigned int * buffer_Gurmukhi = new unsigned int [129];
	YYCTYPE * s_Gurmukhi = (YYCTYPE *) buffer_Gurmukhi;
	unsigned int buffer_Gurmukhi_len = encode_utf32 (chars_Gurmukhi, sizeof (chars_Gurmukhi) / sizeof (unsigned int), buffer_Gurmukhi);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Gurmukhi_len; ++i) s_Gurmukhi[i] = buffer_Gurmukhi[i];
	if (scan (s_Gurmukhi, s_Gurmukhi + buffer_Gurmukhi_len, Gurmukhi) != Gurmukhi)
		printf ("test 'Gurmukhi' failed\n");
	delete [] buffer_Gurmukhi;

	unsigned int * buffer_Gujarati = new unsigned int [129];
	YYCTYPE * s_Gujarati = (YYCTYPE *) buffer_Gujarati;
	unsigned int buffer_Gujarati_len = encode_utf32 (chars_Gujarati, sizeof (chars_Gujarati) / sizeof (unsigned int), buffer_Gujarati);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Gujarati_len; ++i) s_Gujarati[i] = buffer_Gujarati[i];
	if (scan (s_Gujarati, s_Gujarati + buffer_Gujarati_len, Gujarati) != Gujarati)
		printf ("test 'Gujarati' failed\n");
	delete [] buffer_Gujarati;

	unsigned int * buffer_Oriya = new unsigned int [129];
	YYCTYPE * s_Oriya = (YYCTYPE *) buffer_Oriya;
	unsigned int buffer_Oriya_len = encode_utf32 (chars_Oriya, sizeof (chars_Oriya) / sizeof (unsigned int), buffer_Oriya);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Oriya_len; ++i) s_Oriya[i] = buffer_Oriya[i];
	if (scan (s_Oriya, s_Oriya + buffer_Oriya_len, Oriya) != Oriya)
		printf ("test 'Oriya' failed\n");
	delete [] buffer_Oriya;

	unsigned int * buffer_Tamil = new unsigned int [129];
	YYCTYPE * s_Tamil = (YYCTYPE *) buffer_Tamil;
	unsigned int buffer_Tamil_len = encode_utf32 (chars_Tamil, sizeof (chars_Tamil) / sizeof (unsigned int), buffer_Tamil);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Tamil_len; ++i) s_Tamil[i] = buffer_Tamil[i];
	if (scan (s_Tamil, s_Tamil + buffer_Tamil_len, Tamil) != Tamil)
		printf ("test 'Tamil' failed\n");
	delete [] buffer_Tamil;

	unsigned int * buffer_Telugu = new unsigned int [129];
	YYCTYPE * s_Telugu = (YYCTYPE *) buffer_Telugu;
	unsigned int buffer_Telugu_len = encode_utf32 (chars_Telugu, sizeof (chars_Telugu) / sizeof (unsigned int), buffer_Telugu);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Telugu_len; ++i) s_Telugu[i] = buffer_Telugu[i];
	if (scan (s_Telugu, s_Telugu + buffer_Telugu_len, Telugu) != Telugu)
		printf ("test 'Telugu' failed\n");
	delete [] buffer_Telugu;

	unsigned int * buffer_Kannada = new unsigned int [129];
	YYCTYPE * s_Kannada = (YYCTYPE *) buffer_Kannada;
	unsigned int buffer_Kannada_len = encode_utf32 (chars_Kannada, sizeof (chars_Kannada) / sizeof (unsigned int), buffer_Kannada);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Kannada_len; ++i) s_Kannada[i] = buffer_Kannada[i];
	if (scan (s_Kannada, s_Kannada + buffer_Kannada_len, Kannada) != Kannada)
		printf ("test 'Kannada' failed\n");
	delete [] buffer_Kannada;

	unsigned int * buffer_Malayalam = new unsigned int [129];
	YYCTYPE * s_Malayalam = (YYCTYPE *) buffer_Malayalam;
	unsigned int buffer_Malayalam_len = encode_utf32 (chars_Malayalam, sizeof (chars_Malayalam) / sizeof (unsigned int), buffer_Malayalam);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Malayalam_len; ++i) s_Malayalam[i] = buffer_Malayalam[i];
	if (scan (s_Malayalam, s_Malayalam + buffer_Malayalam_len, Malayalam) != Malayalam)
		printf ("test 'Malayalam' failed\n");
	delete [] buffer_Malayalam;

	unsigned int * buffer_Sinhala = new unsigned int [129];
	YYCTYPE * s_Sinhala = (YYCTYPE *) buffer_Sinhala;
	unsigned int buffer_Sinhala_len = encode_utf32 (chars_Sinhala, sizeof (chars_Sinhala) / sizeof (unsigned int), buffer_Sinhala);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Sinhala_len; ++i) s_Sinhala[i] = buffer_Sinhala[i];
	if (scan (s_Sinhala, s_Sinhala + buffer_Sinhala_len, Sinhala) != Sinhala)
		printf ("test 'Sinhala' failed\n");
	delete [] buffer_Sinhala;

	unsigned int * buffer_Thai = new unsigned int [129];
	YYCTYPE * s_Thai = (YYCTYPE *) buffer_Thai;
	unsigned int buffer_Thai_len = encode_utf32 (chars_Thai, sizeof (chars_Thai) / sizeof (unsigned int), buffer_Thai);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Thai_len; ++i) s_Thai[i] = buffer_Thai[i];
	if (scan (s_Thai, s_Thai + buffer_Thai_len, Thai) != Thai)
		printf ("test 'Thai' failed\n");
	delete [] buffer_Thai;

	unsigned int * buffer_Lao = new unsigned int [129];
	YYCTYPE * s_Lao = (YYCTYPE *) buffer_Lao;
	unsigned int buffer_Lao_len = encode_utf32 (chars_Lao, sizeof (chars_Lao) / sizeof (unsigned int), buffer_Lao);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Lao_len; ++i) s_Lao[i] = buffer_Lao[i];
	if (scan (s_Lao, s_Lao + buffer_Lao_len, Lao) != Lao)
		printf ("test 'Lao' failed\n");
	delete [] buffer_Lao;

	unsigned int * buffer_Tibetan = new unsigned int [257];
	YYCTYPE * s_Tibetan = (YYCTYPE *) buffer_Tibetan;
	unsigned int buffer_Tibetan_len = encode_utf32 (chars_Tibetan, sizeof (chars_Tibetan) / sizeof (unsigned int), buffer_Tibetan);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Tibetan_len; ++i) s_Tibetan[i] = buffer_Tibetan[i];
	if (scan (s_Tibetan, s_Tibetan + buffer_Tibetan_len, Tibetan) != Tibetan)
		printf ("test 'Tibetan' failed\n");
	delete [] buffer_Tibetan;

	unsigned int * buffer_Myanmar = new unsigned int [161];
	YYCTYPE * s_Myanmar = (YYCTYPE *) buffer_Myanmar;
	unsigned int buffer_Myanmar_len = encode_utf32 (chars_Myanmar, sizeof (chars_Myanmar) / sizeof (unsigned int), buffer_Myanmar);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Myanmar_len; ++i) s_Myanmar[i] = buffer_Myanmar[i];
	if (scan (s_Myanmar, s_Myanmar + buffer_Myanmar_len, Myanmar) != Myanmar)
		printf ("test 'Myanmar' failed\n");
	delete [] buffer_Myanmar;

	unsigned int * buffer_Georgian = new unsigned int [97];
	YYCTYPE * s_Georgian = (YYCTYPE *) buffer_Georgian;
	unsigned int buffer_Georgian_len = encode_utf32 (chars_Georgian, sizeof (chars_Georgian) / sizeof (unsigned int), buffer_Georgian);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Georgian_len; ++i) s_Georgian[i] = buffer_Georgian[i];
	if (scan (s_Georgian, s_Georgian + buffer_Georgian_len, Georgian) != Georgian)
		printf ("test 'Georgian' failed\n");
	delete [] buffer_Georgian;

	unsigned int * buffer_Hangul_Jamo = new unsigned int [257];
	YYCTYPE * s_Hangul_Jamo = (YYCTYPE *) buffer_Hangul_Jamo;
	unsigned int buffer_Hangul_Jamo_len = encode_utf32 (chars_Hangul_Jamo, sizeof (chars_Hangul_Jamo) / sizeof (unsigned int), buffer_Hangul_Jamo);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Hangul_Jamo_len; ++i) s_Hangul_Jamo[i] = buffer_Hangul_Jamo[i];
	if (scan (s_Hangul_Jamo, s_Hangul_Jamo + buffer_Hangul_Jamo_len, Hangul_Jamo) != Hangul_Jamo)
		printf ("test 'Hangul_Jamo' failed\n");
	delete [] buffer_Hangul_Jamo;

	unsigned int * buffer_Ethiopic = new unsigned int [385];
	YYCTYPE * s_Ethiopic = (YYCTYPE *) buffer_Ethiopic;
	unsigned int buffer_Ethiopic_len = encode_utf32 (chars_Ethiopic, sizeof (chars_Ethiopic) / sizeof (unsigned int), buffer_Ethiopic);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Ethiopic_len; ++i) s_Ethiopic[i] = buffer_Ethiopic[i];
	if (scan (s_Ethiopic, s_Ethiopic + buffer_Ethiopic_len, Ethiopic) != Ethiopic)
		printf ("test 'Ethiopic' failed\n");
	delete [] buffer_Ethiopic;

	unsigned int * buffer_Cherokee = new unsigned int [97];
	YYCTYPE * s_Cherokee = (YYCTYPE *) buffer_Cherokee;
	unsigned int buffer_Cherokee_len = encode_utf32 (chars_Cherokee, sizeof (chars_Cherokee) / sizeof (unsigned int), buffer_Cherokee);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Cherokee_len; ++i) s_Cherokee[i] = buffer_Cherokee[i];
	if (scan (s_Cherokee, s_Cherokee + buffer_Cherokee_len, Cherokee) != Cherokee)
		printf ("test 'Cherokee' failed\n");
	delete [] buffer_Cherokee;

	unsigned int * buffer_Unified_Canadian_Aboriginal_Syllabics = new unsigned int [641];
	YYCTYPE * s_Unified_Canadian_Aboriginal_Syllabics = (YYCTYPE *) buffer_Unified_Canadian_Aboriginal_Syllabics;
	unsigned int buffer_Unified_Canadian_Aboriginal_Syllabics_len = encode_utf32 (chars_Unified_Canadian_Aboriginal_Syllabics, sizeof (chars_Unified_Canadian_Aboriginal_Syllabics) / sizeof (unsigned int), buffer_Unified_Canadian_Aboriginal_Syllabics);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Unified_Canadian_Aboriginal_Syllabics_len; ++i) s_Unified_Canadian_Aboriginal_Syllabics[i] = buffer_Unified_Canadian_Aboriginal_Syllabics[i];
	if (scan (s_Unified_Canadian_Aboriginal_Syllabics, s_Unified_Canadian_Aboriginal_Syllabics + buffer_Unified_Canadian_Aboriginal_Syllabics_len, Unified_Canadian_Aboriginal_Syllabics) != Unified_Canadian_Aboriginal_Syllabics)
		printf ("test 'Unified_Canadian_Aboriginal_Syllabics' failed\n");
	delete [] buffer_Unified_Canadian_Aboriginal_Syllabics;

	unsigned int * buffer_Ogham = new unsigned int [33];
	YYCTYPE * s_Ogham = (YYCTYPE *) buffer_Ogham;
	unsigned int buffer_Ogham_len = encode_utf32 (chars_Ogham, sizeof (chars_Ogham) / sizeof (unsigned int), buffer_Ogham);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Ogham_len; ++i) s_Ogham[i] = buffer_Ogham[i];
	if (scan (s_Ogham, s_Ogham + buffer_Ogham_len, Ogham) != Ogham)
		printf ("test 'Ogham' failed\n");
	delete [] buffer_Ogham;

	unsigned int * buffer_Runic = new unsigned int [97];
	YYCTYPE * s_Runic = (YYCTYPE *) buffer_Runic;
	unsigned int buffer_Runic_len = encode_utf32 (chars_Runic, sizeof (chars_Runic) / sizeof (unsigned int), buffer_Runic);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Runic_len; ++i) s_Runic[i] = buffer_Runic[i];
	if (scan (s_Runic, s_Runic + buffer_Runic_len, Runic) != Runic)
		printf ("test 'Runic' failed\n");
	delete [] buffer_Runic;

	unsigned int * buffer_Tagalog = new unsigned int [33];
	YYCTYPE * s_Tagalog = (YYCTYPE *) buffer_Tagalog;
	unsigned int buffer_Tagalog_len = encode_utf32 (chars_Tagalog, sizeof (chars_Tagalog) / sizeof (unsigned int), buffer_Tagalog);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Tagalog_len; ++i) s_Tagalog[i] = buffer_Tagalog[i];
	if (scan (s_Tagalog, s_Tagalog + buffer_Tagalog_len, Tagalog) != Tagalog)
		printf ("test 'Tagalog' failed\n");
	delete [] buffer_Tagalog;

	unsigned int * buffer_Hanunoo = new unsigned int [33];
	YYCTYPE * s_Hanunoo = (YYCTYPE *) buffer_Hanunoo;
	unsigned int buffer_Hanunoo_len = encode_utf32 (chars_Hanunoo, sizeof (chars_Hanunoo) / sizeof (unsigned int), buffer_Hanunoo);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Hanunoo_len; ++i) s_Hanunoo[i] = buffer_Hanunoo[i];
	if (scan (s_Hanunoo, s_Hanunoo + buffer_Hanunoo_len, Hanunoo) != Hanunoo)
		printf ("test 'Hanunoo' failed\n");
	delete [] buffer_Hanunoo;

	unsigned int * buffer_Buhid = new unsigned int [33];
	YYCTYPE * s_Buhid = (YYCTYPE *) buffer_Buhid;
	unsigned int buffer_Buhid_len = encode_utf32 (chars_Buhid, sizeof (chars_Buhid) / sizeof (unsigned int), buffer_Buhid);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Buhid_len; ++i) s_Buhid[i] = buffer_Buhid[i];
	if (scan (s_Buhid, s_Buhid + buffer_Buhid_len, Buhid) != Buhid)
		printf ("test 'Buhid' failed\n");
	delete [] buffer_Buhid;

	unsigned int * buffer_Tagbanwa = new unsigned int [33];
	YYCTYPE * s_Tagbanwa = (YYCTYPE *) buffer_Tagbanwa;
	unsigned int buffer_Tagbanwa_len = encode_utf32 (chars_Tagbanwa, sizeof (chars_Tagbanwa) / sizeof (unsigned int), buffer_Tagbanwa);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Tagbanwa_len; ++i) s_Tagbanwa[i] = buffer_Tagbanwa[i];
	if (scan (s_Tagbanwa, s_Tagbanwa + buffer_Tagbanwa_len, Tagbanwa) != Tagbanwa)
		printf ("test 'Tagbanwa' failed\n");
	delete [] buffer_Tagbanwa;

	unsigned int * buffer_Khmer = new unsigned int [129];
	YYCTYPE * s_Khmer = (YYCTYPE *) buffer_Khmer;
	unsigned int buffer_Khmer_len = encode_utf32 (chars_Khmer, sizeof (chars_Khmer) / sizeof (unsigned int), buffer_Khmer);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Khmer_len; ++i) s_Khmer[i] = buffer_Khmer[i];
	if (scan (s_Khmer, s_Khmer + buffer_Khmer_len, Khmer) != Khmer)
		printf ("test 'Khmer' failed\n");
	delete [] buffer_Khmer;

	unsigned int * buffer_Mongolian = new unsigned int [177];
	YYCTYPE * s_Mongolian = (YYCTYPE *) buffer_Mongolian;
	unsigned int buffer_Mongolian_len = encode_utf32 (chars_Mongolian, sizeof (chars_Mongolian) / sizeof (unsigned int), buffer_Mongolian);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Mongolian_len; ++i) s_Mongolian[i] = buffer_Mongolian[i];
	if (scan (s_Mongolian, s_Mongolian + buffer_Mongolian_len, Mongolian) != Mongolian)
		printf ("test 'Mongolian' failed\n");
	delete [] buffer_Mongolian;

	unsigned int * buffer_Limbu = new unsigned int [81];
	YYCTYPE * s_Limbu = (YYCTYPE *) buffer_Limbu;
	unsigned int buffer_Limbu_len = encode_utf32 (chars_Limbu, sizeof (chars_Limbu) / sizeof (unsigned int), buffer_Limbu);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Limbu_len; ++i) s_Limbu[i] = buffer_Limbu[i];
	if (scan (s_Limbu, s_Limbu + buffer_Limbu_len, Limbu) != Limbu)
		printf ("test 'Limbu' failed\n");
	delete [] buffer_Limbu;

	unsigned int * buffer_Tai_Le = new unsigned int [49];
	YYCTYPE * s_Tai_Le = (YYCTYPE *) buffer_Tai_Le;
	unsigned int buffer_Tai_Le_len = encode_utf32 (chars_Tai_Le, sizeof (chars_Tai_Le) / sizeof (unsigned int), buffer_Tai_Le);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Tai_Le_len; ++i) s_Tai_Le[i] = buffer_Tai_Le[i];
	if (scan (s_Tai_Le, s_Tai_Le + buffer_Tai_Le_len, Tai_Le) != Tai_Le)
		printf ("test 'Tai_Le' failed\n");
	delete [] buffer_Tai_Le;

	unsigned int * buffer_Khmer_Symbols = new unsigned int [33];
	YYCTYPE * s_Khmer_Symbols = (YYCTYPE *) buffer_Khmer_Symbols;
	unsigned int buffer_Khmer_Symbols_len = encode_utf32 (chars_Khmer_Symbols, sizeof (chars_Khmer_Symbols) / sizeof (unsigned int), buffer_Khmer_Symbols);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Khmer_Symbols_len; ++i) s_Khmer_Symbols[i] = buffer_Khmer_Symbols[i];
	if (scan (s_Khmer_Symbols, s_Khmer_Symbols + buffer_Khmer_Symbols_len, Khmer_Symbols) != Khmer_Symbols)
		printf ("test 'Khmer_Symbols' failed\n");
	delete [] buffer_Khmer_Symbols;

	unsigned int * buffer_Phonetic_Extensions = new unsigned int [129];
	YYCTYPE * s_Phonetic_Extensions = (YYCTYPE *) buffer_Phonetic_Extensions;
	unsigned int buffer_Phonetic_Extensions_len = encode_utf32 (chars_Phonetic_Extensions, sizeof (chars_Phonetic_Extensions) / sizeof (unsigned int), buffer_Phonetic_Extensions);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Phonetic_Extensions_len; ++i) s_Phonetic_Extensions[i] = buffer_Phonetic_Extensions[i];
	if (scan (s_Phonetic_Extensions, s_Phonetic_Extensions + buffer_Phonetic_Extensions_len, Phonetic_Extensions) != Phonetic_Extensions)
		printf ("test 'Phonetic_Extensions' failed\n");
	delete [] buffer_Phonetic_Extensions;

	unsigned int * buffer_Latin_Extended_Additional = new unsigned int [257];
	YYCTYPE * s_Latin_Extended_Additional = (YYCTYPE *) buffer_Latin_Extended_Additional;
	unsigned int buffer_Latin_Extended_Additional_len = encode_utf32 (chars_Latin_Extended_Additional, sizeof (chars_Latin_Extended_Additional) / sizeof (unsigned int), buffer_Latin_Extended_Additional);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Latin_Extended_Additional_len; ++i) s_Latin_Extended_Additional[i] = buffer_Latin_Extended_Additional[i];
	if (scan (s_Latin_Extended_Additional, s_Latin_Extended_Additional + buffer_Latin_Extended_Additional_len, Latin_Extended_Additional) != Latin_Extended_Additional)
		printf ("test 'Latin_Extended_Additional' failed\n");
	delete [] buffer_Latin_Extended_Additional;

	unsigned int * buffer_Greek_Extended = new unsigned int [257];
	YYCTYPE * s_Greek_Extended = (YYCTYPE *) buffer_Greek_Extended;
	unsigned int buffer_Greek_Extended_len = encode_utf32 (chars_Greek_Extended, sizeof (chars_Greek_Extended) / sizeof (unsigned int), buffer_Greek_Extended);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Greek_Extended_len; ++i) s_Greek_Extended[i] = buffer_Greek_Extended[i];
	if (scan (s_Greek_Extended, s_Greek_Extended + buffer_Greek_Extended_len, Greek_Extended) != Greek_Extended)
		printf ("test 'Greek_Extended' failed\n");
	delete [] buffer_Greek_Extended;

	unsigned int * buffer_General_Punctuation = new unsigned int [113];
	YYCTYPE * s_General_Punctuation = (YYCTYPE *) buffer_General_Punctuation;
	unsigned int buffer_General_Punctuation_len = encode_utf32 (chars_General_Punctuation, sizeof (chars_General_Punctuation) / sizeof (unsigned int), buffer_General_Punctuation);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_General_Punctuation_len; ++i) s_General_Punctuation[i] = buffer_General_Punctuation[i];
	if (scan (s_General_Punctuation, s_General_Punctuation + buffer_General_Punctuation_len, General_Punctuation) != General_Punctuation)
		printf ("test 'General_Punctuation' failed\n");
	delete [] buffer_General_Punctuation;

	unsigned int * buffer_Superscripts_and_Subscripts = new unsigned int [49];
	YYCTYPE * s_Superscripts_and_Subscripts = (YYCTYPE *) buffer_Superscripts_and_Subscripts;
	unsigned int buffer_Superscripts_and_Subscripts_len = encode_utf32 (chars_Superscripts_and_Subscripts, sizeof (chars_Superscripts_and_Subscripts) / sizeof (unsigned int), buffer_Superscripts_and_Subscripts);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Superscripts_and_Subscripts_len; ++i) s_Superscripts_and_Subscripts[i] = buffer_Superscripts_and_Subscripts[i];
	if (scan (s_Superscripts_and_Subscripts, s_Superscripts_and_Subscripts + buffer_Superscripts_and_Subscripts_len, Superscripts_and_Subscripts) != Superscripts_and_Subscripts)
		printf ("test 'Superscripts_and_Subscripts' failed\n");
	delete [] buffer_Superscripts_and_Subscripts;

	unsigned int * buffer_Currency_Symbols = new unsigned int [49];
	YYCTYPE * s_Currency_Symbols = (YYCTYPE *) buffer_Currency_Symbols;
	unsigned int buffer_Currency_Symbols_len = encode_utf32 (chars_Currency_Symbols, sizeof (chars_Currency_Symbols) / sizeof (unsigned int), buffer_Currency_Symbols);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Currency_Symbols_len; ++i) s_Currency_Symbols[i] = buffer_Currency_Symbols[i];
	if (scan (s_Currency_Symbols, s_Currency_Symbols + buffer_Currency_Symbols_len, Currency_Symbols) != Currency_Symbols)
		printf ("test 'Currency_Symbols' failed\n");
	delete [] buffer_Currency_Symbols;

	unsigned int * buffer_Combining_Diacritical_Marks_for_Symbols = new unsigned int [49];
	YYCTYPE * s_Combining_Diacritical_Marks_for_Symbols = (YYCTYPE *) buffer_Combining_Diacritical_Marks_for_Symbols;
	unsigned int buffer_Combining_Diacritical_Marks_for_Symbols_len = encode_utf32 (chars_Combining_Diacritical_Marks_for_Symbols, sizeof (chars_Combining_Diacritical_Marks_for_Symbols) / sizeof (unsigned int), buffer_Combining_Diacritical_Marks_for_Symbols);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Combining_Diacritical_Marks_for_Symbols_len; ++i) s_Combining_Diacritical_Marks_for_Symbols[i] = buffer_Combining_Diacritical_Marks_for_Symbols[i];
	if (scan (s_Combining_Diacritical_Marks_for_Symbols, s_Combining_Diacritical_Marks_for_Symbols + buffer_Combining_Diacritical_Marks_for_Symbols_len, Combining_Diacritical_Marks_for_Symbols) != Combining_Diacritical_Marks_for_Symbols)
		printf ("test 'Combining_Diacritical_Marks_for_Symbols' failed\n");
	delete [] buffer_Combining_Diacritical_Marks_for_Symbols;

	unsigned int * buffer_Letterlike_Symbols = new unsigned int [81];
	YYCTYPE * s_Letterlike_Symbols = (YYCTYPE *) buffer_Letterlike_Symbols;
	unsigned int buffer_Letterlike_Symbols_len = encode_utf32 (chars_Letterlike_Symbols, sizeof (chars_Letterlike_Symbols) / sizeof (unsigned int), buffer_Letterlike_Symbols);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Letterlike_Symbols_len; ++i) s_Letterlike_Symbols[i] = buffer_Letterlike_Symbols[i];
	if (scan (s_Letterlike_Symbols, s_Letterlike_Symbols + buffer_Letterlike_Symbols_len, Letterlike_Symbols) != Letterlike_Symbols)
		printf ("test 'Letterlike_Symbols' failed\n");
	delete [] buffer_Letterlike_Symbols;

	unsigned int * buffer_Number_Forms = new unsigned int [65];
	YYCTYPE * s_Number_Forms = (YYCTYPE *) buffer_Number_Forms;
	unsigned int buffer_Number_Forms_len = encode_utf32 (chars_Number_Forms, sizeof (chars_Number_Forms) / sizeof (unsigned int), buffer_Number_Forms);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Number_Forms_len; ++i) s_Number_Forms[i] = buffer_Number_Forms[i];
	if (scan (s_Number_Forms, s_Number_Forms + buffer_Number_Forms_len, Number_Forms) != Number_Forms)
		printf ("test 'Number_Forms' failed\n");
	delete [] buffer_Number_Forms;

	unsigned int * buffer_Arrows = new unsigned int [113];
	YYCTYPE * s_Arrows = (YYCTYPE *) buffer_Arrows;
	unsigned int buffer_Arrows_len = encode_utf32 (chars_Arrows, sizeof (chars_Arrows) / sizeof (unsigned int), buffer_Arrows);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Arrows_len; ++i) s_Arrows[i] = buffer_Arrows[i];
	if (scan (s_Arrows, s_Arrows + buffer_Arrows_len, Arrows) != Arrows)
		printf ("test 'Arrows' failed\n");
	delete [] buffer_Arrows;

	unsigned int * buffer_Mathematical_Operators = new unsigned int [257];
	YYCTYPE * s_Mathematical_Operators = (YYCTYPE *) buffer_Mathematical_Operators;
	unsigned int buffer_Mathematical_Operators_len = encode_utf32 (chars_Mathematical_Operators, sizeof (chars_Mathematical_Operators) / sizeof (unsigned int), buffer_Mathematical_Operators);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Mathematical_Operators_len; ++i) s_Mathematical_Operators[i] = buffer_Mathematical_Operators[i];
	if (scan (s_Mathematical_Operators, s_Mathematical_Operators + buffer_Mathematical_Operators_len, Mathematical_Operators) != Mathematical_Operators)
		printf ("test 'Mathematical_Operators' failed\n");
	delete [] buffer_Mathematical_Operators;

	unsigned int * buffer_Miscellaneous_Technical = new unsigned int [257];
	YYCTYPE * s_Miscellaneous_Technical = (YYCTYPE *) buffer_Miscellaneous_Technical;
	unsigned int buffer_Miscellaneous_Technical_len = encode_utf32 (chars_Miscellaneous_Technical, sizeof (chars_Miscellaneous_Technical) / sizeof (unsigned int), buffer_Miscellaneous_Technical);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Miscellaneous_Technical_len; ++i) s_Miscellaneous_Technical[i] = buffer_Miscellaneous_Technical[i];
	if (scan (s_Miscellaneous_Technical, s_Miscellaneous_Technical + buffer_Miscellaneous_Technical_len, Miscellaneous_Technical) != Miscellaneous_Technical)
		printf ("test 'Miscellaneous_Technical' failed\n");
	delete [] buffer_Miscellaneous_Technical;

	unsigned int * buffer_Control_Pictures = new unsigned int [65];
	YYCTYPE * s_Control_Pictures = (YYCTYPE *) buffer_Control_Pictures;
	unsigned int buffer_Control_Pictures_len = encode_utf32 (chars_Control_Pictures, sizeof (chars_Control_Pictures) / sizeof (unsigned int), buffer_Control_Pictures);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Control_Pictures_len; ++i) s_Control_Pictures[i] = buffer_Control_Pictures[i];
	if (scan (s_Control_Pictures, s_Control_Pictures + buffer_Control_Pictures_len, Control_Pictures) != Control_Pictures)
		printf ("test 'Control_Pictures' failed\n");
	delete [] buffer_Control_Pictures;

	unsigned int * buffer_Optical_Character_Recognition = new unsigned int [33];
	YYCTYPE * s_Optical_Character_Recognition = (YYCTYPE *) buffer_Optical_Character_Recognition;
	unsigned int buffer_Optical_Character_Recognition_len = encode_utf32 (chars_Optical_Character_Recognition, sizeof (chars_Optical_Character_Recognition) / sizeof (unsigned int), buffer_Optical_Character_Recognition);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Optical_Character_Recognition_len; ++i) s_Optical_Character_Recognition[i] = buffer_Optical_Character_Recognition[i];
	if (scan (s_Optical_Character_Recognition, s_Optical_Character_Recognition + buffer_Optical_Character_Recognition_len, Optical_Character_Recognition) != Optical_Character_Recognition)
		printf ("test 'Optical_Character_Recognition' failed\n");
	delete [] buffer_Optical_Character_Recognition;

	unsigned int * buffer_Enclosed_Alphanumerics = new unsigned int [161];
	YYCTYPE * s_Enclosed_Alphanumerics = (YYCTYPE *) buffer_Enclosed_Alphanumerics;
	unsigned int buffer_Enclosed_Alphanumerics_len = encode_utf32 (chars_Enclosed_Alphanumerics, sizeof (chars_Enclosed_Alphanumerics) / sizeof (unsigned int), buffer_Enclosed_Alphanumerics);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Enclosed_Alphanumerics_len; ++i) s_Enclosed_Alphanumerics[i] = buffer_Enclosed_Alphanumerics[i];
	if (scan (s_Enclosed_Alphanumerics, s_Enclosed_Alphanumerics + buffer_Enclosed_Alphanumerics_len, Enclosed_Alphanumerics) != Enclosed_Alphanumerics)
		printf ("test 'Enclosed_Alphanumerics' failed\n");
	delete [] buffer_Enclosed_Alphanumerics;

	unsigned int * buffer_Box_Drawing = new unsigned int [129];
	YYCTYPE * s_Box_Drawing = (YYCTYPE *) buffer_Box_Drawing;
	unsigned int buffer_Box_Drawing_len = encode_utf32 (chars_Box_Drawing, sizeof (chars_Box_Drawing) / sizeof (unsigned int), buffer_Box_Drawing);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Box_Drawing_len; ++i) s_Box_Drawing[i] = buffer_Box_Drawing[i];
	if (scan (s_Box_Drawing, s_Box_Drawing + buffer_Box_Drawing_len, Box_Drawing) != Box_Drawing)
		printf ("test 'Box_Drawing' failed\n");
	delete [] buffer_Box_Drawing;

	unsigned int * buffer_Block_Elements = new unsigned int [33];
	YYCTYPE * s_Block_Elements = (YYCTYPE *) buffer_Block_Elements;
	unsigned int buffer_Block_Elements_len = encode_utf32 (chars_Block_Elements, sizeof (chars_Block_Elements) / sizeof (unsigned int), buffer_Block_Elements);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Block_Elements_len; ++i) s_Block_Elements[i] = buffer_Block_Elements[i];
	if (scan (s_Block_Elements, s_Block_Elements + buffer_Block_Elements_len, Block_Elements) != Block_Elements)
		printf ("test 'Block_Elements' failed\n");
	delete [] buffer_Block_Elements;

	unsigned int * buffer_Geometric_Shapes = new unsigned int [97];
	YYCTYPE * s_Geometric_Shapes = (YYCTYPE *) buffer_Geometric_Shapes;
	unsigned int buffer_Geometric_Shapes_len = encode_utf32 (chars_Geometric_Shapes, sizeof (chars_Geometric_Shapes) / sizeof (unsigned int), buffer_Geometric_Shapes);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Geometric_Shapes_len; ++i) s_Geometric_Shapes[i] = buffer_Geometric_Shapes[i];
	if (scan (s_Geometric_Shapes, s_Geometric_Shapes + buffer_Geometric_Shapes_len, Geometric_Shapes) != Geometric_Shapes)
		printf ("test 'Geometric_Shapes' failed\n");
	delete [] buffer_Geometric_Shapes;

	unsigned int * buffer_Miscellaneous_Symbols = new unsigned int [257];
	YYCTYPE * s_Miscellaneous_Symbols = (YYCTYPE *) buffer_Miscellaneous_Symbols;
	unsigned int buffer_Miscellaneous_Symbols_len = encode_utf32 (chars_Miscellaneous_Symbols, sizeof (chars_Miscellaneous_Symbols) / sizeof (unsigned int), buffer_Miscellaneous_Symbols);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Miscellaneous_Symbols_len; ++i) s_Miscellaneous_Symbols[i] = buffer_Miscellaneous_Symbols[i];
	if (scan (s_Miscellaneous_Symbols, s_Miscellaneous_Symbols + buffer_Miscellaneous_Symbols_len, Miscellaneous_Symbols) != Miscellaneous_Symbols)
		printf ("test 'Miscellaneous_Symbols' failed\n");
	delete [] buffer_Miscellaneous_Symbols;

	unsigned int * buffer_Dingbats = new unsigned int [193];
	YYCTYPE * s_Dingbats = (YYCTYPE *) buffer_Dingbats;
	unsigned int buffer_Dingbats_len = encode_utf32 (chars_Dingbats, sizeof (chars_Dingbats) / sizeof (unsigned int), buffer_Dingbats);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Dingbats_len; ++i) s_Dingbats[i] = buffer_Dingbats[i];
	if (scan (s_Dingbats, s_Dingbats + buffer_Dingbats_len, Dingbats) != Dingbats)
		printf ("test 'Dingbats' failed\n");
	delete [] buffer_Dingbats;

	unsigned int * buffer_Miscellaneous_Mathematical_Symbols_A = new unsigned int [49];
	YYCTYPE * s_Miscellaneous_Mathematical_Symbols_A = (YYCTYPE *) buffer_Miscellaneous_Mathematical_Symbols_A;
	unsigned int buffer_Miscellaneous_Mathematical_Symbols_A_len = encode_utf32 (chars_Miscellaneous_Mathematical_Symbols_A, sizeof (chars_Miscellaneous_Mathematical_Symbols_A) / sizeof (unsigned int), buffer_Miscellaneous_Mathematical_Symbols_A);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Miscellaneous_Mathematical_Symbols_A_len; ++i) s_Miscellaneous_Mathematical_Symbols_A[i] = buffer_Miscellaneous_Mathematical_Symbols_A[i];
	if (scan (s_Miscellaneous_Mathematical_Symbols_A, s_Miscellaneous_Mathematical_Symbols_A + buffer_Miscellaneous_Mathematical_Symbols_A_len, Miscellaneous_Mathematical_Symbols_A) != Miscellaneous_Mathematical_Symbols_A)
		printf ("test 'Miscellaneous_Mathematical_Symbols_A' failed\n");
	delete [] buffer_Miscellaneous_Mathematical_Symbols_A;

	unsigned int * buffer_Supplemental_Arrows_A = new unsigned int [17];
	YYCTYPE * s_Supplemental_Arrows_A = (YYCTYPE *) buffer_Supplemental_Arrows_A;
	unsigned int buffer_Supplemental_Arrows_A_len = encode_utf32 (chars_Supplemental_Arrows_A, sizeof (chars_Supplemental_Arrows_A) / sizeof (unsigned int), buffer_Supplemental_Arrows_A);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Supplemental_Arrows_A_len; ++i) s_Supplemental_Arrows_A[i] = buffer_Supplemental_Arrows_A[i];
	if (scan (s_Supplemental_Arrows_A, s_Supplemental_Arrows_A + buffer_Supplemental_Arrows_A_len, Supplemental_Arrows_A) != Supplemental_Arrows_A)
		printf ("test 'Supplemental_Arrows_A' failed\n");
	delete [] buffer_Supplemental_Arrows_A;

	unsigned int * buffer_Braille_Patterns = new unsigned int [257];
	YYCTYPE * s_Braille_Patterns = (YYCTYPE *) buffer_Braille_Patterns;
	unsigned int buffer_Braille_Patterns_len = encode_utf32 (chars_Braille_Patterns, sizeof (chars_Braille_Patterns) / sizeof (unsigned int), buffer_Braille_Patterns);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Braille_Patterns_len; ++i) s_Braille_Patterns[i] = buffer_Braille_Patterns[i];
	if (scan (s_Braille_Patterns, s_Braille_Patterns + buffer_Braille_Patterns_len, Braille_Patterns) != Braille_Patterns)
		printf ("test 'Braille_Patterns' failed\n");
	delete [] buffer_Braille_Patterns;

	unsigned int * buffer_Supplemental_Arrows_B = new unsigned int [129];
	YYCTYPE * s_Supplemental_Arrows_B = (YYCTYPE *) buffer_Supplemental_Arrows_B;
	unsigned int buffer_Supplemental_Arrows_B_len = encode_utf32 (chars_Supplemental_Arrows_B, sizeof (chars_Supplemental_Arrows_B) / sizeof (unsigned int), buffer_Supplemental_Arrows_B);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Supplemental_Arrows_B_len; ++i) s_Supplemental_Arrows_B[i] = buffer_Supplemental_Arrows_B[i];
	if (scan (s_Supplemental_Arrows_B, s_Supplemental_Arrows_B + buffer_Supplemental_Arrows_B_len, Supplemental_Arrows_B) != Supplemental_Arrows_B)
		printf ("test 'Supplemental_Arrows_B' failed\n");
	delete [] buffer_Supplemental_Arrows_B;

	unsigned int * buffer_Miscellaneous_Mathematical_Symbols_B = new unsigned int [129];
	YYCTYPE * s_Miscellaneous_Mathematical_Symbols_B = (YYCTYPE *) buffer_Miscellaneous_Mathematical_Symbols_B;
	unsigned int buffer_Miscellaneous_Mathematical_Symbols_B_len = encode_utf32 (chars_Miscellaneous_Mathematical_Symbols_B, sizeof (chars_Miscellaneous_Mathematical_Symbols_B) / sizeof (unsigned int), buffer_Miscellaneous_Mathematical_Symbols_B);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Miscellaneous_Mathematical_Symbols_B_len; ++i) s_Miscellaneous_Mathematical_Symbols_B[i] = buffer_Miscellaneous_Mathematical_Symbols_B[i];
	if (scan (s_Miscellaneous_Mathematical_Symbols_B, s_Miscellaneous_Mathematical_Symbols_B + buffer_Miscellaneous_Mathematical_Symbols_B_len, Miscellaneous_Mathematical_Symbols_B) != Miscellaneous_Mathematical_Symbols_B)
		printf ("test 'Miscellaneous_Mathematical_Symbols_B' failed\n");
	delete [] buffer_Miscellaneous_Mathematical_Symbols_B;

	unsigned int * buffer_Supplemental_Mathematical_Operators = new unsigned int [257];
	YYCTYPE * s_Supplemental_Mathematical_Operators = (YYCTYPE *) buffer_Supplemental_Mathematical_Operators;
	unsigned int buffer_Supplemental_Mathematical_Operators_len = encode_utf32 (chars_Supplemental_Mathematical_Operators, sizeof (chars_Supplemental_Mathematical_Operators) / sizeof (unsigned int), buffer_Supplemental_Mathematical_Operators);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Supplemental_Mathematical_Operators_len; ++i) s_Supplemental_Mathematical_Operators[i] = buffer_Supplemental_Mathematical_Operators[i];
	if (scan (s_Supplemental_Mathematical_Operators, s_Supplemental_Mathematical_Operators + buffer_Supplemental_Mathematical_Operators_len, Supplemental_Mathematical_Operators) != Supplemental_Mathematical_Operators)
		printf ("test 'Supplemental_Mathematical_Operators' failed\n");
	delete [] buffer_Supplemental_Mathematical_Operators;

	unsigned int * buffer_Miscellaneous_Symbols_and_Arrows = new unsigned int [257];
	YYCTYPE * s_Miscellaneous_Symbols_and_Arrows = (YYCTYPE *) buffer_Miscellaneous_Symbols_and_Arrows;
	unsigned int buffer_Miscellaneous_Symbols_and_Arrows_len = encode_utf32 (chars_Miscellaneous_Symbols_and_Arrows, sizeof (chars_Miscellaneous_Symbols_and_Arrows) / sizeof (unsigned int), buffer_Miscellaneous_Symbols_and_Arrows);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Miscellaneous_Symbols_and_Arrows_len; ++i) s_Miscellaneous_Symbols_and_Arrows[i] = buffer_Miscellaneous_Symbols_and_Arrows[i];
	if (scan (s_Miscellaneous_Symbols_and_Arrows, s_Miscellaneous_Symbols_and_Arrows + buffer_Miscellaneous_Symbols_and_Arrows_len, Miscellaneous_Symbols_and_Arrows) != Miscellaneous_Symbols_and_Arrows)
		printf ("test 'Miscellaneous_Symbols_and_Arrows' failed\n");
	delete [] buffer_Miscellaneous_Symbols_and_Arrows;

	unsigned int * buffer_CJK_Radicals_Supplement = new unsigned int [129];
	YYCTYPE * s_CJK_Radicals_Supplement = (YYCTYPE *) buffer_CJK_Radicals_Supplement;
	unsigned int buffer_CJK_Radicals_Supplement_len = encode_utf32 (chars_CJK_Radicals_Supplement, sizeof (chars_CJK_Radicals_Supplement) / sizeof (unsigned int), buffer_CJK_Radicals_Supplement);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_CJK_Radicals_Supplement_len; ++i) s_CJK_Radicals_Supplement[i] = buffer_CJK_Radicals_Supplement[i];
	if (scan (s_CJK_Radicals_Supplement, s_CJK_Radicals_Supplement + buffer_CJK_Radicals_Supplement_len, CJK_Radicals_Supplement) != CJK_Radicals_Supplement)
		printf ("test 'CJK_Radicals_Supplement' failed\n");
	delete [] buffer_CJK_Radicals_Supplement;

	unsigned int * buffer_Kangxi_Radicals = new unsigned int [225];
	YYCTYPE * s_Kangxi_Radicals = (YYCTYPE *) buffer_Kangxi_Radicals;
	unsigned int buffer_Kangxi_Radicals_len = encode_utf32 (chars_Kangxi_Radicals, sizeof (chars_Kangxi_Radicals) / sizeof (unsigned int), buffer_Kangxi_Radicals);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Kangxi_Radicals_len; ++i) s_Kangxi_Radicals[i] = buffer_Kangxi_Radicals[i];
	if (scan (s_Kangxi_Radicals, s_Kangxi_Radicals + buffer_Kangxi_Radicals_len, Kangxi_Radicals) != Kangxi_Radicals)
		printf ("test 'Kangxi_Radicals' failed\n");
	delete [] buffer_Kangxi_Radicals;

	unsigned int * buffer_Ideographic_Description_Characters = new unsigned int [17];
	YYCTYPE * s_Ideographic_Description_Characters = (YYCTYPE *) buffer_Ideographic_Description_Characters;
	unsigned int buffer_Ideographic_Description_Characters_len = encode_utf32 (chars_Ideographic_Description_Characters, sizeof (chars_Ideographic_Description_Characters) / sizeof (unsigned int), buffer_Ideographic_Description_Characters);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Ideographic_Description_Characters_len; ++i) s_Ideographic_Description_Characters[i] = buffer_Ideographic_Description_Characters[i];
	if (scan (s_Ideographic_Description_Characters, s_Ideographic_Description_Characters + buffer_Ideographic_Description_Characters_len, Ideographic_Description_Characters) != Ideographic_Description_Characters)
		printf ("test 'Ideographic_Description_Characters' failed\n");
	delete [] buffer_Ideographic_Description_Characters;

	unsigned int * buffer_CJK_Symbols_and_Punctuation = new unsigned int [65];
	YYCTYPE * s_CJK_Symbols_and_Punctuation = (YYCTYPE *) buffer_CJK_Symbols_and_Punctuation;
	unsigned int buffer_CJK_Symbols_and_Punctuation_len = encode_utf32 (chars_CJK_Symbols_and_Punctuation, sizeof (chars_CJK_Symbols_and_Punctuation) / sizeof (unsigned int), buffer_CJK_Symbols_and_Punctuation);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_CJK_Symbols_and_Punctuation_len; ++i) s_CJK_Symbols_and_Punctuation[i] = buffer_CJK_Symbols_and_Punctuation[i];
	if (scan (s_CJK_Symbols_and_Punctuation, s_CJK_Symbols_and_Punctuation + buffer_CJK_Symbols_and_Punctuation_len, CJK_Symbols_and_Punctuation) != CJK_Symbols_and_Punctuation)
		printf ("test 'CJK_Symbols_and_Punctuation' failed\n");
	delete [] buffer_CJK_Symbols_and_Punctuation;

	unsigned int * buffer_Hiragana = new unsigned int [97];
	YYCTYPE * s_Hiragana = (YYCTYPE *) buffer_Hiragana;
	unsigned int buffer_Hiragana_len = encode_utf32 (chars_Hiragana, sizeof (chars_Hiragana) / sizeof (unsigned int), buffer_Hiragana);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Hiragana_len; ++i) s_Hiragana[i] = buffer_Hiragana[i];
	if (scan (s_Hiragana, s_Hiragana + buffer_Hiragana_len, Hiragana) != Hiragana)
		printf ("test 'Hiragana' failed\n");
	delete [] buffer_Hiragana;

	unsigned int * buffer_Katakana = new unsigned int [97];
	YYCTYPE * s_Katakana = (YYCTYPE *) buffer_Katakana;
	unsigned int buffer_Katakana_len = encode_utf32 (chars_Katakana, sizeof (chars_Katakana) / sizeof (unsigned int), buffer_Katakana);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Katakana_len; ++i) s_Katakana[i] = buffer_Katakana[i];
	if (scan (s_Katakana, s_Katakana + buffer_Katakana_len, Katakana) != Katakana)
		printf ("test 'Katakana' failed\n");
	delete [] buffer_Katakana;

	unsigned int * buffer_Bopomofo = new unsigned int [49];
	YYCTYPE * s_Bopomofo = (YYCTYPE *) buffer_Bopomofo;
	unsigned int buffer_Bopomofo_len = encode_utf32 (chars_Bopomofo, sizeof (chars_Bopomofo) / sizeof (unsigned int), buffer_Bopomofo);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Bopomofo_len; ++i) s_Bopomofo[i] = buffer_Bopomofo[i];
	if (scan (s_Bopomofo, s_Bopomofo + buffer_Bopomofo_len, Bopomofo) != Bopomofo)
		printf ("test 'Bopomofo' failed\n");
	delete [] buffer_Bopomofo;

	unsigned int * buffer_Hangul_Compatibility_Jamo = new unsigned int [97];
	YYCTYPE * s_Hangul_Compatibility_Jamo = (YYCTYPE *) buffer_Hangul_Compatibility_Jamo;
	unsigned int buffer_Hangul_Compatibility_Jamo_len = encode_utf32 (chars_Hangul_Compatibility_Jamo, sizeof (chars_Hangul_Compatibility_Jamo) / sizeof (unsigned int), buffer_Hangul_Compatibility_Jamo);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Hangul_Compatibility_Jamo_len; ++i) s_Hangul_Compatibility_Jamo[i] = buffer_Hangul_Compatibility_Jamo[i];
	if (scan (s_Hangul_Compatibility_Jamo, s_Hangul_Compatibility_Jamo + buffer_Hangul_Compatibility_Jamo_len, Hangul_Compatibility_Jamo) != Hangul_Compatibility_Jamo)
		printf ("test 'Hangul_Compatibility_Jamo' failed\n");
	delete [] buffer_Hangul_Compatibility_Jamo;

	unsigned int * buffer_Kanbun = new unsigned int [17];
	YYCTYPE * s_Kanbun = (YYCTYPE *) buffer_Kanbun;
	unsigned int buffer_Kanbun_len = encode_utf32 (chars_Kanbun, sizeof (chars_Kanbun) / sizeof (unsigned int), buffer_Kanbun);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Kanbun_len; ++i) s_Kanbun[i] = buffer_Kanbun[i];
	if (scan (s_Kanbun, s_Kanbun + buffer_Kanbun_len, Kanbun) != Kanbun)
		printf ("test 'Kanbun' failed\n");
	delete [] buffer_Kanbun;

	unsigned int * buffer_Bopomofo_Extended = new unsigned int [33];
	YYCTYPE * s_Bopomofo_Extended = (YYCTYPE *) buffer_Bopomofo_Extended;
	unsigned int buffer_Bopomofo_Extended_len = encode_utf32 (chars_Bopomofo_Extended, sizeof (chars_Bopomofo_Extended) / sizeof (unsigned int), buffer_Bopomofo_Extended);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Bopomofo_Extended_len; ++i) s_Bopomofo_Extended[i] = buffer_Bopomofo_Extended[i];
	if (scan (s_Bopomofo_Extended, s_Bopomofo_Extended + buffer_Bopomofo_Extended_len, Bopomofo_Extended) != Bopomofo_Extended)
		printf ("test 'Bopomofo_Extended' failed\n");
	delete [] buffer_Bopomofo_Extended;

	unsigned int * buffer_Katakana_Phonetic_Extensions = new unsigned int [17];
	YYCTYPE * s_Katakana_Phonetic_Extensions = (YYCTYPE *) buffer_Katakana_Phonetic_Extensions;
	unsigned int buffer_Katakana_Phonetic_Extensions_len = encode_utf32 (chars_Katakana_Phonetic_Extensions, sizeof (chars_Katakana_Phonetic_Extensions) / sizeof (unsigned int), buffer_Katakana_Phonetic_Extensions);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Katakana_Phonetic_Extensions_len; ++i) s_Katakana_Phonetic_Extensions[i] = buffer_Katakana_Phonetic_Extensions[i];
	if (scan (s_Katakana_Phonetic_Extensions, s_Katakana_Phonetic_Extensions + buffer_Katakana_Phonetic_Extensions_len, Katakana_Phonetic_Extensions) != Katakana_Phonetic_Extensions)
		printf ("test 'Katakana_Phonetic_Extensions' failed\n");
	delete [] buffer_Katakana_Phonetic_Extensions;

	unsigned int * buffer_Enclosed_CJK_Letters_and_Months = new unsigned int [257];
	YYCTYPE * s_Enclosed_CJK_Letters_and_Months = (YYCTYPE *) buffer_Enclosed_CJK_Letters_and_Months;
	unsigned int buffer_Enclosed_CJK_Letters_and_Months_len = encode_utf32 (chars_Enclosed_CJK_Letters_and_Months, sizeof (chars_Enclosed_CJK_Letters_and_Months) / sizeof (unsigned int), buffer_Enclosed_CJK_Letters_and_Months);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Enclosed_CJK_Letters_and_Months_len; ++i) s_Enclosed_CJK_Letters_and_Months[i] = buffer_Enclosed_CJK_Letters_and_Months[i];
	if (scan (s_Enclosed_CJK_Letters_and_Months, s_Enclosed_CJK_Letters_and_Months + buffer_Enclosed_CJK_Letters_and_Months_len, Enclosed_CJK_Letters_and_Months) != Enclosed_CJK_Letters_and_Months)
		printf ("test 'Enclosed_CJK_Letters_and_Months' failed\n");
	delete [] buffer_Enclosed_CJK_Letters_and_Months;

	unsigned int * buffer_CJK_Compatibility = new unsigned int [257];
	YYCTYPE * s_CJK_Compatibility = (YYCTYPE *) buffer_CJK_Compatibility;
	unsigned int buffer_CJK_Compatibility_len = encode_utf32 (chars_CJK_Compatibility, sizeof (chars_CJK_Compatibility) / sizeof (unsigned int), buffer_CJK_Compatibility);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_CJK_Compatibility_len; ++i) s_CJK_Compatibility[i] = buffer_CJK_Compatibility[i];
	if (scan (s_CJK_Compatibility, s_CJK_Compatibility + buffer_CJK_Compatibility_len, CJK_Compatibility) != CJK_Compatibility)
		printf ("test 'CJK_Compatibility' failed\n");
	delete [] buffer_CJK_Compatibility;

	unsigned int * buffer_CJK_Unified_Ideographs_Extension_A = new unsigned int [6593];
	YYCTYPE * s_CJK_Unified_Ideographs_Extension_A = (YYCTYPE *) buffer_CJK_Unified_Ideographs_Extension_A;
	unsigned int buffer_CJK_Unified_Ideographs_Extension_A_len = encode_utf32 (chars_CJK_Unified_Ideographs_Extension_A, sizeof (chars_CJK_Unified_Ideographs_Extension_A) / sizeof (unsigned int), buffer_CJK_Unified_Ideographs_Extension_A);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_CJK_Unified_Ideographs_Extension_A_len; ++i) s_CJK_Unified_Ideographs_Extension_A[i] = buffer_CJK_Unified_Ideographs_Extension_A[i];
	if (scan (s_CJK_Unified_Ideographs_Extension_A, s_CJK_Unified_Ideographs_Extension_A + buffer_CJK_Unified_Ideographs_Extension_A_len, CJK_Unified_Ideographs_Extension_A) != CJK_Unified_Ideographs_Extension_A)
		printf ("test 'CJK_Unified_Ideographs_Extension_A' failed\n");
	delete [] buffer_CJK_Unified_Ideographs_Extension_A;

	unsigned int * buffer_Yijing_Hexagram_Symbols = new unsigned int [65];
	YYCTYPE * s_Yijing_Hexagram_Symbols = (YYCTYPE *) buffer_Yijing_Hexagram_Symbols;
	unsigned int buffer_Yijing_Hexagram_Symbols_len = encode_utf32 (chars_Yijing_Hexagram_Symbols, sizeof (chars_Yijing_Hexagram_Symbols) / sizeof (unsigned int), buffer_Yijing_Hexagram_Symbols);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Yijing_Hexagram_Symbols_len; ++i) s_Yijing_Hexagram_Symbols[i] = buffer_Yijing_Hexagram_Symbols[i];
	if (scan (s_Yijing_Hexagram_Symbols, s_Yijing_Hexagram_Symbols + buffer_Yijing_Hexagram_Symbols_len, Yijing_Hexagram_Symbols) != Yijing_Hexagram_Symbols)
		printf ("test 'Yijing_Hexagram_Symbols' failed\n");
	delete [] buffer_Yijing_Hexagram_Symbols;

	unsigned int * buffer_CJK_Unified_Ideographs = new unsigned int [20993];
	YYCTYPE * s_CJK_Unified_Ideographs = (YYCTYPE *) buffer_CJK_Unified_Ideographs;
	unsigned int buffer_CJK_Unified_Ideographs_len = encode_utf32 (chars_CJK_Unified_Ideographs, sizeof (chars_CJK_Unified_Ideographs) / sizeof (unsigned int), buffer_CJK_Unified_Ideographs);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_CJK_Unified_Ideographs_len; ++i) s_CJK_Unified_Ideographs[i] = buffer_CJK_Unified_Ideographs[i];
	if (scan (s_CJK_Unified_Ideographs, s_CJK_Unified_Ideographs + buffer_CJK_Unified_Ideographs_len, CJK_Unified_Ideographs) != CJK_Unified_Ideographs)
		printf ("test 'CJK_Unified_Ideographs' failed\n");
	delete [] buffer_CJK_Unified_Ideographs;

	unsigned int * buffer_Yi_Syllables = new unsigned int [1169];
	YYCTYPE * s_Yi_Syllables = (YYCTYPE *) buffer_Yi_Syllables;
	unsigned int buffer_Yi_Syllables_len = encode_utf32 (chars_Yi_Syllables, sizeof (chars_Yi_Syllables) / sizeof (unsigned int), buffer_Yi_Syllables);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Yi_Syllables_len; ++i) s_Yi_Syllables[i] = buffer_Yi_Syllables[i];
	if (scan (s_Yi_Syllables, s_Yi_Syllables + buffer_Yi_Syllables_len, Yi_Syllables) != Yi_Syllables)
		printf ("test 'Yi_Syllables' failed\n");
	delete [] buffer_Yi_Syllables;

	unsigned int * buffer_Yi_Radicals = new unsigned int [65];
	YYCTYPE * s_Yi_Radicals = (YYCTYPE *) buffer_Yi_Radicals;
	unsigned int buffer_Yi_Radicals_len = encode_utf32 (chars_Yi_Radicals, sizeof (chars_Yi_Radicals) / sizeof (unsigned int), buffer_Yi_Radicals);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Yi_Radicals_len; ++i) s_Yi_Radicals[i] = buffer_Yi_Radicals[i];
	if (scan (s_Yi_Radicals, s_Yi_Radicals + buffer_Yi_Radicals_len, Yi_Radicals) != Yi_Radicals)
		printf ("test 'Yi_Radicals' failed\n");
	delete [] buffer_Yi_Radicals;

	unsigned int * buffer_Hangul_Syllables = new unsigned int [11185];
	YYCTYPE * s_Hangul_Syllables = (YYCTYPE *) buffer_Hangul_Syllables;
	unsigned int buffer_Hangul_Syllables_len = encode_utf32 (chars_Hangul_Syllables, sizeof (chars_Hangul_Syllables) / sizeof (unsigned int), buffer_Hangul_Syllables);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Hangul_Syllables_len; ++i) s_Hangul_Syllables[i] = buffer_Hangul_Syllables[i];
	if (scan (s_Hangul_Syllables, s_Hangul_Syllables + buffer_Hangul_Syllables_len, Hangul_Syllables) != Hangul_Syllables)
		printf ("test 'Hangul_Syllables' failed\n");
	delete [] buffer_Hangul_Syllables;

	unsigned int * buffer_High_Surrogates = new unsigned int [897];
	YYCTYPE * s_High_Surrogates = (YYCTYPE *) buffer_High_Surrogates;
	unsigned int buffer_High_Surrogates_len = encode_utf32 (chars_High_Surrogates, sizeof (chars_High_Surrogates) / sizeof (unsigned int), buffer_High_Surrogates);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_High_Surrogates_len; ++i) s_High_Surrogates[i] = buffer_High_Surrogates[i];
	if (scan (s_High_Surrogates, s_High_Surrogates + buffer_High_Surrogates_len, High_Surrogates) != High_Surrogates)
		printf ("test 'High_Surrogates' failed\n");
	delete [] buffer_High_Surrogates;

	unsigned int * buffer_High_Private_Use_Surrogates = new unsigned int [129];
	YYCTYPE * s_High_Private_Use_Surrogates = (YYCTYPE *) buffer_High_Private_Use_Surrogates;
	unsigned int buffer_High_Private_Use_Surrogates_len = encode_utf32 (chars_High_Private_Use_Surrogates, sizeof (chars_High_Private_Use_Surrogates) / sizeof (unsigned int), buffer_High_Private_Use_Surrogates);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_High_Private_Use_Surrogates_len; ++i) s_High_Private_Use_Surrogates[i] = buffer_High_Private_Use_Surrogates[i];
	if (scan (s_High_Private_Use_Surrogates, s_High_Private_Use_Surrogates + buffer_High_Private_Use_Surrogates_len, High_Private_Use_Surrogates) != High_Private_Use_Surrogates)
		printf ("test 'High_Private_Use_Surrogates' failed\n");
	delete [] buffer_High_Private_Use_Surrogates;

	unsigned int * buffer_Low_Surrogates = new unsigned int [1025];
	YYCTYPE * s_Low_Surrogates = (YYCTYPE *) buffer_Low_Surrogates;
	unsigned int buffer_Low_Surrogates_len = encode_utf32 (chars_Low_Surrogates, sizeof (chars_Low_Surrogates) / sizeof (unsigned int), buffer_Low_Surrogates);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Low_Surrogates_len; ++i) s_Low_Surrogates[i] = buffer_Low_Surrogates[i];
	if (scan (s_Low_Surrogates, s_Low_Surrogates + buffer_Low_Surrogates_len, Low_Surrogates) != Low_Surrogates)
		printf ("test 'Low_Surrogates' failed\n");
	delete [] buffer_Low_Surrogates;

	unsigned int * buffer_Private_Use_Area = new unsigned int [6401];
	YYCTYPE * s_Private_Use_Area = (YYCTYPE *) buffer_Private_Use_Area;
	unsigned int buffer_Private_Use_Area_len = encode_utf32 (chars_Private_Use_Area, sizeof (chars_Private_Use_Area) / sizeof (unsigned int), buffer_Private_Use_Area);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Private_Use_Area_len; ++i) s_Private_Use_Area[i] = buffer_Private_Use_Area[i];
	if (scan (s_Private_Use_Area, s_Private_Use_Area + buffer_Private_Use_Area_len, Private_Use_Area) != Private_Use_Area)
		printf ("test 'Private_Use_Area' failed\n");
	delete [] buffer_Private_Use_Area;

	unsigned int * buffer_CJK_Compatibility_Ideographs = new unsigned int [513];
	YYCTYPE * s_CJK_Compatibility_Ideographs = (YYCTYPE *) buffer_CJK_Compatibility_Ideographs;
	unsigned int buffer_CJK_Compatibility_Ideographs_len = encode_utf32 (chars_CJK_Compatibility_Ideographs, sizeof (chars_CJK_Compatibility_Ideographs) / sizeof (unsigned int), buffer_CJK_Compatibility_Ideographs);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_CJK_Compatibility_Ideographs_len; ++i) s_CJK_Compatibility_Ideographs[i] = buffer_CJK_Compatibility_Ideographs[i];
	if (scan (s_CJK_Compatibility_Ideographs, s_CJK_Compatibility_Ideographs + buffer_CJK_Compatibility_Ideographs_len, CJK_Compatibility_Ideographs) != CJK_Compatibility_Ideographs)
		printf ("test 'CJK_Compatibility_Ideographs' failed\n");
	delete [] buffer_CJK_Compatibility_Ideographs;

	unsigned int * buffer_Alphabetic_Presentation_Forms = new unsigned int [81];
	YYCTYPE * s_Alphabetic_Presentation_Forms = (YYCTYPE *) buffer_Alphabetic_Presentation_Forms;
	unsigned int buffer_Alphabetic_Presentation_Forms_len = encode_utf32 (chars_Alphabetic_Presentation_Forms, sizeof (chars_Alphabetic_Presentation_Forms) / sizeof (unsigned int), buffer_Alphabetic_Presentation_Forms);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Alphabetic_Presentation_Forms_len; ++i) s_Alphabetic_Presentation_Forms[i] = buffer_Alphabetic_Presentation_Forms[i];
	if (scan (s_Alphabetic_Presentation_Forms, s_Alphabetic_Presentation_Forms + buffer_Alphabetic_Presentation_Forms_len, Alphabetic_Presentation_Forms) != Alphabetic_Presentation_Forms)
		printf ("test 'Alphabetic_Presentation_Forms' failed\n");
	delete [] buffer_Alphabetic_Presentation_Forms;

	unsigned int * buffer_Arabic_Presentation_Forms_A = new unsigned int [689];
	YYCTYPE * s_Arabic_Presentation_Forms_A = (YYCTYPE *) buffer_Arabic_Presentation_Forms_A;
	unsigned int buffer_Arabic_Presentation_Forms_A_len = encode_utf32 (chars_Arabic_Presentation_Forms_A, sizeof (chars_Arabic_Presentation_Forms_A) / sizeof (unsigned int), buffer_Arabic_Presentation_Forms_A);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Arabic_Presentation_Forms_A_len; ++i) s_Arabic_Presentation_Forms_A[i] = buffer_Arabic_Presentation_Forms_A[i];
	if (scan (s_Arabic_Presentation_Forms_A, s_Arabic_Presentation_Forms_A + buffer_Arabic_Presentation_Forms_A_len, Arabic_Presentation_Forms_A) != Arabic_Presentation_Forms_A)
		printf ("test 'Arabic_Presentation_Forms_A' failed\n");
	delete [] buffer_Arabic_Presentation_Forms_A;

	unsigned int * buffer_Variation_Selectors = new unsigned int [17];
	YYCTYPE * s_Variation_Selectors = (YYCTYPE *) buffer_Variation_Selectors;
	unsigned int buffer_Variation_Selectors_len = encode_utf32 (chars_Variation_Selectors, sizeof (chars_Variation_Selectors) / sizeof (unsigned int), buffer_Variation_Selectors);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Variation_Selectors_len; ++i) s_Variation_Selectors[i] = buffer_Variation_Selectors[i];
	if (scan (s_Variation_Selectors, s_Variation_Selectors + buffer_Variation_Selectors_len, Variation_Selectors) != Variation_Selectors)
		printf ("test 'Variation_Selectors' failed\n");
	delete [] buffer_Variation_Selectors;

	unsigned int * buffer_Combining_Half_Marks = new unsigned int [17];
	YYCTYPE * s_Combining_Half_Marks = (YYCTYPE *) buffer_Combining_Half_Marks;
	unsigned int buffer_Combining_Half_Marks_len = encode_utf32 (chars_Combining_Half_Marks, sizeof (chars_Combining_Half_Marks) / sizeof (unsigned int), buffer_Combining_Half_Marks);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Combining_Half_Marks_len; ++i) s_Combining_Half_Marks[i] = buffer_Combining_Half_Marks[i];
	if (scan (s_Combining_Half_Marks, s_Combining_Half_Marks + buffer_Combining_Half_Marks_len, Combining_Half_Marks) != Combining_Half_Marks)
		printf ("test 'Combining_Half_Marks' failed\n");
	delete [] buffer_Combining_Half_Marks;

	unsigned int * buffer_CJK_Compatibility_Forms = new unsigned int [33];
	YYCTYPE * s_CJK_Compatibility_Forms = (YYCTYPE *) buffer_CJK_Compatibility_Forms;
	unsigned int buffer_CJK_Compatibility_Forms_len = encode_utf32 (chars_CJK_Compatibility_Forms, sizeof (chars_CJK_Compatibility_Forms) / sizeof (unsigned int), buffer_CJK_Compatibility_Forms);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_CJK_Compatibility_Forms_len; ++i) s_CJK_Compatibility_Forms[i] = buffer_CJK_Compatibility_Forms[i];
	if (scan (s_CJK_Compatibility_Forms, s_CJK_Compatibility_Forms + buffer_CJK_Compatibility_Forms_len, CJK_Compatibility_Forms) != CJK_Compatibility_Forms)
		printf ("test 'CJK_Compatibility_Forms' failed\n");
	delete [] buffer_CJK_Compatibility_Forms;

	unsigned int * buffer_Small_Form_Variants = new unsigned int [33];
	YYCTYPE * s_Small_Form_Variants = (YYCTYPE *) buffer_Small_Form_Variants;
	unsigned int buffer_Small_Form_Variants_len = encode_utf32 (chars_Small_Form_Variants, sizeof (chars_Small_Form_Variants) / sizeof (unsigned int), buffer_Small_Form_Variants);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Small_Form_Variants_len; ++i) s_Small_Form_Variants[i] = buffer_Small_Form_Variants[i];
	if (scan (s_Small_Form_Variants, s_Small_Form_Variants + buffer_Small_Form_Variants_len, Small_Form_Variants) != Small_Form_Variants)
		printf ("test 'Small_Form_Variants' failed\n");
	delete [] buffer_Small_Form_Variants;

	unsigned int * buffer_Arabic_Presentation_Forms_B = new unsigned int [145];
	YYCTYPE * s_Arabic_Presentation_Forms_B = (YYCTYPE *) buffer_Arabic_Presentation_Forms_B;
	unsigned int buffer_Arabic_Presentation_Forms_B_len = encode_utf32 (chars_Arabic_Presentation_Forms_B, sizeof (chars_Arabic_Presentation_Forms_B) / sizeof (unsigned int), buffer_Arabic_Presentation_Forms_B);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Arabic_Presentation_Forms_B_len; ++i) s_Arabic_Presentation_Forms_B[i] = buffer_Arabic_Presentation_Forms_B[i];
	if (scan (s_Arabic_Presentation_Forms_B, s_Arabic_Presentation_Forms_B + buffer_Arabic_Presentation_Forms_B_len, Arabic_Presentation_Forms_B) != Arabic_Presentation_Forms_B)
		printf ("test 'Arabic_Presentation_Forms_B' failed\n");
	delete [] buffer_Arabic_Presentation_Forms_B;

	unsigned int * buffer_Halfwidth_and_Fullwidth_Forms = new unsigned int [241];
	YYCTYPE * s_Halfwidth_and_Fullwidth_Forms = (YYCTYPE *) buffer_Halfwidth_and_Fullwidth_Forms;
	unsigned int buffer_Halfwidth_and_Fullwidth_Forms_len = encode_utf32 (chars_Halfwidth_and_Fullwidth_Forms, sizeof (chars_Halfwidth_and_Fullwidth_Forms) / sizeof (unsigned int), buffer_Halfwidth_and_Fullwidth_Forms);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Halfwidth_and_Fullwidth_Forms_len; ++i) s_Halfwidth_and_Fullwidth_Forms[i] = buffer_Halfwidth_and_Fullwidth_Forms[i];
	if (scan (s_Halfwidth_and_Fullwidth_Forms, s_Halfwidth_and_Fullwidth_Forms + buffer_Halfwidth_and_Fullwidth_Forms_len, Halfwidth_and_Fullwidth_Forms) != Halfwidth_and_Fullwidth_Forms)
		printf ("test 'Halfwidth_and_Fullwidth_Forms' failed\n");
	delete [] buffer_Halfwidth_and_Fullwidth_Forms;

	unsigned int * buffer_Specials = new unsigned int [17];
	YYCTYPE * s_Specials = (YYCTYPE *) buffer_Specials;
	unsigned int buffer_Specials_len = encode_utf32 (chars_Specials, sizeof (chars_Specials) / sizeof (unsigned int), buffer_Specials);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_Specials_len; ++i) s_Specials[i] = buffer_Specials[i];
	if (scan (s_Specials, s_Specials + buffer_Specials_len, Specials) != Specials)
		printf ("test 'Specials' failed\n");
	delete [] buffer_Specials;

	unsigned int * buffer_All = new unsigned int [61425];
	YYCTYPE * s_All = (YYCTYPE *) buffer_All;
	unsigned int buffer_All_len = encode_utf32 (chars_All, sizeof (chars_All) / sizeof (unsigned int), buffer_All);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_All_len; ++i) s_All[i] = buffer_All[i];
	if (scan (s_All, s_All + buffer_All_len, All) != All)
		printf ("test 'All' failed\n");
	delete [] buffer_All;


	return 0;
}
