com.github._1c_syntax.bsl.parser.BSLMethodDescriptionParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bsl-parser Show documentation
Show all versions of bsl-parser Show documentation
Collection of parsers for Language 1C (BSL) in ANTLR4 format.
The newest version!
// Generated from BSLMethodDescriptionParser.g4 by ANTLR 4.13.1
package com.github._1c_syntax.bsl.parser;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.misc.*;
import org.antlr.v4.runtime.tree.*;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue"})
public class BSLMethodDescriptionParser extends Parser {
static { RuntimeMetaData.checkVersion("4.13.1", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
PARAMETERS_KEYWORD=1, RETURNS_KEYWORD=2, EXAMPLE_KEYWORD=3, CALL_OPTIONS_KEYWORD=4,
DEPRECATE_KEYWORD=5, SEE_KEYWORD=6, OF_KEYWORD=7, EOL=8, SPACE=9, STAR=10,
DASH=11, COLON=12, COMMA=13, COMMENT=14, WORD=15, DOTSWORD=16, LPAREN=17,
RPAREN=18, ANYSYMBOL=19;
public static final int
RULE_methodDescription = 0, RULE_deprecate = 1, RULE_deprecateDescription = 2,
RULE_descriptionBlock = 3, RULE_description = 4, RULE_descriptionString = 5,
RULE_examples = 6, RULE_examplesString = 7, RULE_callOptions = 8, RULE_callOptionsString = 9,
RULE_parameters = 10, RULE_parameterString = 11, RULE_parameter = 12,
RULE_subParameter = 13, RULE_parameterName = 14, RULE_returnsValues = 15,
RULE_returnsValuesString = 16, RULE_returnsValue = 17, RULE_typesBlock = 18,
RULE_typeDescription = 19, RULE_type = 20, RULE_simpleType = 21, RULE_listTypes = 22,
RULE_complexType = 23, RULE_hyperlinkType = 24, RULE_spitter = 25, RULE_hyperlinkBlock = 26,
RULE_startPart = 27;
private static String[] makeRuleNames() {
return new String[] {
"methodDescription", "deprecate", "deprecateDescription", "descriptionBlock",
"description", "descriptionString", "examples", "examplesString", "callOptions",
"callOptionsString", "parameters", "parameterString", "parameter", "subParameter",
"parameterName", "returnsValues", "returnsValuesString", "returnsValue",
"typesBlock", "typeDescription", "type", "simpleType", "listTypes", "complexType",
"hyperlinkType", "spitter", "hyperlinkBlock", "startPart"
};
}
public static final String[] ruleNames = makeRuleNames();
private static String[] makeLiteralNames() {
return new String[] {
null, null, null, null, null, null, null, null, null, null, null, null,
"':'", "','", "'//'", null, null, "'('", "')'"
};
}
private static final String[] _LITERAL_NAMES = makeLiteralNames();
private static String[] makeSymbolicNames() {
return new String[] {
null, "PARAMETERS_KEYWORD", "RETURNS_KEYWORD", "EXAMPLE_KEYWORD", "CALL_OPTIONS_KEYWORD",
"DEPRECATE_KEYWORD", "SEE_KEYWORD", "OF_KEYWORD", "EOL", "SPACE", "STAR",
"DASH", "COLON", "COMMA", "COMMENT", "WORD", "DOTSWORD", "LPAREN", "RPAREN",
"ANYSYMBOL"
};
}
private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
/**
* @deprecated Use {@link #VOCABULARY} instead.
*/
@Deprecated
public static final String[] tokenNames;
static {
tokenNames = new String[_SYMBOLIC_NAMES.length];
for (int i = 0; i < tokenNames.length; i++) {
tokenNames[i] = VOCABULARY.getLiteralName(i);
if (tokenNames[i] == null) {
tokenNames[i] = VOCABULARY.getSymbolicName(i);
}
if (tokenNames[i] == null) {
tokenNames[i] = "";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@Override
public String getGrammarFileName() { return "BSLMethodDescriptionParser.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public BSLMethodDescriptionParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@SuppressWarnings("CheckReturnValue")
public static class MethodDescriptionContext extends BSLParserRuleContext {
public TerminalNode EOF() { return getToken(BSLMethodDescriptionParser.EOF, 0); }
public DeprecateContext deprecate() {
return getRuleContext(DeprecateContext.class,0);
}
public DescriptionBlockContext descriptionBlock() {
return getRuleContext(DescriptionBlockContext.class,0);
}
public ParametersContext parameters() {
return getRuleContext(ParametersContext.class,0);
}
public CallOptionsContext callOptions() {
return getRuleContext(CallOptionsContext.class,0);
}
public ReturnsValuesContext returnsValues() {
return getRuleContext(ReturnsValuesContext.class,0);
}
public ExamplesContext examples() {
return getRuleContext(ExamplesContext.class,0);
}
public MethodDescriptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_methodDescription; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterMethodDescription(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitMethodDescription(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitMethodDescription(this);
else return visitor.visitChildren(this);
}
}
public final MethodDescriptionContext methodDescription() throws RecognitionException {
MethodDescriptionContext _localctx = new MethodDescriptionContext(_ctx, getState());
enterRule(_localctx, 0, RULE_methodDescription);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(200);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,48,_ctx) ) {
case 1:
{
{
setState(57);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
case 1:
{
setState(56);
deprecate();
}
break;
}
setState(60);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1,_ctx) ) {
case 1:
{
setState(59);
descriptionBlock();
}
break;
}
setState(63);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) {
case 1:
{
setState(62);
parameters();
}
break;
}
setState(66);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) {
case 1:
{
setState(65);
callOptions();
}
break;
}
setState(69);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
case 1:
{
setState(68);
returnsValues();
}
break;
}
setState(72);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE || _la==COMMENT) {
{
setState(71);
examples();
}
}
}
}
break;
case 2:
{
{
setState(75);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,6,_ctx) ) {
case 1:
{
setState(74);
deprecate();
}
break;
}
setState(78);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
case 1:
{
setState(77);
descriptionBlock();
}
break;
}
setState(81);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
case 1:
{
setState(80);
parameters();
}
break;
}
setState(84);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) {
case 1:
{
setState(83);
examples();
}
break;
}
setState(87);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
case 1:
{
setState(86);
returnsValues();
}
break;
}
setState(90);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE || _la==COMMENT) {
{
setState(89);
callOptions();
}
}
}
}
break;
case 3:
{
{
setState(93);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) {
case 1:
{
setState(92);
deprecate();
}
break;
}
setState(96);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) {
case 1:
{
setState(95);
descriptionBlock();
}
break;
}
setState(99);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
case 1:
{
setState(98);
parameters();
}
break;
}
setState(102);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) {
case 1:
{
setState(101);
callOptions();
}
break;
}
setState(105);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) {
case 1:
{
setState(104);
examples();
}
break;
}
setState(108);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE || _la==COMMENT) {
{
setState(107);
returnsValues();
}
}
}
}
break;
case 4:
{
{
setState(111);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) {
case 1:
{
setState(110);
deprecate();
}
break;
}
setState(114);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) {
case 1:
{
setState(113);
descriptionBlock();
}
break;
}
setState(117);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
case 1:
{
setState(116);
parameters();
}
break;
}
setState(120);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,21,_ctx) ) {
case 1:
{
setState(119);
examples();
}
break;
}
setState(123);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) {
case 1:
{
setState(122);
callOptions();
}
break;
}
setState(126);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE || _la==COMMENT) {
{
setState(125);
returnsValues();
}
}
}
}
break;
case 5:
{
{
setState(129);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,24,_ctx) ) {
case 1:
{
setState(128);
descriptionBlock();
}
break;
}
setState(132);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) {
case 1:
{
setState(131);
parameters();
}
break;
}
setState(135);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
case 1:
{
setState(134);
callOptions();
}
break;
}
setState(138);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
case 1:
{
setState(137);
returnsValues();
}
break;
}
setState(141);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) {
case 1:
{
setState(140);
examples();
}
break;
}
setState(144);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE || _la==COMMENT) {
{
setState(143);
deprecate();
}
}
}
}
break;
case 6:
{
{
setState(147);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) {
case 1:
{
setState(146);
descriptionBlock();
}
break;
}
setState(150);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,31,_ctx) ) {
case 1:
{
setState(149);
parameters();
}
break;
}
setState(153);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,32,_ctx) ) {
case 1:
{
setState(152);
examples();
}
break;
}
setState(156);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,33,_ctx) ) {
case 1:
{
setState(155);
returnsValues();
}
break;
}
setState(159);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,34,_ctx) ) {
case 1:
{
setState(158);
callOptions();
}
break;
}
setState(162);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE || _la==COMMENT) {
{
setState(161);
deprecate();
}
}
}
}
break;
case 7:
{
{
setState(165);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,36,_ctx) ) {
case 1:
{
setState(164);
descriptionBlock();
}
break;
}
setState(168);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,37,_ctx) ) {
case 1:
{
setState(167);
parameters();
}
break;
}
setState(171);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,38,_ctx) ) {
case 1:
{
setState(170);
callOptions();
}
break;
}
setState(174);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,39,_ctx) ) {
case 1:
{
setState(173);
examples();
}
break;
}
setState(177);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,40,_ctx) ) {
case 1:
{
setState(176);
returnsValues();
}
break;
}
setState(180);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE || _la==COMMENT) {
{
setState(179);
deprecate();
}
}
}
}
break;
case 8:
{
{
setState(183);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
case 1:
{
setState(182);
descriptionBlock();
}
break;
}
setState(186);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,43,_ctx) ) {
case 1:
{
setState(185);
parameters();
}
break;
}
setState(189);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,44,_ctx) ) {
case 1:
{
setState(188);
examples();
}
break;
}
setState(192);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,45,_ctx) ) {
case 1:
{
setState(191);
callOptions();
}
break;
}
setState(195);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,46,_ctx) ) {
case 1:
{
setState(194);
returnsValues();
}
break;
}
setState(198);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE || _la==COMMENT) {
{
setState(197);
deprecate();
}
}
}
}
break;
}
setState(202);
match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DeprecateContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TerminalNode DEPRECATE_KEYWORD() { return getToken(BSLMethodDescriptionParser.DEPRECATE_KEYWORD, 0); }
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public DeprecateDescriptionContext deprecateDescription() {
return getRuleContext(DeprecateDescriptionContext.class,0);
}
public TerminalNode EOL() { return getToken(BSLMethodDescriptionParser.EOL, 0); }
public DeprecateContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_deprecate; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterDeprecate(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitDeprecate(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitDeprecate(this);
else return visitor.visitChildren(this);
}
}
public final DeprecateContext deprecate() throws RecognitionException {
DeprecateContext _localctx = new DeprecateContext(_ctx, getState());
enterRule(_localctx, 2, RULE_deprecate);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(204);
startPart();
setState(205);
match(DEPRECATE_KEYWORD);
setState(208);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,49,_ctx) ) {
case 1:
{
setState(206);
match(SPACE);
setState(207);
deprecateDescription();
}
break;
}
setState(211);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(210);
match(EOL);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DeprecateDescriptionContext extends BSLParserRuleContext {
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public List EOL() { return getTokens(BSLMethodDescriptionParser.EOL); }
public TerminalNode EOL(int i) {
return getToken(BSLMethodDescriptionParser.EOL, i);
}
public DeprecateDescriptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_deprecateDescription; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterDeprecateDescription(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitDeprecateDescription(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitDeprecateDescription(this);
else return visitor.visitChildren(this);
}
}
public final DeprecateDescriptionContext deprecateDescription() throws RecognitionException {
DeprecateDescriptionContext _localctx = new DeprecateDescriptionContext(_ctx, getState());
enterRule(_localctx, 4, RULE_deprecateDescription);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(213);
_la = _input.LA(1);
if ( _la <= 0 || (_la==EOL || _la==SPACE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(217);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,51,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(214);
_la = _input.LA(1);
if ( _la <= 0 || (_la==EOL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
setState(219);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,51,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DescriptionBlockContext extends BSLParserRuleContext {
public HyperlinkBlockContext hyperlinkBlock() {
return getRuleContext(HyperlinkBlockContext.class,0);
}
public DescriptionContext description() {
return getRuleContext(DescriptionContext.class,0);
}
public TerminalNode EOL() { return getToken(BSLMethodDescriptionParser.EOL, 0); }
public DescriptionBlockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_descriptionBlock; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterDescriptionBlock(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitDescriptionBlock(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitDescriptionBlock(this);
else return visitor.visitChildren(this);
}
}
public final DescriptionBlockContext descriptionBlock() throws RecognitionException {
DescriptionBlockContext _localctx = new DescriptionBlockContext(_ctx, getState());
enterRule(_localctx, 6, RULE_descriptionBlock);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(222);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,52,_ctx) ) {
case 1:
{
setState(220);
hyperlinkBlock();
}
break;
case 2:
{
setState(221);
description();
}
break;
}
setState(225);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(224);
match(EOL);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DescriptionContext extends BSLParserRuleContext {
public List descriptionString() {
return getRuleContexts(DescriptionStringContext.class);
}
public DescriptionStringContext descriptionString(int i) {
return getRuleContext(DescriptionStringContext.class,i);
}
public DescriptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_description; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterDescription(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitDescription(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitDescription(this);
else return visitor.visitChildren(this);
}
}
public final DescriptionContext description() throws RecognitionException {
DescriptionContext _localctx = new DescriptionContext(_ctx, getState());
enterRule(_localctx, 8, RULE_description);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(228);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(227);
descriptionString();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(230);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,54,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class DescriptionStringContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TerminalNode PARAMETERS_KEYWORD() { return getToken(BSLMethodDescriptionParser.PARAMETERS_KEYWORD, 0); }
public TerminalNode RETURNS_KEYWORD() { return getToken(BSLMethodDescriptionParser.RETURNS_KEYWORD, 0); }
public TerminalNode EXAMPLE_KEYWORD() { return getToken(BSLMethodDescriptionParser.EXAMPLE_KEYWORD, 0); }
public TerminalNode CALL_OPTIONS_KEYWORD() { return getToken(BSLMethodDescriptionParser.CALL_OPTIONS_KEYWORD, 0); }
public TerminalNode DEPRECATE_KEYWORD() { return getToken(BSLMethodDescriptionParser.DEPRECATE_KEYWORD, 0); }
public List EOL() { return getTokens(BSLMethodDescriptionParser.EOL); }
public TerminalNode EOL(int i) {
return getToken(BSLMethodDescriptionParser.EOL, i);
}
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public DescriptionStringContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_descriptionString; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterDescriptionString(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitDescriptionString(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitDescriptionString(this);
else return visitor.visitChildren(this);
}
}
public final DescriptionStringContext descriptionString() throws RecognitionException {
DescriptionStringContext _localctx = new DescriptionStringContext(_ctx, getState());
enterRule(_localctx, 10, RULE_descriptionString);
int _la;
try {
int _alt;
setState(246);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,57,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(232);
startPart();
setState(233);
_la = _input.LA(1);
if ( _la <= 0 || ((((_la) & ~0x3f) == 0 && ((1L << _la) & 830L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(237);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,55,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(234);
_la = _input.LA(1);
if ( _la <= 0 || (_la==EOL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
setState(239);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,55,_ctx);
}
setState(241);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,56,_ctx) ) {
case 1:
{
setState(240);
match(EOL);
}
break;
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(243);
startPart();
setState(244);
match(EOL);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExamplesContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TerminalNode EXAMPLE_KEYWORD() { return getToken(BSLMethodDescriptionParser.EXAMPLE_KEYWORD, 0); }
public TerminalNode EOL() { return getToken(BSLMethodDescriptionParser.EOL, 0); }
public List examplesString() {
return getRuleContexts(ExamplesStringContext.class);
}
public ExamplesStringContext examplesString(int i) {
return getRuleContext(ExamplesStringContext.class,i);
}
public ExamplesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_examples; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterExamples(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitExamples(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitExamples(this);
else return visitor.visitChildren(this);
}
}
public final ExamplesContext examples() throws RecognitionException {
ExamplesContext _localctx = new ExamplesContext(_ctx, getState());
enterRule(_localctx, 12, RULE_examples);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(248);
startPart();
setState(249);
match(EXAMPLE_KEYWORD);
setState(257);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(250);
match(EOL);
setState(254);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,58,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(251);
examplesString();
}
}
}
setState(256);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,58,_ctx);
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExamplesStringContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TerminalNode CALL_OPTIONS_KEYWORD() { return getToken(BSLMethodDescriptionParser.CALL_OPTIONS_KEYWORD, 0); }
public TerminalNode RETURNS_KEYWORD() { return getToken(BSLMethodDescriptionParser.RETURNS_KEYWORD, 0); }
public List EOL() { return getTokens(BSLMethodDescriptionParser.EOL); }
public TerminalNode EOL(int i) {
return getToken(BSLMethodDescriptionParser.EOL, i);
}
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public ExamplesStringContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_examplesString; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterExamplesString(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitExamplesString(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitExamplesString(this);
else return visitor.visitChildren(this);
}
}
public final ExamplesStringContext examplesString() throws RecognitionException {
ExamplesStringContext _localctx = new ExamplesStringContext(_ctx, getState());
enterRule(_localctx, 14, RULE_examplesString);
int _la;
try {
int _alt;
setState(274);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(259);
startPart();
setState(260);
_la = _input.LA(1);
if ( _la <= 0 || ((((_la) & ~0x3f) == 0 && ((1L << _la) & 788L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(264);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,60,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(261);
_la = _input.LA(1);
if ( _la <= 0 || (_la==EOL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
setState(266);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,60,_ctx);
}
setState(268);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(267);
match(EOL);
}
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(270);
startPart();
setState(272);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(271);
match(EOL);
}
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class CallOptionsContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TerminalNode CALL_OPTIONS_KEYWORD() { return getToken(BSLMethodDescriptionParser.CALL_OPTIONS_KEYWORD, 0); }
public TerminalNode EOL() { return getToken(BSLMethodDescriptionParser.EOL, 0); }
public List callOptionsString() {
return getRuleContexts(CallOptionsStringContext.class);
}
public CallOptionsStringContext callOptionsString(int i) {
return getRuleContext(CallOptionsStringContext.class,i);
}
public CallOptionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_callOptions; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterCallOptions(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitCallOptions(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitCallOptions(this);
else return visitor.visitChildren(this);
}
}
public final CallOptionsContext callOptions() throws RecognitionException {
CallOptionsContext _localctx = new CallOptionsContext(_ctx, getState());
enterRule(_localctx, 16, RULE_callOptions);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(276);
startPart();
setState(277);
match(CALL_OPTIONS_KEYWORD);
setState(285);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(278);
match(EOL);
setState(282);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,64,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(279);
callOptionsString();
}
}
}
setState(284);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,64,_ctx);
}
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class CallOptionsStringContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TerminalNode RETURNS_KEYWORD() { return getToken(BSLMethodDescriptionParser.RETURNS_KEYWORD, 0); }
public TerminalNode EXAMPLE_KEYWORD() { return getToken(BSLMethodDescriptionParser.EXAMPLE_KEYWORD, 0); }
public List EOL() { return getTokens(BSLMethodDescriptionParser.EOL); }
public TerminalNode EOL(int i) {
return getToken(BSLMethodDescriptionParser.EOL, i);
}
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public CallOptionsStringContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_callOptionsString; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterCallOptionsString(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitCallOptionsString(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitCallOptionsString(this);
else return visitor.visitChildren(this);
}
}
public final CallOptionsStringContext callOptionsString() throws RecognitionException {
CallOptionsStringContext _localctx = new CallOptionsStringContext(_ctx, getState());
enterRule(_localctx, 18, RULE_callOptionsString);
int _la;
try {
int _alt;
setState(302);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,69,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
{
setState(287);
startPart();
setState(288);
_la = _input.LA(1);
if ( _la <= 0 || ((((_la) & ~0x3f) == 0 && ((1L << _la) & 780L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(292);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,66,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(289);
_la = _input.LA(1);
if ( _la <= 0 || (_la==EOL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
setState(294);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,66,_ctx);
}
setState(296);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(295);
match(EOL);
}
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(298);
startPart();
setState(300);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(299);
match(EOL);
}
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ParametersContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TerminalNode PARAMETERS_KEYWORD() { return getToken(BSLMethodDescriptionParser.PARAMETERS_KEYWORD, 0); }
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public List EOL() { return getTokens(BSLMethodDescriptionParser.EOL); }
public TerminalNode EOL(int i) {
return getToken(BSLMethodDescriptionParser.EOL, i);
}
public HyperlinkBlockContext hyperlinkBlock() {
return getRuleContext(HyperlinkBlockContext.class,0);
}
public List parameterString() {
return getRuleContexts(ParameterStringContext.class);
}
public ParameterStringContext parameterString(int i) {
return getRuleContext(ParameterStringContext.class,i);
}
public ParametersContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_parameters; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterParameters(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitParameters(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitParameters(this);
else return visitor.visitChildren(this);
}
}
public final ParametersContext parameters() throws RecognitionException {
ParametersContext _localctx = new ParametersContext(_ctx, getState());
enterRule(_localctx, 20, RULE_parameters);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(304);
startPart();
setState(305);
match(PARAMETERS_KEYWORD);
setState(307);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) {
case 1:
{
setState(306);
match(SPACE);
}
break;
}
setState(318);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,73,_ctx) ) {
case 1:
{
setState(309);
match(EOL);
setState(316);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,72,_ctx) ) {
case 1:
{
setState(310);
hyperlinkBlock();
}
break;
case 2:
{
setState(312);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(311);
parameterString();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(314);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,71,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
break;
}
}
break;
}
setState(321);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(320);
match(EOL);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ParameterStringContext extends BSLParserRuleContext {
public ParameterContext parameter() {
return getRuleContext(ParameterContext.class,0);
}
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TypesBlockContext typesBlock() {
return getRuleContext(TypesBlockContext.class,0);
}
public SubParameterContext subParameter() {
return getRuleContext(SubParameterContext.class,0);
}
public TypeDescriptionContext typeDescription() {
return getRuleContext(TypeDescriptionContext.class,0);
}
public TerminalNode EOL() { return getToken(BSLMethodDescriptionParser.EOL, 0); }
public ParameterStringContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_parameterString; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterParameterString(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitParameterString(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitParameterString(this);
else return visitor.visitChildren(this);
}
}
public final ParameterStringContext parameterString() throws RecognitionException {
ParameterStringContext _localctx = new ParameterStringContext(_ctx, getState());
enterRule(_localctx, 22, RULE_parameterString);
try {
setState(335);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,76,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(323);
parameter();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(324);
startPart();
setState(325);
typesBlock();
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(327);
subParameter();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
{
setState(328);
startPart();
setState(329);
typeDescription();
}
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
{
setState(331);
startPart();
setState(333);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,75,_ctx) ) {
case 1:
{
setState(332);
match(EOL);
}
break;
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ParameterContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public ParameterNameContext parameterName() {
return getRuleContext(ParameterNameContext.class,0);
}
public TypesBlockContext typesBlock() {
return getRuleContext(TypesBlockContext.class,0);
}
public ParameterContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_parameter; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterParameter(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitParameter(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitParameter(this);
else return visitor.visitChildren(this);
}
}
public final ParameterContext parameter() throws RecognitionException {
ParameterContext _localctx = new ParameterContext(_ctx, getState());
enterRule(_localctx, 24, RULE_parameter);
try {
enterOuterAlt(_localctx, 1);
{
setState(337);
startPart();
setState(338);
parameterName();
setState(339);
typesBlock();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SubParameterContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TerminalNode STAR() { return getToken(BSLMethodDescriptionParser.STAR, 0); }
public ParameterNameContext parameterName() {
return getRuleContext(ParameterNameContext.class,0);
}
public TypesBlockContext typesBlock() {
return getRuleContext(TypesBlockContext.class,0);
}
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public SubParameterContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_subParameter; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterSubParameter(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitSubParameter(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitSubParameter(this);
else return visitor.visitChildren(this);
}
}
public final SubParameterContext subParameter() throws RecognitionException {
SubParameterContext _localctx = new SubParameterContext(_ctx, getState());
enterRule(_localctx, 26, RULE_subParameter);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(341);
startPart();
setState(342);
match(STAR);
setState(344);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE) {
{
setState(343);
match(SPACE);
}
}
setState(346);
parameterName();
setState(347);
typesBlock();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ParameterNameContext extends BSLParserRuleContext {
public TerminalNode WORD() { return getToken(BSLMethodDescriptionParser.WORD, 0); }
public ParameterNameContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_parameterName; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterParameterName(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitParameterName(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitParameterName(this);
else return visitor.visitChildren(this);
}
}
public final ParameterNameContext parameterName() throws RecognitionException {
ParameterNameContext _localctx = new ParameterNameContext(_ctx, getState());
enterRule(_localctx, 28, RULE_parameterName);
try {
enterOuterAlt(_localctx, 1);
{
setState(349);
match(WORD);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ReturnsValuesContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TerminalNode RETURNS_KEYWORD() { return getToken(BSLMethodDescriptionParser.RETURNS_KEYWORD, 0); }
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public List EOL() { return getTokens(BSLMethodDescriptionParser.EOL); }
public TerminalNode EOL(int i) {
return getToken(BSLMethodDescriptionParser.EOL, i);
}
public HyperlinkBlockContext hyperlinkBlock() {
return getRuleContext(HyperlinkBlockContext.class,0);
}
public List returnsValuesString() {
return getRuleContexts(ReturnsValuesStringContext.class);
}
public ReturnsValuesStringContext returnsValuesString(int i) {
return getRuleContext(ReturnsValuesStringContext.class,i);
}
public ReturnsValuesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_returnsValues; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterReturnsValues(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitReturnsValues(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitReturnsValues(this);
else return visitor.visitChildren(this);
}
}
public final ReturnsValuesContext returnsValues() throws RecognitionException {
ReturnsValuesContext _localctx = new ReturnsValuesContext(_ctx, getState());
enterRule(_localctx, 30, RULE_returnsValues);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(351);
startPart();
setState(352);
match(RETURNS_KEYWORD);
setState(354);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,78,_ctx) ) {
case 1:
{
setState(353);
match(SPACE);
}
break;
}
setState(365);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,81,_ctx) ) {
case 1:
{
setState(356);
match(EOL);
setState(363);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,80,_ctx) ) {
case 1:
{
setState(357);
hyperlinkBlock();
}
break;
case 2:
{
setState(359);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(358);
returnsValuesString();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(361);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,79,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
break;
}
}
break;
}
setState(368);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EOL) {
{
setState(367);
match(EOL);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ReturnsValuesStringContext extends BSLParserRuleContext {
public ReturnsValueContext returnsValue() {
return getRuleContext(ReturnsValueContext.class,0);
}
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TypesBlockContext typesBlock() {
return getRuleContext(TypesBlockContext.class,0);
}
public SubParameterContext subParameter() {
return getRuleContext(SubParameterContext.class,0);
}
public TypeDescriptionContext typeDescription() {
return getRuleContext(TypeDescriptionContext.class,0);
}
public TerminalNode EOL() { return getToken(BSLMethodDescriptionParser.EOL, 0); }
public ReturnsValuesStringContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_returnsValuesString; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterReturnsValuesString(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitReturnsValuesString(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitReturnsValuesString(this);
else return visitor.visitChildren(this);
}
}
public final ReturnsValuesStringContext returnsValuesString() throws RecognitionException {
ReturnsValuesStringContext _localctx = new ReturnsValuesStringContext(_ctx, getState());
enterRule(_localctx, 32, RULE_returnsValuesString);
try {
setState(382);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,84,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(370);
returnsValue();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
{
setState(371);
startPart();
setState(372);
typesBlock();
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(374);
subParameter();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
{
setState(375);
startPart();
setState(376);
typeDescription();
}
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
{
setState(378);
startPart();
setState(380);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,83,_ctx) ) {
case 1:
{
setState(379);
match(EOL);
}
break;
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ReturnsValueContext extends BSLParserRuleContext {
public StartPartContext startPart() {
return getRuleContext(StartPartContext.class,0);
}
public TypeContext type() {
return getRuleContext(TypeContext.class,0);
}
public TerminalNode EOL() { return getToken(BSLMethodDescriptionParser.EOL, 0); }
public SpitterContext spitter() {
return getRuleContext(SpitterContext.class,0);
}
public TypeDescriptionContext typeDescription() {
return getRuleContext(TypeDescriptionContext.class,0);
}
public ReturnsValueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_returnsValue; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterReturnsValue(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitReturnsValue(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitReturnsValue(this);
else return visitor.visitChildren(this);
}
}
public final ReturnsValueContext returnsValue() throws RecognitionException {
ReturnsValueContext _localctx = new ReturnsValueContext(_ctx, getState());
enterRule(_localctx, 34, RULE_returnsValue);
try {
enterOuterAlt(_localctx, 1);
{
setState(384);
startPart();
setState(385);
type();
setState(391);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SPACE:
case DASH:
{
{
setState(386);
spitter();
setState(388);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,85,_ctx) ) {
case 1:
{
setState(387);
typeDescription();
}
break;
}
}
}
break;
case EOL:
{
setState(390);
match(EOL);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TypesBlockContext extends BSLParserRuleContext {
public List spitter() {
return getRuleContexts(SpitterContext.class);
}
public SpitterContext spitter(int i) {
return getRuleContext(SpitterContext.class,i);
}
public TypeContext type() {
return getRuleContext(TypeContext.class,0);
}
public TerminalNode EOL() { return getToken(BSLMethodDescriptionParser.EOL, 0); }
public TypeDescriptionContext typeDescription() {
return getRuleContext(TypeDescriptionContext.class,0);
}
public TypesBlockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_typesBlock; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterTypesBlock(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitTypesBlock(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitTypesBlock(this);
else return visitor.visitChildren(this);
}
}
public final TypesBlockContext typesBlock() throws RecognitionException {
TypesBlockContext _localctx = new TypesBlockContext(_ctx, getState());
enterRule(_localctx, 36, RULE_typesBlock);
try {
enterOuterAlt(_localctx, 1);
{
setState(393);
spitter();
setState(394);
type();
setState(400);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SPACE:
case DASH:
{
{
setState(395);
spitter();
setState(397);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,87,_ctx) ) {
case 1:
{
setState(396);
typeDescription();
}
break;
}
}
}
break;
case EOL:
{
setState(399);
match(EOL);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TypeDescriptionContext extends BSLParserRuleContext {
public List EOL() { return getTokens(BSLMethodDescriptionParser.EOL); }
public TerminalNode EOL(int i) {
return getToken(BSLMethodDescriptionParser.EOL, i);
}
public TerminalNode RETURNS_KEYWORD() { return getToken(BSLMethodDescriptionParser.RETURNS_KEYWORD, 0); }
public TerminalNode EXAMPLE_KEYWORD() { return getToken(BSLMethodDescriptionParser.EXAMPLE_KEYWORD, 0); }
public TerminalNode CALL_OPTIONS_KEYWORD() { return getToken(BSLMethodDescriptionParser.CALL_OPTIONS_KEYWORD, 0); }
public List SPACE() { return getTokens(BSLMethodDescriptionParser.SPACE); }
public TerminalNode SPACE(int i) {
return getToken(BSLMethodDescriptionParser.SPACE, i);
}
public TerminalNode STAR() { return getToken(BSLMethodDescriptionParser.STAR, 0); }
public TypeDescriptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_typeDescription; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterTypeDescription(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitTypeDescription(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitTypeDescription(this);
else return visitor.visitChildren(this);
}
}
public final TypeDescriptionContext typeDescription() throws RecognitionException {
TypeDescriptionContext _localctx = new TypeDescriptionContext(_ctx, getState());
enterRule(_localctx, 38, RULE_typeDescription);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(403);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE) {
{
setState(402);
match(SPACE);
}
}
setState(405);
_la = _input.LA(1);
if ( _la <= 0 || ((((_la) & ~0x3f) == 0 && ((1L << _la) & 1820L) != 0)) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(409);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 1048318L) != 0)) {
{
{
setState(406);
_la = _input.LA(1);
if ( _la <= 0 || (_la==EOL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(411);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(412);
match(EOL);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class TypeContext extends BSLParserRuleContext {
public HyperlinkTypeContext hyperlinkType() {
return getRuleContext(HyperlinkTypeContext.class,0);
}
public ListTypesContext listTypes() {
return getRuleContext(ListTypesContext.class,0);
}
public SimpleTypeContext simpleType() {
return getRuleContext(SimpleTypeContext.class,0);
}
public TerminalNode COLON() { return getToken(BSLMethodDescriptionParser.COLON, 0); }
public ComplexTypeContext complexType() {
return getRuleContext(ComplexTypeContext.class,0);
}
public TypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_type; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitType(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitType(this);
else return visitor.visitChildren(this);
}
}
public final TypeContext type() throws RecognitionException {
TypeContext _localctx = new TypeContext(_ctx, getState());
enterRule(_localctx, 40, RULE_type);
int _la;
try {
setState(421);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,92,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(414);
hyperlinkType();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(415);
listTypes();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
{
setState(416);
simpleType();
setState(418);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLON) {
{
setState(417);
match(COLON);
}
}
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(420);
complexType();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SimpleTypeContext extends BSLParserRuleContext {
public TerminalNode WORD() { return getToken(BSLMethodDescriptionParser.WORD, 0); }
public TerminalNode DOTSWORD() { return getToken(BSLMethodDescriptionParser.DOTSWORD, 0); }
public SimpleTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_simpleType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterSimpleType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitSimpleType(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitSimpleType(this);
else return visitor.visitChildren(this);
}
}
public final SimpleTypeContext simpleType() throws RecognitionException {
SimpleTypeContext _localctx = new SimpleTypeContext(_ctx, getState());
enterRule(_localctx, 42, RULE_simpleType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(423);
_la = _input.LA(1);
if ( !(_la==WORD || _la==DOTSWORD) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ListTypesContext extends BSLParserRuleContext {
public List simpleType() {
return getRuleContexts(SimpleTypeContext.class);
}
public SimpleTypeContext simpleType(int i) {
return getRuleContext(SimpleTypeContext.class,i);
}
public List complexType() {
return getRuleContexts(ComplexTypeContext.class);
}
public ComplexTypeContext complexType(int i) {
return getRuleContext(ComplexTypeContext.class,i);
}
public List hyperlinkType() {
return getRuleContexts(HyperlinkTypeContext.class);
}
public HyperlinkTypeContext hyperlinkType(int i) {
return getRuleContext(HyperlinkTypeContext.class,i);
}
public List COMMA() { return getTokens(BSLMethodDescriptionParser.COMMA); }
public TerminalNode COMMA(int i) {
return getToken(BSLMethodDescriptionParser.COMMA, i);
}
public List SPACE() { return getTokens(BSLMethodDescriptionParser.SPACE); }
public TerminalNode SPACE(int i) {
return getToken(BSLMethodDescriptionParser.SPACE, i);
}
public ListTypesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_listTypes; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterListTypes(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitListTypes(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitListTypes(this);
else return visitor.visitChildren(this);
}
}
public final ListTypesContext listTypes() throws RecognitionException {
ListTypesContext _localctx = new ListTypesContext(_ctx, getState());
enterRule(_localctx, 44, RULE_listTypes);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(428);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) {
case 1:
{
setState(425);
simpleType();
}
break;
case 2:
{
setState(426);
complexType();
}
break;
case 3:
{
setState(427);
hyperlinkType();
}
break;
}
setState(439);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(430);
match(COMMA);
setState(432);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE) {
{
setState(431);
match(SPACE);
}
}
setState(437);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,95,_ctx) ) {
case 1:
{
setState(434);
simpleType();
}
break;
case 2:
{
setState(435);
complexType();
}
break;
case 3:
{
setState(436);
hyperlinkType();
}
break;
}
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(441);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,96,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ComplexTypeContext extends BSLParserRuleContext {
public Token collection;
public List SPACE() { return getTokens(BSLMethodDescriptionParser.SPACE); }
public TerminalNode SPACE(int i) {
return getToken(BSLMethodDescriptionParser.SPACE, i);
}
public TerminalNode OF_KEYWORD() { return getToken(BSLMethodDescriptionParser.OF_KEYWORD, 0); }
public TypeContext type() {
return getRuleContext(TypeContext.class,0);
}
public TerminalNode WORD() { return getToken(BSLMethodDescriptionParser.WORD, 0); }
public TerminalNode DOTSWORD() { return getToken(BSLMethodDescriptionParser.DOTSWORD, 0); }
public ComplexTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_complexType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterComplexType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitComplexType(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitComplexType(this);
else return visitor.visitChildren(this);
}
}
public final ComplexTypeContext complexType() throws RecognitionException {
ComplexTypeContext _localctx = new ComplexTypeContext(_ctx, getState());
enterRule(_localctx, 46, RULE_complexType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(443);
((ComplexTypeContext)_localctx).collection = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==WORD || _la==DOTSWORD) ) {
((ComplexTypeContext)_localctx).collection = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(444);
match(SPACE);
setState(445);
match(OF_KEYWORD);
setState(446);
match(SPACE);
setState(447);
type();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class HyperlinkTypeContext extends BSLParserRuleContext {
public Token link;
public Token linkParams;
public TerminalNode SEE_KEYWORD() { return getToken(BSLMethodDescriptionParser.SEE_KEYWORD, 0); }
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public TerminalNode WORD() { return getToken(BSLMethodDescriptionParser.WORD, 0); }
public TerminalNode DOTSWORD() { return getToken(BSLMethodDescriptionParser.DOTSWORD, 0); }
public TerminalNode LPAREN() { return getToken(BSLMethodDescriptionParser.LPAREN, 0); }
public TerminalNode RPAREN() { return getToken(BSLMethodDescriptionParser.RPAREN, 0); }
public List EOL() { return getTokens(BSLMethodDescriptionParser.EOL); }
public TerminalNode EOL(int i) {
return getToken(BSLMethodDescriptionParser.EOL, i);
}
public HyperlinkTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_hyperlinkType; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterHyperlinkType(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitHyperlinkType(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitHyperlinkType(this);
else return visitor.visitChildren(this);
}
}
public final HyperlinkTypeContext hyperlinkType() throws RecognitionException {
HyperlinkTypeContext _localctx = new HyperlinkTypeContext(_ctx, getState());
enterRule(_localctx, 48, RULE_hyperlinkType);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(449);
match(SEE_KEYWORD);
setState(450);
match(SPACE);
setState(451);
((HyperlinkTypeContext)_localctx).link = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==WORD || _la==DOTSWORD) ) {
((HyperlinkTypeContext)_localctx).link = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(460);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LPAREN) {
{
setState(452);
match(LPAREN);
setState(456);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,97,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(453);
((HyperlinkTypeContext)_localctx).linkParams = _input.LT(1);
_la = _input.LA(1);
if ( _la <= 0 || (_la==EOL) ) {
((HyperlinkTypeContext)_localctx).linkParams = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
}
setState(458);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,97,_ctx);
}
setState(459);
match(RPAREN);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class SpitterContext extends BSLParserRuleContext {
public TerminalNode DASH() { return getToken(BSLMethodDescriptionParser.DASH, 0); }
public List SPACE() { return getTokens(BSLMethodDescriptionParser.SPACE); }
public TerminalNode SPACE(int i) {
return getToken(BSLMethodDescriptionParser.SPACE, i);
}
public SpitterContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_spitter; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterSpitter(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitSpitter(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitSpitter(this);
else return visitor.visitChildren(this);
}
}
public final SpitterContext spitter() throws RecognitionException {
SpitterContext _localctx = new SpitterContext(_ctx, getState());
enterRule(_localctx, 50, RULE_spitter);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(463);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE) {
{
setState(462);
match(SPACE);
}
}
setState(465);
match(DASH);
setState(467);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,100,_ctx) ) {
case 1:
{
setState(466);
match(SPACE);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class HyperlinkBlockContext extends BSLParserRuleContext {
public List startPart() {
return getRuleContexts(StartPartContext.class);
}
public StartPartContext startPart(int i) {
return getRuleContext(StartPartContext.class,i);
}
public HyperlinkTypeContext hyperlinkType() {
return getRuleContext(HyperlinkTypeContext.class,0);
}
public List EOL() { return getTokens(BSLMethodDescriptionParser.EOL); }
public TerminalNode EOL(int i) {
return getToken(BSLMethodDescriptionParser.EOL, i);
}
public TerminalNode SPACE() { return getToken(BSLMethodDescriptionParser.SPACE, 0); }
public HyperlinkBlockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_hyperlinkBlock; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterHyperlinkBlock(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitHyperlinkBlock(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitHyperlinkBlock(this);
else return visitor.visitChildren(this);
}
}
public final HyperlinkBlockContext hyperlinkBlock() throws RecognitionException {
HyperlinkBlockContext _localctx = new HyperlinkBlockContext(_ctx, getState());
enterRule(_localctx, 52, RULE_hyperlinkBlock);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(474);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,101,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(469);
startPart();
setState(470);
match(EOL);
}
}
}
setState(476);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,101,_ctx);
}
setState(477);
startPart();
setState(478);
hyperlinkType();
setState(480);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,102,_ctx) ) {
case 1:
{
setState(479);
match(SPACE);
}
break;
}
setState(486);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,103,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(482);
match(EOL);
setState(483);
startPart();
}
}
}
setState(488);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,103,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class StartPartContext extends BSLParserRuleContext {
public TerminalNode COMMENT() { return getToken(BSLMethodDescriptionParser.COMMENT, 0); }
public List SPACE() { return getTokens(BSLMethodDescriptionParser.SPACE); }
public TerminalNode SPACE(int i) {
return getToken(BSLMethodDescriptionParser.SPACE, i);
}
public StartPartContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_startPart; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).enterStartPart(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof BSLMethodDescriptionParserListener ) ((BSLMethodDescriptionParserListener)listener).exitStartPart(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof BSLMethodDescriptionParserVisitor ) return ((BSLMethodDescriptionParserVisitor extends T>)visitor).visitStartPart(this);
else return visitor.visitChildren(this);
}
}
public final StartPartContext startPart() throws RecognitionException {
StartPartContext _localctx = new StartPartContext(_ctx, getState());
enterRule(_localctx, 54, RULE_startPart);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(490);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SPACE) {
{
setState(489);
match(SPACE);
}
}
setState(492);
match(COMMENT);
setState(494);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,105,_ctx) ) {
case 1:
{
setState(493);
match(SPACE);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static final String _serializedATN =
"\u0004\u0001\u0013\u01f1\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001"+
"\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004"+
"\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007"+
"\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b"+
"\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007"+
"\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007"+
"\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007"+
"\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007"+
"\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007"+
"\u001b\u0001\u0000\u0003\u0000:\b\u0000\u0001\u0000\u0003\u0000=\b\u0000"+
"\u0001\u0000\u0003\u0000@\b\u0000\u0001\u0000\u0003\u0000C\b\u0000\u0001"+
"\u0000\u0003\u0000F\b\u0000\u0001\u0000\u0003\u0000I\b\u0000\u0001\u0000"+
"\u0003\u0000L\b\u0000\u0001\u0000\u0003\u0000O\b\u0000\u0001\u0000\u0003"+
"\u0000R\b\u0000\u0001\u0000\u0003\u0000U\b\u0000\u0001\u0000\u0003\u0000"+
"X\b\u0000\u0001\u0000\u0003\u0000[\b\u0000\u0001\u0000\u0003\u0000^\b"+
"\u0000\u0001\u0000\u0003\u0000a\b\u0000\u0001\u0000\u0003\u0000d\b\u0000"+
"\u0001\u0000\u0003\u0000g\b\u0000\u0001\u0000\u0003\u0000j\b\u0000\u0001"+
"\u0000\u0003\u0000m\b\u0000\u0001\u0000\u0003\u0000p\b\u0000\u0001\u0000"+
"\u0003\u0000s\b\u0000\u0001\u0000\u0003\u0000v\b\u0000\u0001\u0000\u0003"+
"\u0000y\b\u0000\u0001\u0000\u0003\u0000|\b\u0000\u0001\u0000\u0003\u0000"+
"\u007f\b\u0000\u0001\u0000\u0003\u0000\u0082\b\u0000\u0001\u0000\u0003"+
"\u0000\u0085\b\u0000\u0001\u0000\u0003\u0000\u0088\b\u0000\u0001\u0000"+
"\u0003\u0000\u008b\b\u0000\u0001\u0000\u0003\u0000\u008e\b\u0000\u0001"+
"\u0000\u0003\u0000\u0091\b\u0000\u0001\u0000\u0003\u0000\u0094\b\u0000"+
"\u0001\u0000\u0003\u0000\u0097\b\u0000\u0001\u0000\u0003\u0000\u009a\b"+
"\u0000\u0001\u0000\u0003\u0000\u009d\b\u0000\u0001\u0000\u0003\u0000\u00a0"+
"\b\u0000\u0001\u0000\u0003\u0000\u00a3\b\u0000\u0001\u0000\u0003\u0000"+
"\u00a6\b\u0000\u0001\u0000\u0003\u0000\u00a9\b\u0000\u0001\u0000\u0003"+
"\u0000\u00ac\b\u0000\u0001\u0000\u0003\u0000\u00af\b\u0000\u0001\u0000"+
"\u0003\u0000\u00b2\b\u0000\u0001\u0000\u0003\u0000\u00b5\b\u0000\u0001"+
"\u0000\u0003\u0000\u00b8\b\u0000\u0001\u0000\u0003\u0000\u00bb\b\u0000"+
"\u0001\u0000\u0003\u0000\u00be\b\u0000\u0001\u0000\u0003\u0000\u00c1\b"+
"\u0000\u0001\u0000\u0003\u0000\u00c4\b\u0000\u0001\u0000\u0003\u0000\u00c7"+
"\b\u0000\u0003\u0000\u00c9\b\u0000\u0001\u0000\u0001\u0000\u0001\u0001"+
"\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\u00d1\b\u0001\u0001\u0001"+
"\u0003\u0001\u00d4\b\u0001\u0001\u0002\u0001\u0002\u0005\u0002\u00d8\b"+
"\u0002\n\u0002\f\u0002\u00db\t\u0002\u0001\u0003\u0001\u0003\u0003\u0003"+
"\u00df\b\u0003\u0001\u0003\u0003\u0003\u00e2\b\u0003\u0001\u0004\u0004"+
"\u0004\u00e5\b\u0004\u000b\u0004\f\u0004\u00e6\u0001\u0005\u0001\u0005"+
"\u0001\u0005\u0005\u0005\u00ec\b\u0005\n\u0005\f\u0005\u00ef\t\u0005\u0001"+
"\u0005\u0003\u0005\u00f2\b\u0005\u0001\u0005\u0001\u0005\u0001\u0005\u0003"+
"\u0005\u00f7\b\u0005\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0005"+
"\u0006\u00fd\b\u0006\n\u0006\f\u0006\u0100\t\u0006\u0003\u0006\u0102\b"+
"\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0005\u0007\u0107\b\u0007\n"+
"\u0007\f\u0007\u010a\t\u0007\u0001\u0007\u0003\u0007\u010d\b\u0007\u0001"+
"\u0007\u0001\u0007\u0003\u0007\u0111\b\u0007\u0003\u0007\u0113\b\u0007"+
"\u0001\b\u0001\b\u0001\b\u0001\b\u0005\b\u0119\b\b\n\b\f\b\u011c\t\b\u0003"+
"\b\u011e\b\b\u0001\t\u0001\t\u0001\t\u0005\t\u0123\b\t\n\t\f\t\u0126\t"+
"\t\u0001\t\u0003\t\u0129\b\t\u0001\t\u0001\t\u0003\t\u012d\b\t\u0003\t"+
"\u012f\b\t\u0001\n\u0001\n\u0001\n\u0003\n\u0134\b\n\u0001\n\u0001\n\u0001"+
"\n\u0004\n\u0139\b\n\u000b\n\f\n\u013a\u0003\n\u013d\b\n\u0003\n\u013f"+
"\b\n\u0001\n\u0003\n\u0142\b\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001"+
"\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001"+
"\u000b\u0003\u000b\u014e\b\u000b\u0003\u000b\u0150\b\u000b\u0001\f\u0001"+
"\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0003\r\u0159\b\r\u0001\r\u0001"+
"\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f"+
"\u0003\u000f\u0163\b\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0004\u000f"+
"\u0168\b\u000f\u000b\u000f\f\u000f\u0169\u0003\u000f\u016c\b\u000f\u0003"+
"\u000f\u016e\b\u000f\u0001\u000f\u0003\u000f\u0171\b\u000f\u0001\u0010"+
"\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+
"\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010\u017d\b\u0010\u0003\u0010"+
"\u017f\b\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0003\u0011"+
"\u0185\b\u0011\u0001\u0011\u0003\u0011\u0188\b\u0011\u0001\u0012\u0001"+
"\u0012\u0001\u0012\u0001\u0012\u0003\u0012\u018e\b\u0012\u0001\u0012\u0003"+
"\u0012\u0191\b\u0012\u0001\u0013\u0003\u0013\u0194\b\u0013\u0001\u0013"+
"\u0001\u0013\u0005\u0013\u0198\b\u0013\n\u0013\f\u0013\u019b\t\u0013\u0001"+
"\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0003"+
"\u0014\u01a3\b\u0014\u0001\u0014\u0003\u0014\u01a6\b\u0014\u0001\u0015"+
"\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0003\u0016\u01ad\b\u0016"+
"\u0001\u0016\u0001\u0016\u0003\u0016\u01b1\b\u0016\u0001\u0016\u0001\u0016"+
"\u0001\u0016\u0003\u0016\u01b6\b\u0016\u0004\u0016\u01b8\b\u0016\u000b"+
"\u0016\f\u0016\u01b9\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001"+
"\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001"+
"\u0018\u0005\u0018\u01c7\b\u0018\n\u0018\f\u0018\u01ca\t\u0018\u0001\u0018"+
"\u0003\u0018\u01cd\b\u0018\u0001\u0019\u0003\u0019\u01d0\b\u0019\u0001"+
"\u0019\u0001\u0019\u0003\u0019\u01d4\b\u0019\u0001\u001a\u0001\u001a\u0001"+
"\u001a\u0005\u001a\u01d9\b\u001a\n\u001a\f\u001a\u01dc\t\u001a\u0001\u001a"+
"\u0001\u001a\u0001\u001a\u0003\u001a\u01e1\b\u001a\u0001\u001a\u0001\u001a"+
"\u0005\u001a\u01e5\b\u001a\n\u001a\f\u001a\u01e8\t\u001a\u0001\u001b\u0003"+
"\u001b\u01eb\b\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u01ef\b\u001b"+
"\u0001\u001b\u0000\u0000\u001c\u0000\u0002\u0004\u0006\b\n\f\u000e\u0010"+
"\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.0246\u0000\u0007\u0001"+
"\u0000\b\t\u0001\u0000\b\b\u0002\u0000\u0001\u0005\b\t\u0003\u0000\u0002"+
"\u0002\u0004\u0004\b\t\u0002\u0000\u0002\u0003\b\t\u0002\u0000\u0002\u0004"+
"\b\n\u0001\u0000\u000f\u0010\u0250\u0000\u00c8\u0001\u0000\u0000\u0000"+
"\u0002\u00cc\u0001\u0000\u0000\u0000\u0004\u00d5\u0001\u0000\u0000\u0000"+
"\u0006\u00de\u0001\u0000\u0000\u0000\b\u00e4\u0001\u0000\u0000\u0000\n"+
"\u00f6\u0001\u0000\u0000\u0000\f\u00f8\u0001\u0000\u0000\u0000\u000e\u0112"+
"\u0001\u0000\u0000\u0000\u0010\u0114\u0001\u0000\u0000\u0000\u0012\u012e"+
"\u0001\u0000\u0000\u0000\u0014\u0130\u0001\u0000\u0000\u0000\u0016\u014f"+
"\u0001\u0000\u0000\u0000\u0018\u0151\u0001\u0000\u0000\u0000\u001a\u0155"+
"\u0001\u0000\u0000\u0000\u001c\u015d\u0001\u0000\u0000\u0000\u001e\u015f"+
"\u0001\u0000\u0000\u0000 \u017e\u0001\u0000\u0000\u0000\"\u0180\u0001"+
"\u0000\u0000\u0000$\u0189\u0001\u0000\u0000\u0000&\u0193\u0001\u0000\u0000"+
"\u0000(\u01a5\u0001\u0000\u0000\u0000*\u01a7\u0001\u0000\u0000\u0000,"+
"\u01ac\u0001\u0000\u0000\u0000.\u01bb\u0001\u0000\u0000\u00000\u01c1\u0001"+
"\u0000\u0000\u00002\u01cf\u0001\u0000\u0000\u00004\u01da\u0001\u0000\u0000"+
"\u00006\u01ea\u0001\u0000\u0000\u00008:\u0003\u0002\u0001\u000098\u0001"+
"\u0000\u0000\u00009:\u0001\u0000\u0000\u0000:<\u0001\u0000\u0000\u0000"+
";=\u0003\u0006\u0003\u0000<;\u0001\u0000\u0000\u0000<=\u0001\u0000\u0000"+
"\u0000=?\u0001\u0000\u0000\u0000>@\u0003\u0014\n\u0000?>\u0001\u0000\u0000"+
"\u0000?@\u0001\u0000\u0000\u0000@B\u0001\u0000\u0000\u0000AC\u0003\u0010"+
"\b\u0000BA\u0001\u0000\u0000\u0000BC\u0001\u0000\u0000\u0000CE\u0001\u0000"+
"\u0000\u0000DF\u0003\u001e\u000f\u0000ED\u0001\u0000\u0000\u0000EF\u0001"+
"\u0000\u0000\u0000FH\u0001\u0000\u0000\u0000GI\u0003\f\u0006\u0000HG\u0001"+
"\u0000\u0000\u0000HI\u0001\u0000\u0000\u0000I\u00c9\u0001\u0000\u0000"+
"\u0000JL\u0003\u0002\u0001\u0000KJ\u0001\u0000\u0000\u0000KL\u0001\u0000"+
"\u0000\u0000LN\u0001\u0000\u0000\u0000MO\u0003\u0006\u0003\u0000NM\u0001"+
"\u0000\u0000\u0000NO\u0001\u0000\u0000\u0000OQ\u0001\u0000\u0000\u0000"+
"PR\u0003\u0014\n\u0000QP\u0001\u0000\u0000\u0000QR\u0001\u0000\u0000\u0000"+
"RT\u0001\u0000\u0000\u0000SU\u0003\f\u0006\u0000TS\u0001\u0000\u0000\u0000"+
"TU\u0001\u0000\u0000\u0000UW\u0001\u0000\u0000\u0000VX\u0003\u001e\u000f"+
"\u0000WV\u0001\u0000\u0000\u0000WX\u0001\u0000\u0000\u0000XZ\u0001\u0000"+
"\u0000\u0000Y[\u0003\u0010\b\u0000ZY\u0001\u0000\u0000\u0000Z[\u0001\u0000"+
"\u0000\u0000[\u00c9\u0001\u0000\u0000\u0000\\^\u0003\u0002\u0001\u0000"+
"]\\\u0001\u0000\u0000\u0000]^\u0001\u0000\u0000\u0000^`\u0001\u0000\u0000"+
"\u0000_a\u0003\u0006\u0003\u0000`_\u0001\u0000\u0000\u0000`a\u0001\u0000"+
"\u0000\u0000ac\u0001\u0000\u0000\u0000bd\u0003\u0014\n\u0000cb\u0001\u0000"+
"\u0000\u0000cd\u0001\u0000\u0000\u0000df\u0001\u0000\u0000\u0000eg\u0003"+
"\u0010\b\u0000fe\u0001\u0000\u0000\u0000fg\u0001\u0000\u0000\u0000gi\u0001"+
"\u0000\u0000\u0000hj\u0003\f\u0006\u0000ih\u0001\u0000\u0000\u0000ij\u0001"+
"\u0000\u0000\u0000jl\u0001\u0000\u0000\u0000km\u0003\u001e\u000f\u0000"+
"lk\u0001\u0000\u0000\u0000lm\u0001\u0000\u0000\u0000m\u00c9\u0001\u0000"+
"\u0000\u0000np\u0003\u0002\u0001\u0000on\u0001\u0000\u0000\u0000op\u0001"+
"\u0000\u0000\u0000pr\u0001\u0000\u0000\u0000qs\u0003\u0006\u0003\u0000"+
"rq\u0001\u0000\u0000\u0000rs\u0001\u0000\u0000\u0000su\u0001\u0000\u0000"+
"\u0000tv\u0003\u0014\n\u0000ut\u0001\u0000\u0000\u0000uv\u0001\u0000\u0000"+
"\u0000vx\u0001\u0000\u0000\u0000wy\u0003\f\u0006\u0000xw\u0001\u0000\u0000"+
"\u0000xy\u0001\u0000\u0000\u0000y{\u0001\u0000\u0000\u0000z|\u0003\u0010"+
"\b\u0000{z\u0001\u0000\u0000\u0000{|\u0001\u0000\u0000\u0000|~\u0001\u0000"+
"\u0000\u0000}\u007f\u0003\u001e\u000f\u0000~}\u0001\u0000\u0000\u0000"+
"~\u007f\u0001\u0000\u0000\u0000\u007f\u00c9\u0001\u0000\u0000\u0000\u0080"+
"\u0082\u0003\u0006\u0003\u0000\u0081\u0080\u0001\u0000\u0000\u0000\u0081"+
"\u0082\u0001\u0000\u0000\u0000\u0082\u0084\u0001\u0000\u0000\u0000\u0083"+
"\u0085\u0003\u0014\n\u0000\u0084\u0083\u0001\u0000\u0000\u0000\u0084\u0085"+
"\u0001\u0000\u0000\u0000\u0085\u0087\u0001\u0000\u0000\u0000\u0086\u0088"+
"\u0003\u0010\b\u0000\u0087\u0086\u0001\u0000\u0000\u0000\u0087\u0088\u0001"+
"\u0000\u0000\u0000\u0088\u008a\u0001\u0000\u0000\u0000\u0089\u008b\u0003"+
"\u001e\u000f\u0000\u008a\u0089\u0001\u0000\u0000\u0000\u008a\u008b\u0001"+
"\u0000\u0000\u0000\u008b\u008d\u0001\u0000\u0000\u0000\u008c\u008e\u0003"+
"\f\u0006\u0000\u008d\u008c\u0001\u0000\u0000\u0000\u008d\u008e\u0001\u0000"+
"\u0000\u0000\u008e\u0090\u0001\u0000\u0000\u0000\u008f\u0091\u0003\u0002"+
"\u0001\u0000\u0090\u008f\u0001\u0000\u0000\u0000\u0090\u0091\u0001\u0000"+
"\u0000\u0000\u0091\u00c9\u0001\u0000\u0000\u0000\u0092\u0094\u0003\u0006"+
"\u0003\u0000\u0093\u0092\u0001\u0000\u0000\u0000\u0093\u0094\u0001\u0000"+
"\u0000\u0000\u0094\u0096\u0001\u0000\u0000\u0000\u0095\u0097\u0003\u0014"+
"\n\u0000\u0096\u0095\u0001\u0000\u0000\u0000\u0096\u0097\u0001\u0000\u0000"+
"\u0000\u0097\u0099\u0001\u0000\u0000\u0000\u0098\u009a\u0003\f\u0006\u0000"+
"\u0099\u0098\u0001\u0000\u0000\u0000\u0099\u009a\u0001\u0000\u0000\u0000"+
"\u009a\u009c\u0001\u0000\u0000\u0000\u009b\u009d\u0003\u001e\u000f\u0000"+
"\u009c\u009b\u0001\u0000\u0000\u0000\u009c\u009d\u0001\u0000\u0000\u0000"+
"\u009d\u009f\u0001\u0000\u0000\u0000\u009e\u00a0\u0003\u0010\b\u0000\u009f"+
"\u009e\u0001\u0000\u0000\u0000\u009f\u00a0\u0001\u0000\u0000\u0000\u00a0"+
"\u00a2\u0001\u0000\u0000\u0000\u00a1\u00a3\u0003\u0002\u0001\u0000\u00a2"+
"\u00a1\u0001\u0000\u0000\u0000\u00a2\u00a3\u0001\u0000\u0000\u0000\u00a3"+
"\u00c9\u0001\u0000\u0000\u0000\u00a4\u00a6\u0003\u0006\u0003\u0000\u00a5"+
"\u00a4\u0001\u0000\u0000\u0000\u00a5\u00a6\u0001\u0000\u0000\u0000\u00a6"+
"\u00a8\u0001\u0000\u0000\u0000\u00a7\u00a9\u0003\u0014\n\u0000\u00a8\u00a7"+
"\u0001\u0000\u0000\u0000\u00a8\u00a9\u0001\u0000\u0000\u0000\u00a9\u00ab"+
"\u0001\u0000\u0000\u0000\u00aa\u00ac\u0003\u0010\b\u0000\u00ab\u00aa\u0001"+
"\u0000\u0000\u0000\u00ab\u00ac\u0001\u0000\u0000\u0000\u00ac\u00ae\u0001"+
"\u0000\u0000\u0000\u00ad\u00af\u0003\f\u0006\u0000\u00ae\u00ad\u0001\u0000"+
"\u0000\u0000\u00ae\u00af\u0001\u0000\u0000\u0000\u00af\u00b1\u0001\u0000"+
"\u0000\u0000\u00b0\u00b2\u0003\u001e\u000f\u0000\u00b1\u00b0\u0001\u0000"+
"\u0000\u0000\u00b1\u00b2\u0001\u0000\u0000\u0000\u00b2\u00b4\u0001\u0000"+
"\u0000\u0000\u00b3\u00b5\u0003\u0002\u0001\u0000\u00b4\u00b3\u0001\u0000"+
"\u0000\u0000\u00b4\u00b5\u0001\u0000\u0000\u0000\u00b5\u00c9\u0001\u0000"+
"\u0000\u0000\u00b6\u00b8\u0003\u0006\u0003\u0000\u00b7\u00b6\u0001\u0000"+
"\u0000\u0000\u00b7\u00b8\u0001\u0000\u0000\u0000\u00b8\u00ba\u0001\u0000"+
"\u0000\u0000\u00b9\u00bb\u0003\u0014\n\u0000\u00ba\u00b9\u0001\u0000\u0000"+
"\u0000\u00ba\u00bb\u0001\u0000\u0000\u0000\u00bb\u00bd\u0001\u0000\u0000"+
"\u0000\u00bc\u00be\u0003\f\u0006\u0000\u00bd\u00bc\u0001\u0000\u0000\u0000"+
"\u00bd\u00be\u0001\u0000\u0000\u0000\u00be\u00c0\u0001\u0000\u0000\u0000"+
"\u00bf\u00c1\u0003\u0010\b\u0000\u00c0\u00bf\u0001\u0000\u0000\u0000\u00c0"+
"\u00c1\u0001\u0000\u0000\u0000\u00c1\u00c3\u0001\u0000\u0000\u0000\u00c2"+
"\u00c4\u0003\u001e\u000f\u0000\u00c3\u00c2\u0001\u0000\u0000\u0000\u00c3"+
"\u00c4\u0001\u0000\u0000\u0000\u00c4\u00c6\u0001\u0000\u0000\u0000\u00c5"+
"\u00c7\u0003\u0002\u0001\u0000\u00c6\u00c5\u0001\u0000\u0000\u0000\u00c6"+
"\u00c7\u0001\u0000\u0000\u0000\u00c7\u00c9\u0001\u0000\u0000\u0000\u00c8"+
"9\u0001\u0000\u0000\u0000\u00c8K\u0001\u0000\u0000\u0000\u00c8]\u0001"+
"\u0000\u0000\u0000\u00c8o\u0001\u0000\u0000\u0000\u00c8\u0081\u0001\u0000"+
"\u0000\u0000\u00c8\u0093\u0001\u0000\u0000\u0000\u00c8\u00a5\u0001\u0000"+
"\u0000\u0000\u00c8\u00b7\u0001\u0000\u0000\u0000\u00c9\u00ca\u0001\u0000"+
"\u0000\u0000\u00ca\u00cb\u0005\u0000\u0000\u0001\u00cb\u0001\u0001\u0000"+
"\u0000\u0000\u00cc\u00cd\u00036\u001b\u0000\u00cd\u00d0\u0005\u0005\u0000"+
"\u0000\u00ce\u00cf\u0005\t\u0000\u0000\u00cf\u00d1\u0003\u0004\u0002\u0000"+
"\u00d0\u00ce\u0001\u0000\u0000\u0000\u00d0\u00d1\u0001\u0000\u0000\u0000"+
"\u00d1\u00d3\u0001\u0000\u0000\u0000\u00d2\u00d4\u0005\b\u0000\u0000\u00d3"+
"\u00d2\u0001\u0000\u0000\u0000\u00d3\u00d4\u0001\u0000\u0000\u0000\u00d4"+
"\u0003\u0001\u0000\u0000\u0000\u00d5\u00d9\b\u0000\u0000\u0000\u00d6\u00d8"+
"\b\u0001\u0000\u0000\u00d7\u00d6\u0001\u0000\u0000\u0000\u00d8\u00db\u0001"+
"\u0000\u0000\u0000\u00d9\u00d7\u0001\u0000\u0000\u0000\u00d9\u00da\u0001"+
"\u0000\u0000\u0000\u00da\u0005\u0001\u0000\u0000\u0000\u00db\u00d9\u0001"+
"\u0000\u0000\u0000\u00dc\u00df\u00034\u001a\u0000\u00dd\u00df\u0003\b"+
"\u0004\u0000\u00de\u00dc\u0001\u0000\u0000\u0000\u00de\u00dd\u0001\u0000"+
"\u0000\u0000\u00df\u00e1\u0001\u0000\u0000\u0000\u00e0\u00e2\u0005\b\u0000"+
"\u0000\u00e1\u00e0\u0001\u0000\u0000\u0000\u00e1\u00e2\u0001\u0000\u0000"+
"\u0000\u00e2\u0007\u0001\u0000\u0000\u0000\u00e3\u00e5\u0003\n\u0005\u0000"+
"\u00e4\u00e3\u0001\u0000\u0000\u0000\u00e5\u00e6\u0001\u0000\u0000\u0000"+
"\u00e6\u00e4\u0001\u0000\u0000\u0000\u00e6\u00e7\u0001\u0000\u0000\u0000"+
"\u00e7\t\u0001\u0000\u0000\u0000\u00e8\u00e9\u00036\u001b\u0000\u00e9"+
"\u00ed\b\u0002\u0000\u0000\u00ea\u00ec\b\u0001\u0000\u0000\u00eb\u00ea"+
"\u0001\u0000\u0000\u0000\u00ec\u00ef\u0001\u0000\u0000\u0000\u00ed\u00eb"+
"\u0001\u0000\u0000\u0000\u00ed\u00ee\u0001\u0000\u0000\u0000\u00ee\u00f1"+
"\u0001\u0000\u0000\u0000\u00ef\u00ed\u0001\u0000\u0000\u0000\u00f0\u00f2"+
"\u0005\b\u0000\u0000\u00f1\u00f0\u0001\u0000\u0000\u0000\u00f1\u00f2\u0001"+
"\u0000\u0000\u0000\u00f2\u00f7\u0001\u0000\u0000\u0000\u00f3\u00f4\u0003"+
"6\u001b\u0000\u00f4\u00f5\u0005\b\u0000\u0000\u00f5\u00f7\u0001\u0000"+
"\u0000\u0000\u00f6\u00e8\u0001\u0000\u0000\u0000\u00f6\u00f3\u0001\u0000"+
"\u0000\u0000\u00f7\u000b\u0001\u0000\u0000\u0000\u00f8\u00f9\u00036\u001b"+
"\u0000\u00f9\u0101\u0005\u0003\u0000\u0000\u00fa\u00fe\u0005\b\u0000\u0000"+
"\u00fb\u00fd\u0003\u000e\u0007\u0000\u00fc\u00fb\u0001\u0000\u0000\u0000"+
"\u00fd\u0100\u0001\u0000\u0000\u0000\u00fe\u00fc\u0001\u0000\u0000\u0000"+
"\u00fe\u00ff\u0001\u0000\u0000\u0000\u00ff\u0102\u0001\u0000\u0000\u0000"+
"\u0100\u00fe\u0001\u0000\u0000\u0000\u0101\u00fa\u0001\u0000\u0000\u0000"+
"\u0101\u0102\u0001\u0000\u0000\u0000\u0102\r\u0001\u0000\u0000\u0000\u0103"+
"\u0104\u00036\u001b\u0000\u0104\u0108\b\u0003\u0000\u0000\u0105\u0107"+
"\b\u0001\u0000\u0000\u0106\u0105\u0001\u0000\u0000\u0000\u0107\u010a\u0001"+
"\u0000\u0000\u0000\u0108\u0106\u0001\u0000\u0000\u0000\u0108\u0109\u0001"+
"\u0000\u0000\u0000\u0109\u010c\u0001\u0000\u0000\u0000\u010a\u0108\u0001"+
"\u0000\u0000\u0000\u010b\u010d\u0005\b\u0000\u0000\u010c\u010b\u0001\u0000"+
"\u0000\u0000\u010c\u010d\u0001\u0000\u0000\u0000\u010d\u0113\u0001\u0000"+
"\u0000\u0000\u010e\u0110\u00036\u001b\u0000\u010f\u0111\u0005\b\u0000"+
"\u0000\u0110\u010f\u0001\u0000\u0000\u0000\u0110\u0111\u0001\u0000\u0000"+
"\u0000\u0111\u0113\u0001\u0000\u0000\u0000\u0112\u0103\u0001\u0000\u0000"+
"\u0000\u0112\u010e\u0001\u0000\u0000\u0000\u0113\u000f\u0001\u0000\u0000"+
"\u0000\u0114\u0115\u00036\u001b\u0000\u0115\u011d\u0005\u0004\u0000\u0000"+
"\u0116\u011a\u0005\b\u0000\u0000\u0117\u0119\u0003\u0012\t\u0000\u0118"+
"\u0117\u0001\u0000\u0000\u0000\u0119\u011c\u0001\u0000\u0000\u0000\u011a"+
"\u0118\u0001\u0000\u0000\u0000\u011a\u011b\u0001\u0000\u0000\u0000\u011b"+
"\u011e\u0001\u0000\u0000\u0000\u011c\u011a\u0001\u0000\u0000\u0000\u011d"+
"\u0116\u0001\u0000\u0000\u0000\u011d\u011e\u0001\u0000\u0000\u0000\u011e"+
"\u0011\u0001\u0000\u0000\u0000\u011f\u0120\u00036\u001b\u0000\u0120\u0124"+
"\b\u0004\u0000\u0000\u0121\u0123\b\u0001\u0000\u0000\u0122\u0121\u0001"+
"\u0000\u0000\u0000\u0123\u0126\u0001\u0000\u0000\u0000\u0124\u0122\u0001"+
"\u0000\u0000\u0000\u0124\u0125\u0001\u0000\u0000\u0000\u0125\u0128\u0001"+
"\u0000\u0000\u0000\u0126\u0124\u0001\u0000\u0000\u0000\u0127\u0129\u0005"+
"\b\u0000\u0000\u0128\u0127\u0001\u0000\u0000\u0000\u0128\u0129\u0001\u0000"+
"\u0000\u0000\u0129\u012f\u0001\u0000\u0000\u0000\u012a\u012c\u00036\u001b"+
"\u0000\u012b\u012d\u0005\b\u0000\u0000\u012c\u012b\u0001\u0000\u0000\u0000"+
"\u012c\u012d\u0001\u0000\u0000\u0000\u012d\u012f\u0001\u0000\u0000\u0000"+
"\u012e\u011f\u0001\u0000\u0000\u0000\u012e\u012a\u0001\u0000\u0000\u0000"+
"\u012f\u0013\u0001\u0000\u0000\u0000\u0130\u0131\u00036\u001b\u0000\u0131"+
"\u0133\u0005\u0001\u0000\u0000\u0132\u0134\u0005\t\u0000\u0000\u0133\u0132"+
"\u0001\u0000\u0000\u0000\u0133\u0134\u0001\u0000\u0000\u0000\u0134\u013e"+
"\u0001\u0000\u0000\u0000\u0135\u013c\u0005\b\u0000\u0000\u0136\u013d\u0003"+
"4\u001a\u0000\u0137\u0139\u0003\u0016\u000b\u0000\u0138\u0137\u0001\u0000"+
"\u0000\u0000\u0139\u013a\u0001\u0000\u0000\u0000\u013a\u0138\u0001\u0000"+
"\u0000\u0000\u013a\u013b\u0001\u0000\u0000\u0000\u013b\u013d\u0001\u0000"+
"\u0000\u0000\u013c\u0136\u0001\u0000\u0000\u0000\u013c\u0138\u0001\u0000"+
"\u0000\u0000\u013c\u013d\u0001\u0000\u0000\u0000\u013d\u013f\u0001\u0000"+
"\u0000\u0000\u013e\u0135\u0001\u0000\u0000\u0000\u013e\u013f\u0001\u0000"+
"\u0000\u0000\u013f\u0141\u0001\u0000\u0000\u0000\u0140\u0142\u0005\b\u0000"+
"\u0000\u0141\u0140\u0001\u0000\u0000\u0000\u0141\u0142\u0001\u0000\u0000"+
"\u0000\u0142\u0015\u0001\u0000\u0000\u0000\u0143\u0150\u0003\u0018\f\u0000"+
"\u0144\u0145\u00036\u001b\u0000\u0145\u0146\u0003$\u0012\u0000\u0146\u0150"+
"\u0001\u0000\u0000\u0000\u0147\u0150\u0003\u001a\r\u0000\u0148\u0149\u0003"+
"6\u001b\u0000\u0149\u014a\u0003&\u0013\u0000\u014a\u0150\u0001\u0000\u0000"+
"\u0000\u014b\u014d\u00036\u001b\u0000\u014c\u014e\u0005\b\u0000\u0000"+
"\u014d\u014c\u0001\u0000\u0000\u0000\u014d\u014e\u0001\u0000\u0000\u0000"+
"\u014e\u0150\u0001\u0000\u0000\u0000\u014f\u0143\u0001\u0000\u0000\u0000"+
"\u014f\u0144\u0001\u0000\u0000\u0000\u014f\u0147\u0001\u0000\u0000\u0000"+
"\u014f\u0148\u0001\u0000\u0000\u0000\u014f\u014b\u0001\u0000\u0000\u0000"+
"\u0150\u0017\u0001\u0000\u0000\u0000\u0151\u0152\u00036\u001b\u0000\u0152"+
"\u0153\u0003\u001c\u000e\u0000\u0153\u0154\u0003$\u0012\u0000\u0154\u0019"+
"\u0001\u0000\u0000\u0000\u0155\u0156\u00036\u001b\u0000\u0156\u0158\u0005"+
"\n\u0000\u0000\u0157\u0159\u0005\t\u0000\u0000\u0158\u0157\u0001\u0000"+
"\u0000\u0000\u0158\u0159\u0001\u0000\u0000\u0000\u0159\u015a\u0001\u0000"+
"\u0000\u0000\u015a\u015b\u0003\u001c\u000e\u0000\u015b\u015c\u0003$\u0012"+
"\u0000\u015c\u001b\u0001\u0000\u0000\u0000\u015d\u015e\u0005\u000f\u0000"+
"\u0000\u015e\u001d\u0001\u0000\u0000\u0000\u015f\u0160\u00036\u001b\u0000"+
"\u0160\u0162\u0005\u0002\u0000\u0000\u0161\u0163\u0005\t\u0000\u0000\u0162"+
"\u0161\u0001\u0000\u0000\u0000\u0162\u0163\u0001\u0000\u0000\u0000\u0163"+
"\u016d\u0001\u0000\u0000\u0000\u0164\u016b\u0005\b\u0000\u0000\u0165\u016c"+
"\u00034\u001a\u0000\u0166\u0168\u0003 \u0010\u0000\u0167\u0166\u0001\u0000"+
"\u0000\u0000\u0168\u0169\u0001\u0000\u0000\u0000\u0169\u0167\u0001\u0000"+
"\u0000\u0000\u0169\u016a\u0001\u0000\u0000\u0000\u016a\u016c\u0001\u0000"+
"\u0000\u0000\u016b\u0165\u0001\u0000\u0000\u0000\u016b\u0167\u0001\u0000"+
"\u0000\u0000\u016b\u016c\u0001\u0000\u0000\u0000\u016c\u016e\u0001\u0000"+
"\u0000\u0000\u016d\u0164\u0001\u0000\u0000\u0000\u016d\u016e\u0001\u0000"+
"\u0000\u0000\u016e\u0170\u0001\u0000\u0000\u0000\u016f\u0171\u0005\b\u0000"+
"\u0000\u0170\u016f\u0001\u0000\u0000\u0000\u0170\u0171\u0001\u0000\u0000"+
"\u0000\u0171\u001f\u0001\u0000\u0000\u0000\u0172\u017f\u0003\"\u0011\u0000"+
"\u0173\u0174\u00036\u001b\u0000\u0174\u0175\u0003$\u0012\u0000\u0175\u017f"+
"\u0001\u0000\u0000\u0000\u0176\u017f\u0003\u001a\r\u0000\u0177\u0178\u0003"+
"6\u001b\u0000\u0178\u0179\u0003&\u0013\u0000\u0179\u017f\u0001\u0000\u0000"+
"\u0000\u017a\u017c\u00036\u001b\u0000\u017b\u017d\u0005\b\u0000\u0000"+
"\u017c\u017b\u0001\u0000\u0000\u0000\u017c\u017d\u0001\u0000\u0000\u0000"+
"\u017d\u017f\u0001\u0000\u0000\u0000\u017e\u0172\u0001\u0000\u0000\u0000"+
"\u017e\u0173\u0001\u0000\u0000\u0000\u017e\u0176\u0001\u0000\u0000\u0000"+
"\u017e\u0177\u0001\u0000\u0000\u0000\u017e\u017a\u0001\u0000\u0000\u0000"+
"\u017f!\u0001\u0000\u0000\u0000\u0180\u0181\u00036\u001b\u0000\u0181\u0187"+
"\u0003(\u0014\u0000\u0182\u0184\u00032\u0019\u0000\u0183\u0185\u0003&"+
"\u0013\u0000\u0184\u0183\u0001\u0000\u0000\u0000\u0184\u0185\u0001\u0000"+
"\u0000\u0000\u0185\u0188\u0001\u0000\u0000\u0000\u0186\u0188\u0005\b\u0000"+
"\u0000\u0187\u0182\u0001\u0000\u0000\u0000\u0187\u0186\u0001\u0000\u0000"+
"\u0000\u0188#\u0001\u0000\u0000\u0000\u0189\u018a\u00032\u0019\u0000\u018a"+
"\u0190\u0003(\u0014\u0000\u018b\u018d\u00032\u0019\u0000\u018c\u018e\u0003"+
"&\u0013\u0000\u018d\u018c\u0001\u0000\u0000\u0000\u018d\u018e\u0001\u0000"+
"\u0000\u0000\u018e\u0191\u0001\u0000\u0000\u0000\u018f\u0191\u0005\b\u0000"+
"\u0000\u0190\u018b\u0001\u0000\u0000\u0000\u0190\u018f\u0001\u0000\u0000"+
"\u0000\u0191%\u0001\u0000\u0000\u0000\u0192\u0194\u0005\t\u0000\u0000"+
"\u0193\u0192\u0001\u0000\u0000\u0000\u0193\u0194\u0001\u0000\u0000\u0000"+
"\u0194\u0195\u0001\u0000\u0000\u0000\u0195\u0199\b\u0005\u0000\u0000\u0196"+
"\u0198\b\u0001\u0000\u0000\u0197\u0196\u0001\u0000\u0000\u0000\u0198\u019b"+
"\u0001\u0000\u0000\u0000\u0199\u0197\u0001\u0000\u0000\u0000\u0199\u019a"+
"\u0001\u0000\u0000\u0000\u019a\u019c\u0001\u0000\u0000\u0000\u019b\u0199"+
"\u0001\u0000\u0000\u0000\u019c\u019d\u0005\b\u0000\u0000\u019d\'\u0001"+
"\u0000\u0000\u0000\u019e\u01a6\u00030\u0018\u0000\u019f\u01a6\u0003,\u0016"+
"\u0000\u01a0\u01a2\u0003*\u0015\u0000\u01a1\u01a3\u0005\f\u0000\u0000"+
"\u01a2\u01a1\u0001\u0000\u0000\u0000\u01a2\u01a3\u0001\u0000\u0000\u0000"+
"\u01a3\u01a6\u0001\u0000\u0000\u0000\u01a4\u01a6\u0003.\u0017\u0000\u01a5"+
"\u019e\u0001\u0000\u0000\u0000\u01a5\u019f\u0001\u0000\u0000\u0000\u01a5"+
"\u01a0\u0001\u0000\u0000\u0000\u01a5\u01a4\u0001\u0000\u0000\u0000\u01a6"+
")\u0001\u0000\u0000\u0000\u01a7\u01a8\u0007\u0006\u0000\u0000\u01a8+\u0001"+
"\u0000\u0000\u0000\u01a9\u01ad\u0003*\u0015\u0000\u01aa\u01ad\u0003.\u0017"+
"\u0000\u01ab\u01ad\u00030\u0018\u0000\u01ac\u01a9\u0001\u0000\u0000\u0000"+
"\u01ac\u01aa\u0001\u0000\u0000\u0000\u01ac\u01ab\u0001\u0000\u0000\u0000"+
"\u01ad\u01b7\u0001\u0000\u0000\u0000\u01ae\u01b0\u0005\r\u0000\u0000\u01af"+
"\u01b1\u0005\t\u0000\u0000\u01b0\u01af\u0001\u0000\u0000\u0000\u01b0\u01b1"+
"\u0001\u0000\u0000\u0000\u01b1\u01b5\u0001\u0000\u0000\u0000\u01b2\u01b6"+
"\u0003*\u0015\u0000\u01b3\u01b6\u0003.\u0017\u0000\u01b4\u01b6\u00030"+
"\u0018\u0000\u01b5\u01b2\u0001\u0000\u0000\u0000\u01b5\u01b3\u0001\u0000"+
"\u0000\u0000\u01b5\u01b4\u0001\u0000\u0000\u0000\u01b6\u01b8\u0001\u0000"+
"\u0000\u0000\u01b7\u01ae\u0001\u0000\u0000\u0000\u01b8\u01b9\u0001\u0000"+
"\u0000\u0000\u01b9\u01b7\u0001\u0000\u0000\u0000\u01b9\u01ba\u0001\u0000"+
"\u0000\u0000\u01ba-\u0001\u0000\u0000\u0000\u01bb\u01bc\u0007\u0006\u0000"+
"\u0000\u01bc\u01bd\u0005\t\u0000\u0000\u01bd\u01be\u0005\u0007\u0000\u0000"+
"\u01be\u01bf\u0005\t\u0000\u0000\u01bf\u01c0\u0003(\u0014\u0000\u01c0"+
"/\u0001\u0000\u0000\u0000\u01c1\u01c2\u0005\u0006\u0000\u0000\u01c2\u01c3"+
"\u0005\t\u0000\u0000\u01c3\u01cc\u0007\u0006\u0000\u0000\u01c4\u01c8\u0005"+
"\u0011\u0000\u0000\u01c5\u01c7\b\u0001\u0000\u0000\u01c6\u01c5\u0001\u0000"+
"\u0000\u0000\u01c7\u01ca\u0001\u0000\u0000\u0000\u01c8\u01c6\u0001\u0000"+
"\u0000\u0000\u01c8\u01c9\u0001\u0000\u0000\u0000\u01c9\u01cb\u0001\u0000"+
"\u0000\u0000\u01ca\u01c8\u0001\u0000\u0000\u0000\u01cb\u01cd\u0005\u0012"+
"\u0000\u0000\u01cc\u01c4\u0001\u0000\u0000\u0000\u01cc\u01cd\u0001\u0000"+
"\u0000\u0000\u01cd1\u0001\u0000\u0000\u0000\u01ce\u01d0\u0005\t\u0000"+
"\u0000\u01cf\u01ce\u0001\u0000\u0000\u0000\u01cf\u01d0\u0001\u0000\u0000"+
"\u0000\u01d0\u01d1\u0001\u0000\u0000\u0000\u01d1\u01d3\u0005\u000b\u0000"+
"\u0000\u01d2\u01d4\u0005\t\u0000\u0000\u01d3\u01d2\u0001\u0000\u0000\u0000"+
"\u01d3\u01d4\u0001\u0000\u0000\u0000\u01d43\u0001\u0000\u0000\u0000\u01d5"+
"\u01d6\u00036\u001b\u0000\u01d6\u01d7\u0005\b\u0000\u0000\u01d7\u01d9"+
"\u0001\u0000\u0000\u0000\u01d8\u01d5\u0001\u0000\u0000\u0000\u01d9\u01dc"+
"\u0001\u0000\u0000\u0000\u01da\u01d8\u0001\u0000\u0000\u0000\u01da\u01db"+
"\u0001\u0000\u0000\u0000\u01db\u01dd\u0001\u0000\u0000\u0000\u01dc\u01da"+
"\u0001\u0000\u0000\u0000\u01dd\u01de\u00036\u001b\u0000\u01de\u01e0\u0003"+
"0\u0018\u0000\u01df\u01e1\u0005\t\u0000\u0000\u01e0\u01df\u0001\u0000"+
"\u0000\u0000\u01e0\u01e1\u0001\u0000\u0000\u0000\u01e1\u01e6\u0001\u0000"+
"\u0000\u0000\u01e2\u01e3\u0005\b\u0000\u0000\u01e3\u01e5\u00036\u001b"+
"\u0000\u01e4\u01e2\u0001\u0000\u0000\u0000\u01e5\u01e8\u0001\u0000\u0000"+
"\u0000\u01e6\u01e4\u0001\u0000\u0000\u0000\u01e6\u01e7\u0001\u0000\u0000"+
"\u0000\u01e75\u0001\u0000\u0000\u0000\u01e8\u01e6\u0001\u0000\u0000\u0000"+
"\u01e9\u01eb\u0005\t\u0000\u0000\u01ea\u01e9\u0001\u0000\u0000\u0000\u01ea"+
"\u01eb\u0001\u0000\u0000\u0000\u01eb\u01ec\u0001\u0000\u0000\u0000\u01ec"+
"\u01ee\u0005\u000e\u0000\u0000\u01ed\u01ef\u0005\t\u0000\u0000\u01ee\u01ed"+
"\u0001\u0000\u0000\u0000\u01ee\u01ef\u0001\u0000\u0000\u0000\u01ef7\u0001"+
"\u0000\u0000\u0000j9