From 9bfe6eef127eff25baa4b032e975dc7a7ed32f22 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Wed, 11 May 2016 22:19:07 +0300 Subject: [PATCH] JFlex: regen all lexers --- .../org/intellij/lang/regexp/_RegExLexer.java | 19 +- .../com/intellij/spi/parsing/_SPILexer.java | 19 +- .../lang/java/lexer/_JavaDocLexer.java | 20 +- .../intellij/lang/java/lexer/_JavaLexer.java | 20 +- .../template/impl/_MacroLexer.java | 19 +- .../template/impl/_TemplateTextLexer.java | 19 +- ...Lexer.java => _FileTemplateTextLexer.java} | 25 +- .../scope/packageSet/lexer/_ScopesLexer.java | 19 +- .../lang/groovydoc/lexer/_GroovyDocLexer.java | 20 +- .../groovy/lang/lexer/_GroovyLexer.java | 27 +- .../properties/parsing/_PropertiesLexer.java | 19 +- .../intellij/tasks/jira/jql/_JqlLexer.java | 19 +- .../org/intellij/lang/xpath/_XPathLexer.java | 1557 +++++++++++++++++ .../org/intellij/lang/xpath/_XPathLexer.java | 1485 ---------------- .../org/jetbrains/yaml/lexer/_YAMLLexer.java | 19 +- .../config/lexer/_BuildoutCfgFlexLexer.java | 19 +- .../jetbrains/python/lexer/_PythonLexer.java | 2 +- .../{PyTypeLexer.java => _PyTypeLexer.java} | 19 +- .../jetbrains/rest/lexer/_RestFlexLexer.java | 19 +- .../gen/com/intellij/lexer/_DtdLexer.java | 19 +- .../gen/com/intellij/lexer/_HtmlLexer.java | 19 +- .../gen/com/intellij/lexer/__XmlLexer.java | 2 +- 22 files changed, 1653 insertions(+), 1752 deletions(-) rename platform/lang-impl/gen/com/intellij/ide/fileTemplates/impl/{FileTemplateTextLexer.java => _FileTemplateTextLexer.java} (93%) create mode 100644 plugins/xpath/xpath-lang/gen/org/intellij/lang/xpath/_XPathLexer.java delete mode 100644 plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/_XPathLexer.java rename python/gen/com/jetbrains/python/psi/types/{PyTypeLexer.java => _PyTypeLexer.java} (96%) diff --git a/RegExpSupport/gen/org/intellij/lang/regexp/_RegExLexer.java b/RegExpSupport/gen/org/intellij/lang/regexp/_RegExLexer.java index 2e7aa7bdb7cb..9723acb37a33 100644 --- a/RegExpSupport/gen/org/intellij/lang/regexp/_RegExLexer.java +++ b/RegExpSupport/gen/org/intellij/lang/regexp/_RegExLexer.java @@ -15,7 +15,7 @@ import java.util.EnumSet; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/RegExpSupport/src/org/intellij/lang/regexp/regexp-lexer.flex + * from the specification file regexp-lexer.flex */ class _RegExLexer implements FlexLexer { @@ -429,15 +429,9 @@ class _RegExLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -542,19 +536,17 @@ class _RegExLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -611,7 +603,7 @@ class _RegExLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -694,7 +686,6 @@ class _RegExLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/java/java-impl/gen/com/intellij/spi/parsing/_SPILexer.java b/java/java-impl/gen/com/intellij/spi/parsing/_SPILexer.java index e10885900658..9a964a2178fd 100644 --- a/java/java-impl/gen/com/intellij/spi/parsing/_SPILexer.java +++ b/java/java-impl/gen/com/intellij/spi/parsing/_SPILexer.java @@ -27,7 +27,7 @@ import com.intellij.lexer.FlexLexer; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/java/java-impl/src/com/intellij/spi/parsing/_SPILexer.flex + * from the specification file _SPILexer.flex */ class _SPILexer implements FlexLexer { @@ -319,15 +319,9 @@ class _SPILexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -383,19 +377,17 @@ class _SPILexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -452,7 +444,7 @@ class _SPILexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -535,7 +527,6 @@ class _SPILexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/java/java-psi-impl/gen/com/intellij/lang/java/lexer/_JavaDocLexer.java b/java/java-psi-impl/gen/com/intellij/lang/java/lexer/_JavaDocLexer.java index af56ac712143..6986cb09a2ec 100644 --- a/java/java-psi-impl/gen/com/intellij/lang/java/lexer/_JavaDocLexer.java +++ b/java/java-psi-impl/gen/com/intellij/lang/java/lexer/_JavaDocLexer.java @@ -12,7 +12,7 @@ import com.intellij.psi.tree.IElementType; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/java/java-psi-impl/src/com/intellij/lang/java/lexer/_JavaDocLexer.flex + * from the specification file _JavaDocLexer.flex */ class _JavaDocLexer implements FlexLexer { @@ -351,15 +351,9 @@ class _JavaDocLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -398,7 +392,6 @@ class _JavaDocLexer implements FlexLexer { public void goTo(int offset) { zzCurrentPos = zzMarkedPos = zzStartRead = offset; - zzPushbackPos = 0; zzAtEOF = false; } @@ -431,19 +424,17 @@ class _JavaDocLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -500,7 +491,7 @@ class _JavaDocLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -583,7 +574,6 @@ class _JavaDocLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/java/java-psi-impl/gen/com/intellij/lang/java/lexer/_JavaLexer.java b/java/java-psi-impl/gen/com/intellij/lang/java/lexer/_JavaLexer.java index c5bd2fd5c7b1..2f428e7faf62 100644 --- a/java/java-psi-impl/gen/com/intellij/lang/java/lexer/_JavaLexer.java +++ b/java/java-psi-impl/gen/com/intellij/lang/java/lexer/_JavaLexer.java @@ -28,7 +28,7 @@ import com.intellij.lexer.FlexLexer; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/java/java-psi-impl/src/com/intellij/lang/java/lexer/_JavaLexer.flex + * from the specification file _JavaLexer.flex */ class _JavaLexer implements FlexLexer { @@ -786,15 +786,9 @@ class _JavaLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -828,7 +822,6 @@ class _JavaLexer implements FlexLexer { public void goTo(int offset) { zzCurrentPos = zzMarkedPos = zzStartRead = offset; - zzPushbackPos = 0; zzAtEOF = false; } @@ -861,19 +854,17 @@ class _JavaLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -930,7 +921,7 @@ class _JavaLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -1014,7 +1005,6 @@ class _JavaLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/platform/lang-impl/gen/com/intellij/codeInsight/template/impl/_MacroLexer.java b/platform/lang-impl/gen/com/intellij/codeInsight/template/impl/_MacroLexer.java index 2e84e4af0116..9a93c833d454 100644 --- a/platform/lang-impl/gen/com/intellij/codeInsight/template/impl/_MacroLexer.java +++ b/platform/lang-impl/gen/com/intellij/codeInsight/template/impl/_MacroLexer.java @@ -11,7 +11,7 @@ import com.intellij.lexer.FlexLexer; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/platform/lang-impl/src/com/intellij/codeInsight/template/impl/_MacroLexer.flex + * from the specification file _MacroLexer.flex */ class _MacroLexer implements FlexLexer { @@ -323,15 +323,9 @@ class _MacroLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -387,19 +381,17 @@ class _MacroLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -456,7 +448,7 @@ class _MacroLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -539,7 +531,6 @@ class _MacroLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/platform/lang-impl/gen/com/intellij/codeInsight/template/impl/_TemplateTextLexer.java b/platform/lang-impl/gen/com/intellij/codeInsight/template/impl/_TemplateTextLexer.java index 23fb05582470..053594c49313 100644 --- a/platform/lang-impl/gen/com/intellij/codeInsight/template/impl/_TemplateTextLexer.java +++ b/platform/lang-impl/gen/com/intellij/codeInsight/template/impl/_TemplateTextLexer.java @@ -10,7 +10,7 @@ import com.intellij.psi.tree.IElementType; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateTextLexer.flex + * from the specification file TemplateTextLexer.flex */ class _TemplateTextLexer implements FlexLexer { @@ -180,15 +180,9 @@ class _TemplateTextLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -244,19 +238,17 @@ class _TemplateTextLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -313,7 +305,7 @@ class _TemplateTextLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -396,7 +388,6 @@ class _TemplateTextLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/platform/lang-impl/gen/com/intellij/ide/fileTemplates/impl/FileTemplateTextLexer.java b/platform/lang-impl/gen/com/intellij/ide/fileTemplates/impl/_FileTemplateTextLexer.java similarity index 93% rename from platform/lang-impl/gen/com/intellij/ide/fileTemplates/impl/FileTemplateTextLexer.java rename to platform/lang-impl/gen/com/intellij/ide/fileTemplates/impl/_FileTemplateTextLexer.java index 767e936134b1..9cb09f636c83 100644 --- a/platform/lang-impl/gen/com/intellij/ide/fileTemplates/impl/FileTemplateTextLexer.java +++ b/platform/lang-impl/gen/com/intellij/ide/fileTemplates/impl/_FileTemplateTextLexer.java @@ -10,9 +10,9 @@ import com.intellij.psi.tree.IElementType; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateTextLexer.flex + * from the specification file FileTemplateTextLexer.flex */ -class FileTemplateTextLexer implements FlexLexer { +class _FileTemplateTextLexer implements FlexLexer { /** This character denotes the end of file */ public static final int YYEOF = -1; @@ -183,15 +183,9 @@ class FileTemplateTextLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -214,7 +208,7 @@ class FileTemplateTextLexer implements FlexLexer { private boolean zzEOFDone; /* user code: */ - public FileTemplateTextLexer() { + public _FileTemplateTextLexer() { this((java.io.Reader)null); } @@ -224,7 +218,7 @@ class FileTemplateTextLexer implements FlexLexer { * * @param in the java.io.Reader to read input from. */ - FileTemplateTextLexer(java.io.Reader in) { + _FileTemplateTextLexer(java.io.Reader in) { this.zzReader = in; } @@ -247,19 +241,17 @@ class FileTemplateTextLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -316,7 +308,7 @@ class FileTemplateTextLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -399,7 +391,6 @@ class FileTemplateTextLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/platform/lang-impl/gen/com/intellij/psi/search/scope/packageSet/lexer/_ScopesLexer.java b/platform/lang-impl/gen/com/intellij/psi/search/scope/packageSet/lexer/_ScopesLexer.java index 6e94cc8df954..e2698335b15e 100644 --- a/platform/lang-impl/gen/com/intellij/psi/search/scope/packageSet/lexer/_ScopesLexer.java +++ b/platform/lang-impl/gen/com/intellij/psi/search/scope/packageSet/lexer/_ScopesLexer.java @@ -9,7 +9,7 @@ import com.intellij.lexer.FlexLexer; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/platform/lang-impl/src/com/intellij/psi/search/scope/packageSet/lexer/_ScopesLexer.flex + * from the specification file _ScopesLexer.flex */ class _ScopesLexer implements FlexLexer { @@ -324,15 +324,9 @@ class _ScopesLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -388,19 +382,17 @@ class _ScopesLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -457,7 +449,7 @@ class _ScopesLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -540,7 +532,6 @@ class _ScopesLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/_GroovyDocLexer.java b/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/_GroovyDocLexer.java index 7ace1cf80f01..69e4baab8882 100644 --- a/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/_GroovyDocLexer.java +++ b/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/_GroovyDocLexer.java @@ -25,7 +25,7 @@ import com.intellij.psi.tree.IElementType; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/groovydoc/lexer/gdoc.flex + * from the specification file gdoc.flex */ public class _GroovyDocLexer implements FlexLexer { @@ -335,15 +335,9 @@ public class _GroovyDocLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -378,7 +372,6 @@ public class _GroovyDocLexer implements FlexLexer { public void goTo(int offset) { zzCurrentPos = zzMarkedPos = zzStartRead = offset; - zzPushbackPos = 0; zzAtEOF = false; } @@ -413,19 +406,17 @@ public class _GroovyDocLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -482,7 +473,7 @@ public class _GroovyDocLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -565,7 +556,6 @@ public class _GroovyDocLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/lexer/_GroovyLexer.java b/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/lexer/_GroovyLexer.java index 0d0d922ad3d1..d1a2ece26eaa 100644 --- a/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/lexer/_GroovyLexer.java +++ b/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/lexer/_GroovyLexer.java @@ -27,7 +27,7 @@ import org.jetbrains.plugins.groovy.lang.groovydoc.parser.GroovyDocElementTypes; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/lexer/groovy.flex + * from the specification file groovy.flex */ public class _GroovyLexer implements FlexLexer { @@ -2187,15 +2187,9 @@ public class _GroovyLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -2264,28 +2258,24 @@ public class _GroovyLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ - clearStacks(); - braceCount.clear(); - afterComment = YYINITIAL; - + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; + clearStacks(); + braceCount.clear(); + afterComment = YYINITIAL; java.util.Arrays.fill(zzFin, false); - yybegin(initialState); } @@ -2339,7 +2329,7 @@ public class _GroovyLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -2422,7 +2412,6 @@ public class _GroovyLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/plugins/properties/properties-psi-api/gen/com/intellij/lang/properties/parsing/_PropertiesLexer.java b/plugins/properties/properties-psi-api/gen/com/intellij/lang/properties/parsing/_PropertiesLexer.java index 563494d9dad1..f152764795ee 100644 --- a/plugins/properties/properties-psi-api/gen/com/intellij/lang/properties/parsing/_PropertiesLexer.java +++ b/plugins/properties/properties-psi-api/gen/com/intellij/lang/properties/parsing/_PropertiesLexer.java @@ -9,7 +9,7 @@ import com.intellij.psi.tree.IElementType; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/plugins/properties/src/com/intellij/lang/properties/parsing/Properties.flex + * from the specification file Properties.flex */ class _PropertiesLexer implements FlexLexer { @@ -203,15 +203,9 @@ class _PropertiesLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -262,19 +256,17 @@ class _PropertiesLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -331,7 +323,7 @@ class _PropertiesLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -414,7 +406,6 @@ class _PropertiesLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/plugins/tasks/tasks-core/jira/gen/com/intellij/tasks/jira/jql/_JqlLexer.java b/plugins/tasks/tasks-core/jira/gen/com/intellij/tasks/jira/jql/_JqlLexer.java index 3c76b1c98dee..05ec7dba5367 100644 --- a/plugins/tasks/tasks-core/jira/gen/com/intellij/tasks/jira/jql/_JqlLexer.java +++ b/plugins/tasks/tasks-core/jira/gen/com/intellij/tasks/jira/jql/_JqlLexer.java @@ -9,7 +9,7 @@ import com.intellij.psi.tree.IElementType; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/plugins/tasks/tasks-core/jira/src/com/intellij/tasks/jira/jql/JqlLexer.flex + * from the specification file JqlLexer.flex */ class _JqlLexer implements FlexLexer { @@ -317,15 +317,9 @@ class _JqlLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -376,19 +370,17 @@ class _JqlLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -445,7 +437,7 @@ class _JqlLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -528,7 +520,6 @@ class _JqlLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/plugins/xpath/xpath-lang/gen/org/intellij/lang/xpath/_XPathLexer.java b/plugins/xpath/xpath-lang/gen/org/intellij/lang/xpath/_XPathLexer.java new file mode 100644 index 000000000000..8a60cc2f54e5 --- /dev/null +++ b/plugins/xpath/xpath-lang/gen/org/intellij/lang/xpath/_XPathLexer.java @@ -0,0 +1,1557 @@ +/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */ + +/* It's an automatically generated code. Do not modify it. */ +package org.intellij.lang.xpath; + +import com.intellij.lexer.FlexLexer; +import com.intellij.psi.tree.IElementType; + +@SuppressWarnings({"ALL"}) + +/** + * This class is a scanner generated by + * JFlex 1.7.0-SNAPSHOT + * from the specification file xpath-lexer.flex + */ +abstract class _XPathLexer implements FlexLexer { + + /** 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; + public static final int S1 = 2; + public static final int VAR = 4; + public static final int TYPE = 6; + + /** + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l + * at the beginning of a line + * l is of the form l = 2*k, k a non negative integer + */ + private static final int ZZ_LEXSTATE[] = { + 0, 0, 1, 1, 2, 2, 3, 3 + }; + + /** + * Translates characters to character classes + */ + private static final String ZZ_CMAP_PACKED = + "\11\0\1\1\1\1\1\65\1\65\1\1\22\0\1\1\1\56\1\7"+ + "\1\0\1\41\1\0\1\57\1\10\1\37\1\40\1\50\1\12\1\52"+ + "\1\5\1\4\1\53\12\3\1\6\1\60\1\44\1\55\1\45\1\47"+ + "\1\51\4\2\1\11\25\2\1\61\1\0\1\62\1\0\1\2\1\0"+ + "\1\13\1\26\1\15\1\31\1\16\1\24\1\33\1\30\1\25\2\2"+ + "\1\23\1\34\1\14\1\21\1\35\1\46\1\22\1\17\1\20\1\27"+ + "\1\42\1\32\1\36\1\43\1\2\1\63\1\54\1\64\7\0\1\65"+ + "\44\0\1\2\12\0\1\2\4\0\1\2\5\0\27\2\1\0\37\2"+ + "\1\0\u01ca\2\4\0\14\2\16\0\5\2\7\0\1\2\1\0\1\2"+ + "\201\0\5\2\1\0\2\2\2\0\4\2\1\0\1\2\6\0\1\2"+ + "\1\0\3\2\1\0\1\2\1\0\24\2\1\0\123\2\1\0\213\2"+ + "\10\0\246\2\1\0\46\2\2\0\1\2\7\0\47\2\110\0\33\2"+ + "\5\0\3\2\55\0\53\2\25\0\12\3\4\0\2\2\1\0\143\2"+ + "\1\0\1\2\17\0\2\2\7\0\2\2\12\3\3\2\2\0\1\2"+ + "\20\0\1\2\1\0\36\2\35\0\131\2\13\0\1\2\16\0\12\3"+ + "\41\2\11\0\2\2\4\0\1\2\5\0\26\2\4\0\1\2\11\0"+ + "\1\2\3\0\1\2\27\0\31\2\107\0\25\2\117\0\66\2\3\0"+ + "\1\2\22\0\1\2\7\0\12\2\4\0\12\3\1\0\20\2\4\0"+ + "\10\2\2\0\2\2\2\0\26\2\1\0\7\2\1\0\1\2\3\0"+ + "\4\2\3\0\1\2\20\0\1\2\15\0\2\2\1\0\3\2\4\0"+ + "\12\3\2\2\23\0\6\2\4\0\2\2\2\0\26\2\1\0\7\2"+ + "\1\0\2\2\1\0\2\2\1\0\2\2\37\0\4\2\1\0\1\2"+ + "\7\0\12\3\2\0\3\2\20\0\11\2\1\0\3\2\1\0\26\2"+ + "\1\0\7\2\1\0\2\2\1\0\5\2\3\0\1\2\22\0\1\2"+ + "\17\0\2\2\4\0\12\3\11\0\1\2\13\0\10\2\2\0\2\2"+ + "\2\0\26\2\1\0\7\2\1\0\2\2\1\0\5\2\3\0\1\2"+ + "\36\0\2\2\1\0\3\2\4\0\12\3\1\0\1\2\21\0\1\2"+ + "\1\0\6\2\3\0\3\2\1\0\4\2\3\0\2\2\1\0\1\2"+ + "\1\0\2\2\3\0\2\2\3\0\3\2\3\0\14\2\26\0\1\2"+ + "\25\0\12\3\25\0\10\2\1\0\3\2\1\0\27\2\1\0\20\2"+ + "\3\0\1\2\32\0\3\2\5\0\2\2\4\0\12\3\25\0\10\2"+ + "\1\0\3\2\1\0\27\2\1\0\12\2\1\0\5\2\3\0\1\2"+ + "\40\0\1\2\1\0\2\2\4\0\12\3\1\0\2\2\22\0\10\2"+ + "\1\0\3\2\1\0\51\2\2\0\1\2\20\0\1\2\20\0\3\2"+ + "\4\0\12\3\12\0\6\2\5\0\22\2\3\0\30\2\1\0\11\2"+ + "\1\0\1\2\2\0\7\2\37\0\12\3\21\0\60\2\1\0\2\2"+ + "\14\0\7\2\11\0\12\3\47\0\2\2\1\0\1\2\2\0\2\2"+ + "\1\0\1\2\2\0\1\2\6\0\4\2\1\0\7\2\1\0\3\2"+ + "\1\0\1\2\1\0\1\2\2\0\2\2\1\0\4\2\1\0\2\2"+ + "\11\0\1\2\2\0\5\2\1\0\1\2\11\0\12\3\2\0\4\2"+ + "\40\0\1\2\37\0\12\3\26\0\10\2\1\0\44\2\33\0\5\2"+ + "\163\0\53\2\24\0\1\2\12\3\6\0\6\2\4\0\4\2\3\0"+ + "\1\2\3\0\2\2\7\0\3\2\4\0\15\2\14\0\1\2\1\0"+ + "\12\3\6\0\46\2\1\0\1\2\5\0\1\2\2\0\53\2\1\0"+ + "\u014d\2\1\0\4\2\2\0\7\2\1\0\1\2\1\0\4\2\2\0"+ + "\51\2\1\0\4\2\2\0\41\2\1\0\4\2\2\0\7\2\1\0"+ + "\1\2\1\0\4\2\2\0\17\2\1\0\71\2\1\0\4\2\2\0"+ + "\103\2\45\0\20\2\20\0\126\2\2\0\6\2\3\0\u026c\2\2\0"+ + "\21\2\1\0\32\2\5\0\113\2\6\0\10\2\7\0\15\2\1\0"+ + "\4\2\16\0\22\2\16\0\22\2\16\0\15\2\1\0\3\2\17\0"+ + "\64\2\43\0\1\2\4\0\1\2\3\0\12\3\46\0\12\3\6\0"+ + "\130\2\10\0\51\2\1\0\1\2\5\0\106\2\12\0\37\2\47\0"+ + "\12\3\36\2\2\0\5\2\13\0\54\2\4\0\32\2\6\0\12\3"+ + "\46\0\27\2\11\0\65\2\53\0\12\3\6\0\12\3\15\0\1\2"+ + "\135\0\57\2\21\0\7\2\4\0\12\3\51\0\36\2\15\0\2\2"+ + "\12\3\54\2\32\0\44\2\34\0\12\3\3\0\3\2\12\3\44\2"+ + "\153\0\4\2\1\0\4\2\3\0\2\2\11\0\300\2\100\0\u0116\2"+ + "\2\0\6\2\2\0\46\2\2\0\6\2\2\0\10\2\1\0\1\2"+ + "\1\0\1\2\1\0\1\2\1\0\37\2\2\0\65\2\1\0\7\2"+ + "\1\0\1\2\3\0\3\2\1\0\7\2\3\0\4\2\2\0\6\2"+ + "\4\0\15\2\5\0\3\2\1\0\7\2\53\0\1\65\1\65\107\0"+ + "\1\2\15\0\1\2\20\0\15\2\145\0\1\2\4\0\1\2\2\0"+ + "\12\2\1\0\1\2\3\0\5\2\6\0\1\2\1\0\1\2\1\0"+ + "\1\2\1\0\4\2\1\0\13\2\2\0\4\2\5\0\5\2\4\0"+ + "\1\2\64\0\2\2\u0a7b\0\57\2\1\0\57\2\1\0\205\2\6\0"+ + "\4\2\3\0\2\2\14\0\46\2\1\0\1\2\5\0\1\2\2\0"+ + "\70\2\7\0\1\2\20\0\27\2\11\0\7\2\1\0\7\2\1\0"+ + "\7\2\1\0\7\2\1\0\7\2\1\0\7\2\1\0\7\2\1\0"+ + "\7\2\120\0\1\2\u01d5\0\2\2\52\0\5\2\5\0\2\2\4\0"+ + "\126\2\6\0\3\2\1\0\132\2\1\0\4\2\5\0\51\2\3\0"+ + "\136\2\21\0\33\2\65\0\20\2\u0200\0\u19b6\2\112\0\u51d6\2\52\0"+ + "\u048d\2\103\0\56\2\2\0\u010d\2\3\0\20\2\12\3\2\2\24\0"+ + "\57\2\20\0\37\2\2\0\106\2\61\0\11\2\2\0\147\2\2\0"+ + "\43\2\2\0\10\2\77\0\13\2\1\0\3\2\1\0\4\2\1\0"+ + "\27\2\35\0\64\2\16\0\62\2\34\0\12\3\30\0\6\2\3\0"+ + "\1\2\1\0\1\2\2\0\12\3\34\2\12\0\27\2\31\0\35\2"+ + "\7\0\57\2\34\0\1\2\12\3\6\0\5\2\1\0\12\2\12\3"+ + "\5\2\1\0\51\2\27\0\3\2\1\0\10\2\4\0\12\3\6\0"+ + "\27\2\3\0\1\2\3\0\62\2\1\0\1\2\3\0\2\2\2\0"+ + "\5\2\2\0\1\2\1\0\1\2\30\0\3\2\2\0\13\2\7\0"+ + "\3\2\14\0\6\2\2\0\6\2\2\0\6\2\11\0\7\2\1\0"+ + "\7\2\1\0\53\2\1\0\12\2\12\0\163\2\15\0\12\3\6\0"+ + "\u2ba4\2\14\0\27\2\4\0\61\2\u2104\0\u016e\2\2\0\152\2\46\0"+ + "\7\2\14\0\5\2\5\0\1\2\1\0\12\2\1\0\15\2\1\0"+ + "\5\2\1\0\1\2\1\0\2\2\1\0\2\2\1\0\154\2\41\0"+ + "\u016b\2\22\0\100\2\2\0\66\2\50\0\14\2\164\0\5\2\1\0"+ + "\207\2\23\0\12\3\7\0\32\2\6\0\32\2\13\0\131\2\3\0"+ + "\6\2\2\0\6\2\2\0\6\2\2\0\3\2\43\0\14\2\1\0"+ + "\32\2\1\0\23\2\1\0\2\2\1\0\17\2\2\0\16\2\42\0"+ + "\173\2\u0185\0\35\2\3\0\61\2\57\0\40\2\20\0\21\2\1\0"+ + "\10\2\6\0\46\2\12\0\36\2\2\0\44\2\4\0\10\2\60\0"+ + "\236\2\2\0\12\3\126\0\50\2\10\0\64\2\234\0\u0137\2\11\0"+ + "\26\2\12\0\10\2\230\0\6\2\2\0\1\2\1\0\54\2\1\0"+ + "\2\2\3\0\1\2\2\0\27\2\12\0\27\2\11\0\37\2\101\0"+ + "\23\2\1\0\2\2\12\0\26\2\12\0\32\2\106\0\70\2\6\0"+ + "\2\2\100\0\1\2\17\0\4\2\1\0\3\2\1\0\33\2\54\0"+ + "\35\2\3\0\35\2\43\0\10\2\1\0\34\2\33\0\66\2\12\0"+ + "\26\2\12\0\23\2\15\0\22\2\156\0\111\2\67\0\63\2\15\0"+ + "\63\2\u0310\0\65\2\56\0\12\3\23\0\55\2\40\0\31\2\7\0"+ + "\12\3\11\0\44\2\17\0\12\3\20\0\43\2\3\0\1\2\14\0"+ + "\60\2\16\0\4\2\13\0\12\3\1\2\1\0\1\2\43\0\22\2"+ + "\1\0\31\2\124\0\7\2\1\0\1\2\1\0\4\2\1\0\17\2"+ + "\1\0\12\2\7\0\57\2\21\0\12\3\13\0\10\2\2\0\2\2"+ + "\2\0\26\2\1\0\7\2\1\0\2\2\1\0\5\2\3\0\1\2"+ + "\22\0\1\2\14\0\5\2\u011e\0\60\2\24\0\2\2\1\0\1\2"+ + "\10\0\12\3\246\0\57\2\51\0\4\2\44\0\60\2\24\0\1\2"+ + "\13\0\12\3\46\0\53\2\25\0\12\3\66\0\32\2\26\0\12\3"+ + "\u0166\0\100\2\12\3\25\0\1\2\u01c0\0\71\2\u0507\0\u039a\2\346\0"+ + "\304\2\u0abc\0\u042f\2\u0fd1\0\u0247\2\u21b9\0\u0239\2\7\0\37\2\1\0"+ + "\12\3\146\0\36\2\22\0\60\2\20\0\4\2\14\0\12\3\11\0"+ + "\25\2\5\0\23\2\u0370\0\105\2\13\0\1\2\102\0\15\2\u4060\0"+ + "\2\2\u0bfe\0\153\2\5\0\15\2\3\0\11\2\7\0\12\2\u1766\0"+ + "\125\2\1\0\107\2\1\0\2\2\2\0\1\2\2\0\2\2\2\0"+ + "\4\2\1\0\14\2\1\0\1\2\1\0\7\2\1\0\101\2\1\0"+ + "\4\2\2\0\10\2\1\0\7\2\1\0\34\2\1\0\4\2\1\0"+ + "\5\2\1\0\1\2\3\0\7\2\1\0\u0154\2\2\0\31\2\1\0"+ + "\31\2\1\0\37\2\1\0\31\2\1\0\37\2\1\0\31\2\1\0"+ + "\37\2\1\0\31\2\1\0\37\2\1\0\31\2\1\0\10\2\2\0"+ + "\62\3\u1000\0\305\2\u053b\0\4\2\1\0\33\2\1\0\2\2\1\0"+ + "\1\2\2\0\1\2\1\0\12\2\1\0\4\2\1\0\1\2\1\0"+ + "\1\2\6\0\1\2\4\0\1\2\1\0\1\2\1\0\1\2\1\0"+ + "\3\2\1\0\2\2\1\0\1\2\2\0\1\2\1\0\1\2\1\0"+ + "\1\2\1\0\1\2\1\0\1\2\1\0\2\2\1\0\1\2\2\0"+ + "\4\2\1\0\7\2\1\0\4\2\1\0\4\2\1\0\1\2\1\0"+ + "\12\2\1\0\21\2\5\0\3\2\1\0\5\2\1\0\21\2\u1144\0"+ + "\ua6d7\2\51\0\u1035\2\13\0\336\2\2\0\u1682\2\u295e\0\u021e\2\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u05f0\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 = + "\6\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7"+ + "\2\10\1\11\14\3\1\12\1\13\1\14\1\15\1\16"+ + "\1\17\1\20\1\21\1\22\1\23\1\24\1\25\2\1"+ + "\1\26\1\27\1\30\1\31\13\3\1\32\1\33\1\34"+ + "\1\35\1\36\14\35\1\37\1\40\1\41\1\42\2\0"+ + "\1\4\1\0\1\43\1\44\1\45\2\10\3\3\1\46"+ + "\5\3\1\47\4\3\1\50\1\51\1\3\1\52\1\53"+ + "\2\3\1\54\1\55\2\3\1\56\1\57\1\60\1\61"+ + "\1\62\1\63\1\64\2\0\1\3\1\65\4\3\1\66"+ + "\2\3\1\67\1\70\1\3\1\71\4\3\1\0\1\72"+ + "\3\35\1\46\6\35\1\47\4\35\1\50\1\51\1\35"+ + "\1\52\1\35\1\53\2\35\1\54\1\55\2\35\1\4"+ + "\1\0\13\3\1\73\6\3\2\0\1\74\13\3\1\75"+ + "\1\76\14\35\1\73\7\35\3\3\1\77\4\3\1\100"+ + "\1\101\6\3\1\15\1\16\1\102\1\103\3\3\1\104"+ + "\3\3\1\105\1\3\3\35\1\77\5\35\1\100\1\101"+ + "\1\35\1\106\5\35\4\3\1\107\12\3\1\110\3\3"+ + "\1\111\5\35\1\107\7\35\11\3\1\112\1\3\1\113"+ + "\2\3\11\35\14\3\11\35\1\100\7\3\1\114\1\3"+ + "\1\115\1\3\1\100\10\35\1\3\1\100\3\3\1\116"+ + "\1\117\2\35\1\100\3\35\4\3\5\35\3\3\4\35"+ + "\3\3\4\35\3\3\4\35\2\3\1\120\2\35\2\3"+ + "\2\35\2\3\2\35\1\3\1\35\1\3\1\35\1\3"+ + "\1\35\1\3\1\35\1\3\1\35"; + + private static int [] zzUnpackAction() { + int [] result = new int[434]; + 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\66\0\154\0\242\0\330\0\u010e\0\u0144\0\u017a"+ + "\0\u01b0\0\u01e6\0\u021c\0\u0144\0\u0252\0\u0288\0\u02be\0\u0144"+ + "\0\u02f4\0\u032a\0\u0360\0\u0396\0\u03cc\0\u0402\0\u0438\0\u046e"+ + "\0\u04a4\0\u04da\0\u0510\0\u0546\0\u057c\0\u0144\0\u0144\0\u05b2"+ + "\0\u05e8\0\u0144\0\u0144\0\u0144\0\u0144\0\u061e\0\u0144\0\u0144"+ + "\0\u0654\0\u068a\0\u0144\0\u0144\0\u0144\0\u0144\0\u06c0\0\u06f6"+ + "\0\u072c\0\u0762\0\u0798\0\u07ce\0\u0804\0\u083a\0\u0870\0\u08a6"+ + "\0\u08dc\0\u0144\0\u0912\0\u0252\0\u0948\0\u0144\0\u097e\0\u09b4"+ + "\0\u09ea\0\u0a20\0\u0a56\0\u0a8c\0\u0ac2\0\u0af8\0\u0b2e\0\u0b64"+ + "\0\u0b9a\0\u0bd0\0\u057c\0\u0144\0\u0144\0\u0144\0\u0c06\0\u0c3c"+ + "\0\u0c72\0\u0ca8\0\u0144\0\u0144\0\u0144\0\u0cde\0\u0d14\0\u0d4a"+ + "\0\u0d80\0\u0db6\0\u01b0\0\u0dec\0\u0e22\0\u0e58\0\u0e8e\0\u0ec4"+ + "\0\u01b0\0\u0efa\0\u0f30\0\u0f66\0\u0f9c\0\u01b0\0\u01b0\0\u0fd2"+ + "\0\u01b0\0\u01b0\0\u1008\0\u103e\0\u01b0\0\u01b0\0\u1074\0\u10aa"+ + "\0\u0144\0\u0144\0\u0144\0\u0144\0\u0144\0\u0144\0\u0144\0\u10e0"+ + "\0\u1116\0\u114c\0\u01b0\0\u1182\0\u11b8\0\u11ee\0\u1224\0\u01b0"+ + "\0\u125a\0\u1290\0\u01b0\0\u01b0\0\u12c6\0\u12fc\0\u1332\0\u1368"+ + "\0\u139e\0\u13d4\0\u140a\0\u0144\0\u1440\0\u1476\0\u14ac\0\u0948"+ + "\0\u14e2\0\u1518\0\u154e\0\u1584\0\u15ba\0\u15f0\0\u0948\0\u1626"+ + "\0\u165c\0\u1692\0\u16c8\0\u0948\0\u0948\0\u16fe\0\u0948\0\u1734"+ + "\0\u0948\0\u176a\0\u17a0\0\u0948\0\u0948\0\u17d6\0\u180c\0\u1842"+ + "\0\u1842\0\u1878\0\u18ae\0\u18e4\0\u191a\0\u1950\0\u1986\0\u19bc"+ + "\0\u19f2\0\u1a28\0\u1a5e\0\u1a94\0\u01b0\0\u1aca\0\u1b00\0\u1b36"+ + "\0\u1b6c\0\u1ba2\0\u1bd8\0\u1c0e\0\u1c44\0\u01b0\0\u1c7a\0\u1cb0"+ + "\0\u1ce6\0\u1d1c\0\u1d52\0\u1d88\0\u1dbe\0\u1df4\0\u1e2a\0\u1e60"+ + "\0\u1e96\0\u01b0\0\u01b0\0\u1ecc\0\u1f02\0\u1f38\0\u1f6e\0\u1fa4"+ + "\0\u1fda\0\u2010\0\u2046\0\u207c\0\u20b2\0\u20e8\0\u211e\0\u0948"+ + "\0\u2154\0\u218a\0\u21c0\0\u21f6\0\u222c\0\u2262\0\u2298\0\u22ce"+ + "\0\u2304\0\u233a\0\u01b0\0\u2370\0\u23a6\0\u23dc\0\u2412\0\u01b0"+ + "\0\u01b0\0\u2448\0\u247e\0\u24b4\0\u24ea\0\u2520\0\u2556\0\u258c"+ + "\0\u25c2\0\u25f8\0\u01b0\0\u262e\0\u2664\0\u269a\0\u01b0\0\u26d0"+ + "\0\u2706\0\u273c\0\u01b0\0\u2772\0\u27a8\0\u27de\0\u2814\0\u0948"+ + "\0\u284a\0\u2880\0\u28b6\0\u28ec\0\u2922\0\u0948\0\u0948\0\u2958"+ + "\0\u0948\0\u298e\0\u29c4\0\u29fa\0\u2a30\0\u2a66\0\u2a9c\0\u2ad2"+ + "\0\u2b08\0\u2b3e\0\u01b0\0\u2b74\0\u2baa\0\u2be0\0\u2c16\0\u2c4c"+ + "\0\u2c82\0\u2cb8\0\u2cee\0\u2d24\0\u2d5a\0\u01b0\0\u2d90\0\u2dc6"+ + "\0\u2dfc\0\u01b0\0\u2e32\0\u2e68\0\u2e9e\0\u2ed4\0\u2f0a\0\u0948"+ + "\0\u2f40\0\u2f76\0\u2fac\0\u2fe2\0\u3018\0\u304e\0\u3084\0\u30ba"+ + "\0\u30f0\0\u3126\0\u315c\0\u3192\0\u31c8\0\u31fe\0\u3234\0\u326a"+ + "\0\u01b0\0\u32a0\0\u01b0\0\u32d6\0\u330c\0\u3342\0\u3378\0\u33ae"+ + "\0\u33e4\0\u341a\0\u3450\0\u3486\0\u34bc\0\u34f2\0\u3528\0\u355e"+ + "\0\u3594\0\u35ca\0\u3600\0\u3636\0\u366c\0\u36a2\0\u36d8\0\u370e"+ + "\0\u3744\0\u377a\0\u37b0\0\u37e6\0\u381c\0\u3852\0\u3888\0\u38be"+ + "\0\u38f4\0\u392a\0\u3960\0\u3996\0\u39cc\0\u3a02\0\u3a38\0\u3a6e"+ + "\0\u3aa4\0\u3ada\0\u3b10\0\u01b0\0\u3b46\0\u01b0\0\u3b7c\0\u3bb2"+ + "\0\u3be8\0\u3c1e\0\u3c54\0\u3c8a\0\u3cc0\0\u3cf6\0\u3d2c\0\u3d62"+ + "\0\u3d98\0\u3dce\0\u3e04\0\u3e3a\0\u3e70\0\u01b0\0\u01b0\0\u3ea6"+ + "\0\u3edc\0\u3f12\0\u3f48\0\u3f7e\0\u3fb4\0\u3fea\0\u4020\0\u4056"+ + "\0\u408c\0\u40c2\0\u40f8\0\u412e\0\u4164\0\u419a\0\u41d0\0\u4206"+ + "\0\u423c\0\u4272\0\u42a8\0\u42de\0\u4314\0\u434a\0\u4380\0\u43b6"+ + "\0\u43ec\0\u4422\0\u4458\0\u448e\0\u44c4\0\u44fa\0\u4530\0\u4566"+ + "\0\u459c\0\u45d2\0\u4608\0\u463e\0\u4674\0\u0948\0\u46aa\0\u46e0"+ + "\0\u4716\0\u474c\0\u4782\0\u47b8\0\u47ee\0\u4824\0\u485a\0\u4890"+ + "\0\u48c6\0\u48fc\0\u4932\0\u4968\0\u499e\0\u49d4\0\u4a0a\0\u4a40"+ + "\0\u4a76\0\u4aac"; + + private static int [] zzUnpackRowMap() { + int [] result = new int[434]; + 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\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+ + "\1\17\1\11\1\20\1\21\1\22\1\23\1\24\1\25"+ + "\1\26\2\11\1\27\1\30\1\31\3\11\1\32\1\11"+ + "\1\33\1\11\1\34\1\11\1\35\1\36\1\37\2\11"+ + "\1\40\1\41\1\11\1\42\1\43\1\44\1\45\1\46"+ + "\1\47\1\50\1\51\1\52\1\7\1\53\1\54\1\55"+ + "\1\56\1\0\1\7\1\10\1\11\1\12\1\13\1\14"+ + "\1\15\1\16\1\17\1\11\1\20\1\57\1\22\1\60"+ + "\1\61\1\62\1\63\1\64\1\65\1\27\1\30\1\66"+ + "\1\11\1\67\1\11\1\70\1\11\1\33\1\71\1\34"+ + "\1\11\1\35\1\36\1\37\2\11\1\40\1\41\1\11"+ + "\1\42\1\72\1\44\1\45\1\46\1\47\1\50\1\51"+ + "\1\52\1\7\1\53\1\54\1\55\1\56\1\0\1\7"+ + "\1\10\1\73\1\12\1\13\1\14\1\74\1\16\1\17"+ + "\1\73\1\20\24\73\1\35\1\36\1\37\2\73\1\40"+ + "\1\41\1\73\1\42\1\7\1\44\1\45\1\46\1\47"+ + "\1\50\1\51\1\52\1\7\1\53\1\54\1\55\1\56"+ + "\1\0\1\7\1\10\1\75\1\12\1\13\1\14\1\74"+ + "\1\16\1\17\1\75\1\76\1\77\1\100\1\101\1\102"+ + "\1\103\1\104\2\75\1\105\1\106\1\107\3\75\1\110"+ + "\1\75\1\111\1\75\1\112\1\75\1\113\1\114\1\37"+ + "\2\75\1\40\1\41\1\75\1\115\1\116\1\44\1\45"+ + "\1\46\1\47\1\50\1\51\1\52\1\7\1\53\1\54"+ + "\1\55\1\56\3\0\1\117\6\0\1\117\1\0\24\117"+ + "\3\0\2\117\2\0\1\117\25\0\1\120\146\0\1\10"+ + "\66\0\4\11\3\0\1\11\1\0\24\11\3\0\2\11"+ + "\2\0\1\11\22\0\1\12\1\121\4\0\1\122\4\0"+ + "\1\122\52\0\1\121\1\123\67\0\1\124\31\0\1\125"+ + "\25\0\7\16\1\126\56\16\10\17\1\127\55\17\2\0"+ + "\4\11\3\0\1\11\1\0\1\11\1\130\3\11\1\131"+ + "\16\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\1\132\2\11\1\133\2\11\1\134\15\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\6\11\1\135\6\11\1\136\6\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\10\11"+ + "\1\137\13\11\3\0\1\140\1\11\2\0\1\141\21\0"+ + "\4\11\3\0\1\11\1\0\2\11\1\142\1\143\2\11"+ + "\1\144\15\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\3\11\1\145\20\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\3\11"+ + "\1\146\1\11\1\147\16\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\6\11\1\150\15\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\4\11\1\151\4\11\1\152\12\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\3\11"+ + "\1\153\2\11\1\154\15\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\3\11\1\155\1\11"+ + "\1\156\16\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\1\157\6\11\1\160\14\11\3\0"+ + "\2\11\2\0\1\11\25\0\1\161\123\0\1\162\10\0"+ + "\1\163\55\0\1\164\7\0\1\165\63\0\1\166\67\0"+ + "\1\167\33\0\1\170\7\0\1\171\34\0\4\11\3\0"+ + "\1\11\1\0\1\11\1\172\2\11\1\173\1\131\16\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\1\174\5\11\1\135\6\11\1\136\6\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\10\11\1\175\12\11\1\176\3\0\1\140\1\11\2\0"+ + "\1\141\21\0\4\11\3\0\1\11\1\0\1\177\1\11"+ + "\1\142\1\143\2\11\1\144\15\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\3\11\1\145"+ + "\2\11\1\200\1\201\5\11\1\202\6\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\7\11"+ + "\1\203\1\11\1\204\12\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\3\11\1\205\20\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\1\11\1\206\2\11\1\151\4\11\1\152\4\11"+ + "\1\207\5\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\1\11\1\210\22\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\3\11"+ + "\1\153\2\11\1\154\3\11\1\211\11\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\6\11"+ + "\1\212\15\11\3\0\2\11\2\0\1\11\20\0\1\213"+ + "\4\73\1\214\2\0\1\73\1\0\24\73\3\0\2\73"+ + "\2\0\1\73\21\0\4\75\3\0\1\75\1\0\24\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\1\75\1\215\3\75\1\216\16\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\1\217"+ + "\2\75\1\220\2\75\1\221\15\75\3\0\2\75\2\0"+ + "\1\75\21\0\4\75\3\0\1\75\1\0\6\75\1\222"+ + "\6\75\1\223\6\75\3\0\2\75\2\0\1\75\21\0"+ + "\4\75\3\0\1\75\1\0\10\75\1\224\10\75\1\225"+ + "\2\75\3\0\1\226\1\75\2\0\1\227\21\0\4\75"+ + "\3\0\1\75\1\0\2\75\1\230\1\231\2\75\1\232"+ + "\15\75\3\0\2\75\2\0\1\75\21\0\4\75\3\0"+ + "\1\75\1\0\3\75\1\233\20\75\3\0\2\75\2\0"+ + "\1\75\21\0\4\75\3\0\1\75\1\0\3\75\1\234"+ + "\1\75\1\235\16\75\3\0\2\75\2\0\1\75\21\0"+ + "\4\75\3\0\1\75\1\0\6\75\1\236\15\75\3\0"+ + "\2\75\2\0\1\75\21\0\4\75\3\0\1\75\1\0"+ + "\4\75\1\237\1\240\3\75\1\241\12\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\3\75"+ + "\1\242\2\75\1\243\15\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\3\75\1\244\1\75"+ + "\1\245\16\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\1\246\6\75\1\247\14\75\3\0"+ + "\2\75\2\0\1\75\21\0\4\117\3\0\1\117\1\0"+ + "\24\117\3\0\2\117\2\0\1\117\20\0\1\120\67\0"+ + "\1\121\5\0\1\122\4\0\1\122\52\0\1\250\1\0"+ + "\1\251\4\0\1\251\62\0\1\16\66\0\1\17\57\0"+ + "\4\11\3\0\1\11\1\0\2\11\1\252\21\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\5\11\1\253\16\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\21\11\1\254\2\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\16\11\1\255\5\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\21\11\1\256\2\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\12\11\1\257\11\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\3\11\1\256\20\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\3\11\1\260\20\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\15\11\1\261\6\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\10\11\1\262\13\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\21\11\1\263\2\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\23\11\1\264\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\7\11\1\265\1\266\13\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\4\11\1\267\17\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\2\11\1\270\21\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\7\11\1\271\14\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\3\11\1\272\2\11\1\273"+ + "\15\11\3\0\2\11\2\0\1\11\37\0\1\274\65\0"+ + "\1\275\47\0\4\11\3\0\1\11\1\0\2\11\1\252"+ + "\13\11\1\276\5\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\4\11\1\277\17\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\3\11\1\256\1\300\17\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\2\11\1\301\21\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\5\11\1\302\16\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\3\11\1\303\20\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\3\11\1\304\20\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\5\11\1\305\16\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\4\11\1\306\1\307\16\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\12\11\1\310"+ + "\11\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\12\11\1\311\11\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\24\11\3\0"+ + "\1\312\1\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\16\11\1\313\5\11\3\0\2\11\2\0\1\11"+ + "\20\0\1\213\4\0\1\214\61\0\4\75\3\0\1\75"+ + "\1\0\2\75\1\314\21\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\5\75\1\315\16\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\21\75\1\316\2\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\16\75\1\317\5\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\21\75\1\320\2\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\12\75\1\321\11\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\3\75\1\320\20\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\22\75\1\322\1\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\3\75\1\323\20\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\15\75\1\324\6\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\10\75\1\325\13\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\21\75\1\326\2\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\23\75\1\327\3\0\2\75\2\0\1\75\21\0"+ + "\4\75\3\0\1\75\1\0\7\75\1\330\1\331\13\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\3\75\1\332\20\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\4\75\1\333\17\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\2\75\1\334\21\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\7\75\1\335\14\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\3\75\1\336\2\75\1\337\15\75\3\0\2\75"+ + "\2\0\1\75\22\0\1\250\64\0\4\11\3\0\1\11"+ + "\1\0\3\11\1\340\20\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\7\11\1\341\14\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\3\11\1\342\20\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\3\11\1\343\20\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\21\11\1\344\2\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\10\11\1\345\13\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\7\11\1\346\14\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\3\11\1\347\20\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\11\11\1\350\12\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\3\11\1\351\20\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\5\11\1\343\16\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\10\11\1\352\13\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\2\11\1\353\21\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\14\11\1\354\7\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\3\11\1\355\20\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\2\11\1\356\21\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\2\11\1\357\21\11\3\0\2\11\2\0\1\11"+ + "\77\0\1\360\65\0\1\361\7\0\4\11\3\0\1\11"+ + "\1\0\5\11\1\362\16\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\3\11\1\363\20\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\3\11\1\364\20\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\12\11\1\365\11\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\1\366\23\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\1\11\1\367\22\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\14\11\1\370\7\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\5\11\1\371\16\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\3\11\1\372\20\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\24\11\3\0\1\373\1\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\6\11"+ + "\1\374\15\11\3\0\2\11\2\0\1\11\21\0\4\75"+ + "\3\0\1\75\1\0\3\75\1\375\20\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\7\75"+ + "\1\376\14\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\3\75\1\377\20\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\3\75"+ + "\1\u0100\20\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\21\75\1\u0101\2\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\10\75"+ + "\1\u0102\13\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\5\75\1\u0103\16\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\7\75"+ + "\1\u0104\14\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\3\75\1\u0105\20\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\11\75"+ + "\1\u0106\12\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\3\75\1\u0107\20\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\5\75"+ + "\1\u0100\16\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\10\75\1\u0108\13\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\21\75"+ + "\1\u0109\2\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\2\75\1\u010a\21\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\14\75"+ + "\1\u010b\7\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\3\75\1\u010c\20\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\2\75"+ + "\1\u010d\21\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\2\75\1\u010e\21\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\11\3\0\1\11\1\0\4\11"+ + "\1\u010f\17\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\12\11\1\u0110\11\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\4\11"+ + "\1\u0111\17\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\3\11\1\u0112\20\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\16\11"+ + "\1\350\5\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\24\11\3\0\1\11\1\u0113\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\21\11\1\u0114"+ + "\2\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\6\11\1\u0115\15\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\3\11\1\u0116"+ + "\20\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\21\11\1\u0117\2\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\1\11\1\u0118"+ + "\22\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\3\11\1\u0119\20\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\3\11\1\u011a"+ + "\20\11\3\0\2\11\2\0\1\11\74\0\1\163\65\0"+ + "\1\165\12\0\4\11\3\0\1\11\1\0\1\u011b\23\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\22\11\1\u011c\1\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\4\11\1\u011d\17\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\5\11\1\u011e\16\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\7\11\1\u011f\14\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\1\u0120\23\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\7\11\1\u0121\14\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\1\11\1\u0122\22\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\75\3\0\1\75\1\0\4\75\1\u0123\17\75\3\0"+ + "\2\75\2\0\1\75\21\0\4\75\3\0\1\75\1\0"+ + "\12\75\1\u0124\11\75\3\0\2\75\2\0\1\75\21\0"+ + "\4\75\3\0\1\75\1\0\4\75\1\u0125\17\75\3\0"+ + "\2\75\2\0\1\75\21\0\4\75\3\0\1\75\1\0"+ + "\3\75\1\u0126\20\75\3\0\2\75\2\0\1\75\21\0"+ + "\4\75\3\0\1\75\1\0\16\75\1\u0106\5\75\3\0"+ + "\2\75\2\0\1\75\21\0\4\75\3\0\1\75\1\0"+ + "\24\75\3\0\1\75\1\u0127\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\24\75\3\0\1\75\1\u0128\2\0"+ + "\1\75\21\0\4\75\3\0\1\75\1\0\21\75\1\u0129"+ + "\2\75\3\0\2\75\2\0\1\75\21\0\4\75\3\0"+ + "\1\75\1\0\6\75\1\u012a\15\75\3\0\2\75\2\0"+ + "\1\75\21\0\4\75\3\0\1\75\1\0\3\75\1\u012b"+ + "\20\75\3\0\2\75\2\0\1\75\21\0\4\75\3\0"+ + "\1\75\1\0\21\75\1\u012c\2\75\3\0\2\75\2\0"+ + "\1\75\21\0\4\75\3\0\1\75\1\0\1\75\1\u012d"+ + "\22\75\3\0\2\75\2\0\1\75\21\0\4\75\3\0"+ + "\1\75\1\0\3\75\1\u012e\20\75\3\0\2\75\2\0"+ + "\1\75\21\0\4\75\3\0\1\75\1\0\3\75\1\u012f"+ + "\20\75\3\0\2\75\2\0\1\75\21\0\4\11\3\0"+ + "\1\11\1\0\5\11\1\u0130\16\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\13\11\1\u0131"+ + "\10\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\22\11\1\u0132\1\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\1\11\1\264"+ + "\22\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\1\u0133\23\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\17\11\1\u0134\4\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\1\11\1\u0135\22\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\3\11\1\u0136\20\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\5\11\1\350\16\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\16\11\1\u0134\5\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\4\11\1\u0137\17\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\13\11\1\u0138\10\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\5\11\1\u0139\16\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\11\11\1\u013a\12\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\1\11\1\u013b\22\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\1\11\1\u013c\22\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\4\11\1\u013d\17\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\75\3\0\1\75\1\0\5\75\1\u013e\16\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\13\75\1\u013f\10\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\22\75\1\u0140\1\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\1\75\1\327\22\75\3\0\2\75\2\0\1\75"+ + "\21\0\3\75\1\u0141\3\0\1\75\1\0\24\75\3\0"+ + "\2\75\2\0\1\75\21\0\4\75\3\0\1\75\1\0"+ + "\1\u0142\23\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\17\75\1\u0143\4\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\1\75"+ + "\1\u0144\22\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\3\75\1\u0145\20\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\5\75"+ + "\1\u0106\16\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\16\75\1\u0143\5\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\4\75"+ + "\1\u0146\17\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\6\11\1\u0147\15\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\14\11"+ + "\1\u0148\7\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\1\u0149\23\11\3\0\2\11\2\0"+ + "\1\11\21\0\3\11\1\u014a\3\0\1\11\1\0\24\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\12\11\1\u014b\11\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\16\11\1\u014c\5\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\1\11\1\u014d\22\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\4\11\1\u014e\17\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\10\11\1\u014f\13\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\12\11\1\u0150\11\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\2\11\1\u0151\21\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\3\11\1\u0152\20\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\75\3\0\1\75"+ + "\1\0\6\75\1\u0153\15\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\75\3\0\1\75\1\0\14\75\1\u0154\7\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\1\u0155\23\75\3\0\2\75\2\0\1\75\21\0"+ + "\4\75\3\0\1\75\1\0\4\75\1\u0156\17\75\3\0"+ + "\2\75\2\0\1\75\21\0\3\75\1\u0157\3\0\1\75"+ + "\1\0\24\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\12\75\1\u0158\11\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\16\75"+ + "\1\u0159\5\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\1\75\1\u015a\22\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\4\75"+ + "\1\u015b\17\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\7\11\1\u015c\14\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\5\11"+ + "\1\255\16\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\2\11\1\u015d\21\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\1\u015e"+ + "\2\11\1\u015f\20\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\1\11\1\u0160\22\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\1\u0161\23\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\5\11\1\u0162\16\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\12\11"+ + "\1\u0163\11\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\3\11\1\u0164\20\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\3\11"+ + "\1\u0165\20\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\3\11\1\u0166\20\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\2\11"+ + "\1\u0167\21\11\3\0\2\11\2\0\1\11\21\0\4\75"+ + "\3\0\1\75\1\0\7\75\1\u0168\14\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\5\75"+ + "\1\317\16\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\2\75\1\u0169\21\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\3\75"+ + "\1\u016a\20\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\1\u016b\2\75\1\u016c\20\75\3\0"+ + "\2\75\2\0\1\75\21\0\4\75\3\0\1\75\1\0"+ + "\1\75\1\u016d\22\75\3\0\2\75\2\0\1\75\21\0"+ + "\4\75\3\0\1\75\1\0\1\u016e\23\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\5\75"+ + "\1\u016f\16\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\12\75\1\u0170\11\75\3\0\2\75"+ + "\2\0\1\75\21\0\3\11\1\u0171\3\0\1\11\1\0"+ + "\24\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\3\11\1\350\20\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\5\11\1\131"+ + "\16\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\10\11\1\137\13\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\11\3\0\1\11\1\0\20\11\1\u0172"+ + "\3\11\3\0\2\11\2\0\1\11\21\0\4\11\3\0"+ + "\1\11\1\0\1\11\1\u0173\22\11\3\0\2\11\2\0"+ + "\1\11\21\0\3\11\1\u0174\3\0\1\11\1\0\24\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\1\11\1\u0175\22\11\3\0\2\11\2\0\1\11"+ + "\21\0\4\11\3\0\1\11\1\0\4\11\1\u0176\17\11"+ + "\3\0\2\11\2\0\1\11\21\0\4\11\3\0\1\11"+ + "\1\0\5\11\1\u0177\16\11\3\0\2\11\2\0\1\11"+ + "\21\0\3\75\1\u0178\3\0\1\75\1\0\24\75\3\0"+ + "\2\75\2\0\1\75\21\0\4\75\3\0\1\75\1\0"+ + "\3\75\1\u0106\20\75\3\0\2\75\2\0\1\75\21\0"+ + "\4\75\3\0\1\75\1\0\24\75\3\0\2\75\2\0"+ + "\1\u0179\21\0\4\75\3\0\1\75\1\0\5\75\1\216"+ + "\16\75\3\0\2\75\2\0\1\75\21\0\4\75\3\0"+ + "\1\75\1\0\10\75\1\224\13\75\3\0\2\75\2\0"+ + "\1\75\21\0\4\75\3\0\1\75\1\0\20\75\1\u017a"+ + "\3\75\3\0\2\75\2\0\1\75\21\0\4\75\3\0"+ + "\1\75\1\0\1\75\1\u017b\22\75\3\0\2\75\2\0"+ + "\1\75\21\0\3\75\1\u017c\3\0\1\75\1\0\24\75"+ + "\3\0\2\75\2\0\1\75\21\0\4\75\3\0\1\75"+ + "\1\0\1\75\1\u017d\22\75\3\0\2\75\2\0\1\75"+ + "\21\0\4\11\3\0\1\11\1\0\6\11\1\u017e\15\11"+ + "\3\0\2\11\2\0\1\11\21\0\3\11\1\u017f\3\0"+ + "\1\11\1\0\24\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\5\11\1\u015c\16\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\1\11\1\u0180\22\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\20\11\1\u0181\3\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\75\3\0\1\75\1\0"+ + "\6\75\1\u0182\15\75\3\0\2\75\2\0\1\75\21\0"+ + "\4\75\3\0\1\75\1\0\14\75\1\u0183\7\75\3\0"+ + "\2\75\2\0\1\75\21\0\3\75\1\u0184\3\0\1\75"+ + "\1\0\24\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\5\75\1\u0168\16\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\1\75"+ + "\1\u0185\22\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\20\75\1\u0186\3\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\11\3\0\1\11\1\0\7\11"+ + "\1\u0187\14\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\4\11\1\u0188\17\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\6\11"+ + "\1\134\15\11\3\0\2\11\2\0\1\11\21\0\3\11"+ + "\1\u0189\3\0\1\11\1\0\24\11\3\0\2\11\2\0"+ + "\1\11\21\0\4\75\3\0\1\75\1\0\7\75\1\u018a"+ + "\14\75\3\0\2\75\2\0\1\75\21\0\4\75\3\0"+ + "\1\75\1\0\3\75\1\u018b\20\75\3\0\2\75\2\0"+ + "\1\75\21\0\4\75\3\0\1\75\1\0\4\75\1\u018c"+ + "\17\75\3\0\2\75\2\0\1\75\21\0\4\75\3\0"+ + "\1\75\1\0\6\75\1\221\15\75\3\0\2\75\2\0"+ + "\1\75\21\0\3\75\1\u018d\3\0\1\75\1\0\24\75"+ + "\3\0\2\75\2\0\1\75\21\0\3\11\1\u018e\3\0"+ + "\1\11\1\0\24\11\3\0\2\11\2\0\1\11\21\0"+ + "\4\11\3\0\1\11\1\0\12\11\1\u018f\11\11\3\0"+ + "\2\11\2\0\1\11\21\0\4\11\3\0\1\11\1\0"+ + "\12\11\1\u0190\11\11\3\0\2\11\2\0\1\11\21\0"+ + "\3\75\1\u0191\3\0\1\75\1\0\24\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\1\75"+ + "\1\u0192\22\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\12\75\1\u0193\11\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\12\75"+ + "\1\u0194\11\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\4\11\1\u0195\17\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\13\11"+ + "\1\u0196\10\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\1\11\1\u0197\22\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\75\3\0\1\75\1\0\4\75"+ + "\1\u0198\17\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\2\75\1\u0199\21\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\13\75"+ + "\1\u019a\10\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\1\75\1\u019b\22\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\11\3\0\1\11\1\0\3\11"+ + "\1\143\20\11\3\0\2\11\2\0\1\11\21\0\4\11"+ + "\3\0\1\11\1\0\10\11\1\u019c\13\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\4\11"+ + "\1\u019d\17\11\3\0\2\11\2\0\1\11\21\0\4\75"+ + "\3\0\1\75\1\0\3\75\1\231\20\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\3\75"+ + "\1\u019e\20\75\3\0\2\75\2\0\1\75\21\0\4\75"+ + "\3\0\1\75\1\0\10\75\1\u019f\13\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\4\75"+ + "\1\u01a0\17\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\12\11\1\u01a1\11\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\5\11"+ + "\1\u01a2\16\11\3\0\2\11\2\0\1\11\21\0\4\75"+ + "\3\0\1\75\1\0\12\75\1\u01a3\11\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\5\75"+ + "\1\u01a4\16\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\1\11\1\u01a5\22\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\7\11"+ + "\1\u01a6\14\11\3\0\2\11\2\0\1\11\21\0\4\75"+ + "\3\0\1\75\1\0\1\75\1\u01a7\22\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\7\75"+ + "\1\u01a8\14\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\20\11\1\350\3\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\11\3\0\1\11\1\0\14\11"+ + "\1\u01a9\7\11\3\0\2\11\2\0\1\11\21\0\4\75"+ + "\3\0\1\75\1\0\20\75\1\u0106\3\75\3\0\2\75"+ + "\2\0\1\75\21\0\4\75\3\0\1\75\1\0\14\75"+ + "\1\u01aa\7\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\2\11\1\u01ab\21\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\75\3\0\1\75\1\0\2\75"+ + "\1\u01ac\21\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\5\11\1\u01ad\16\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\75\3\0\1\75\1\0\5\75"+ + "\1\u01ae\16\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\12\11\1\u01af\11\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\75\3\0\1\75\1\0\12\75"+ + "\1\u01b0\11\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\6\11\1\u01b1\15\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\75\3\0\1\75\1\0\6\75"+ + "\1\u01b2\15\75\3\0\2\75\2\0\1\75\21\0\4\11"+ + "\3\0\1\11\1\0\1\11\1\343\22\11\3\0\2\11"+ + "\2\0\1\11\21\0\4\75\3\0\1\75\1\0\1\75"+ + "\1\u0100\22\75\3\0\2\75\2\0\1\75\17\0"; + + private static int [] zzUnpackTrans() { + int [] result = new int[19170]; + 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 = { + "Unknown 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 = + "\6\0\1\11\4\1\1\11\3\1\1\11\15\1\2\11"+ + "\2\1\4\11\1\1\2\11\2\1\4\11\13\1\1\11"+ + "\3\1\1\11\15\1\3\11\3\1\1\0\3\11\33\1"+ + "\7\11\2\0\21\1\1\0\1\11\34\1\1\0\22\1"+ + "\2\0\365\1"; + + private static int [] zzUnpackAttribute() { + int [] result = new int[434]; + 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 CharSequence zzBuffer = ""; + + /** the textposition at the last accepting state */ + private int zzMarkedPos; + + /** 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; + + /** + * 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; + + /** For the backwards DFA of general lookahead statements */ + private boolean [] zzFin = new boolean [ZZ_BUFFERSIZE+1]; + + /* user code: */ + private boolean allowXPath2Syntax = false; + + _XPathLexer(boolean allowXPath2Syntax) { + this((java.io.Reader)null); + this.allowXPath2Syntax = allowXPath2Syntax; + } + + public final void setStart(int start) { + zzCurrentPos = zzStartRead = start; + } + + private IElementType ncName() { + yybegin(S1); + return XPathTokenTypes.NCNAME; + } + + protected abstract void readComment() throws java.io.IOException; + + + /** + * Creates a new scanner + * + * @param in the java.io.Reader to read input from. + */ + _XPathLexer(java.io.Reader in) { + this.zzReader = 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[0x110000]; + int i = 0; /* index in packed string */ + int j = 0; /* index in unpacked array */ + while (i < 2548) { + int count = packed.charAt(i++); + char value = packed.charAt(i++); + do map[j++] = value; while (--count > 0); + } + return map; + } + + public final int getTokenStart() { + return zzStartRead; + } + + public final int getTokenEnd() { + return getTokenStart() + yylength(); + } + + public void reset(CharSequence buffer, int start, int end, int initialState) { + zzBuffer = buffer; + zzCurrentPos = zzMarkedPos = zzStartRead = start; + zzAtEOF = false; + zzAtBOL = true; + zzEndRead = end; + yybegin(initialState); + } + + /** + * 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 { + return true; + } + + + /** + * 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 CharSequence yytext() { + return zzBuffer.subSequence(zzStartRead, zzMarkedPos); + } + + + /** + * 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.charAt(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; + } + + + /** + * 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 IElementType advance() throws java.io.IOException { + int zzInput; + int zzAction; + + // cached fields: + int zzCurrentPosL; + int zzMarkedPosL; + int zzEndReadL = zzEndRead; + CharSequence zzBufferL = zzBuffer; + char [] zzCMapL = ZZ_CMAP; + + int [] zzTransL = ZZ_TRANS; + int [] zzRowMapL = ZZ_ROWMAP; + int [] zzAttrL = ZZ_ATTRIBUTE; + + while (true) { + zzMarkedPosL = zzMarkedPos; + + zzAction = -1; + + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; + + zzState = ZZ_LEXSTATE[zzLexicalState]; + + // set up zzAction for empty match case: + int zzAttributes = zzAttrL[zzState]; + if ( (zzAttributes & 1) == 1 ) { + zzAction = zzState; + } + + + zzForAction: { + while (true) { + + if (zzCurrentPosL < zzEndReadL) { + zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/); + zzCurrentPosL += Character.charCount(zzInput); + } + 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 = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/); + zzCurrentPosL += Character.charCount(zzInput); + } + } + int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; + if (zzNext == -1) break zzForAction; + zzState = zzNext; + + zzAttributes = zzAttrL[zzState]; + if ( (zzAttributes & 1) == 1 ) { + zzAction = zzState; + zzMarkedPosL = zzCurrentPosL; + if ( (zzAttributes & 8) == 8 ) break zzForAction; + } + + } + } + + // store back cached position + zzMarkedPos = zzMarkedPosL; + + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + return null; + } + else { + switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { + case 1: + { yybegin(YYINITIAL); return XPathTokenTypes.BAD_CHARACTER; + } + case 81: break; + case 2: + { return XPathTokenTypes.WHITESPACE; + } + case 82: break; + case 3: + { yybegin(S1); return XPathTokenTypes.NCNAME; + } + case 83: break; + case 4: + { yybegin(S1); return XPathTokenTypes.NUMBER; + } + case 84: break; + case 5: + { yybegin(S1); return XPathTokenTypes.DOT; + } + case 85: break; + case 6: + { yybegin(YYINITIAL); return XPathTokenTypes.MINUS; + } + case 86: break; + case 7: + { yybegin(YYINITIAL); return XPathTokenTypes.COL; + } + case 87: break; + case 8: + { yybegin(S1); return XPathTokenTypes.STRING_LITERAL; + } + case 88: break; + case 9: + { yybegin(YYINITIAL); return XPathTokenTypes.PLUS; + } + case 89: break; + case 10: + { yybegin(YYINITIAL); return XPathTokenTypes.LPAREN; + } + case 90: break; + case 11: + { yybegin(S1); return XPathTokenTypes.RPAREN; + } + case 91: break; + case 12: + { yybegin(VAR); return XPathTokenTypes.DOLLAR; + } + case 92: break; + case 13: + { yybegin(YYINITIAL); return XPathTokenTypes.LT; + } + case 93: break; + case 14: + { yybegin(YYINITIAL); return XPathTokenTypes.GT; + } + case 94: break; + case 15: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.QUEST; } else { return XPathTokenTypes.BAD_CHARACTER; } + } + case 95: break; + case 16: + { yybegin(S1); return XPathTokenTypes.STAR; + } + case 96: break; + case 17: + { yybegin(YYINITIAL); return XPathTokenTypes.AT; + } + case 97: break; + case 18: + { yybegin(YYINITIAL); return XPathTokenTypes.COMMA; + } + case 98: break; + case 19: + { yybegin(YYINITIAL); return XPathTokenTypes.PATH; + } + case 99: break; + case 20: + { yybegin(YYINITIAL); return XPathTokenTypes.UNION; + } + case 100: break; + case 21: + { yybegin(YYINITIAL); return XPathTokenTypes.EQ; + } + case 101: break; + case 22: + { yybegin(YYINITIAL); return XPathTokenTypes.LBRACKET; + } + case 102: break; + case 23: + { yybegin(S1); return XPathTokenTypes.RBRACKET; + } + case 103: break; + case 24: + { return XPathTokenTypes.LBRACE; + } + case 104: break; + case 25: + { return XPathTokenTypes.RBRACE; + } + case 105: break; + case 26: + { yybegin(YYINITIAL); return XPathTokenTypes.MULT; + } + case 106: break; + case 27: + { yybegin(S1); return XPathTokenTypes.VARIABLE_NAME; + } + case 107: break; + case 28: + { return XPathTokenTypes.COL; + } + case 108: break; + case 29: + { return XPathTokenTypes.NCNAME; + } + case 109: break; + case 30: + { yybegin(S1); return XPathTokenTypes.PLUS; + } + case 110: break; + case 31: + { return XPathTokenTypes.LPAREN; + } + case 111: break; + case 32: + { return XPathTokenTypes.RPAREN; + } + case 112: break; + case 33: + { yybegin(S1); return XPath2TokenTypes.QUEST; + } + case 113: break; + case 34: + { yybegin(S1); return XPathTokenTypes.STAR; + } + case 114: break; + case 35: + { yybegin(S1); return XPathTokenTypes.DOTDOT; + } + case 115: break; + case 36: + { yybegin(YYINITIAL); return XPathTokenTypes.COLCOL; + } + case 116: break; + case 37: + { if (allowXPath2Syntax) { return XPath2TokenTypes.END_COMMENT; } else { yypushback(1); return XPathTokenTypes.COL; } + } + case 117: break; + case 38: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WNE; } else { return ncName(); } + } + case 118: break; + case 39: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WEQ; } else { return ncName(); } + } + case 119: break; + case 40: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WLE; } else { return ncName(); } + } + case 120: break; + case 41: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WLT; } else { return ncName(); } + } + case 121: break; + case 42: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.IS; } else { return ncName(); } + } + case 122: break; + case 43: + { if (allowXPath2Syntax) { return XPath2TokenTypes.IF; } else { return ncName(); } + } + case 123: break; + case 44: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WGE; } else { return ncName(); } + } + case 124: break; + case 45: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WGT; } else { return ncName(); } + } + case 125: break; + case 46: + { if (allowXPath2Syntax) { readComment(); return XPath2TokenTypes.COMMENT; } else { yypushback(1); return XPathTokenTypes.LPAREN; } + } + case 126: break; + case 47: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.BEFORE; } else { yypushback(1); return XPathTokenTypes.LT; } + } + case 127: break; + case 48: + { yybegin(YYINITIAL); return XPathTokenTypes.LE; + } + case 128: break; + case 49: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.AFTER; } else { yypushback(1); return XPathTokenTypes.GT; } + } + case 129: break; + case 50: + { yybegin(YYINITIAL); return XPathTokenTypes.GE; + } + case 130: break; + case 51: + { yybegin(YYINITIAL); return XPathTokenTypes.ANY_PATH; + } + case 131: break; + case 52: + { yybegin(YYINITIAL); return XPathTokenTypes.NE; + } + case 132: break; + case 53: + { if (allowXPath2Syntax) { yybegin(TYPE); return XPath2TokenTypes.AS; } else { return ncName(); } + } + case 133: break; + case 54: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.TO; } else { return ncName(); } + } + case 134: break; + case 55: + { yybegin(YYINITIAL); return XPathTokenTypes.OR; + } + case 135: break; + case 56: + { if (allowXPath2Syntax) { yybegin(TYPE); return XPath2TokenTypes.OF; } else { return ncName(); } + } + case 136: break; + case 57: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.IN; } else { return ncName(); } + } + case 137: break; + case 58: + // general lookahead, find correct zzMarkedPos + { int zzFState = 4; + int zzFPos = zzStartRead; + if (zzFin.length <= zzBufferL.length()) { zzFin = new boolean[zzBufferL.length()+1]; } + boolean zzFinL[] = zzFin; + while (zzFState != -1 && zzFPos < zzMarkedPos) { + zzFinL[zzFPos] = ((zzAttrL[zzFState] & 1) == 1); + zzInput = Character.codePointAt(zzBufferL, zzFPos/*, zzMarkedPos*/); + zzFPos += Character.charCount(zzInput); + zzFState = zzTransL[ zzRowMapL[zzFState] + zzCMapL[zzInput] ]; + } + if (zzFState != -1) { zzFinL[zzFPos++] = ((zzAttrL[zzFState] & 1) == 1); } + while (zzFPos <= zzMarkedPos) { + zzFinL[zzFPos++] = false; + } + + zzFState = 5; + zzFPos = zzMarkedPos; + while (!zzFinL[zzFPos] || (zzAttrL[zzFState] & 1) != 1) { + zzInput = Character.codePointBefore(zzBufferL, zzFPos/*, zzStartRead*/); + zzFPos -= Character.charCount(zzInput); + zzFState = zzTransL[ zzRowMapL[zzFState] + zzCMapL[zzInput] ]; + }; + zzMarkedPos = zzFPos; + } + { return XPathTokenTypes.VARIABLE_PREFIX; + } + case 138: break; + case 59: + { if (allowXPath2Syntax) { return XPath2TokenTypes.FOR; } else { return ncName(); } + } + case 139: break; + case 60: + { yybegin(YYINITIAL); return XPathTokenTypes.AND; + } + case 140: break; + case 61: + { yybegin(YYINITIAL); return XPathTokenTypes.DIV; + } + case 141: break; + case 62: + { yybegin(YYINITIAL); return XPathTokenTypes.MOD; + } + case 142: break; + case 63: + { yybegin(S1); return XPathTokenTypes.NODE_TYPE; + } + case 143: break; + case 64: + { yybegin(S1); return XPathTokenTypes.AXIS_NAME; + } + case 144: break; + case 65: + { if (allowXPath2Syntax) { return XPath2TokenTypes.SOME; } else { return ncName(); } + } + case 145: break; + case 66: + { if (allowXPath2Syntax) { return XPath2TokenTypes.CAST; } else { return ncName(); } + } + case 146: break; + case 67: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.ELSE; } else { return ncName(); } + } + case 147: break; + case 68: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.THEN; } else { return ncName(); } + } + case 148: break; + case 69: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.IDIV; } else { return ncName(); } + } + case 149: break; + case 70: + { return XPath2TokenTypes.ITEM; + } + case 150: break; + case 71: + { if (allowXPath2Syntax) { return XPath2TokenTypes.EVERY; } else { return ncName(); } + } + case 151: break; + case 72: + { if (allowXPath2Syntax) { return XPath2TokenTypes.TREAT; } else { return ncName(); } + } + case 152: break; + case 73: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.UNION; } else { return ncName(); } + } + case 153: break; + case 74: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.EXCEPT; } else { return ncName(); } + } + case 154: break; + case 75: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.RETURN; } else { return ncName(); } + } + case 155: break; + case 76: + { if (allowXPath2Syntax) { return XPath2TokenTypes.CASTABLE; } else { return ncName(); } + } + case 156: break; + case 77: + { if (allowXPath2Syntax) { return XPath2TokenTypes.INSTANCE; } else { return ncName(); } + } + case 157: break; + case 78: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.SATISFIES; } else { return ncName(); } + } + case 158: break; + case 79: + { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.INTERSECT; } else { return ncName(); } + } + case 159: break; + case 80: + { yybegin(YYINITIAL); return XPath2TokenTypes.EMPTY_SEQUENCE; + } + case 160: break; + default: + zzScanError(ZZ_NO_MATCH); + } + } + } + } + + +} diff --git a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/_XPathLexer.java b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/_XPathLexer.java deleted file mode 100644 index ccc7356dc9ed..000000000000 --- a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/_XPathLexer.java +++ /dev/null @@ -1,1485 +0,0 @@ -/* The following code was generated by JFlex 1.4.1 on 26.04.11 15:46 */ - -/* It's an automatically generated code. Do not modify it. */ -package org.intellij.lang.xpath; - -import com.intellij.lexer.FlexLexer; -import com.intellij.psi.tree.IElementType; - -@SuppressWarnings({"ALL"}) - -/** - * This class is a scanner generated by - * JFlex 1.4.1 - * on 26.04.11 15:46 from the specification file - * C:/work/java/intellij/ultimate/community/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xpath-lexer.flex - */ -abstract class _XPathLexer implements FlexLexer { - /** initial size of the lookahead buffer */ - private static final int ZZ_BUFFERSIZE = 16384; - - /** lexical states */ - public static final int VAR = 2; - public static final int YYINITIAL = 0; - public static final int S1 = 1; - public static final int TYPE = 3; - - /** - * 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\56\1\7\1\0"+ - "\1\41\1\0\1\57\1\10\1\37\1\40\1\50\1\12\1\52\1\5"+ - "\1\4\1\53\12\3\1\6\1\60\1\44\1\55\1\45\1\47\1\51"+ - "\4\2\1\11\25\2\1\61\1\0\1\62\1\0\1\2\1\0\1\13"+ - "\1\26\1\15\1\31\1\16\1\24\1\33\1\30\1\25\2\2\1\23"+ - "\1\34\1\14\1\21\1\35\1\46\1\22\1\17\1\20\1\27\1\42"+ - "\1\32\1\36\1\43\1\2\1\63\1\54\1\64\54\0\1\2\12\0"+ - "\1\2\4\0\1\2\5\0\27\2\1\0\37\2\1\0\u013f\2\31\0"+ - "\162\2\4\0\14\2\16\0\5\2\11\0\1\2\213\0\1\2\13\0"+ - "\1\2\1\0\3\2\1\0\1\2\1\0\24\2\1\0\54\2\1\0"+ - "\46\2\1\0\5\2\4\0\202\2\10\0\105\2\1\0\46\2\2\0"+ - "\2\2\6\0\20\2\41\0\46\2\2\0\1\2\7\0\47\2\110\0"+ - "\33\2\5\0\3\2\56\0\32\2\5\0\13\2\25\0\12\3\4\0"+ - "\2\2\1\0\143\2\1\0\1\2\17\0\2\2\7\0\2\2\12\3"+ - "\3\2\2\0\1\2\20\0\1\2\1\0\36\2\35\0\3\2\60\0"+ - "\46\2\13\0\1\2\u0152\0\66\2\3\0\1\2\22\0\1\2\7\0"+ - "\12\2\4\0\12\3\25\0\10\2\2\0\2\2\2\0\26\2\1\0"+ - "\7\2\1\0\1\2\3\0\4\2\3\0\1\2\36\0\2\2\1\0"+ - "\3\2\4\0\12\3\2\2\23\0\6\2\4\0\2\2\2\0\26\2"+ - "\1\0\7\2\1\0\2\2\1\0\2\2\1\0\2\2\37\0\4\2"+ - "\1\0\1\2\7\0\12\3\2\0\3\2\20\0\11\2\1\0\3\2"+ - "\1\0\26\2\1\0\7\2\1\0\2\2\1\0\5\2\3\0\1\2"+ - "\22\0\1\2\17\0\2\2\4\0\12\3\25\0\10\2\2\0\2\2"+ - "\2\0\26\2\1\0\7\2\1\0\2\2\1\0\5\2\3\0\1\2"+ - "\36\0\2\2\1\0\3\2\4\0\12\3\1\0\1\2\21\0\1\2"+ - "\1\0\6\2\3\0\3\2\1\0\4\2\3\0\2\2\1\0\1\2"+ - "\1\0\2\2\3\0\2\2\3\0\3\2\3\0\10\2\1\0\3\2"+ - "\55\0\11\3\25\0\10\2\1\0\3\2\1\0\27\2\1\0\12\2"+ - "\1\0\5\2\46\0\2\2\4\0\12\3\25\0\10\2\1\0\3\2"+ - "\1\0\27\2\1\0\12\2\1\0\5\2\3\0\1\2\40\0\1\2"+ - "\1\0\2\2\4\0\12\3\25\0\10\2\1\0\3\2\1\0\27\2"+ - "\1\0\20\2\46\0\2\2\4\0\12\3\25\0\22\2\3\0\30\2"+ - "\1\0\11\2\1\0\1\2\2\0\7\2\72\0\60\2\1\0\2\2"+ - "\14\0\7\2\11\0\12\3\47\0\2\2\1\0\1\2\2\0\2\2"+ - "\1\0\1\2\2\0\1\2\6\0\4\2\1\0\7\2\1\0\3\2"+ - "\1\0\1\2\1\0\1\2\2\0\2\2\1\0\4\2\1\0\2\2"+ - "\11\0\1\2\2\0\5\2\1\0\1\2\11\0\12\3\2\0\2\2"+ - "\42\0\1\2\37\0\12\3\26\0\10\2\1\0\42\2\35\0\4\2"+ - "\164\0\42\2\1\0\5\2\1\0\2\2\25\0\12\3\6\0\6\2"+ - "\112\0\46\2\12\0\51\2\7\0\132\2\5\0\104\2\5\0\122\2"+ - "\6\0\7\2\1\0\77\2\1\0\1\2\1\0\4\2\2\0\7\2"+ - "\1\0\1\2\1\0\4\2\2\0\47\2\1\0\1\2\1\0\4\2"+ - "\2\0\37\2\1\0\1\2\1\0\4\2\2\0\7\2\1\0\1\2"+ - "\1\0\4\2\2\0\7\2\1\0\7\2\1\0\27\2\1\0\37\2"+ - "\1\0\1\2\1\0\4\2\2\0\7\2\1\0\47\2\1\0\23\2"+ - "\16\0\11\3\56\0\125\2\14\0\u026c\2\2\0\10\2\12\0\32\2"+ - "\5\0\113\2\25\0\15\2\1\0\4\2\16\0\22\2\16\0\22\2"+ - "\16\0\15\2\1\0\3\2\17\0\64\2\43\0\1\2\4\0\1\2"+ - "\3\0\12\3\46\0\12\3\6\0\130\2\10\0\51\2\127\0\35\2"+ - "\51\0\12\3\36\2\2\0\5\2\u038b\0\154\2\224\0\234\2\4\0"+ - "\132\2\6\0\26\2\2\0\6\2\2\0\46\2\2\0\6\2\2\0"+ - "\10\2\1\0\1\2\1\0\1\2\1\0\1\2\1\0\37\2\2\0"+ - "\65\2\1\0\7\2\1\0\1\2\3\0\3\2\1\0\7\2\3\0"+ - "\4\2\2\0\6\2\4\0\15\2\5\0\3\2\1\0\7\2\164\0"+ - "\1\2\15\0\1\2\202\0\1\2\4\0\1\2\2\0\12\2\1\0"+ - "\1\2\3\0\5\2\6\0\1\2\1\0\1\2\1\0\1\2\1\0"+ - "\4\2\1\0\3\2\1\0\7\2\3\0\3\2\5\0\5\2\u0ebb\0"+ - "\2\2\52\0\5\2\5\0\2\2\4\0\126\2\6\0\3\2\1\0"+ - "\132\2\1\0\4\2\5\0\50\2\4\0\136\2\21\0\30\2\70\0"+ - "\20\2\u0200\0\u19b6\2\112\0\u51a6\2\132\0\u048d\2\u0773\0\u2ba4\2\u215c\0"+ - "\u012e\2\2\0\73\2\225\0\7\2\14\0\5\2\5\0\1\2\1\0"+ - "\12\2\1\0\15\2\1\0\5\2\1\0\1\2\1\0\2\2\1\0"+ - "\2\2\1\0\154\2\41\0\u016b\2\22\0\100\2\2\0\66\2\50\0"+ - "\14\2\164\0\5\2\1\0\207\2\23\0\12\3\7\0\32\2\6\0"+ - "\32\2\13\0\131\2\3\0\6\2\2\0\6\2\2\0\6\2\2\0"+ - "\3\2\43\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 = - "\4\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7"+ - "\2\10\1\11\14\3\1\12\1\13\1\14\1\15\1\16"+ - "\1\17\1\20\1\21\1\22\1\23\1\24\1\25\2\1"+ - "\1\26\1\27\1\30\1\31\13\3\1\32\1\33\1\34"+ - "\1\35\1\36\14\35\1\37\1\40\1\41\1\42\1\4"+ - "\1\0\1\43\1\44\1\45\2\10\3\3\1\46\5\3"+ - "\1\47\4\3\1\50\1\51\1\3\1\52\1\53\2\3"+ - "\1\54\1\55\2\3\1\56\1\57\1\60\1\61\1\62"+ - "\1\63\1\64\2\0\1\3\1\65\4\3\1\66\2\3"+ - "\1\67\1\70\1\3\1\71\4\3\1\0\1\72\3\35"+ - "\1\46\6\35\1\47\4\35\1\50\1\51\1\35\1\52"+ - "\1\35\1\53\2\35\1\54\1\55\2\35\1\4\1\0"+ - "\13\3\1\73\6\3\2\0\1\74\13\3\1\75\1\76"+ - "\14\35\1\73\7\35\3\3\1\77\4\3\1\100\1\101"+ - "\6\3\1\15\1\16\1\102\1\103\3\3\1\104\3\3"+ - "\1\105\1\3\3\35\1\77\5\35\1\100\1\101\1\35"+ - "\1\106\5\35\4\3\1\107\12\3\1\110\3\3\1\111"+ - "\5\35\1\107\7\35\11\3\1\112\1\3\1\113\2\3"+ - "\11\35\14\3\11\35\1\100\7\3\1\114\1\3\1\115"+ - "\1\3\1\100\10\35\1\3\1\100\3\3\1\116\1\117"+ - "\2\35\1\100\3\35\4\3\5\35\3\3\4\35\3\3"+ - "\4\35\3\3\4\35\2\3\1\120\2\35\2\3\2\35"+ - "\2\3\2\35\1\3\1\35\1\3\1\35\1\3\1\35"+ - "\1\3\1\35\1\3\1\35"; - - private static int [] zzUnpackAction() { - int [] result = new int[430]; - 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\65\0\152\0\237\0\324\0\u0109\0\u013e\0\u0173"+ - "\0\u01a8\0\324\0\u01dd\0\u0212\0\u0247\0\324\0\u027c\0\u02b1"+ - "\0\u02e6\0\u031b\0\u0350\0\u0385\0\u03ba\0\u03ef\0\u0424\0\u0459"+ - "\0\u048e\0\u04c3\0\u04f8\0\324\0\324\0\u052d\0\u0562\0\324"+ - "\0\324\0\324\0\324\0\u0597\0\324\0\324\0\u05cc\0\u0601"+ - "\0\324\0\324\0\324\0\324\0\u0636\0\u066b\0\u06a0\0\u06d5"+ - "\0\u070a\0\u073f\0\u0774\0\u07a9\0\u07de\0\u0813\0\u0848\0\324"+ - "\0\u087d\0\u01dd\0\u08b2\0\324\0\u08e7\0\u091c\0\u0951\0\u0986"+ - "\0\u09bb\0\u09f0\0\u0a25\0\u0a5a\0\u0a8f\0\u0ac4\0\u0af9\0\u0b2e"+ - "\0\u04f8\0\324\0\324\0\324\0\u0b63\0\u0b98\0\324\0\324"+ - "\0\324\0\u0bcd\0\u0c02\0\u0c37\0\u0c6c\0\u0ca1\0\u013e\0\u0cd6"+ - "\0\u0d0b\0\u0d40\0\u0d75\0\u0daa\0\u013e\0\u0ddf\0\u0e14\0\u0e49"+ - "\0\u0e7e\0\u013e\0\u013e\0\u0eb3\0\u013e\0\u013e\0\u0ee8\0\u0f1d"+ - "\0\u013e\0\u013e\0\u0f52\0\u0f87\0\324\0\324\0\324\0\324"+ - "\0\324\0\324\0\324\0\u0fbc\0\u0ff1\0\u1026\0\u013e\0\u105b"+ - "\0\u1090\0\u10c5\0\u10fa\0\u013e\0\u112f\0\u1164\0\u013e\0\u013e"+ - "\0\u1199\0\u11ce\0\u1203\0\u1238\0\u126d\0\u12a2\0\u12d7\0\324"+ - "\0\u130c\0\u1341\0\u1376\0\u08b2\0\u13ab\0\u13e0\0\u1415\0\u144a"+ - "\0\u147f\0\u14b4\0\u08b2\0\u14e9\0\u151e\0\u1553\0\u1588\0\u08b2"+ - "\0\u08b2\0\u15bd\0\u08b2\0\u15f2\0\u08b2\0\u1627\0\u165c\0\u08b2"+ - "\0\u08b2\0\u1691\0\u16c6\0\u16fb\0\u16fb\0\u1730\0\u1765\0\u179a"+ - "\0\u17cf\0\u1804\0\u1839\0\u186e\0\u18a3\0\u18d8\0\u190d\0\u1942"+ - "\0\u013e\0\u1977\0\u19ac\0\u19e1\0\u1a16\0\u1a4b\0\u1a80\0\u1ab5"+ - "\0\u1aea\0\u013e\0\u1b1f\0\u1b54\0\u1b89\0\u1bbe\0\u1bf3\0\u1c28"+ - "\0\u1c5d\0\u1c92\0\u1cc7\0\u1cfc\0\u1d31\0\u013e\0\u013e\0\u1d66"+ - "\0\u1d9b\0\u1dd0\0\u1e05\0\u1e3a\0\u1e6f\0\u1ea4\0\u1ed9\0\u1f0e"+ - "\0\u1f43\0\u1f78\0\u1fad\0\u08b2\0\u1fe2\0\u2017\0\u204c\0\u2081"+ - "\0\u20b6\0\u20eb\0\u2120\0\u2155\0\u218a\0\u21bf\0\u013e\0\u21f4"+ - "\0\u2229\0\u225e\0\u2293\0\u013e\0\u013e\0\u22c8\0\u22fd\0\u2332"+ - "\0\u2367\0\u239c\0\u23d1\0\u2406\0\u243b\0\u2470\0\u013e\0\u24a5"+ - "\0\u24da\0\u250f\0\u013e\0\u2544\0\u2579\0\u25ae\0\u013e\0\u25e3"+ - "\0\u2618\0\u264d\0\u2682\0\u08b2\0\u26b7\0\u26ec\0\u2721\0\u2756"+ - "\0\u278b\0\u08b2\0\u08b2\0\u27c0\0\u08b2\0\u27f5\0\u282a\0\u285f"+ - "\0\u2894\0\u28c9\0\u28fe\0\u2933\0\u2968\0\u299d\0\u013e\0\u29d2"+ - "\0\u2a07\0\u2a3c\0\u2a71\0\u2aa6\0\u2adb\0\u2b10\0\u2b45\0\u2b7a"+ - "\0\u2baf\0\u013e\0\u2be4\0\u2c19\0\u2c4e\0\u013e\0\u2c83\0\u2cb8"+ - "\0\u2ced\0\u2d22\0\u2d57\0\u08b2\0\u2d8c\0\u2dc1\0\u2df6\0\u2e2b"+ - "\0\u2e60\0\u2e95\0\u2eca\0\u2eff\0\u2f34\0\u2f69\0\u2f9e\0\u2fd3"+ - "\0\u3008\0\u303d\0\u3072\0\u30a7\0\u013e\0\u30dc\0\u013e\0\u3111"+ - "\0\u3146\0\u317b\0\u31b0\0\u31e5\0\u321a\0\u324f\0\u3284\0\u32b9"+ - "\0\u32ee\0\u3323\0\u3358\0\u338d\0\u33c2\0\u33f7\0\u342c\0\u3461"+ - "\0\u3496\0\u34cb\0\u3500\0\u3535\0\u356a\0\u359f\0\u35d4\0\u3609"+ - "\0\u363e\0\u3673\0\u36a8\0\u36dd\0\u3712\0\u3747\0\u377c\0\u37b1"+ - "\0\u37e6\0\u381b\0\u3850\0\u3885\0\u38ba\0\u38ef\0\u3924\0\u013e"+ - "\0\u3959\0\u013e\0\u398e\0\u39c3\0\u39f8\0\u3a2d\0\u3a62\0\u3a97"+ - "\0\u3acc\0\u3b01\0\u3b36\0\u3b6b\0\u3ba0\0\u3bd5\0\u3c0a\0\u3c3f"+ - "\0\u3c74\0\u013e\0\u013e\0\u3ca9\0\u3cde\0\u3d13\0\u3d48\0\u3d7d"+ - "\0\u3db2\0\u3de7\0\u3e1c\0\u3e51\0\u3e86\0\u3ebb\0\u3ef0\0\u3f25"+ - "\0\u3f5a\0\u3f8f\0\u3fc4\0\u3ff9\0\u402e\0\u4063\0\u4098\0\u40cd"+ - "\0\u4102\0\u4137\0\u416c\0\u41a1\0\u41d6\0\u420b\0\u4240\0\u4275"+ - "\0\u42aa\0\u42df\0\u4314\0\u4349\0\u437e\0\u43b3\0\u43e8\0\u441d"+ - "\0\u4452\0\u08b2\0\u4487\0\u44bc\0\u44f1\0\u4526\0\u455b\0\u4590"+ - "\0\u45c5\0\u45fa\0\u462f\0\u4664\0\u4699\0\u46ce\0\u4703\0\u4738"+ - "\0\u476d\0\u47a2\0\u47d7\0\u480c\0\u4841\0\u4876"; - - private static int [] zzUnpackRowMap() { - int [] result = new int[430]; - 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\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14"+ - "\1\15\1\7\1\16\1\17\1\20\1\21\1\22\1\23"+ - "\1\24\2\7\1\25\1\26\1\27\3\7\1\30\1\7"+ - "\1\31\1\7\1\32\1\7\1\33\1\34\1\35\2\7"+ - "\1\36\1\37\1\7\1\40\1\41\1\42\1\43\1\44"+ - "\1\45\1\46\1\47\1\50\1\5\1\51\1\52\1\53"+ - "\1\54\1\5\1\6\1\7\1\10\1\11\1\12\1\13"+ - "\1\14\1\15\1\7\1\16\1\55\1\20\1\56\1\57"+ - "\1\60\1\61\1\62\1\63\1\25\1\26\1\64\1\7"+ - "\1\65\1\7\1\66\1\7\1\31\1\67\1\32\1\7"+ - "\1\33\1\34\1\35\2\7\1\36\1\37\1\7\1\40"+ - "\1\70\1\42\1\43\1\44\1\45\1\46\1\47\1\50"+ - "\1\5\1\51\1\52\1\53\1\54\1\5\1\6\1\71"+ - "\1\10\1\11\1\12\1\72\1\14\1\15\1\71\1\16"+ - "\24\71\1\33\1\34\1\35\2\71\1\36\1\37\1\71"+ - "\1\40\1\5\1\42\1\43\1\44\1\45\1\46\1\47"+ - "\1\50\1\5\1\51\1\52\1\53\1\54\1\5\1\6"+ - "\1\73\1\10\1\11\1\12\1\72\1\14\1\15\1\73"+ - "\1\74\1\75\1\76\1\77\1\100\1\101\1\102\2\73"+ - "\1\103\1\104\1\105\3\73\1\106\1\73\1\107\1\73"+ - "\1\110\1\73\1\111\1\112\1\35\2\73\1\36\1\37"+ - "\1\73\1\113\1\114\1\42\1\43\1\44\1\45\1\46"+ - "\1\47\1\50\1\5\1\51\1\52\1\53\1\54\66\0"+ - "\1\6\65\0\4\7\3\0\1\7\1\0\24\7\3\0"+ - "\2\7\2\0\1\7\21\0\1\10\1\115\4\0\1\116"+ - "\4\0\1\116\51\0\1\115\1\117\66\0\1\120\31\0"+ - "\1\121\24\0\7\14\1\122\55\14\10\15\1\123\54\15"+ - "\2\0\4\7\3\0\1\7\1\0\1\7\1\124\3\7"+ - "\1\125\16\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\1\126\2\7\1\127\2\7\1\130"+ - "\15\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\6\7\1\131\6\7\1\132\6\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\10\7\1\133\13\7\3\0\1\134\1\7\2\0\1\135"+ - "\20\0\4\7\3\0\1\7\1\0\2\7\1\136\1\137"+ - "\2\7\1\140\15\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\3\7\1\141\20\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\3\7\1\142\1\7\1\143\16\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\6\7\1\144"+ - "\15\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\4\7\1\145\4\7\1\146\12\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\3\7\1\147\2\7\1\150\15\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\3\7\1\151"+ - "\1\7\1\152\16\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\1\153\6\7\1\154\14\7"+ - "\3\0\2\7\2\0\1\7\24\0\1\155\122\0\1\156"+ - "\10\0\1\157\54\0\1\160\7\0\1\161\62\0\1\162"+ - "\66\0\1\163\32\0\1\164\7\0\1\165\33\0\4\7"+ - "\3\0\1\7\1\0\1\7\1\166\2\7\1\167\1\125"+ - "\16\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\1\170\5\7\1\131\6\7\1\132\6\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\10\7\1\171\12\7\1\172\3\0\1\134\1\7"+ - "\2\0\1\135\20\0\4\7\3\0\1\7\1\0\1\173"+ - "\1\7\1\136\1\137\2\7\1\140\15\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\3\7"+ - "\1\141\2\7\1\174\1\175\5\7\1\176\6\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\7\7\1\177\1\7\1\200\12\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\3\7\1\201"+ - "\20\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\1\7\1\202\2\7\1\145\4\7\1\146"+ - "\4\7\1\203\5\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\1\7\1\204\22\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\3\7\1\147\2\7\1\150\3\7\1\205\11\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\6\7\1\206\15\7\3\0\2\7\2\0\1\7\17\0"+ - "\1\207\4\71\1\210\2\0\1\71\1\0\24\71\3\0"+ - "\2\71\2\0\1\71\20\0\4\73\3\0\1\73\1\0"+ - "\24\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\1\73\1\211\3\73\1\212\16\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\1\213\2\73\1\214\2\73\1\215\15\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\73\3\0\1\73\1\0\6\73"+ - "\1\216\6\73\1\217\6\73\3\0\2\73\2\0\1\73"+ - "\20\0\4\73\3\0\1\73\1\0\10\73\1\220\10\73"+ - "\1\221\2\73\3\0\1\222\1\73\2\0\1\223\20\0"+ - "\4\73\3\0\1\73\1\0\2\73\1\224\1\225\2\73"+ - "\1\226\15\73\3\0\2\73\2\0\1\73\20\0\4\73"+ - "\3\0\1\73\1\0\3\73\1\227\20\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\73\3\0\1\73\1\0\3\73"+ - "\1\230\1\73\1\231\16\73\3\0\2\73\2\0\1\73"+ - "\20\0\4\73\3\0\1\73\1\0\6\73\1\232\15\73"+ - "\3\0\2\73\2\0\1\73\20\0\4\73\3\0\1\73"+ - "\1\0\4\73\1\233\1\234\3\73\1\235\12\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\3\73\1\236\2\73\1\237\15\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\3\73\1\240"+ - "\1\73\1\241\16\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\1\242\6\73\1\243\14\73"+ - "\3\0\2\73\2\0\1\73\21\0\1\115\5\0\1\116"+ - "\4\0\1\116\51\0\1\244\1\0\1\245\4\0\1\245"+ - "\61\0\1\14\65\0\1\15\56\0\4\7\3\0\1\7"+ - "\1\0\2\7\1\246\21\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\5\7\1\247\16\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\21\7\1\250\2\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\16\7\1\251\5\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\21\7\1\252\2\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\12\7\1\253\11\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\3\7\1\252\20\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\3\7\1\254\20\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\15\7\1\255\6\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\10\7\1\256\13\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\21\7\1\257\2\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\23\7\1\260\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\7\7\1\261\1\262\13\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\4\7\1\263\17\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\2\7\1\264\21\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\7\7\1\265\14\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\3\7\1\266\2\7\1\267\15\7\3\0\2\7"+ - "\2\0\1\7\36\0\1\270\64\0\1\271\46\0\4\7"+ - "\3\0\1\7\1\0\2\7\1\246\13\7\1\272\5\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\4\7\1\273\17\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\3\7\1\252\1\274"+ - "\17\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\2\7\1\275\21\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\5\7\1\276"+ - "\16\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\3\7\1\277\20\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\3\7\1\300"+ - "\20\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\5\7\1\301\16\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\4\7\1\302"+ - "\1\303\16\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\12\7\1\304\11\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\12\7"+ - "\1\305\11\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\24\7\3\0\1\306\1\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\16\7\1\307"+ - "\5\7\3\0\2\7\2\0\1\7\17\0\1\207\4\0"+ - "\1\210\60\0\4\73\3\0\1\73\1\0\2\73\1\310"+ - "\21\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\5\73\1\311\16\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\21\73\1\312"+ - "\2\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\16\73\1\313\5\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\21\73\1\314"+ - "\2\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\12\73\1\315\11\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\3\73\1\314"+ - "\20\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\22\73\1\316\1\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\3\73\1\317"+ - "\20\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\15\73\1\320\6\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\10\73\1\321"+ - "\13\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\21\73\1\322\2\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\23\73\1\323"+ - "\3\0\2\73\2\0\1\73\20\0\4\73\3\0\1\73"+ - "\1\0\7\73\1\324\1\325\13\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\3\73\1\326"+ - "\20\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\4\73\1\327\17\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\2\73\1\330"+ - "\21\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\7\73\1\331\14\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\3\73\1\332"+ - "\2\73\1\333\15\73\3\0\2\73\2\0\1\73\21\0"+ - "\1\244\63\0\4\7\3\0\1\7\1\0\3\7\1\334"+ - "\20\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\7\7\1\335\14\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\3\7\1\336"+ - "\20\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\3\7\1\337\20\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\21\7\1\340"+ - "\2\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\10\7\1\341\13\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\7\7\1\342"+ - "\14\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\3\7\1\343\20\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\11\7\1\344"+ - "\12\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\3\7\1\345\20\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\5\7\1\337"+ - "\16\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\10\7\1\346\13\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\2\7\1\347"+ - "\21\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\14\7\1\350\7\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\3\7\1\351"+ - "\20\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\2\7\1\352\21\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\2\7\1\353"+ - "\21\7\3\0\2\7\2\0\1\7\76\0\1\354\64\0"+ - "\1\355\6\0\4\7\3\0\1\7\1\0\5\7\1\356"+ - "\16\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\3\7\1\357\20\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\3\7\1\360"+ - "\20\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\12\7\1\361\11\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\1\362\23\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\1\7\1\363\22\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\14\7\1\364\7\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\5\7\1\365\16\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\3\7\1\366\20\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\24\7\3\0\1\367\1\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\6\7\1\370\15\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\73\3\0\1\73\1\0"+ - "\3\73\1\371\20\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\7\73\1\372\14\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\3\73\1\373\20\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\3\73\1\374\20\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\21\73\1\375\2\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\10\73\1\376\13\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\5\73\1\377\16\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\7\73\1\u0100\14\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\3\73\1\u0101\20\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\11\73\1\u0102\12\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\3\73\1\u0103\20\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\5\73\1\374\16\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\10\73\1\u0104\13\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\21\73\1\u0105\2\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\2\73\1\u0106\21\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\14\73\1\u0107\7\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\3\73\1\u0108\20\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\2\73\1\u0109\21\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\2\73\1\u010a\21\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\7\3\0\1\7\1\0\4\7\1\u010b\17\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\12\7\1\u010c\11\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\4\7\1\u010d\17\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\3\7\1\u010e\20\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\16\7\1\344\5\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\24\7\3\0\1\7\1\u010f\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\21\7\1\u0110\2\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\6\7"+ - "\1\u0111\15\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\3\7\1\u0112\20\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\21\7"+ - "\1\u0113\2\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\1\7\1\u0114\22\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\3\7"+ - "\1\u0115\20\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\3\7\1\u0116\20\7\3\0\2\7"+ - "\2\0\1\7\73\0\1\157\64\0\1\161\11\0\4\7"+ - "\3\0\1\7\1\0\1\u0117\23\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\22\7\1\u0118"+ - "\1\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\4\7\1\u0119\17\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\5\7\1\u011a"+ - "\16\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\7\7\1\u011b\14\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\1\u011c\23\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\7\7\1\u011d\14\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\1\7\1\u011e\22\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\73\3\0\1\73"+ - "\1\0\4\73\1\u011f\17\73\3\0\2\73\2\0\1\73"+ - "\20\0\4\73\3\0\1\73\1\0\12\73\1\u0120\11\73"+ - "\3\0\2\73\2\0\1\73\20\0\4\73\3\0\1\73"+ - "\1\0\4\73\1\u0121\17\73\3\0\2\73\2\0\1\73"+ - "\20\0\4\73\3\0\1\73\1\0\3\73\1\u0122\20\73"+ - "\3\0\2\73\2\0\1\73\20\0\4\73\3\0\1\73"+ - "\1\0\16\73\1\u0102\5\73\3\0\2\73\2\0\1\73"+ - "\20\0\4\73\3\0\1\73\1\0\24\73\3\0\1\73"+ - "\1\u0123\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\24\73\3\0\1\73\1\u0124\2\0\1\73\20\0\4\73"+ - "\3\0\1\73\1\0\21\73\1\u0125\2\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\73\3\0\1\73\1\0\6\73"+ - "\1\u0126\15\73\3\0\2\73\2\0\1\73\20\0\4\73"+ - "\3\0\1\73\1\0\3\73\1\u0127\20\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\73\3\0\1\73\1\0\21\73"+ - "\1\u0128\2\73\3\0\2\73\2\0\1\73\20\0\4\73"+ - "\3\0\1\73\1\0\1\73\1\u0129\22\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\73\3\0\1\73\1\0\3\73"+ - "\1\u012a\20\73\3\0\2\73\2\0\1\73\20\0\4\73"+ - "\3\0\1\73\1\0\3\73\1\u012b\20\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\7\3\0\1\7\1\0\5\7"+ - "\1\u012c\16\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\13\7\1\u012d\10\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\22\7"+ - "\1\u012e\1\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\1\7\1\260\22\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\1\u012f"+ - "\23\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\17\7\1\u0130\4\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\1\7\1\u0131"+ - "\22\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\3\7\1\u0132\20\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\5\7\1\344"+ - "\16\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\16\7\1\u0130\5\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\4\7\1\u0133"+ - "\17\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\13\7\1\u0134\10\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\5\7\1\u0135"+ - "\16\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\11\7\1\u0136\12\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\1\7\1\u0137"+ - "\22\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\1\7\1\u0138\22\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\4\7\1\u0139"+ - "\17\7\3\0\2\7\2\0\1\7\20\0\4\73\3\0"+ - "\1\73\1\0\5\73\1\u013a\16\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\13\73\1\u013b"+ - "\10\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\22\73\1\u013c\1\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\1\73\1\323"+ - "\22\73\3\0\2\73\2\0\1\73\20\0\3\73\1\u013d"+ - "\3\0\1\73\1\0\24\73\3\0\2\73\2\0\1\73"+ - "\20\0\4\73\3\0\1\73\1\0\1\u013e\23\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\17\73\1\u013f\4\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\1\73\1\u0140\22\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\3\73\1\u0141\20\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\5\73\1\u0102\16\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\16\73\1\u013f\5\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\4\73\1\u0142\17\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\6\7\1\u0143\15\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\14\7\1\u0144\7\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\1\u0145\23\7\3\0\2\7\2\0\1\7\20\0\3\7"+ - "\1\u0146\3\0\1\7\1\0\24\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\12\7\1\u0147"+ - "\11\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\16\7\1\u0148\5\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\1\7\1\u0149"+ - "\22\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\4\7\1\u014a\17\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\10\7\1\u014b"+ - "\13\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\12\7\1\u014c\11\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\2\7\1\u014d"+ - "\21\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\3\7\1\u014e\20\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\73\3\0\1\73\1\0\6\73\1\u014f"+ - "\15\73\3\0\2\73\2\0\1\73\20\0\4\73\3\0"+ - "\1\73\1\0\14\73\1\u0150\7\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\1\u0151\23\73"+ - "\3\0\2\73\2\0\1\73\20\0\4\73\3\0\1\73"+ - "\1\0\4\73\1\u0152\17\73\3\0\2\73\2\0\1\73"+ - "\20\0\3\73\1\u0153\3\0\1\73\1\0\24\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\12\73\1\u0154\11\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\16\73\1\u0155\5\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\1\73\1\u0156\22\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\4\73\1\u0157\17\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\7\7\1\u0158\14\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\5\7\1\251\16\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\2\7\1\u0159\21\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\1\u015a\2\7\1\u015b\20\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\1\7\1\u015c\22\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\1\u015d\23\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\5\7\1\u015e\16\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\12\7\1\u015f\11\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\3\7\1\u0160\20\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\3\7\1\u0161\20\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\3\7\1\u0162\20\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\2\7\1\u0163\21\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\73\3\0\1\73\1\0"+ - "\7\73\1\u0164\14\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\5\73\1\313\16\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\2\73\1\u0165\21\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\3\73\1\u0166\20\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\1\u0167\2\73\1\u0168\20\73\3\0\2\73\2\0\1\73"+ - "\20\0\4\73\3\0\1\73\1\0\1\73\1\u0169\22\73"+ - "\3\0\2\73\2\0\1\73\20\0\4\73\3\0\1\73"+ - "\1\0\1\u016a\23\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\5\73\1\u016b\16\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\12\73\1\u016c\11\73\3\0\2\73\2\0\1\73\20\0"+ - "\3\7\1\u016d\3\0\1\7\1\0\24\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\3\7"+ - "\1\344\20\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\5\7\1\125\16\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\10\7"+ - "\1\133\13\7\3\0\2\7\2\0\1\7\20\0\4\7"+ - "\3\0\1\7\1\0\20\7\1\u016e\3\7\3\0\2\7"+ - "\2\0\1\7\20\0\4\7\3\0\1\7\1\0\1\7"+ - "\1\u016f\22\7\3\0\2\7\2\0\1\7\20\0\3\7"+ - "\1\u0170\3\0\1\7\1\0\24\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\1\7\1\u0171"+ - "\22\7\3\0\2\7\2\0\1\7\20\0\4\7\3\0"+ - "\1\7\1\0\4\7\1\u0172\17\7\3\0\2\7\2\0"+ - "\1\7\20\0\4\7\3\0\1\7\1\0\5\7\1\u0173"+ - "\16\7\3\0\2\7\2\0\1\7\20\0\3\73\1\u0174"+ - "\3\0\1\73\1\0\24\73\3\0\2\73\2\0\1\73"+ - "\20\0\4\73\3\0\1\73\1\0\3\73\1\u0102\20\73"+ - "\3\0\2\73\2\0\1\73\20\0\4\73\3\0\1\73"+ - "\1\0\24\73\3\0\2\73\2\0\1\u0175\20\0\4\73"+ - "\3\0\1\73\1\0\5\73\1\212\16\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\73\3\0\1\73\1\0\10\73"+ - "\1\220\13\73\3\0\2\73\2\0\1\73\20\0\4\73"+ - "\3\0\1\73\1\0\20\73\1\u0176\3\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\73\3\0\1\73\1\0\1\73"+ - "\1\u0177\22\73\3\0\2\73\2\0\1\73\20\0\3\73"+ - "\1\u0178\3\0\1\73\1\0\24\73\3\0\2\73\2\0"+ - "\1\73\20\0\4\73\3\0\1\73\1\0\1\73\1\u0179"+ - "\22\73\3\0\2\73\2\0\1\73\20\0\4\7\3\0"+ - "\1\7\1\0\6\7\1\u017a\15\7\3\0\2\7\2\0"+ - "\1\7\20\0\3\7\1\u017b\3\0\1\7\1\0\24\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\5\7\1\u0158\16\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\1\7\1\u017c\22\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\20\7\1\u017d\3\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\73\3\0\1\73\1\0\6\73\1\u017e\15\73"+ - "\3\0\2\73\2\0\1\73\20\0\4\73\3\0\1\73"+ - "\1\0\14\73\1\u017f\7\73\3\0\2\73\2\0\1\73"+ - "\20\0\3\73\1\u0180\3\0\1\73\1\0\24\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\5\73\1\u0164\16\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\1\73\1\u0181\22\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\20\73\1\u0182\3\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\7\3\0\1\7\1\0\7\7\1\u0183\14\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\4\7\1\u0184\17\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\6\7\1\130\15\7\3\0"+ - "\2\7\2\0\1\7\20\0\3\7\1\u0185\3\0\1\7"+ - "\1\0\24\7\3\0\2\7\2\0\1\7\20\0\4\73"+ - "\3\0\1\73\1\0\7\73\1\u0186\14\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\73\3\0\1\73\1\0\3\73"+ - "\1\u0187\20\73\3\0\2\73\2\0\1\73\20\0\4\73"+ - "\3\0\1\73\1\0\4\73\1\u0188\17\73\3\0\2\73"+ - "\2\0\1\73\20\0\4\73\3\0\1\73\1\0\6\73"+ - "\1\215\15\73\3\0\2\73\2\0\1\73\20\0\3\73"+ - "\1\u0189\3\0\1\73\1\0\24\73\3\0\2\73\2\0"+ - "\1\73\20\0\3\7\1\u018a\3\0\1\7\1\0\24\7"+ - "\3\0\2\7\2\0\1\7\20\0\4\7\3\0\1\7"+ - "\1\0\12\7\1\u018b\11\7\3\0\2\7\2\0\1\7"+ - "\20\0\4\7\3\0\1\7\1\0\12\7\1\u018c\11\7"+ - "\3\0\2\7\2\0\1\7\20\0\3\73\1\u018d\3\0"+ - "\1\73\1\0\24\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\1\73\1\u018e\22\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\12\73\1\u018f\11\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\12\73\1\u0190\11\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\4\7\1\u0191\17\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\13\7\1\u0192\10\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\1\7\1\u0193\22\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\73\3\0\1\73\1\0\4\73\1\u0194\17\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\2\73\1\u0195\21\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\13\73\1\u0196\10\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\1\73\1\u0197\22\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\7\3\0\1\7\1\0\3\7\1\137\20\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\7\3\0\1\7\1\0"+ - "\10\7\1\u0198\13\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\4\7\1\u0199\17\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\73\3\0\1\73\1\0"+ - "\3\73\1\225\20\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\3\73\1\u019a\20\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\73\3\0\1\73\1\0"+ - "\10\73\1\u019b\13\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\4\73\1\u019c\17\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\12\7\1\u019d\11\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\5\7\1\u019e\16\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\73\3\0\1\73\1\0"+ - "\12\73\1\u019f\11\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\5\73\1\u01a0\16\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\1\7\1\u01a1\22\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\7\7\1\u01a2\14\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\73\3\0\1\73\1\0"+ - "\1\73\1\u01a3\22\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\7\73\1\u01a4\14\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\20\7\1\344\3\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\7\3\0\1\7\1\0\14\7\1\u01a5\7\7\3\0"+ - "\2\7\2\0\1\7\20\0\4\73\3\0\1\73\1\0"+ - "\20\73\1\u0102\3\73\3\0\2\73\2\0\1\73\20\0"+ - "\4\73\3\0\1\73\1\0\14\73\1\u01a6\7\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\2\7\1\u01a7\21\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\73\3\0\1\73\1\0\2\73\1\u01a8\21\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\5\7\1\u01a9\16\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\73\3\0\1\73\1\0\5\73\1\u01aa\16\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\12\7\1\u01ab\11\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\73\3\0\1\73\1\0\12\73\1\u01ac\11\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\6\7\1\u01ad\15\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\73\3\0\1\73\1\0\6\73\1\u01ae\15\73\3\0"+ - "\2\73\2\0\1\73\20\0\4\7\3\0\1\7\1\0"+ - "\1\7\1\337\22\7\3\0\2\7\2\0\1\7\20\0"+ - "\4\73\3\0\1\73\1\0\1\73\1\374\22\73\3\0"+ - "\2\73\2\0\1\73\16\0"; - - private static int [] zzUnpackTrans() { - int [] result = new int[18603]; - 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; - private static final char[] EMPTY_BUFFER = new char[0]; - private static final int YYEOF = -1; - private static java.io.Reader zzReader = null; // Fake - - /* 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 = - "\4\0\1\11\4\1\1\11\3\1\1\11\15\1\2\11"+ - "\2\1\4\11\1\1\2\11\2\1\4\11\13\1\1\11"+ - "\1\3\2\1\1\11\15\1\3\11\1\1\1\0\3\11"+ - "\33\1\7\11\2\0\21\1\1\0\1\15\34\1\1\0"+ - "\22\1\2\0\365\1"; - - private static int [] zzUnpackAttribute() { - int [] result = new int[430]; - 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 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 CharSequence zzBuffer = ""; - - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - - /** 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; - - /** - * 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 boolean allowXPath2Syntax = false; - - _XPathLexer(boolean allowXPath2Syntax) { - this((java.io.Reader)null); - this.allowXPath2Syntax = allowXPath2Syntax; - } - - public final void setStart(int start) { - zzCurrentPos = zzStartRead = start; - } - - private IElementType ncName() { - yybegin(S1); - return XPathTokenTypes.NCNAME; - } - - protected abstract void readComment() throws java.io.IOException; - - - _XPathLexer(java.io.Reader in) { - 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. - */ - _XPathLexer(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 < 1304) { - int count = packed.charAt(i++); - char value = packed.charAt(i++); - do map[j++] = value; while (--count > 0); - } - return map; - } - - public final int getTokenStart(){ - return zzStartRead; - } - - public final int getTokenEnd(){ - return getTokenStart() + yylength(); - } - - public void reset(CharSequence buffer, int start, int end,int initialState){ - zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); - zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; - zzAtEOF = false; - zzAtBOL = true; - zzEndRead = end; - yybegin(initialState); - } - - // For Demetra compatibility - public void reset(CharSequence buffer, int initialState){ - reset(buffer, 0, buffer.length(), initialState); - } - - /** - * 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 { - return true; - } - - - /** - * 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 CharSequence yytext() { - return zzBuffer.subSequence(zzStartRead, zzMarkedPos); - } - - - /** - * 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 zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(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() { - if (!zzEOFDone) { - zzEOFDone = true; - - } - } - - - /** - * 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 IElementType advance() throws java.io.IOException { - int zzInput; - int zzAction; - - // cached fields: - int zzCurrentPosL; - int zzMarkedPosL; - int zzEndReadL = zzEndRead; - CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; - char [] zzCMapL = ZZ_CMAP; - - int [] zzTransL = ZZ_TRANS; - int [] zzRowMapL = ZZ_ROWMAP; - int [] zzAttrL = ZZ_ATTRIBUTE; - int zzPushbackPosL = zzPushbackPos = -1; - boolean zzWasPushback; - - while (true) { - zzMarkedPosL = zzMarkedPos; - - zzAction = -1; - - zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; - - zzState = zzLexicalState; - - zzWasPushback = false; - - zzForAction: { - while (true) { - - if (zzCurrentPosL < zzEndReadL) - zzInput = zzBufferL.charAt(zzCurrentPosL++); - else if (zzAtEOF) { - zzInput = YYEOF; - break zzForAction; - } - else { - // store back cached positions - zzCurrentPos = zzCurrentPosL; - zzMarkedPos = zzMarkedPosL; - zzPushbackPos = zzPushbackPosL; - boolean eof = zzRefill(); - // get translated positions and possibly new buffer - zzCurrentPosL = zzCurrentPos; - zzMarkedPosL = zzMarkedPos; - zzBufferL = zzBuffer; - zzEndReadL = zzEndRead; - zzPushbackPosL = zzPushbackPos; - if (eof) { - zzInput = YYEOF; - break zzForAction; - } - else { - zzInput = zzBufferL.charAt(zzCurrentPosL++); - } - } - int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; - if (zzNext == -1) break zzForAction; - zzState = zzNext; - - int zzAttributes = zzAttrL[zzState]; - if ( (zzAttributes & 2) == 2 ) - zzPushbackPosL = zzCurrentPosL; - - if ( (zzAttributes & 1) == 1 ) { - zzWasPushback = (zzAttributes & 4) == 4; - zzAction = zzState; - zzMarkedPosL = zzCurrentPosL; - if ( (zzAttributes & 8) == 8 ) break zzForAction; - } - - } - } - - // store back cached position - zzMarkedPos = zzMarkedPosL; - if (zzWasPushback) - zzMarkedPos = zzPushbackPosL; - - switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 56: - { if (allowXPath2Syntax) { yybegin(TYPE); return XPath2TokenTypes.OF; } else { return ncName(); } - } - case 81: break; - case 6: - { yybegin(YYINITIAL); return XPathTokenTypes.MINUS; - } - case 82: break; - case 50: - { yybegin(YYINITIAL); return XPathTokenTypes.GE; - } - case 83: break; - case 8: - { yybegin(S1); return XPathTokenTypes.STRING_LITERAL; - } - case 84: break; - case 40: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WLE; } else { return ncName(); } - } - case 85: break; - case 69: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.IDIV; } else { return ncName(); } - } - case 86: break; - case 30: - { yybegin(S1); return XPathTokenTypes.PLUS; - } - case 87: break; - case 54: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.TO; } else { return ncName(); } - } - case 88: break; - case 58: - { return XPathTokenTypes.VARIABLE_PREFIX; - } - case 89: break; - case 25: - { return XPathTokenTypes.RBRACE; - } - case 90: break; - case 11: - { yybegin(S1); return XPathTokenTypes.RPAREN; - } - case 91: break; - case 74: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.EXCEPT; } else { return ncName(); } - } - case 92: break; - case 3: - { yybegin(S1); return XPathTokenTypes.NCNAME; - } - case 93: break; - case 21: - { yybegin(YYINITIAL); return XPathTokenTypes.EQ; - } - case 94: break; - case 38: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WNE; } else { return ncName(); } - } - case 95: break; - case 51: - { yybegin(YYINITIAL); return XPathTokenTypes.ANY_PATH; - } - case 96: break; - case 49: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.AFTER; } else { yypushback(1); return XPathTokenTypes.GT; } - } - case 97: break; - case 20: - { yybegin(YYINITIAL); return XPathTokenTypes.UNION; - } - case 98: break; - case 2: - { return XPathTokenTypes.WHITESPACE; - } - case 99: break; - case 77: - { if (allowXPath2Syntax) { return XPath2TokenTypes.INSTANCE; } else { return ncName(); } - } - case 100: break; - case 24: - { return XPathTokenTypes.LBRACE; - } - case 101: break; - case 35: - { yybegin(S1); return XPathTokenTypes.DOTDOT; - } - case 102: break; - case 7: - { yybegin(YYINITIAL); return XPathTokenTypes.COL; - } - case 103: break; - case 1: - { yybegin(YYINITIAL); return XPathTokenTypes.BAD_CHARACTER; - } - case 104: break; - case 59: - { if (allowXPath2Syntax) { return XPath2TokenTypes.FOR; } else { return ncName(); } - } - case 105: break; - case 4: - { yybegin(S1); return XPathTokenTypes.NUMBER; - } - case 106: break; - case 47: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.BEFORE; } else { yypushback(1); return XPathTokenTypes.LT; } - } - case 107: break; - case 46: - { if (allowXPath2Syntax) { readComment(); return XPath2TokenTypes.COMMENT; } else { yypushback(1); return XPathTokenTypes.LPAREN; } - } - case 108: break; - case 70: - { return XPath2TokenTypes.ITEM; - } - case 109: break; - case 45: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WGT; } else { return ncName(); } - } - case 110: break; - case 28: - { return XPathTokenTypes.COL; - } - case 111: break; - case 19: - { yybegin(YYINITIAL); return XPathTokenTypes.PATH; - } - case 112: break; - case 32: - { return XPathTokenTypes.RPAREN; - } - case 113: break; - case 13: - { yybegin(YYINITIAL); return XPathTokenTypes.LT; - } - case 114: break; - case 31: - { return XPathTokenTypes.LPAREN; - } - case 115: break; - case 5: - { yybegin(S1); return XPathTokenTypes.DOT; - } - case 116: break; - case 15: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.QUEST; } else { return XPathTokenTypes.BAD_CHARACTER; } - } - case 117: break; - case 18: - { yybegin(YYINITIAL); return XPathTokenTypes.COMMA; - } - case 118: break; - case 29: - { return XPathTokenTypes.NCNAME; - } - case 119: break; - case 39: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WEQ; } else { return ncName(); } - } - case 120: break; - case 10: - { yybegin(YYINITIAL); return XPathTokenTypes.LPAREN; - } - case 121: break; - case 23: - { yybegin(S1); return XPathTokenTypes.RBRACKET; - } - case 122: break; - case 36: - { yybegin(YYINITIAL); return XPathTokenTypes.COLCOL; - } - case 123: break; - case 34: - { yybegin(S1); return XPathTokenTypes.STAR; - } - case 124: break; - case 22: - { yybegin(YYINITIAL); return XPathTokenTypes.LBRACKET; - } - case 125: break; - case 71: - { if (allowXPath2Syntax) { return XPath2TokenTypes.EVERY; } else { return ncName(); } - } - case 126: break; - case 64: - { yybegin(S1); return XPathTokenTypes.AXIS_NAME; - } - case 127: break; - case 60: - { yybegin(YYINITIAL); return XPathTokenTypes.AND; - } - case 128: break; - case 53: - { if (allowXPath2Syntax) { yybegin(TYPE); return XPath2TokenTypes.AS; } else { return ncName(); } - } - case 129: break; - case 78: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.SATISFIES; } else { return ncName(); } - } - case 130: break; - case 75: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.RETURN; } else { return ncName(); } - } - case 131: break; - case 44: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WGE; } else { return ncName(); } - } - case 132: break; - case 14: - { yybegin(YYINITIAL); return XPathTokenTypes.GT; - } - case 133: break; - case 12: - { yybegin(VAR); return XPathTokenTypes.DOLLAR; - } - case 134: break; - case 42: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.IS; } else { return ncName(); } - } - case 135: break; - case 79: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.INTERSECT; } else { return ncName(); } - } - case 136: break; - case 55: - { yybegin(YYINITIAL); return XPathTokenTypes.OR; - } - case 137: break; - case 80: - { yybegin(YYINITIAL); return XPath2TokenTypes.EMPTY_SEQUENCE; - } - case 138: break; - case 65: - { if (allowXPath2Syntax) { return XPath2TokenTypes.SOME; } else { return ncName(); } - } - case 139: break; - case 66: - { if (allowXPath2Syntax) { return XPath2TokenTypes.CAST; } else { return ncName(); } - } - case 140: break; - case 63: - { yybegin(S1); return XPathTokenTypes.NODE_TYPE; - } - case 141: break; - case 68: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.THEN; } else { return ncName(); } - } - case 142: break; - case 73: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.UNION; } else { return ncName(); } - } - case 143: break; - case 43: - { if (allowXPath2Syntax) { return XPath2TokenTypes.IF; } else { return ncName(); } - } - case 144: break; - case 17: - { yybegin(YYINITIAL); return XPathTokenTypes.AT; - } - case 145: break; - case 33: - { yybegin(S1); return XPath2TokenTypes.QUEST; - } - case 146: break; - case 52: - { yybegin(YYINITIAL); return XPathTokenTypes.NE; - } - case 147: break; - case 62: - { yybegin(YYINITIAL); return XPathTokenTypes.MOD; - } - case 148: break; - case 26: - { yybegin(YYINITIAL); return XPathTokenTypes.MULT; - } - case 149: break; - case 16: - { yybegin(S1); return XPathTokenTypes.STAR; - } - case 150: break; - case 76: - { if (allowXPath2Syntax) { return XPath2TokenTypes.CASTABLE; } else { return ncName(); } - } - case 151: break; - case 37: - { if (allowXPath2Syntax) { return XPath2TokenTypes.END_COMMENT; } else { yypushback(1); return XPathTokenTypes.COL; } - } - case 152: break; - case 57: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.IN; } else { return ncName(); } - } - case 153: break; - case 72: - { if (allowXPath2Syntax) { return XPath2TokenTypes.TREAT; } else { return ncName(); } - } - case 154: break; - case 61: - { yybegin(YYINITIAL); return XPathTokenTypes.DIV; - } - case 155: break; - case 27: - { yybegin(S1); return XPathTokenTypes.VARIABLE_NAME; - } - case 156: break; - case 48: - { yybegin(YYINITIAL); return XPathTokenTypes.LE; - } - case 157: break; - case 9: - { yybegin(YYINITIAL); return XPathTokenTypes.PLUS; - } - case 158: break; - case 67: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.ELSE; } else { return ncName(); } - } - case 159: break; - case 41: - { if (allowXPath2Syntax) { yybegin(YYINITIAL); return XPath2TokenTypes.WLT; } else { return ncName(); } - } - case 160: break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - zzDoEOF(); - return null; - } - else { - zzScanError(ZZ_NO_MATCH); - } - } - } - } - - -} diff --git a/plugins/yaml/gen/org/jetbrains/yaml/lexer/_YAMLLexer.java b/plugins/yaml/gen/org/jetbrains/yaml/lexer/_YAMLLexer.java index 32c08363e898..c0c5f78de8a2 100644 --- a/plugins/yaml/gen/org/jetbrains/yaml/lexer/_YAMLLexer.java +++ b/plugins/yaml/gen/org/jetbrains/yaml/lexer/_YAMLLexer.java @@ -11,7 +11,7 @@ import org.jetbrains.yaml.YAMLTokenTypes; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/plugins/yaml/src/org/jetbrains/yaml/lexer/yaml.flex + * from the specification file yaml.flex */ public class _YAMLLexer implements FlexLexer, YAMLTokenTypes { @@ -421,15 +421,9 @@ public class _YAMLLexer implements FlexLexer, YAMLTokenTypes { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -569,19 +563,17 @@ public class _YAMLLexer implements FlexLexer, YAMLTokenTypes { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -638,7 +630,7 @@ public class _YAMLLexer implements FlexLexer, YAMLTokenTypes { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -721,7 +713,6 @@ public class _YAMLLexer implements FlexLexer, YAMLTokenTypes { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/python/gen/com/jetbrains/python/buildout/config/lexer/_BuildoutCfgFlexLexer.java b/python/gen/com/jetbrains/python/buildout/config/lexer/_BuildoutCfgFlexLexer.java index 1cd74ccdbf0b..49b366beedda 100644 --- a/python/gen/com/jetbrains/python/buildout/config/lexer/_BuildoutCfgFlexLexer.java +++ b/python/gen/com/jetbrains/python/buildout/config/lexer/_BuildoutCfgFlexLexer.java @@ -11,7 +11,7 @@ import com.jetbrains.python.buildout.config.BuildoutCfgTokenTypes; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/python/src/com/jetbrains/python/buildout/config/lexer/buildout.cfg.flex + * from the specification file buildout.cfg.flex */ public class _BuildoutCfgFlexLexer implements FlexLexer, BuildoutCfgTokenTypes { @@ -201,15 +201,9 @@ public class _BuildoutCfgFlexLexer implements FlexLexer, BuildoutCfgTokenTypes { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -260,19 +254,17 @@ public class _BuildoutCfgFlexLexer implements FlexLexer, BuildoutCfgTokenTypes { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -329,7 +321,7 @@ public class _BuildoutCfgFlexLexer implements FlexLexer, BuildoutCfgTokenTypes { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -412,7 +404,6 @@ public class _BuildoutCfgFlexLexer implements FlexLexer, BuildoutCfgTokenTypes { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/python/gen/com/jetbrains/python/lexer/_PythonLexer.java b/python/gen/com/jetbrains/python/lexer/_PythonLexer.java index a79d2ceb0582..87e25a14b216 100644 --- a/python/gen/com/jetbrains/python/lexer/_PythonLexer.java +++ b/python/gen/com/jetbrains/python/lexer/_PythonLexer.java @@ -12,7 +12,7 @@ import com.intellij.openapi.util.text.StringUtil; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/python/src/com/jetbrains/python/lexer/Python.flex + * from the specification file Python.flex */ class _PythonLexer implements FlexLexer { diff --git a/python/gen/com/jetbrains/python/psi/types/PyTypeLexer.java b/python/gen/com/jetbrains/python/psi/types/_PyTypeLexer.java similarity index 96% rename from python/gen/com/jetbrains/python/psi/types/PyTypeLexer.java rename to python/gen/com/jetbrains/python/psi/types/_PyTypeLexer.java index 4fd898be51a5..9bb8efa5b327 100644 --- a/python/gen/com/jetbrains/python/psi/types/PyTypeLexer.java +++ b/python/gen/com/jetbrains/python/psi/types/_PyTypeLexer.java @@ -11,9 +11,9 @@ import static com.jetbrains.python.psi.types.PyTypeTokenTypes.*; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/python/src/com/jetbrains/python/psi/types/PyType.flex + * from the specification file PyType.flex */ -public class PyTypeLexer implements FlexLexer { +public class _PyTypeLexer implements FlexLexer { /** This character denotes the end of file */ public static final int YYEOF = -1; @@ -237,7 +237,7 @@ public class PyTypeLexer implements FlexLexer { * * @param in the java.io.Reader to read input from. */ - public PyTypeLexer(java.io.Reader in) { + public _PyTypeLexer(java.io.Reader in) { this.zzReader = in; } @@ -382,18 +382,6 @@ public class PyTypeLexer implements FlexLexer { } - /** - * Contains user EOF-code, which will be executed exactly once, - * when the end of file is reached - */ - private void zzDoEOF() { - if (!zzEOFDone) { - zzEOFDone = true; - - } - } - - /** * Resumes scanning until the next regular expression is matched, * the end of input is encountered or an I/O-Error occurs. @@ -481,7 +469,6 @@ public class PyTypeLexer implements FlexLexer { if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { zzAtEOF = true; - zzDoEOF(); return null; } else { diff --git a/python/rest/gen/com/jetbrains/rest/lexer/_RestFlexLexer.java b/python/rest/gen/com/jetbrains/rest/lexer/_RestFlexLexer.java index c6b6df37e4ce..b297e266f5d4 100644 --- a/python/rest/gen/com/jetbrains/rest/lexer/_RestFlexLexer.java +++ b/python/rest/gen/com/jetbrains/rest/lexer/_RestFlexLexer.java @@ -11,7 +11,7 @@ import com.jetbrains.rest.RestTokenTypes; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/python/rest/src/com/jetbrains/rest/lexer/rest.flex + * from the specification file rest.flex */ public class _RestFlexLexer implements FlexLexer, RestTokenTypes { @@ -7712,15 +7712,9 @@ public class _RestFlexLexer implements FlexLexer, RestTokenTypes { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -7784,19 +7778,17 @@ public class _RestFlexLexer implements FlexLexer, RestTokenTypes { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -7853,7 +7845,7 @@ public class _RestFlexLexer implements FlexLexer, RestTokenTypes { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -7936,7 +7928,6 @@ public class _RestFlexLexer implements FlexLexer, RestTokenTypes { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/xml/xml-psi-impl/gen/com/intellij/lexer/_DtdLexer.java b/xml/xml-psi-impl/gen/com/intellij/lexer/_DtdLexer.java index 46a8424c9ba3..45575cfcf486 100644 --- a/xml/xml-psi-impl/gen/com/intellij/lexer/_DtdLexer.java +++ b/xml/xml-psi-impl/gen/com/intellij/lexer/_DtdLexer.java @@ -11,7 +11,7 @@ import com.intellij.psi.xml.*; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/xml/xml-psi-impl/src/com/intellij/lexer/_DtdLexer.flex + * from the specification file _DtdLexer.flex */ public class _DtdLexer implements FlexLexer { @@ -599,15 +599,9 @@ public class _DtdLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -666,19 +660,17 @@ public class _DtdLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -735,7 +727,7 @@ public class _DtdLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -818,7 +810,6 @@ public class _DtdLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/xml/xml-psi-impl/gen/com/intellij/lexer/_HtmlLexer.java b/xml/xml-psi-impl/gen/com/intellij/lexer/_HtmlLexer.java index 90b513b4585e..18fb6a0f5a34 100644 --- a/xml/xml-psi-impl/gen/com/intellij/lexer/_HtmlLexer.java +++ b/xml/xml-psi-impl/gen/com/intellij/lexer/_HtmlLexer.java @@ -11,7 +11,7 @@ import com.intellij.psi.xml.*; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/xml/xml-psi-impl/src/com/intellij/lexer/_HtmlLexer.flex + * from the specification file _HtmlLexer.flex */ public class _HtmlLexer implements FlexLexer { @@ -410,15 +410,9 @@ public class _HtmlLexer implements FlexLexer { the source of the yytext() string */ private CharSequence zzBuffer = ""; - /** this buffer may contains the current text array to be matched when it is cheap to acquire it */ - private char[] zzBufferArray; - /** 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; @@ -474,19 +468,17 @@ public class _HtmlLexer implements FlexLexer { return map; } - public final int getTokenStart(){ + public final int getTokenStart() { return zzStartRead; } - public final int getTokenEnd(){ + public final int getTokenEnd() { return getTokenStart() + yylength(); } - public void reset(CharSequence buffer, int start, int end,int initialState){ + public void reset(CharSequence buffer, int start, int end, int initialState) { zzBuffer = buffer; - zzBufferArray = com.intellij.util.text.CharArrayUtil.fromSequenceWithoutCopying(buffer); zzCurrentPos = zzMarkedPos = zzStartRead = start; - zzPushbackPos = 0; zzAtEOF = false; zzAtBOL = true; zzEndRead = end; @@ -543,7 +535,7 @@ public class _HtmlLexer implements FlexLexer { * @return the character at position pos */ public final char yycharat(int pos) { - return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos); + return zzBuffer.charAt(zzStartRead+pos); } @@ -614,7 +606,6 @@ public class _HtmlLexer implements FlexLexer { int zzMarkedPosL; int zzEndReadL = zzEndRead; CharSequence zzBufferL = zzBuffer; - char[] zzBufferArrayL = zzBufferArray; char [] zzCMapL = ZZ_CMAP; int [] zzTransL = ZZ_TRANS; diff --git a/xml/xml-psi-impl/gen/com/intellij/lexer/__XmlLexer.java b/xml/xml-psi-impl/gen/com/intellij/lexer/__XmlLexer.java index d982637f5b6b..7bf4633dcfa1 100644 --- a/xml/xml-psi-impl/gen/com/intellij/lexer/__XmlLexer.java +++ b/xml/xml-psi-impl/gen/com/intellij/lexer/__XmlLexer.java @@ -11,7 +11,7 @@ import com.intellij.psi.xml.*; /** * This class is a scanner generated by * JFlex 1.7.0-SNAPSHOT - * from the specification file /ideadev/tools/lexer/../../community/xml/xml-psi-impl/src/com/intellij/lexer/_XmlLexer.flex + * from the specification file _XmlLexer.flex */ public class __XmlLexer implements FlexLexer {