com.ximpleware.extended.xpath.Yylex Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vtd-xml Show documentation
Show all versions of vtd-xml Show documentation
XimpleWare's VTD-XML is, far and away, the industry's most advanced and powerful XML processing model for SOA and Cloud Computing
/*
* Copyright (C) 2002-2015 XimpleWare, [email protected]
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* The following code was generated by JFlex 1.4.1 on 9/21/09 2:31 PM */
/*
* Copyright (C) 2002-2015 XimpleWare, [email protected]
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
package com.ximpleware.extended.xpath;
import java_cup.runtime.Symbol;
import com.ximpleware.extended.parser.*;
import com.ximpleware.extended.*;
/**
* This class is a scanner generated by
* JFlex 1.4.1
* on 9/21/09 2:31 PM from the specification file
* C:/Documents and Settings/HP_Administrator/workspace/ximple-dev/com/ximpleware/extended/xpath/scanner.flex
*/
class Yylex extends sym implements java_cup.runtime.Scanner {
/** This character denotes the end of file */
public static final int YYEOF = -1;
/** initial size of the lookahead buffer */
private static final int ZZ_BUFFERSIZE = 16384;
/** lexical states */
public static final int YYINITIAL = 0;
/**
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
"\11\0\1\1\1\1\2\0\1\1\22\0\1\1\1\20\1\55\1\0"+
"\1\21\1\0\1\0\1\56\1\11\1\12\1\22\1\6\1\10\1\4"+
"\1\5\1\23\12\2\1\3\1\0\1\16\1\17\1\15\1\0\1\7"+
"\15\0\1\53\2\0\1\52\11\0\1\13\1\0\1\14\1\0\1\0"+
"\1\0\1\31\1\47\1\41\1\24\1\43\1\50\1\44\1\46\1\25"+
"\2\0\1\35\1\27\1\32\1\30\1\40\1\0\1\33\1\36\1\37"+
"\1\42\1\26\1\45\1\54\1\0\1\51\1\0\1\34\uff83\0";
/**
* Translates characters to character classes
*/
private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
/**
* Translates DFA states to action switch labels.
*/
private static final int [] ZZ_ACTION = zzUnpackAction();
private static final String ZZ_ACTION_PACKED_0 =
"\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7"+
"\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17"+
"\1\20\1\4\1\21\1\22\1\23\7\1\1\24\12\1"+
"\2\4\1\0\2\3\1\25\1\26\1\27\1\30\1\31"+
"\4\1\1\32\35\1\1\0\1\33\1\0\1\1\1\34"+
"\1\35\2\1\1\36\1\37\55\1\1\0\1\40\2\1"+
"\1\0\1\41\12\1\1\0\1\42\36\1\2\0\1\1"+
"\1\0\1\43\6\1\1\0\1\44\1\0\1\45\3\1"+
"\2\0\1\1\1\0\1\46\2\0\31\1\1\47\3\1"+
"\1\0\1\1\1\50\6\1\1\0\1\51\1\1\1\52"+
"\11\1\1\0\1\53\1\1\2\0\6\1\1\0\1\54"+
"\1\0\1\55\1\0\1\56\6\1\1\0\1\57\5\1"+
"\1\0\1\1\1\60\3\1\2\0\6\1\1\0\1\61"+
"\1\1\1\0\1\62\25\1\1\0\1\63\3\1\3\0"+
"\1\64\1\1\1\0\1\65\4\1\1\0\1\66\3\1"+
"\2\0\14\1\1\0\1\67\3\1\1\70\1\0\1\71"+
"\7\1\1\0\1\72\1\1\2\0\1\1\2\0\7\1"+
"\1\0\1\1\1\73\1\0\1\74\1\1\2\0\3\1"+
"\1\0\1\75\2\1\2\0\1\1\2\0\1\1\1\0"+
"\1\76\1\1\1\0\1\77\1\1\1\0\1\100\3\1"+
"\1\0\1\1\1\101\1\0\1\102\5\1\1\0\1\103"+
"\2\1\1\0\1\104\2\1\1\0\1\105\1\1\1\0"+
"\1\106\7\1\1\0\1\107\34\1\1\0\1\1\1\110"+
"\1\1\1\0\1\111\1\1\1\0\1\112\24\1\1\0"+
"\1\113\4\1\1\0\1\114\5\1\1\0\1\115\4\1"+
"\1\0\1\116\2\1\2\0\5\1\1\0\1\117\5\1"+
"\1\0\1\120\2\1\1\0\1\121\3\1\2\0\1\1"+
"\4\0\2\1\1\0\1\122\2\1\1\0\1\123\1\1"+
"\1\0\1\124\1\0\1\125\14\1\1\0\1\126\1\1"+
"\1\0\1\127\2\1\2\0\2\1\1\130\1\0\1\131"+
"\1\0\1\132";
private static int [] zzUnpackAction() {
int [] result = new int[612];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAction(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/**
* Translates a state to a row index in the transition table
*/
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
"\0\0\0\57\0\136\0\215\0\274\0\274\0\353\0\274"+
"\0\274\0\274\0\274\0\274\0\274\0\274\0\u011a\0\u0149"+
"\0\274\0\u0178\0\274\0\274\0\u01a7\0\u01d6\0\u0205\0\u0234"+
"\0\u0263\0\u0292\0\u02c1\0\u02f0\0\274\0\u031f\0\u034e\0\u037d"+
"\0\u03ac\0\u03db\0\u040a\0\u0439\0\u0468\0\u0497\0\u04c6\0\u04f5"+
"\0\u0524\0\u0553\0\u0582\0\u05b1\0\57\0\274\0\274\0\274"+
"\0\274\0\u05e0\0\u060f\0\u063e\0\u066d\0\57\0\u069c\0\u06cb"+
"\0\u06fa\0\u0729\0\u0758\0\u0787\0\u07b6\0\u07e5\0\u0814\0\u0843"+
"\0\u0872\0\u08a1\0\u08d0\0\u08ff\0\u092e\0\u095d\0\u098c\0\u09bb"+
"\0\u09ea\0\u0a19\0\u0a48\0\u0a77\0\u0aa6\0\u0ad5\0\u0b04\0\u0b33"+
"\0\u0b62\0\u0b91\0\u0bc0\0\u04f5\0\274\0\u0524\0\u0bef\0\274"+
"\0\57\0\u0c1e\0\u0c4d\0\57\0\57\0\u0c7c\0\u0cab\0\u0cda"+
"\0\u0d09\0\u0d38\0\u0d67\0\u0d96\0\u0dc5\0\u0df4\0\u0e23\0\u0e52"+
"\0\u0e81\0\u0eb0\0\u0edf\0\u0f0e\0\u0f3d\0\u0f6c\0\u0f9b\0\u0fca"+
"\0\u0ff9\0\u1028\0\u1057\0\u1086\0\u10b5\0\u10e4\0\u1113\0\u1142"+
"\0\u1171\0\u11a0\0\u11cf\0\u11fe\0\u122d\0\u125c\0\u128b\0\u12ba"+
"\0\u12e9\0\u1318\0\u1347\0\u1376\0\u13a5\0\u13d4\0\u1403\0\u1432"+
"\0\u1461\0\u1490\0\u14bf\0\274\0\u14ee\0\u151d\0\u154c\0\274"+
"\0\u157b\0\u15aa\0\u15d9\0\u1608\0\u1637\0\u1666\0\u1695\0\u16c4"+
"\0\u16f3\0\u1722\0\u1751\0\274\0\u1780\0\u17af\0\u17de\0\u180d"+
"\0\u183c\0\u186b\0\u189a\0\u18c9\0\u18f8\0\u1927\0\u1956\0\u1985"+
"\0\u19b4\0\u19e3\0\u1a12\0\u1a41\0\u1a70\0\u1a9f\0\u1ace\0\u1afd"+
"\0\u1b2c\0\u1b5b\0\u1b8a\0\u1bb9\0\u1be8\0\u1c17\0\u1c46\0\u1c75"+
"\0\u1ca4\0\u1cd3\0\u1d02\0\u1d31\0\u1d60\0\u1d8f\0\274\0\u1dbe"+
"\0\u1ded\0\u1e1c\0\u1e4b\0\u1e7a\0\u1ea9\0\u1ed8\0\274\0\u1f07"+
"\0\274\0\u1f36\0\u1f65\0\u1f94\0\u1fc3\0\u1ff2\0\u2021\0\u2050"+
"\0\274\0\u207f\0\u20ae\0\u20dd\0\u210c\0\u213b\0\u216a\0\u2199"+
"\0\u21c8\0\u21f7\0\u2226\0\u2255\0\u2284\0\u22b3\0\u22e2\0\u2311"+
"\0\u2340\0\u236f\0\u239e\0\u23cd\0\u23fc\0\u242b\0\u245a\0\u2489"+
"\0\u24b8\0\u24e7\0\u2516\0\u2545\0\274\0\u2574\0\u25a3\0\u25d2"+
"\0\u2601\0\u2630\0\274\0\u265f\0\u268e\0\u26bd\0\u26ec\0\u271b"+
"\0\u274a\0\u2779\0\274\0\u27a8\0\274\0\u27d7\0\u2806\0\u2835"+
"\0\u2864\0\u2893\0\u28c2\0\u28f1\0\u2920\0\u294f\0\u297e\0\274"+
"\0\u29ad\0\u29dc\0\u2a0b\0\u2a3a\0\u2a69\0\u2a98\0\u2ac7\0\u2af6"+
"\0\u2b25\0\u2b54\0\274\0\u2b83\0\274\0\u2bb2\0\274\0\u2be1"+
"\0\u2c10\0\u2c3f\0\u2c6e\0\u2c9d\0\u2ccc\0\u2cfb\0\274\0\u2d2a"+
"\0\u2d59\0\u2d88\0\u2db7\0\u2de6\0\u2e15\0\u2e44\0\274\0\u2e73"+
"\0\u2ea2\0\u2ed1\0\u2f00\0\u2f2f\0\u2f5e\0\u2f8d\0\u2fbc\0\u2feb"+
"\0\u301a\0\u3049\0\u3078\0\274\0\u30a7\0\u30d6\0\274\0\u3105"+
"\0\u3134\0\u3163\0\u3192\0\u31c1\0\u31f0\0\u321f\0\u324e\0\u327d"+
"\0\u32ac\0\u32db\0\u330a\0\u3339\0\u3368\0\u3397\0\u33c6\0\u33f5"+
"\0\u3424\0\u3453\0\u3482\0\u34b1\0\u34e0\0\274\0\u350f\0\u353e"+
"\0\u356d\0\u359c\0\u35cb\0\u35fa\0\274\0\u3629\0\u3658\0\274"+
"\0\u3687\0\u36b6\0\u36e5\0\u3714\0\u3743\0\274\0\u3772\0\u37a1"+
"\0\u37d0\0\u37ff\0\u382e\0\u385d\0\u388c\0\u38bb\0\u38ea\0\u3919"+
"\0\u3948\0\u3977\0\u39a6\0\u39d5\0\u3a04\0\u3a33\0\u3a62\0\u3a91"+
"\0\274\0\u3ac0\0\u3aef\0\u3b1e\0\274\0\u3b4d\0\274\0\u3b7c"+
"\0\u3bab\0\u3bda\0\u3c09\0\u3c38\0\u3c67\0\u3c96\0\u3cc5\0\274"+
"\0\u3cf4\0\u3d23\0\u3d52\0\u3d81\0\u3db0\0\u3ddf\0\u3e0e\0\u3e3d"+
"\0\u3e6c\0\u3e9b\0\u3eca\0\u3ef9\0\u3f28\0\u3f57\0\u3f86\0\274"+
"\0\u3fb5\0\274\0\u3fe4\0\u4013\0\u4042\0\u4071\0\u40a0\0\u40cf"+
"\0\u40fe\0\274\0\u412d\0\u415c\0\u418b\0\u41ba\0\u41e9\0\u4218"+
"\0\u4247\0\u4276\0\u42a5\0\274\0\u42d4\0\u4303\0\274\0\u4332"+
"\0\u4361\0\274\0\u4390\0\u43bf\0\u43ee\0\u441d\0\u444c\0\274"+
"\0\u447b\0\274\0\u44aa\0\u44d9\0\u4508\0\u4537\0\u4566\0\u4595"+
"\0\274\0\u45c4\0\u45f3\0\u4622\0\274\0\u4651\0\u4680\0\u46af"+
"\0\274\0\u46de\0\u470d\0\274\0\u473c\0\u476b\0\u479a\0\u47c9"+
"\0\u47f8\0\u4827\0\u4856\0\u4885\0\274\0\u48b4\0\u48e3\0\u4912"+
"\0\u4941\0\u4970\0\u499f\0\u49ce\0\u49fd\0\u4a2c\0\u4a5b\0\u4a8a"+
"\0\u4ab9\0\u4ae8\0\u4b17\0\u4b46\0\u4b75\0\u4ba4\0\u4bd3\0\u4c02"+
"\0\u4c31\0\u4c60\0\u4c8f\0\u4cbe\0\u4ced\0\u4d1c\0\u4d4b\0\u4d7a"+
"\0\u4da9\0\u4dd8\0\u4e07\0\274\0\u4e36\0\u4e65\0\274\0\u4e94"+
"\0\u4ec3\0\274\0\u4ef2\0\u4f21\0\u4f50\0\u4f7f\0\u4fae\0\u4fdd"+
"\0\u500c\0\u503b\0\u506a\0\u5099\0\u50c8\0\u50f7\0\u5126\0\u5155"+
"\0\u5184\0\u51b3\0\u51e2\0\u5211\0\u5240\0\u526f\0\u529e\0\274"+
"\0\u52cd\0\u52fc\0\u532b\0\u535a\0\u5389\0\274\0\u53b8\0\u53e7"+
"\0\u5416\0\u5445\0\u5474\0\u54a3\0\274\0\u54d2\0\u5501\0\u5530"+
"\0\u555f\0\u558e\0\274\0\u55bd\0\u55ec\0\u561b\0\u564a\0\u5679"+
"\0\u56a8\0\u56d7\0\u5706\0\u5735\0\u5764\0\274\0\u5793\0\u57c2"+
"\0\u57f1\0\u5820\0\u584f\0\u587e\0\274\0\u58ad\0\u58dc\0\u590b"+
"\0\274\0\u593a\0\u5969\0\u5998\0\u59c7\0\u59f6\0\u5a25\0\u5a54"+
"\0\u5a83\0\u5ab2\0\u5ae1\0\u5b10\0\u5b3f\0\u5b6e\0\274\0\u5b9d"+
"\0\u5bcc\0\u5bfb\0\274\0\u5c2a\0\u5c59\0\274\0\u5c88\0\274"+
"\0\u5cb7\0\u5ce6\0\u5d15\0\u5d44\0\u5d73\0\u5da2\0\u5dd1\0\u5e00"+
"\0\u5e2f\0\u5e5e\0\u5e8d\0\u5ebc\0\u5eeb\0\274\0\u5f1a\0\u5f49"+
"\0\274\0\u5f78\0\u5fa7\0\u5fd6\0\u6005\0\u6034\0\u6063\0\274"+
"\0\u6092\0\274\0\u60c1\0\274";
private static int [] zzUnpackRowMap() {
int [] result = new int[612];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
}
private static int zzUnpackRowMap(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int high = packed.charAt(i++) << 16;
result[j++] = high | packed.charAt(i++);
}
return j;
}
/**
* The transition table of the DFA
*/
private static final int [] ZZ_TRANS = zzUnpackTrans();
private static final String ZZ_TRANS_PACKED_0 =
"\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11"+
"\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21"+
"\1\22\1\23\1\24\1\25\1\26\1\27\1\2\1\30"+
"\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40"+
"\1\41\1\42\1\43\1\44\3\2\1\45\1\46\1\2"+
"\1\47\2\2\1\50\1\51\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\20\2\3\0\1\3\57\0"+
"\1\4\2\0\1\53\130\0\1\2\1\0\1\54\1\52"+
"\1\2\1\55\16\0\10\2\1\0\20\2\21\0\1\56"+
"\56\0\1\57\56\0\1\60\62\0\1\61\33\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\1\2\1\62\6\2"+
"\1\0\6\2\1\63\11\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\7\2\1\64\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\4\2\1\65"+
"\3\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\7\2\1\66\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\67\1\2"+
"\1\0\2\2\1\70\7\2\1\71\5\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\4\2\1\72\1\73"+
"\2\2\1\0\5\2\1\74\12\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\4\2\1\75\3\2\1\0"+
"\6\2\1\76\11\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\4\2\1\77\1\100\2\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\2\2\1\101\2\2\1\102\1\103\11\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\7\2\1\104"+
"\1\0\6\2\1\105\11\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\4\2\1\106\1\107\1\2\1\110"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\4\2\1\111\3\2\1\0\6\2\1\112\2\2"+
"\1\113\6\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\3\2\1\114\14\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\115\1\2"+
"\1\0\1\2\1\116\16\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\4\2\1\117\3\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\4\2"+
"\1\120\1\121\2\2\1\0\1\122\17\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\16\2"+
"\1\123\1\2\2\0\55\124\1\125\1\124\56\126\1\125"+
"\1\127\1\0\1\127\1\0\2\127\14\0\1\130\1\0"+
"\10\127\1\0\20\127\4\0\1\53\54\0\1\2\1\0"+
"\1\54\1\52\2\2\16\0\10\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\2\2\1\131"+
"\5\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\1\2\1\132\16\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\1\2\1\133"+
"\6\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\1\134\7\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\1\135\7\2\1\0"+
"\4\2\1\136\13\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\2\2\1\137\15\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\1\2\1\140\16\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\1\141\6\2\1\142\1\0\2\2\1\143"+
"\15\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\3\2\1\144\4\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\3\2\1\145\4\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\5\2\1\146\12\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\1\2\1\147"+
"\16\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\4\2\1\150\3\2\1\151\7\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\6\2\1\152"+
"\1\2\1\0\1\2\1\153\16\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\5\2\1\154\1\2\1\155"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\3\2\1\156\4\2\1\0\12\2\1\157\5\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\1\160\17\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\5\2\1\161\2\2\1\0\5\2\1\162"+
"\12\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\17\2\1\163\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\1\2\1\164\16\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\7\2"+
"\1\165\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\4\2\1\166\3\2\1\0\6\2\1\167"+
"\11\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\1\170\2\2\1\171\2\2\1\172\1\2\1\0\5\2"+
"\1\173\12\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\1\2\1\174\6\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\1\2\1\175\6\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\3\2\1\176\14\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\1\177\7\2\1\0"+
"\4\2\1\200\13\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\4\2\1\201\13\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\4\2\1\202"+
"\3\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\1\203\17\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\1\204"+
"\17\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\4\2\1\205\3\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\5\2\1\206\2\2\1\0"+
"\20\2\2\0\1\127\1\0\1\127\1\0\2\127\16\0"+
"\10\127\1\0\20\127\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\4\2\1\207\13\2\2\0"+
"\1\2\1\0\1\2\1\52\1\210\1\2\16\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\6\2\1\211\11\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\7\2\1\212\1\0"+
"\20\2\2\0\1\2\1\213\1\2\1\52\2\2\3\0"+
"\1\214\12\0\10\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\6\2\1\215"+
"\11\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\3\2\1\216\4\2\1\0\20\2\2\0\1\2\1\217"+
"\1\2\1\52\2\2\3\0\1\220\12\0\10\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\6\2\1\221\11\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\12\2\1\222"+
"\5\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\6\2\1\223\1\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\4\2\1\224\3\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\5\2\1\225\2\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\6\2\1\226"+
"\11\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\7\2\1\227\10\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\2\2\1\230"+
"\15\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\7\2\1\231\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\1\2\1\232\6\2\1\0\20\2"+
"\2\0\1\2\1\233\1\2\1\52\2\2\3\0\1\234"+
"\12\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\1\2\1\235\16\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\13\2\1\236\4\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\6\2\1\237\1\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\6\2\1\240\11\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\2\2\1\241\15\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\1\2"+
"\1\242\6\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\6\2\1\243\11\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\4\2\1\244\13\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\4\2\1\245\13\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\6\2\1\246\11\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\3\2\1\247\4\2\1\0\3\2"+
"\1\250\14\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\2\2\1\251\1\2\1\252\13\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\6\2"+
"\1\253\1\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\1\254\17\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\1\255\17\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\6\2\1\256\11\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\1\2"+
"\1\257\16\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\4\2\1\260\3\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\5\2\1\261\2\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\1\262\17\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\1\263\17\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\1\2\1\264\16\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\4\2\1\265\3\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\3\2"+
"\1\266\4\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\6\2\1\267\11\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\2\2\1\270\15\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\1\2\1\271\16\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\1\2"+
"\1\272\6\2\1\0\20\2\3\0\1\213\7\0\1\214"+
"\45\0\1\2\1\273\1\2\1\52\2\2\3\0\1\274"+
"\12\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\5\2\1\275\2\2\1\0\20\2"+
"\3\0\1\217\7\0\1\220\45\0\1\2\1\276\1\2"+
"\1\52\2\2\3\0\1\277\12\0\10\2\1\0\1\2"+
"\1\300\16\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\6\2\1\301\11\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\1\302\7\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\1\303\17\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\1\304\17\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\7\2\1\305"+
"\1\0\20\2\2\0\1\2\1\306\1\2\1\52\2\2"+
"\3\0\1\307\12\0\10\2\1\0\20\2\2\0\1\2"+
"\1\310\1\2\1\52\2\2\3\0\1\311\12\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\2\2\1\312\15\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\313\1\2"+
"\1\0\20\2\3\0\1\233\7\0\1\234\45\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\2\2"+
"\1\314\15\2\2\0\1\2\1\315\1\2\1\316\2\2"+
"\16\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\1\2\1\317\16\2"+
"\2\0\1\2\1\320\1\2\1\52\2\2\3\0\1\321"+
"\12\0\10\2\1\0\20\2\2\0\1\2\1\322\1\2"+
"\1\52\2\2\3\0\1\323\12\0\10\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\2\2\1\324\15\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\6\2\1\325\1\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\6\2\1\326\11\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\6\2\1\327\11\2"+
"\2\0\1\2\1\0\1\2\1\52\1\330\1\2\16\0"+
"\10\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\6\2\1\331\11\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\5\2\1\332"+
"\2\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\5\2\1\333\2\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\5\2\1\334"+
"\2\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\2\2\1\335\15\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\1\2\1\336"+
"\6\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\1\337\7\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\7\2\1\340\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\1\341\1\2"+
"\16\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\1\342\7\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\3\2\1\343\14\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\6\2\1\344\11\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\4\2\1\345"+
"\3\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\6\2\1\346\11\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\7\2\1\347"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\6\2\1\350\11\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\351\1\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\4\2\1\352\3\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\2\2"+
"\1\353\15\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\12\2\1\354\5\2\3\0\1\273"+
"\7\0\1\274\46\0\1\274\10\0\1\355\44\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\1\356"+
"\17\2\3\0\1\276\7\0\1\277\45\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\3\2\1\357"+
"\14\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\7\2\1\360\1\0\20\2\2\0\1\2\1\361\1\2"+
"\1\52\1\362\1\2\3\0\1\363\12\0\10\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\2\2\1\364\5\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\1\365\1\2\16\0\10\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\1\366\1\2\16\0"+
"\10\2\1\0\20\2\3\0\1\306\7\0\1\307\46\0"+
"\1\310\7\0\1\311\45\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\1\2\1\367\16\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\7\2\1\370\10\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\7\2\1\371\1\0\20\2\3\0\1\315"+
"\1\0\1\372\53\0\1\127\1\0\1\127\1\373\2\127"+
"\14\0\1\130\1\0\10\127\1\0\20\127\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\1\374"+
"\17\2\3\0\1\320\7\0\1\321\46\0\1\322\7\0"+
"\1\323\46\0\1\323\10\0\1\375\44\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\1\2\1\376\6\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\2\2\1\377\15\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\1\2\1\u0100"+
"\16\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\1\u0101\7\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\3\2\1\u0102\14\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\6\2"+
"\1\u0103\1\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\7\2\1\u0104\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\1\2\1\u0105"+
"\6\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\2\2\1\u0106\15\2\2\0"+
"\1\2\1\u0107\1\2\1\52\2\2\3\0\1\u0108\12\0"+
"\10\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\6\2\1\u0109\1\2\1\0\20\2\2\0"+
"\1\2\1\u010a\1\2\1\u010b\2\2\16\0\10\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\1\u010c\1\2"+
"\16\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\10\2\1\u010d\7\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\6\2\1\u010e\11\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\6\2\1\u010f\11\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\5\2"+
"\1\u0110\2\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\10\2\1\u0111\7\2"+
"\2\0\1\2\1\u0112\1\2\1\52\2\2\3\0\1\u0113"+
"\12\0\10\2\1\0\20\2\2\0\1\2\1\u0114\1\2"+
"\1\52\2\2\3\0\1\u0115\12\0\10\2\1\0\20\2"+
"\2\0\1\2\1\u0116\1\2\1\52\2\2\3\0\1\u0117"+
"\12\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\1\u0118\7\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\1\u0119\1\2\16\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\4\2\1\u011a\3\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\5\2"+
"\1\u011b\12\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\1\2\1\u011c\6\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\5\2\1\u011d\2\2"+
"\1\0\20\2\2\0\1\2\1\u011e\1\2\1\52\2\2"+
"\3\0\1\u011f\12\0\10\2\1\0\20\2\3\0\1\361"+
"\7\0\1\363\45\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\11\2\1\u0120\6\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\6\2"+
"\1\u0121\11\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\6\2\1\u0122\1\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\4\2"+
"\1\u0123\13\2\2\0\1\2\1\0\1\2\1\52\1\u0124"+
"\1\2\16\0\10\2\1\0\20\2\2\0\1\2\1\u0125"+
"\1\2\1\52\1\u0126\1\2\3\0\1\u0127\12\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\1\2\1\u0128\6\2\1\0\20\2\5\0\1\373"+
"\53\0\1\2\1\0\1\2\1\52\2\2\16\0\5\2"+
"\1\u0129\2\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\4\2\1\u012a\3\2\1\0\20\2"+
"\2\0\1\2\1\u012b\1\2\1\u012c\2\2\16\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\1\2\1\u012d\16\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\1\2\1\u012e\6\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\4\2\1\u012f\3\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\2\2"+
"\1\u0130\15\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\6\2\1\u0131\11\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\u0132\1\2"+
"\1\0\20\2\2\0\1\2\1\u0133\1\2\1\52\2\2"+
"\3\0\1\u0134\12\0\10\2\1\0\20\2\3\0\1\u0107"+
"\7\0\1\u0108\45\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\7\2\1\u0135\10\2\3\0\1\u010a"+
"\1\0\1\u0136\53\0\1\127\1\0\1\127\1\u0137\2\127"+
"\14\0\1\130\1\0\10\127\1\0\20\127\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\4\2"+
"\1\u0138\13\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\1\2\1\u0139\6\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\1\u013a\1\2\16\0\10\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\1\u013b\1\2"+
"\16\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\6\2\1\u013c\1\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\1\2"+
"\1\u013d\6\2\1\0\20\2\3\0\1\u0112\7\0\1\u0113"+
"\46\0\1\u0114\7\0\1\u0115\46\0\1\u0116\7\0\1\u0117"+
"\45\0\1\2\1\0\1\2\1\52\2\2\16\0\5\2"+
"\1\u013e\2\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\5\2\1\u013f\12\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\7\2"+
"\1\u0140\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\2\2\1\u0141\15\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\14\2\1\u0142\3\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\4\2\1\u0143\13\2\3\0"+
"\1\u011e\7\0\1\u011f\45\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\5\2\1\u0144\2\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\1\u0145\1\2\16\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\5\2\1\u0146\2\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\5\2\1\u0147\2\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\10\2\1\u0148\7\2\3\0\1\u0125"+
"\7\0\1\u0127\45\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\1\u0149\17\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\6\2\1\u014a\1\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\2\2\1\u014b\15\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\6\2\1\u014c\1\2\1\0"+
"\20\2\3\0\1\u012b\1\0\1\u014d\53\0\1\127\1\0"+
"\1\127\1\u014e\2\127\14\0\1\130\1\0\10\127\1\0"+
"\20\127\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\1\2\1\u014f\6\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\6\2\1\u0150\1\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\1\2\1\u0151\6\2\1\0\20\2\2\0\1\2\1\u0152"+
"\1\2\1\52\2\2\3\0\1\u0153\12\0\10\2\1\0"+
"\20\2\2\0\1\2\1\u0154\1\2\1\52\2\2\3\0"+
"\1\u0155\12\0\10\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\1\2\1\u0156"+
"\16\2\3\0\1\u0133\7\0\1\u0134\45\0\1\2\1\u0157"+
"\1\2\1\52\2\2\3\0\1\u0158\12\0\10\2\1\0"+
"\20\2\5\0\1\u0137\53\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\5\2\1\u0159\2\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\2\2\1\u015a\15\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\13\2\1\u015b\4\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\11\2\1\u015c\6\2\2\0\1\2\1\u015d\1\2\1\52"+
"\2\2\3\0\1\u015e\12\0\10\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\6\2\1\u015f"+
"\1\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\6\2\1\u0160\1\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\7\2\1\u0161"+
"\1\0\20\2\2\0\1\2\1\u0162\1\2\1\u0163\1\u0164"+
"\1\2\16\0\10\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\6\2\1\u0165"+
"\11\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\6\2\1\u0166\11\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\6\2\1\u0167"+
"\11\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\1\u0168\17\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\15\2\1\u0169\2\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\3\2"+
"\1\u016a\4\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\1\2\1\u016b\16\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\1\2"+
"\1\u016c\6\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\6\2\1\u016d\11\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\7\2\1\u016e\10\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\6\2\1\u016f\11\2"+
"\2\0\1\2\1\u0170\1\2\1\52\2\2\3\0\1\u0171"+
"\12\0\10\2\1\0\20\2\5\0\1\u014e\53\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\u0172\1\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\7\2\1\u0173\10\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\u0174\1\2"+
"\1\0\20\2\3\0\1\u0152\7\0\1\u0153\46\0\1\u0153"+
"\10\0\1\u0175\45\0\1\u0154\7\0\1\u0155\45\0\1\2"+
"\1\u0176\1\2\1\52\2\2\3\0\1\u0177\12\0\10\2"+
"\1\0\20\2\3\0\1\u0157\7\0\1\u0158\45\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\1\2"+
"\1\u0178\16\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\11\2\1\u0179\6\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\4\2\1\u017a\3\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\2\2\1\u017b\15\2\3\0\1\u015d"+
"\7\0\1\u015e\45\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\7\2\1\u017c\10\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\2\2"+
"\1\u017d\15\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\1\2\1\u017e\6\2\1\0\20\2\3\0\1\u0162"+
"\1\0\1\u017f\53\0\1\127\1\0\1\127\1\u0180\2\127"+
"\14\0\1\130\1\0\10\127\1\0\20\127\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\4\2\1\u0181\3\2"+
"\1\0\20\2\2\0\1\2\1\u0182\1\2\1\u0183\2\2"+
"\16\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\1\u0184\1\2\16\0\10\2\1\0\20\2\2\0"+
"\1\2\1\u0185\1\2\1\u0186\1\u0187\1\2\16\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\13\2\1\u0188\4\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\16\2"+
"\1\u0189\1\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\6\2\1\u018a\11\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\6\2"+
"\1\u018b\11\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\2\2\1\u018c\15\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\u018d\1\2"+
"\1\0\20\2\2\0\1\2\1\u018e\1\2\1\52\1\u018f"+
"\1\2\3\0\1\u0190\12\0\10\2\1\0\20\2\2\0"+
"\1\2\1\u0191\1\2\1\52\2\2\3\0\1\u0192\12\0"+
"\10\2\1\0\20\2\3\0\1\u0170\7\0\1\u0171\45\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\7\2\1\u0193\10\2\2\0\1\2\1\u0194\1\2\1\u0195"+
"\1\u0196\1\2\16\0\10\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\2\2"+
"\1\u0197\15\2\3\0\1\u0176\7\0\1\u0177\45\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\6\2"+
"\1\u0198\11\2\2\0\1\2\1\u0199\1\2\1\52\2\2"+
"\3\0\1\u019a\12\0\10\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\7\2\1\u019b\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\3\2\1\u019c\4\2\1\0\20\2\2\0\1\2\1\u019d"+
"\1\2\1\u019e\1\u019f\1\2\16\0\10\2\1\0\20\2"+
"\2\0\1\2\1\u01a0\1\2\1\u01a1\1\u01a2\1\2\16\0"+
"\10\2\1\0\20\2\2\0\1\2\1\u01a3\1\2\1\52"+
"\2\2\3\0\1\u01a4\12\0\10\2\1\0\20\2\5\0"+
"\1\u0180\53\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\7\2\1\u01a5\1\0\20\2\3\0\1\u0182\1\0\1\u01a6"+
"\53\0\1\127\1\0\1\127\1\u01a7\2\127\14\0\1\130"+
"\1\0\10\127\1\0\20\127\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\1\2\1\u01a8\16\2"+
"\3\0\1\u0185\1\0\1\u01a9\53\0\1\127\1\0\1\127"+
"\1\u01aa\2\127\14\0\1\130\1\0\10\127\1\0\20\127"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\5\2\1\u01ab\12\2\2\0\1\2\1\0\1\2"+
"\1\52\1\u01ac\1\2\16\0\10\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\5\2\1\u01ad"+
"\2\2\1\0\20\2\2\0\1\2\1\u01ae\1\2\1\52"+
"\1\u01af\1\2\3\0\1\u01b0\12\0\10\2\1\0\20\2"+
"\2\0\1\2\1\u01b1\1\2\1\52\2\2\3\0\1\u01b2"+
"\12\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\11\2\1\u01b3\6\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\7\2\1\u01b4\10\2\3\0\1\u018e\7\0\1\u0190"+
"\45\0\1\2\1\0\1\2\1\52\2\2\16\0\5\2"+
"\1\u01b5\2\2\1\0\12\2\1\u01b6\5\2\3\0\1\u0191"+
"\7\0\1\u0192\45\0\1\2\1\0\1\2\1\52\1\u01b7"+
"\1\2\16\0\10\2\1\0\20\2\3\0\1\u0194\1\0"+
"\1\u01b8\53\0\1\127\1\0\1\127\1\u01b9\2\127\14\0"+
"\1\130\1\0\10\127\1\0\20\127\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\1\2\1\u01ba"+
"\16\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\1\2\1\u01bb\16\2\2\0\1\2\1\u01bc"+
"\1\2\1\52\2\2\3\0\1\u01bd\12\0\10\2\1\0"+
"\20\2\3\0\1\u0199\7\0\1\u019a\45\0\1\2\1\0"+
"\1\2\1\52\1\u01be\1\2\16\0\10\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\1\u01bf\17\2\3\0\1\u019d\1\0\1\u01c0\53\0"+
"\1\127\1\0\1\127\1\u01c1\2\127\14\0\1\130\1\0"+
"\10\127\1\0\20\127\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\1\2\1\u01c2\16\2\3\0"+
"\1\u01a0\1\0\1\u01c3\53\0\1\127\1\0\1\127\1\u01c4"+
"\2\127\14\0\1\130\1\0\10\127\1\0\20\127\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\4\2\1\u01c5"+
"\3\2\1\0\20\2\3\0\1\u01a3\7\0\1\u01a4\45\0"+
"\1\2\1\0\1\2\1\52\1\u01c6\1\2\16\0\10\2"+
"\1\0\20\2\5\0\1\u01a7\53\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\3\2\1\u01c7\14\2"+
"\5\0\1\u01aa\53\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\7\2\1\u01c8\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\2\2\1\u01c9"+
"\15\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\3\2\1\u01ca\4\2\1\0\20\2\3\0\1\u01ae\7\0"+
"\1\u01b0\45\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\13\2\1\u01cb\4\2\3\0\1\u01b1\7\0"+
"\1\u01b2\45\0\1\2\1\u01cc\1\2\1\52\2\2\3\0"+
"\1\u01cd\12\0\10\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\2\2\1\u01ce"+
"\15\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\13\2\1\u01cf\4\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\6\2\1\u01d0"+
"\11\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\1\2\1\u01d1\6\2\1\0\20\2\5\0\1\u01b9\53\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\1\2\1\u01d2"+
"\6\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\1\u01d3\1\2\16\0\10\2\1\0\20\2\3\0\1\u01bc"+
"\7\0\1\u01bd\45\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\5\2\1\u01d4\12\2\2\0\1\2"+
"\1\0\1\2\1\52\1\u01d5\1\2\16\0\10\2\1\0"+
"\20\2\5\0\1\u01c1\53\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\1\2\1\u01d6\6\2\1\0\20\2\5\0"+
"\1\u01c4\53\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\7\2\1\u01d7\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\1\2\1\u01d8\16\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\5\2"+
"\1\u01d9\2\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\1\2\1\u01da\6\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\4\2"+
"\1\u01db\3\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\6\2\1\u01dc\11\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\7\2"+
"\1\u01dd\1\0\20\2\3\0\1\u01cc\7\0\1\u01cd\45\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\11\2\1\u01de\6\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\2\2\1\u01df\15\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\13\2\1\u01e0\4\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\6\2\1\u01e1\1\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\12\2\1\u01e2\5\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\2\2\1\u01e3\15\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\7\2\1\u01e4"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\5\2\1\u01e5\12\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\12\2"+
"\1\u01e6\5\2\2\0\1\2\1\0\1\2\1\52\1\u01e7"+
"\1\2\16\0\10\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\6\2\1\u01e8"+
"\11\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\4\2\1\u01e9\13\2\2\0\1\2\1\u01ea"+
"\1\2\1\52\1\u01eb\1\2\3\0\1\u01ec\12\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\1\u01ed"+
"\1\2\16\0\10\2\1\0\20\2\2\0\1\2\1\u01ee"+
"\1\2\1\52\2\2\3\0\1\u01ef\12\0\10\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\4\2\1\u01f0\3\2\1\0\20\2\2\0\1\2\1\u01f1"+
"\1\2\1\52\2\2\3\0\1\u01f2\12\0\10\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\6\2\1\u01f3\11\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\4\2\1\u01f4\3\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\1\2\1\u01f5\16\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\1\u01f6\17\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\4\2"+
"\1\u01f7\3\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\1\2\1\u01f8\6\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\7\2"+
"\1\u01f9\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\1\u01fa\17\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\1\2"+
"\1\u01fb\16\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\1\u01fc\17\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\6\2\1\u01fd"+
"\11\2\3\0\1\u01ea\7\0\1\u01ec\45\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\13\2\1\u01fe"+
"\4\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\4\2\1\u01ff\3\2\1\0\6\2\1\u0200\11\2\3\0"+
"\1\u01ee\7\0\1\u01ef\45\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\3\2\1\u0201\4\2\1\0\20\2\3\0"+
"\1\u01f1\7\0\1\u01f2\45\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\7\2\1\u0202\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\7\2\1\u0203\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\2\2\1\u0204\15\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\1\2\1\u0205\6\2\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\1\u0206\1\2"+
"\16\0\10\2\1\0\20\2\2\0\1\2\1\u0207\1\2"+
"\1\52\2\2\3\0\1\u0208\12\0\10\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\1\2"+
"\1\u0209\6\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\1\2\1\u020a\6\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\10\2"+
"\1\0\6\2\1\u020b\11\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\13\2\1\u020c\4\2"+
"\2\0\1\2\1\u020d\1\2\1\52\2\2\3\0\1\u020e"+
"\12\0\10\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\4\2\1\u020f\2\2\1\u0210\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\1\u0211\7\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\2\2\1\u0212\5\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\1\u0213\1\2\16\0"+
"\10\2\1\0\20\2\2\0\1\2\1\u0214\1\2\1\52"+
"\2\2\3\0\1\u0215\12\0\10\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\6\2\1\u0216\11\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\7\2\1\u0217\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\u0218\1\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\1\2\1\u0219\16\2\3\0\1\u0207"+
"\7\0\1\u0208\45\0\1\2\1\u021a\1\2\1\52\2\2"+
"\3\0\1\u021b\12\0\10\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\6\2\1\u021c\1\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\1\u021d\17\2\2\0\1\2\1\u021e"+
"\1\2\1\u021f\2\2\16\0\10\2\1\0\20\2\3\0"+
"\1\u020d\7\0\1\u020e\45\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\7\2\1\u0220\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\4\2\1\u0221\3\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\1\u0222\7\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\6\2\1\u0223"+
"\11\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\15\2\1\u0224\2\2\3\0\1\u0214\7\0"+
"\1\u0215\45\0\1\2\1\u0225\1\2\1\52\2\2\3\0"+
"\1\u0226\12\0\10\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\5\2\1\u0227"+
"\12\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\7\2\1\u0228\10\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\2\2\1\u0229"+
"\15\2\3\0\1\u021a\7\0\1\u021b\45\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\10\2\1\0\7\2\1\u022a"+
"\10\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\13\2\1\u022b\4\2\3\0\1\u021e\1\0"+
"\1\u022c\53\0\1\127\1\0\1\127\1\u022d\2\127\14\0"+
"\1\130\1\0\10\127\1\0\20\127\2\0\1\2\1\0"+
"\1\2\1\52\1\u022e\1\2\16\0\10\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\3\2"+
"\1\u022f\4\2\1\0\20\2\2\0\1\2\1\u0230\1\2"+
"\1\52\2\2\3\0\1\u0231\12\0\10\2\1\0\20\2"+
"\2\0\1\2\1\0\1\2\1\52\2\2\16\0\6\2"+
"\1\u0232\1\2\1\0\20\2\2\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\16\2\1\u0233\1\2"+
"\3\0\1\u0225\7\0\1\u0226\45\0\1\2\1\0\1\2"+
"\1\52\2\2\16\0\10\2\1\0\4\2\1\u0234\13\2"+
"\2\0\1\2\1\u0235\1\2\1\u0236\2\2\16\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\7\2\1\u0237\1\0\20\2\2\0\1\2\1\u0238"+
"\1\2\1\u0239\2\2\16\0\10\2\1\0\20\2\2\0"+
"\1\2\1\u023a\1\2\1\u023b\2\2\16\0\10\2\1\0"+
"\20\2\5\0\1\u022d\53\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\3\2\1\u023c\14\2\2\0"+
"\1\2\1\0\1\2\1\52\1\u023d\1\2\16\0\10\2"+
"\1\0\20\2\3\0\1\u0230\7\0\1\u0231\45\0\1\2"+
"\1\u023e\1\2\1\52\2\2\3\0\1\u023f\12\0\10\2"+
"\1\0\20\2\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\5\2\1\u0240\2\2\1\0\20\2\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\10\2\1\0\2\2"+
"\1\u0241\15\2\3\0\1\u0235\1\0\1\u0242\53\0\1\127"+
"\1\0\1\127\1\u0243\2\127\14\0\1\130\1\0\10\127"+
"\1\0\20\127\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\1\2\1\u0244\6\2\1\0\20\2\3\0\1\u0238"+
"\1\0\1\u0245\53\0\1\127\1\0\1\127\1\u0246\2\127"+
"\14\0\1\130\1\0\10\127\1\0\20\127\3\0\1\u023a"+
"\1\0\1\u0247\53\0\1\127\1\0\1\127\1\u0248\2\127"+
"\14\0\1\130\1\0\10\127\1\0\20\127\2\0\1\2"+
"\1\0\1\2\1\52\2\2\16\0\7\2\1\u0249\1\0"+
"\20\2\2\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\10\2\1\0\15\2\1\u024a\2\2\3\0\1\u023e\7\0"+
"\1\u023f\45\0\1\2\1\0\1\2\1\52\2\2\16\0"+
"\3\2\1\u024b\4\2\1\0\20\2\2\0\1\2\1\0"+
"\1\2\1\52\2\2\16\0\1\2\1\u024c\6\2\1\0"+
"\20\2\5\0\1\u0243\53\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\6\2\1\u024d\1\2\1\0\20\2\5\0"+
"\1\u0246\56\0\1\u0248\53\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\6\2\1\u024e\11\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\16\2\1\u024f\1\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\6\2\1\u0250\11\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\4\2\1\u0251"+
"\3\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\10\2\1\0\7\2\1\u0252\10\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\13\2\1\u0253\4\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\5\2\1\u0254\2\2\1\0\20\2\2\0"+
"\1\2\1\u0255\1\2\1\52\2\2\3\0\1\u0256\12\0"+
"\10\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\6\2\1\u0257\1\2\1\0\20\2\2\0"+
"\1\2\1\u0258\1\2\1\52\2\2\3\0\1\u0259\12\0"+
"\10\2\1\0\20\2\2\0\1\2\1\0\1\2\1\52"+
"\2\2\16\0\1\2\1\u025a\6\2\1\0\20\2\2\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\3\2\1\u025b"+
"\4\2\1\0\20\2\3\0\1\u0255\7\0\1\u0256\45\0"+
"\1\2\1\u025c\1\2\1\52\2\2\3\0\1\u025d\12\0"+
"\10\2\1\0\20\2\3\0\1\u0258\7\0\1\u0259\45\0"+
"\1\2\1\0\1\2\1\52\2\2\16\0\10\2\1\0"+
"\17\2\1\u025e\2\0\1\2\1\0\1\2\1\52\2\2"+
"\16\0\10\2\1\0\6\2\1\u025f\11\2\3\0\1\u025c"+
"\7\0\1\u025d\46\0\1\u025d\10\0\1\u0260\44\0\1\2"+
"\1\u0261\1\2\1\52\2\2\3\0\1\u0262\12\0\10\2"+
"\1\0\20\2\2\0\1\2\1\u0263\1\2\1\52\2\2"+
"\3\0\1\u0264\12\0\10\2\1\0\20\2\3\0\1\u0261"+
"\7\0\1\u0262\46\0\1\u0263\7\0\1\u0264\45\0";
private static int [] zzUnpackTrans() {
int [] result = new int[24816];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
}
private static int zzUnpackTrans(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
do result[j++] = value; while (--count > 0);
}
return j;
}
/* error codes */
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
/* error messages for the codes above */
private static final String ZZ_ERROR_MSG[] = {
"Unkown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
/**
* ZZ_ATTRIBUTE[aState] contains the attributes of state aState
*/
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\1\0\3\1\2\11\1\1\7\11\2\1\1\11\1\1"+
"\2\11\10\1\1\11\14\1\1\0\3\1\4\11\42\1"+
"\1\0\1\11\1\0\1\1\1\11\62\1\1\0\1\11"+
"\2\1\1\0\1\11\12\1\1\0\1\11\36\1\2\0"+
"\1\1\1\0\1\11\6\1\1\0\1\11\1\0\1\11"+
"\3\1\2\0\1\1\1\0\1\11\2\0\31\1\1\11"+
"\3\1\1\0\1\1\1\11\6\1\1\0\1\11\1\1"+
"\1\11\11\1\1\0\1\11\1\1\2\0\6\1\1\0"+
"\1\11\1\0\1\11\1\0\1\11\6\1\1\0\1\11"+
"\5\1\1\0\1\1\1\11\3\1\2\0\6\1\1\0"+
"\1\11\1\1\1\0\1\11\25\1\1\0\1\11\3\1"+
"\3\0\1\11\1\1\1\0\1\11\4\1\1\0\1\11"+
"\3\1\2\0\14\1\1\0\1\11\3\1\1\11\1\0"+
"\1\11\7\1\1\0\1\11\1\1\2\0\1\1\2\0"+
"\7\1\1\0\1\1\1\11\1\0\1\11\1\1\2\0"+
"\3\1\1\0\1\11\2\1\2\0\1\1\2\0\1\1"+
"\1\0\1\11\1\1\1\0\1\11\1\1\1\0\1\11"+
"\3\1\1\0\1\1\1\11\1\0\1\11\5\1\1\0"+
"\1\11\2\1\1\0\1\11\2\1\1\0\1\11\1\1"+
"\1\0\1\11\7\1\1\0\1\11\34\1\1\0\1\1"+
"\1\11\1\1\1\0\1\11\1\1\1\0\1\11\24\1"+
"\1\0\1\11\4\1\1\0\1\11\5\1\1\0\1\11"+
"\4\1\1\0\1\11\2\1\2\0\5\1\1\0\1\11"+
"\5\1\1\0\1\11\2\1\1\0\1\11\3\1\2\0"+
"\1\1\4\0\2\1\1\0\1\11\2\1\1\0\1\11"+
"\1\1\1\0\1\11\1\0\1\11\14\1\1\0\1\11"+
"\1\1\1\0\1\11\2\1\2\0\2\1\1\11\1\0"+
"\1\11\1\0\1\11";
private static int [] zzUnpackAttribute() {
int [] result = new int[612];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAttribute(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/** the input device */
private java.io.Reader zzReader;
/** the current state of the DFA */
private int zzState;
/** the current lexical state */
private int zzLexicalState = YYINITIAL;
/** this buffer contains the current text to be matched and is
the source of the yytext() string */
private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
/** the textposition at the last accepting state */
private int zzMarkedPos;
/** the textposition at the last state to be included in yytext */
private int zzPushbackPos;
/** the current text position in the buffer */
private int zzCurrentPos;
/** startRead marks the beginning of the yytext() string in the buffer */
private int zzStartRead;
/** endRead marks the last character in the buffer, that has been read
from input */
private int zzEndRead;
/** number of newlines encountered up to the start of the matched text */
private int yyline;
/** the number of characters up to the start of the matched text */
private int yychar;
/**
* the number of characters from the last newline up to the start of the
* matched text
*/
private int yycolumn;
/**
* zzAtBOL == true <=> the scanner is currently at the beginning of a line
*/
private boolean zzAtBOL = true;
/** zzAtEOF == true <=> the scanner is at the EOF */
private boolean zzAtEOF;
/** denotes if the user-EOF-code has already been executed */
private boolean zzEOFDone;
/* user code: */
private Symbol sym(int sym) {
return new Symbol(sym);
}
private Symbol sym(int sym, Object val) {
return new Symbol(sym, val);
}
int isName;
NameType name;
FuncName fname;
Ntest ntest;
AxisType at;
int len;
String literal;
Double number;
int colonPosition;
public int getOffset(){
return yychar;
}
/* public void report_error(String message, Object info) {
//throw new XPathParseException("Syntax error during parsing");
}
public void report_fatal_error(String message, Object info) throws XPathParseException{
throw new XPathParseExceptionHuge("Syntax error during parsing: "+ message);
}
public void syntax_error(Symbol cur_token) {
}
public void unrecovered_syntax_error(Symbol cur_token) throws XPathParseException{
throw new XPathParseExceptionHuge("XPath Syntax error: "+cur_token);
}*/
/**
* Creates a new scanner
* There is also a java.io.InputStream version of this constructor.
*
* @param in the java.io.Reader to read input from.
*/
Yylex(java.io.Reader in) {
isName = 1;
colonPosition = -1;
this.zzReader = in;
}
/**
* Creates a new scanner.
* There is also java.io.Reader version of this constructor.
*
* @param in the java.io.Inputstream to read input from.
*/
Yylex(java.io.InputStream in) {
this(new java.io.InputStreamReader(in));
}
/**
* Unpacks the compressed character translation table.
*
* @param packed the packed character translation table
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
char [] map = new char[0x10000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
while (i < 138) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
}
return map;
}
/**
* Refills the input buffer.
*
* @return false
, iff there was new input.
*
* @exception java.io.IOException if any I/O-Error occurs
*/
private boolean zzRefill() throws java.io.IOException {
/* first: make room (if you can) */
if (zzStartRead > 0) {
System.arraycopy(zzBuffer, zzStartRead,
zzBuffer, 0,
zzEndRead-zzStartRead);
/* translate stored positions */
zzEndRead-= zzStartRead;
zzCurrentPos-= zzStartRead;
zzMarkedPos-= zzStartRead;
zzPushbackPos-= zzStartRead;
zzStartRead = 0;
}
/* is the buffer big enough? */
if (zzCurrentPos >= zzBuffer.length) {
/* if not: blow it up */
char newBuffer[] = new char[zzCurrentPos*2];
System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
zzBuffer = newBuffer;
}
/* finally: fill the buffer with new input */
int numRead = zzReader.read(zzBuffer, zzEndRead,
zzBuffer.length-zzEndRead);
if (numRead < 0) {
return true;
}
else {
zzEndRead+= numRead;
return false;
}
}
/**
* Closes the input stream.
*/
public final void yyclose() throws java.io.IOException {
zzAtEOF = true; /* indicate end of file */
zzEndRead = zzStartRead; /* invalidate buffer */
if (zzReader != null)
zzReader.close();
}
/**
* Resets the scanner to read from a new input stream.
* Does not close the old reader.
*
* All internal variables are reset, the old input stream
* cannot be reused (internal buffer is discarded and lost).
* Lexical state is set to ZZ_INITIAL.
*
* @param reader the new input stream
*/
public final void yyreset(java.io.Reader reader) {
zzReader = reader;
zzAtBOL = true;
zzAtEOF = false;
zzEndRead = zzStartRead = 0;
zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
yyline = yychar = yycolumn = 0;
zzLexicalState = YYINITIAL;
}
/**
* Returns the current lexical state.
*/
public final int yystate() {
return zzLexicalState;
}
/**
* Enters a new lexical state
*
* @param newState the new lexical state
*/
public final void yybegin(int newState) {
zzLexicalState = newState;
}
/**
* Returns the text matched by the current regular expression.
*/
public final String yytext() {
return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
}
/**
* Returns the character at position pos from the
* matched text.
*
* It is equivalent to yytext().charAt(pos), but faster
*
* @param pos the position of the character to fetch.
* A value from 0 to yylength()-1.
*
* @return the character at position pos
*/
public final char yycharat(int pos) {
return zzBuffer[zzStartRead+pos];
}
/**
* Returns the length of the matched text region.
*/
public final int yylength() {
return zzMarkedPos-zzStartRead;
}
/**
* Reports an error that occured while scanning.
*
* In a wellformed scanner (no or only correct usage of
* yypushback(int) and a match-all fallback rule) this method
* will only be called with things that "Can't Possibly Happen".
* If this method is called, something is seriously wrong
* (e.g. a JFlex bug producing a faulty scanner etc.).
*
* Usual syntax/scanner level error handling should be done
* in error fallback rules.
*
* @param errorCode the code of the errormessage to display
*/
private void zzScanError(int errorCode) {
String message;
try {
message = ZZ_ERROR_MSG[errorCode];
}
catch (ArrayIndexOutOfBoundsException e) {
message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
}
throw new Error(message);
}
/**
* Pushes the specified amount of characters back into the input stream.
*
* They will be read again by then next call of the scanning method
*
* @param number the number of characters to be read again.
* This number must not be greater than yylength()!
*/
public void yypushback(int number) {
if ( number > yylength() )
zzScanError(ZZ_PUSHBACK_2BIG);
zzMarkedPos -= number;
}
/**
* Contains user EOF-code, which will be executed exactly once,
* when the end of file is reached
*/
private void zzDoEOF() throws java.io.IOException {
if (!zzEOFDone) {
zzEOFDone = true;
yyclose();
}
}
/**
* Resumes scanning until the next regular expression is matched,
* the end of input is encountered or an I/O-Error occurs.
*
* @return the next token
* @exception java.io.IOException if any I/O-Error occurs
*/
public java_cup.runtime.Symbol next_token() throws java.io.IOException, XPathParseExceptionHuge {
int zzInput;
int zzAction;
// cached fields:
int zzCurrentPosL;
int zzMarkedPosL;
int zzEndReadL = zzEndRead;
char [] zzBufferL = zzBuffer;
char [] zzCMapL = ZZ_CMAP;
int [] zzTransL = ZZ_TRANS;
int [] zzRowMapL = ZZ_ROWMAP;
int [] zzAttrL = ZZ_ATTRIBUTE;
while (true) {
zzMarkedPosL = zzMarkedPos;
yychar+= zzMarkedPosL-zzStartRead;
zzAction = -1;
zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
zzState = zzLexicalState;
zzForAction: {
while (true) {
if (zzCurrentPosL < zzEndReadL)
zzInput = zzBufferL[zzCurrentPosL++];
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
}
else {
// store back cached positions
zzCurrentPos = zzCurrentPosL;
zzMarkedPos = zzMarkedPosL;
boolean eof = zzRefill();
// get translated positions and possibly new buffer
zzCurrentPosL = zzCurrentPos;
zzMarkedPosL = zzMarkedPos;
zzBufferL = zzBuffer;
zzEndReadL = zzEndRead;
if (eof) {
zzInput = YYEOF;
break zzForAction;
}
else {
zzInput = zzBufferL[zzCurrentPosL++];
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
int zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
if ( (zzAttributes & 8) == 8 ) break zzForAction;
}
}
}
// store back cached position
zzMarkedPos = zzMarkedPosL;
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
case 57:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.CONTAINS;
fname = new FuncName();
fname.i = FuncName.CONTAINS;
return sym(FNAME,fname);
}
case 91: break;
case 74:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.STRING_LENGTH;
fname = new FuncName();
fname.i = FuncName.STRING_LENGTH;
return sym(FNAME,fname);
}
case 92: break;
case 55:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.POSITION;
fname = new FuncName();
fname.i = FuncName.POSITION;
return sym(FNAME,fname);
}
case 93: break;
case 28:
{ isName = 0;
len = yytext().length();
name = new NameType();
if (!XMLChar.isNCNameStartChar(yytext().charAt(0)))
throw new XPathParseExceptionHuge("Invalid char in name token: "+yytext()+ "@position 0");
for(int i=1;i "+ Double.parseDouble(yytext()));
return sym(NUMBER,number);
}
case 123: break;
case 45:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.FLOOR;
fname = new FuncName();
fname.i = FuncName.FLOOR;
return sym(FNAME,fname);
}
case 124: break;
case 34:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.SUM;
fname = new FuncName();
fname.i = FuncName.SUM;
return sym(FNAME,fname);
}
case 125: break;
case 30:
{ if (isName == 0) {
isName = 1 ;
return sym(MOD);
} else {
isName = 0;
name = new NameType();
name.qname = "mod";
//System.out.println("returned a NAME "+yytext());
return sym(NAME,name);
}
}
case 126: break;
case 29:
{ if (isName == 0 ) {
isName = 1 ;
return sym(DIV);
} else {
isName = 0;
name = new NameType();
name.qname = "div";
return sym(NAME,name);
}
}
case 127: break;
case 27:
{ isName = 0;
len = yytext().length();
literal = yytext().substring(1, len-1);
return sym(LITERAL,literal);
}
case 128: break;
case 19:
{ isName = 1 ;
//System.out.println("SLASH returned ");
return sym(SLASH);
}
case 129: break;
case 32:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.ABS;
fname = new FuncName();
fname.i = FuncName.ABS;
return sym(FNAME,fname);
}
case 130: break;
case 15:
{ isName = 1 ; return sym(LT);
}
case 131: break;
case 90:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.NAMESPACE_URI_FROM_QNAME;
fname = new FuncName();
fname.i = FuncName.NAMESPACE_URI_FROM_QNAME;
return sym(FNAME,fname);
}
case 132: break;
case 25:
{ isName = 1 ;
//System.out.println("DSLASH returned ");
return sym(DSLASH);
}
case 133: break;
case 4:
{ throw new XPathParseExceptionHuge("Invalid char in XPath Expression");
}
case 134: break;
case 88:
{ isName = 0;
ntest = new Ntest();
ntest.i = Ntest.PROCESSING_INSTRUCTION;
ntest.arg = null;
return sym(NTEST,ntest);
}
case 135: break;
case 13:
{ isName = 0 ; return sym(RB);
}
case 136: break;
case 77:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.SUBSTRING_AFTER;
fname = new FuncName();
fname.i = FuncName.SUBSTRING_AFTER;
return sym(FNAME,fname);
}
case 137: break;
case 38:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.TRUE;
fname = new FuncName();
fname.i = FuncName.TRUE;
return sym(FNAME,fname);
}
case 138: break;
case 53:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.CEILING;
fname = new FuncName();
fname.i = FuncName.CEILING;
return sym(FNAME,fname);
}
case 139: break;
case 17:
{ isName = 1; return sym(DOLLAR);
}
case 140: break;
case 61:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.ENDS_WITH;
fname = new FuncName();
fname.i = FuncName.ENDS_WITH;
return sym(FNAME,fname);
}
case 141: break;
case 86:
{ isName = 1;
yypushback(1);
//yyparser.yylval.fname.i = FuncName.LOCAL_NAME_FROM_QNAME;
fname = new FuncName();
fname.i = FuncName.LOCAL_NAME_FROM_QNAME;
return sym(FNAME,fname);
}
case 142: break;
case 1:
{ isName = 0;
name = new NameType();
//name.qname = new String(yytext());
//System.out.println("returned a NAME ==>" + yytext());
//if (yytext().charAt(0) =='-'){
// throw new XPathParseException("Invalid char in name token:"+yytext());
//}
name.qname = new String(yytext());
if (!XMLChar.isNCNameStartChar(name.qname.charAt(0)))
throw new XPathParseExceptionHuge("Invalid char in name token: "+yytext()+ "@position 0");
for(int i=1;i