From a73e3b4e3fdb6b563dddaa7f67d5fe69e65ca752 Mon Sep 17 00:00:00 2001 From: Johan Berntsson Date: Tue, 8 Jul 2008 03:02:11 +0000 Subject: another patch from Mike: the llscript compiler is now available in XEngine as well. Thanks Mike --- .../ScriptEngine/Shared/CodeTools/lsl.parser.cs | 9803 ++++++++++++++++++++ 1 file changed, 9803 insertions(+) create mode 100644 OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs (limited to 'OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs') diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs new file mode 100644 index 0000000..17268f3 --- /dev/null +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/lsl.parser.cs @@ -0,0 +1,9803 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSim Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System;using Tools; +namespace OpenSim.Region.ScriptEngine.Shared.CodeTools { +//%+LSLProgramRoot+95 +public class LSLProgramRoot : SYMBOL{ + public LSLProgramRoot (Parser yyp, States s ):base(((LSLSyntax +)yyp)){ while (0< s . kids . Count ) kids . Add ( s . kids . Pop ()); +} + public LSLProgramRoot (Parser yyp, GlobalDefinitions gd , States s ):base(((LSLSyntax +)yyp)){ while (0< gd . kids . Count ) kids . Add ( gd . kids . Pop ()); + while (0< s . kids . Count ) kids . Add ( s . kids . Pop ()); +} + +public override string yyname { get { return "LSLProgramRoot"; }} +public override int yynum { get { return 95; }} +public LSLProgramRoot(Parser yyp):base(yyp){}} +//%+GlobalDefinitions+96 +public class GlobalDefinitions : SYMBOL{ + public GlobalDefinitions (Parser yyp, GlobalVariableDeclaration gvd ):base(((LSLSyntax +)yyp)){ kids . Add ( gvd ); +} + public GlobalDefinitions (Parser yyp, GlobalDefinitions gd , GlobalVariableDeclaration gvd ):base(((LSLSyntax +)yyp)){ while (0< gd . kids . Count ) kids . Add ( gd . kids . Pop ()); + kids . Add ( gvd ); +} + public GlobalDefinitions (Parser yyp, GlobalFunctionDefinition gfd ):base(((LSLSyntax +)yyp)){ kids . Add ( gfd ); +} + public GlobalDefinitions (Parser yyp, GlobalDefinitions gd , GlobalFunctionDefinition gfd ):base(((LSLSyntax +)yyp)){ while (0< gd . kids . Count ) kids . Add ( gd . kids . Pop ()); + kids . Add ( gfd ); +} + +public override string yyname { get { return "GlobalDefinitions"; }} +public override int yynum { get { return 96; }} +public GlobalDefinitions(Parser yyp):base(yyp){}} +//%+GlobalVariableDeclaration+97 +public class GlobalVariableDeclaration : SYMBOL{ + public GlobalVariableDeclaration (Parser yyp, Declaration d ):base(((LSLSyntax +)yyp)){ kids . Add ( d ); +} + public GlobalVariableDeclaration (Parser yyp, Assignment a ):base(((LSLSyntax +)yyp)){ kids . Add ( a ); +} + +public override string yyname { get { return "GlobalVariableDeclaration"; }} +public override int yynum { get { return 97; }} +public GlobalVariableDeclaration(Parser yyp):base(yyp){}} +//%+GlobalFunctionDefinition+98 +public class GlobalFunctionDefinition : SYMBOL{ + private string m_returnType ; + private string m_name ; + public GlobalFunctionDefinition (Parser yyp, string returnType , string name , ArgumentDeclarationList adl , CompoundStatement cs ):base(((LSLSyntax +)yyp)){ m_returnType = returnType ; + m_name = name ; + kids . Add ( adl ); + kids . Add ( cs ); +} + public string ReturnType { get { return m_returnType ; +} + set { m_returnType = value ; +} +} + public string Name { get { return m_name ; +} +} + +public override string yyname { get { return "GlobalFunctionDefinition"; }} +public override int yynum { get { return 98; }} +public GlobalFunctionDefinition(Parser yyp):base(yyp){}} +//%+States+99 +public class States : SYMBOL{ + public States (Parser yyp, State ds ):base(((LSLSyntax +)yyp)){ kids . Add ( ds ); +} + public States (Parser yyp, States s , State us ):base(((LSLSyntax +)yyp)){ while (0< s . kids . Count ) kids . Add ( s . kids . Pop ()); + kids . Add ( us ); +} + +public override string yyname { get { return "States"; }} +public override int yynum { get { return 99; }} +public States(Parser yyp):base(yyp){}} +//%+State+100 +public class State : SYMBOL{ + private string m_name ; + public State (Parser yyp, string name , StateBody sb ):base(((LSLSyntax +)yyp)){ m_name = name ; + while (0< sb . kids . Count ) kids . Add ( sb . kids . Pop ()); +} + public override string ToString (){ return "STATE<"+ m_name +">"; +} + public string Name { get { return m_name ; +} +} + +public override string yyname { get { return "State"; }} +public override int yynum { get { return 100; }} +public State(Parser yyp):base(yyp){}} +//%+StateBody+101 +public class StateBody : SYMBOL{ + public StateBody (Parser yyp, StateBody sb , StateEvent se ):base(((LSLSyntax +)yyp)){ while (0< sb . kids . Count ) kids . Add ( sb . kids . Pop ()); + kids . Add ( se ); +} + public StateBody (Parser yyp, StateEvent se ):base(((LSLSyntax +)yyp)){ kids . Add ( se ); +} + +public override string yyname { get { return "StateBody"; }} +public override int yynum { get { return 101; }} +public StateBody(Parser yyp):base(yyp){}} +//%+StateEvent+102 +public class StateEvent : SYMBOL{ + private string m_name ; + public StateEvent (Parser yyp, string name , CompoundStatement cs ):base(((LSLSyntax +)yyp)){ m_name = name ; + kids . Add ( cs ); +} + public StateEvent (Parser yyp, string name , ArgumentDeclarationList dal , CompoundStatement cs ):base(((LSLSyntax +)yyp)){ m_name = name ; + if (0< dal . kids . Count ) kids . Add ( dal ); + kids . Add ( cs ); +} + public override string ToString (){ return "EVENT<"+ m_name +">"; +} + public string Name { get { return m_name ; +} +} + +public override string yyname { get { return "StateEvent"; }} +public override int yynum { get { return 102; }} +public StateEvent(Parser yyp):base(yyp){}} +//%+ArgumentDeclarationList+103 +public class ArgumentDeclarationList : SYMBOL{ + public ArgumentDeclarationList (Parser yyp, Declaration d ):base(((LSLSyntax +)yyp)){ kids . Add ( d ); +} + public ArgumentDeclarationList (Parser yyp, ArgumentDeclarationList adl , Declaration d ):base(((LSLSyntax +)yyp)){ while (0< adl . kids . Count ) kids . Add ( adl . kids . Pop ()); + kids . Add ( d ); +} + +public override string yyname { get { return "ArgumentDeclarationList"; }} +public override int yynum { get { return 103; }} +public ArgumentDeclarationList(Parser yyp):base(yyp){}} +//%+Declaration+104 +public class Declaration : SYMBOL{ + private string m_datatype ; + private string m_id ; + public Declaration (Parser yyp, string type , string id ):base(((LSLSyntax +)yyp)){ m_datatype = type ; + m_id = id ; +} + public override string ToString (){ return "Declaration<"+ m_datatype +":"+ m_id +">"; +} + public string Datatype { get { return m_datatype ; +} + set { m_datatype = value ; +} +} + public string Id { get { return m_id ; +} +} + +public override string yyname { get { return "Declaration"; }} +public override int yynum { get { return 104; }} +public Declaration(Parser yyp):base(yyp){}} +//%+Typename+105 +public class Typename : SYMBOL{ + public string yytext ; + public Typename (Parser yyp, string text ):base(((LSLSyntax +)yyp)){ yytext = text ; +} + +public override string yyname { get { return "Typename"; }} +public override int yynum { get { return 105; }} +public Typename(Parser yyp):base(yyp){}} +//%+Event+106 +public class Event : SYMBOL{ + public string yytext ; + public Event (Parser yyp, string text ):base(((LSLSyntax +)yyp)){ yytext = text ; +} + +public override string yyname { get { return "Event"; }} +public override int yynum { get { return 106; }} +public Event(Parser yyp):base(yyp){}} +//%+CompoundStatement+107 +public class CompoundStatement : SYMBOL{ + public CompoundStatement (Parser yyp):base(((LSLSyntax +)yyp)){} + public CompoundStatement (Parser yyp, StatementList sl ):base(((LSLSyntax +)yyp)){ while (0< sl . kids . Count ) kids . Add ( sl . kids . Pop ()); +} + +public override string yyname { get { return "CompoundStatement"; }} +public override int yynum { get { return 107; }} +} +//%+StatementList+108 +public class StatementList : SYMBOL{ + private void AddStatement ( Statement s ){ if ( s . kids . Top is IfStatement || s . kids . Top is WhileStatement || s . kids . Top is DoWhileStatement || s . kids . Top is ForLoop ) kids . Add ( s . kids . Pop ()); + else kids . Add ( s ); +} + public StatementList (Parser yyp, Statement s ):base(((LSLSyntax +)yyp)){ AddStatement ( s ); +} + public StatementList (Parser yyp, StatementList sl , Statement s ):base(((LSLSyntax +)yyp)){ while (0< sl . kids . Count ) kids . Add ( sl . kids . Pop ()); + AddStatement ( s ); +} + +public override string yyname { get { return "StatementList"; }} +public override int yynum { get { return 108; }} +public StatementList(Parser yyp):base(yyp){}} +//%+Statement+109 +public class Statement : SYMBOL{ + public Statement (Parser yyp, Declaration d ):base(((LSLSyntax +)yyp)){ kids . Add ( d ); +} + public Statement (Parser yyp, CompoundStatement cs ):base(((LSLSyntax +)yyp)){ kids . Add ( cs ); +} + public Statement (Parser yyp, FunctionCall fc ):base(((LSLSyntax +)yyp)){ kids . Add ( fc ); +} + public Statement (Parser yyp, Assignment a ):base(((LSLSyntax +)yyp)){ kids . Add ( a ); +} + public Statement (Parser yyp, Expression e ):base(((LSLSyntax +)yyp)){ kids . Add ( e ); +} + public Statement (Parser yyp, ReturnStatement rs ):base(((LSLSyntax +)yyp)){ kids . Add ( rs ); +} + public Statement (Parser yyp, StateChange sc ):base(((LSLSyntax +)yyp)){ kids . Add ( sc ); +} + public Statement (Parser yyp, IfStatement ifs ):base(((LSLSyntax +)yyp)){ kids . Add ( ifs ); +} + public Statement (Parser yyp, WhileStatement ifs ):base(((LSLSyntax +)yyp)){ kids . Add ( ifs ); +} + public Statement (Parser yyp, DoWhileStatement ifs ):base(((LSLSyntax +)yyp)){ kids . Add ( ifs ); +} + public Statement (Parser yyp, ForLoop fl ):base(((LSLSyntax +)yyp)){ kids . Add ( fl ); +} + public Statement (Parser yyp, JumpLabel jl ):base(((LSLSyntax +)yyp)){ kids . Add ( jl ); +} + public Statement (Parser yyp, JumpStatement js ):base(((LSLSyntax +)yyp)){ kids . Add ( js ); +} + +public override string yyname { get { return "Statement"; }} +public override int yynum { get { return 109; }} +public Statement(Parser yyp):base(yyp){}} +//%+Assignment+110 +public class Assignment : SYMBOL{ + private string m_assignmentType ; + public Assignment (Parser yyp, SYMBOL lhs , SYMBOL rhs , string assignmentType ):base(((LSLSyntax +)yyp)){ m_assignmentType = assignmentType ; + kids . Add ( lhs ); + if ( rhs is ConstantExpression ) while (0< rhs . kids . Count ) kids . Add ( rhs . kids . Pop ()); + else kids . Add ( rhs ); +} + public string AssignmentType { get { return m_assignmentType ; +} +} + +public override string yyname { get { return "Assignment"; }} +public override int yynum { get { return 110; }} +public Assignment(Parser yyp):base(yyp){}} +//%+ReturnStatement+111 +public class ReturnStatement : SYMBOL{ + public ReturnStatement (Parser yyp):base(((LSLSyntax +)yyp)){} + public ReturnStatement (Parser yyp, Expression e ):base(((LSLSyntax +)yyp)){ if ( e is ConstantExpression ) while (0< e . kids . Count ) kids . Add ( e . kids . Pop ()); + else kids . Add ( e ); +} + +public override string yyname { get { return "ReturnStatement"; }} +public override int yynum { get { return 111; }} +} +//%+JumpLabel+112 +public class JumpLabel : SYMBOL{ + private string m_labelName ; + public JumpLabel (Parser yyp, string labelName ):base(((LSLSyntax +)yyp)){ m_labelName = labelName ; +} + public string LabelName { get { return m_labelName ; +} +} + public override string ToString (){ return base . ToString ()+"<"+ m_labelName +">"; +} + +public override string yyname { get { return "JumpLabel"; }} +public override int yynum { get { return 112; }} +public JumpLabel(Parser yyp):base(yyp){}} +//%+JumpStatement+113 +public class JumpStatement : SYMBOL{ + private string m_targetName ; + public JumpStatement (Parser yyp, string targetName ):base(((LSLSyntax +)yyp)){ m_targetName = targetName ; +} + public string TargetName { get { return m_targetName ; +} +} + public override string ToString (){ return base . ToString ()+"<"+ m_targetName +">"; +} + +public override string yyname { get { return "JumpStatement"; }} +public override int yynum { get { return 113; }} +public JumpStatement(Parser yyp):base(yyp){}} +//%+StateChange+114 +public class StateChange : SYMBOL{ + private string m_newState ; + public StateChange (Parser yyp, string newState ):base(((LSLSyntax +)yyp)){ m_newState = newState ; +} + public string NewState { get { return m_newState ; +} +} + +public override string yyname { get { return "StateChange"; }} +public override int yynum { get { return 114; }} +public StateChange(Parser yyp):base(yyp){}} +//%+IfStatement+115 +public class IfStatement : SYMBOL{ + private void AddStatement ( Statement s ){ if ( s . kids . Top is CompoundStatement ) kids . Add ( s . kids . Pop ()); + else kids . Add ( s ); +} + public IfStatement (Parser yyp, Expression e , Statement ifs ):base(((LSLSyntax +)yyp)){ kids . Add ( e ); + AddStatement ( ifs ); +} + public IfStatement (Parser yyp, Expression e , Statement ifs , Statement es ):base(((LSLSyntax +)yyp)){ kids . Add ( e ); + AddStatement ( ifs ); + if ( es . kids . Top is IfStatement ) kids . Add ( es . kids . Pop ()); + else AddStatement ( es ); +} + +public override string yyname { get { return "IfStatement"; }} +public override int yynum { get { return 115; }} +public IfStatement(Parser yyp):base(yyp){}} +//%+WhileStatement+116 +public class WhileStatement : SYMBOL{ + public WhileStatement (Parser yyp, Expression e , Statement s ):base(((LSLSyntax +)yyp)){ kids . Add ( e ); + if ( s . kids . Top is CompoundStatement ) kids . Add ( s . kids . Pop ()); + else kids . Add ( s ); +} + +public override string yyname { get { return "WhileStatement"; }} +public override int yynum { get { return 116; }} +public WhileStatement(Parser yyp):base(yyp){}} +//%+DoWhileStatement+117 +public class DoWhileStatement : SYMBOL{ + public DoWhileStatement (Parser yyp, Expression e , Statement s ):base(((LSLSyntax +)yyp)){ if ( s . kids . Top is CompoundStatement ) kids . Add ( s . kids . Pop ()); + else kids . Add ( s ); + kids . Add ( e ); +} + +public override string yyname { get { return "DoWhileStatement"; }} +public override int yynum { get { return 117; }} +public DoWhileStatement(Parser yyp):base(yyp){}} +//%+ForLoop+118 +public class ForLoop : SYMBOL{ + public ForLoop (Parser yyp, ForLoopStatement flsa , Expression e , ForLoopStatement flsb , Statement s ):base(((LSLSyntax +)yyp)){ kids . Add ( flsa ); + kids . Add ( e ); + kids . Add ( flsb ); + if ( s . kids . Top is CompoundStatement ) kids . Add ( s . kids . Pop ()); + else kids . Add ( s ); +} + +public override string yyname { get { return "ForLoop"; }} +public override int yynum { get { return 118; }} +public ForLoop(Parser yyp):base(yyp){}} +//%+ForLoopStatement+119 +public class ForLoopStatement : SYMBOL{ + public ForLoopStatement (Parser yyp, Expression e ):base(((LSLSyntax +)yyp)){ kids . Add ( e ); +} + public ForLoopStatement (Parser yyp, Assignment a ):base(((LSLSyntax +)yyp)){ kids . Add ( a ); +} + public ForLoopStatement (Parser yyp, ForLoopStatement fls , Expression e ):base(((LSLSyntax +)yyp)){ while (0< fls . kids . Count ) kids . Add ( fls . kids . Pop ()); + kids . Add ( e ); +} + public ForLoopStatement (Parser yyp, ForLoopStatement fls , Assignment a ):base(((LSLSyntax +)yyp)){ while (0< fls . kids . Count ) kids . Add ( fls . kids . Pop ()); + kids . Add ( a ); +} + +public override string yyname { get { return "ForLoopStatement"; }} +public override int yynum { get { return 119; }} +public ForLoopStatement(Parser yyp):base(yyp){}} +//%+FunctionCall+120 +public class FunctionCall : SYMBOL{ + private string m_id ; + public FunctionCall (Parser yyp, string id , ArgumentList al ):base(((LSLSyntax +)yyp)){ m_id = id ; + kids . Add ( al ); +} + public override string ToString (){ return base . ToString ()+"<"+ m_id +">"; +} + public string Id { get { return m_id ; +} +} + +public override string yyname { get { return "FunctionCall"; }} +public override int yynum { get { return 120; }} +public FunctionCall(Parser yyp):base(yyp){}} +//%+ArgumentList+121 +public class ArgumentList : SYMBOL{ + public ArgumentList (Parser yyp, Argument a ):base(((LSLSyntax +)yyp)){ AddArgument ( a ); +} + public ArgumentList (Parser yyp, ArgumentList al , Argument a ):base(((LSLSyntax +)yyp)){ while (0< al . kids . Count ) kids . Add ( al . kids . Pop ()); + AddArgument ( a ); +} + private void AddArgument ( Argument a ){ if ( a is ExpressionArgument ) while (0< a . kids . Count ) kids . Add ( a . kids . Pop ()); + else kids . Add ( a ); +} + +public override string yyname { get { return "ArgumentList"; }} +public override int yynum { get { return 121; }} +public ArgumentList(Parser yyp):base(yyp){}} +//%+Argument+122 +public class Argument : SYMBOL{ +public override string yyname { get { return "Argument"; }} +public override int yynum { get { return 122; }} +public Argument(Parser yyp):base(yyp){}} +//%+ExpressionArgument+123 +public class ExpressionArgument : Argument{ + public ExpressionArgument (Parser yyp, Expression e ):base(((LSLSyntax +)yyp)){ if ( e is ConstantExpression ) while (0< e . kids . Count ) kids . Add ( e . kids . Pop ()); + else kids . Add ( e ); +} + +public override string yyname { get { return "ExpressionArgument"; }} +public override int yynum { get { return 123; }} +public ExpressionArgument(Parser yyp):base(yyp){}} +//%+Constant+124 +public class Constant : SYMBOL{ + private string m_type ; + private string m_val ; + public Constant (Parser yyp, string type , string val ):base(((LSLSyntax +)yyp)){ m_type = type ; + m_val = val ; +} + public override string ToString (){ return base . ToString ()+"<"+ m_type +":"+ m_val +">"; +} + public string Value { get { return m_val ; +} + set { m_val = value ; +} +} + public string Type { get { return m_type ; +} + set { m_type = value ; +} +} + +public override string yyname { get { return "Constant"; }} +public override int yynum { get { return 124; }} +public Constant(Parser yyp):base(yyp){}} +//%+VectorConstant+125 +public class VectorConstant : Constant{ + public VectorConstant (Parser yyp, Expression valX , Expression valY , Expression valZ ):base(((LSLSyntax +)yyp),"vector", null ){ kids . Add ( valX ); + kids . Add ( valY ); + kids . Add ( valZ ); +} + +public override string yyname { get { return "VectorConstant"; }} +public override int yynum { get { return 125; }} +public VectorConstant(Parser yyp):base(yyp){}} +//%+RotationConstant+126 +public class RotationConstant : Constant{ + public RotationConstant (Parser yyp, Expression valX , Expression valY , Expression valZ , Expression valS ):base(((LSLSyntax +)yyp),"rotation", null ){ kids . Add ( valX ); + kids . Add ( valY ); + kids . Add ( valZ ); + kids . Add ( valS ); +} + +public override string yyname { get { return "RotationConstant"; }} +public override int yynum { get { return 126; }} +public RotationConstant(Parser yyp):base(yyp){}} +//%+ListConstant+127 +public class ListConstant : Constant{ + public ListConstant (Parser yyp, ArgumentList al ):base(((LSLSyntax +)yyp),"list", null ){ kids . Add ( al ); +} + +public override string yyname { get { return "ListConstant"; }} +public override int yynum { get { return 127; }} +public ListConstant(Parser yyp):base(yyp){}} +//%+Expression+128 +public class Expression : SYMBOL{ + protected void AddExpression ( Expression e ){ if ( e is ConstantExpression ) while (0< e . kids . Count ) kids . Add ( e . kids . Pop ()); + else kids . Add ( e ); +} + +public override string yyname { get { return "Expression"; }} +public override int yynum { get { return 128; }} +public Expression(Parser yyp):base(yyp){}} +//%+ConstantExpression+129 +public class ConstantExpression : Expression{ + public ConstantExpression (Parser yyp, Constant c ):base(((LSLSyntax +)yyp)){ kids . Add ( c ); +} + +public override string yyname { get { return "ConstantExpression"; }} +public override int yynum { get { return 129; }} +public ConstantExpression(Parser yyp):base(yyp){}} +//%+IdentExpression+130 +public class IdentExpression : Expression{ + protected string m_name ; + public IdentExpression (Parser yyp, string name ):base(((LSLSyntax +)yyp)){ m_name = name ; +} + public override string ToString (){ return base . ToString ()+"<"+ m_name +">"; +} + public string Name { get { return m_name ; +} +} + +public override string yyname { get { return "IdentExpression"; }} +public override int yynum { get { return 130; }} +public IdentExpression(Parser yyp):base(yyp){}} +//%+IdentDotExpression+131 +public class IdentDotExpression : IdentExpression{ + private string m_member ; + public IdentDotExpression (Parser yyp, string name , string member ):base(((LSLSyntax +)yyp), name ){ m_member = member ; +} + public override string ToString (){ string baseToString = base . ToString (); + return baseToString . Substring (0, baseToString . Length -1)+"."+ m_member +">"; +} + public string Member { get { return m_member ; +} +} + +public override string yyname { get { return "IdentDotExpression"; }} +public override int yynum { get { return 131; }} +public IdentDotExpression(Parser yyp):base(yyp){}} +//%+FunctionCallExpression+132 +public class FunctionCallExpression : Expression{ + public FunctionCallExpression (Parser yyp, FunctionCall fc ):base(((LSLSyntax +)yyp)){ kids . Add ( fc ); +} + +public override string yyname { get { return "FunctionCallExpression"; }} +public override int yynum { get { return 132; }} +public FunctionCallExpression(Parser yyp):base(yyp){}} +//%+BinaryExpression+133 +public class BinaryExpression : Expression{ + private string m_expressionSymbol ; + public BinaryExpression (Parser yyp, Expression lhs , Expression rhs , string expressionSymbol ):base(((LSLSyntax +)yyp)){ m_expressionSymbol = expressionSymbol ; + AddExpression ( lhs ); + AddExpression ( rhs ); +} + public string ExpressionSymbol { get { return m_expressionSymbol ; +} +} + public override string ToString (){ return base . ToString ()+"<"+ m_expressionSymbol +">"; +} + +public override string yyname { get { return "BinaryExpression"; }} +public override int yynum { get { return 133; }} +public BinaryExpression(Parser yyp):base(yyp){}} +//%+UnaryExpression+134 +public class UnaryExpression : Expression{ + private string m_unarySymbol ; + public UnaryExpression (Parser yyp, string unarySymbol , Expression e ):base(((LSLSyntax +)yyp)){ m_unarySymbol = unarySymbol ; + kids . Add ( e ); +} + public string UnarySymbol { get { return m_unarySymbol ; +} +} + +public override string yyname { get { return "UnaryExpression"; }} +public override int yynum { get { return 134; }} +public UnaryExpression(Parser yyp):base(yyp){}} +//%+TypecastExpression+135 +public class TypecastExpression : Expression{ + private string m_typecastType ; + public TypecastExpression (Parser yyp, string typecastType , SYMBOL rhs ):base(((LSLSyntax +)yyp)){ m_typecastType = typecastType ; + kids . Add ( rhs ); +} + public string TypecastType { get { return m_typecastType ; +} + set { m_typecastType = value ; +} +} + +public override string yyname { get { return "TypecastExpression"; }} +public override int yynum { get { return 135; }} +public TypecastExpression(Parser yyp):base(yyp){}} +//%+ParenthesisExpression+136 +public class ParenthesisExpression : Expression{ + public ParenthesisExpression (Parser yyp, Expression e ):base(((LSLSyntax +)yyp)){ kids . Add ( e ); +} + +public override string yyname { get { return "ParenthesisExpression"; }} +public override int yynum { get { return 136; }} +public ParenthesisExpression(Parser yyp):base(yyp){}} +//%+IncrementDecrementExpression+137 +public class IncrementDecrementExpression : Expression{ + private string m_name ; + private string m_operation ; + private bool m_postOperation ; + public IncrementDecrementExpression (Parser yyp, string name , string operation , bool postOperation ):base(((LSLSyntax +)yyp)){ m_name = name ; + m_operation = operation ; + m_postOperation = postOperation ; +} + public IncrementDecrementExpression (Parser yyp, IdentDotExpression ide , string operation , bool postOperation ):base(((LSLSyntax +)yyp)){ m_operation = operation ; + m_postOperation = postOperation ; + kids . Add ( ide ); +} + public override string ToString (){ return base . ToString ()+"<"+( m_postOperation ? m_name + m_operation : m_operation + m_name )+">"; +} + public string Name { get { return m_name ; +} +} + public string Operation { get { return m_operation ; +} +} + public bool PostOperation { get { return m_postOperation ; +} +} + +public override string yyname { get { return "IncrementDecrementExpression"; }} +public override int yynum { get { return 137; }} +public IncrementDecrementExpression(Parser yyp):base(yyp){}} + +public class LSLProgramRoot_1 : LSLProgramRoot { + public LSLProgramRoot_1(Parser yyq):base(yyq, + ((GlobalDefinitions)(yyq.StackAt(1).m_value)) + , + ((States)(yyq.StackAt(0).m_value)) + ){}} + +public class LSLProgramRoot_2 : LSLProgramRoot { + public LSLProgramRoot_2(Parser yyq):base(yyq, + ((States)(yyq.StackAt(0).m_value)) + ){}} + +public class GlobalDefinitions_1 : GlobalDefinitions { + public GlobalDefinitions_1(Parser yyq):base(yyq, + ((GlobalVariableDeclaration)(yyq.StackAt(0).m_value)) + ){}} + +public class GlobalDefinitions_2 : GlobalDefinitions { + public GlobalDefinitions_2(Parser yyq):base(yyq, + ((GlobalDefinitions)(yyq.StackAt(1).m_value)) + , + ((GlobalVariableDeclaration)(yyq.StackAt(0).m_value)) + ){}} + +public class GlobalDefinitions_3 : GlobalDefinitions { + public GlobalDefinitions_3(Parser yyq):base(yyq, + ((GlobalFunctionDefinition)(yyq.StackAt(0).m_value)) + ){}} + +public class GlobalDefinitions_4 : GlobalDefinitions { + public GlobalDefinitions_4(Parser yyq):base(yyq, + ((GlobalDefinitions)(yyq.StackAt(1).m_value)) + , + ((GlobalFunctionDefinition)(yyq.StackAt(0).m_value)) + ){}} + +public class GlobalVariableDeclaration_1 : GlobalVariableDeclaration { + public GlobalVariableDeclaration_1(Parser yyq):base(yyq, + ((Declaration)(yyq.StackAt(1).m_value)) + ){}} + +public class GlobalVariableDeclaration_2 : GlobalVariableDeclaration { + public GlobalVariableDeclaration_2(Parser yyq):base(yyq,new Assignment(((LSLSyntax +)yyq), + ((Declaration)(yyq.StackAt(3).m_value)) + , + ((Expression)(yyq.StackAt(1).m_value)) + , + ((EQUALS)(yyq.StackAt(2).m_value)) + .yytext)){}} + +public class GlobalFunctionDefinition_1 : GlobalFunctionDefinition { + public GlobalFunctionDefinition_1(Parser yyq):base(yyq,"void", + ((IDENT)(yyq.StackAt(4).m_value)) + .yytext, + ((ArgumentDeclarationList)(yyq.StackAt(2).m_value)) + , + ((CompoundStatement)(yyq.StackAt(0).m_value)) + ){}} + +public class GlobalFunctionDefinition_2 : GlobalFunctionDefinition { + public GlobalFunctionDefinition_2(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(5).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(4).m_value)) + .yytext, + ((ArgumentDeclarationList)(yyq.StackAt(2).m_value)) + , + ((CompoundStatement)(yyq.StackAt(0).m_value)) + ){}} + +public class States_1 : States { + public States_1(Parser yyq):base(yyq, + ((State)(yyq.StackAt(0).m_value)) + ){}} + +public class States_2 : States { + public States_2(Parser yyq):base(yyq, + ((States)(yyq.StackAt(1).m_value)) + , + ((State)(yyq.StackAt(0).m_value)) + ){}} + +public class State_1 : State { + public State_1(Parser yyq):base(yyq, + ((DEFAULT_STATE)(yyq.StackAt(3).m_value)) + .yytext, + ((StateBody)(yyq.StackAt(1).m_value)) + ){}} + +public class State_2 : State { + public State_2(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(3).m_value)) + .yytext, + ((StateBody)(yyq.StackAt(1).m_value)) + ){}} + +public class StateBody_1 : StateBody { + public StateBody_1(Parser yyq):base(yyq, + ((StateEvent)(yyq.StackAt(0).m_value)) + ){}} + +public class StateBody_2 : StateBody { + public StateBody_2(Parser yyq):base(yyq, + ((StateBody)(yyq.StackAt(1).m_value)) + , + ((StateEvent)(yyq.StackAt(0).m_value)) + ){}} + +public class StateEvent_1 : StateEvent { + public StateEvent_1(Parser yyq):base(yyq, + ((Event)(yyq.StackAt(4).m_value)) + .yytext, + ((ArgumentDeclarationList)(yyq.StackAt(2).m_value)) + , + ((CompoundStatement)(yyq.StackAt(0).m_value)) + ){}} + +public class ArgumentDeclarationList_1 : ArgumentDeclarationList { + public ArgumentDeclarationList_1(Parser yyq):base(yyq, + ((Declaration)(yyq.StackAt(0).m_value)) + ){}} + +public class ArgumentDeclarationList_2 : ArgumentDeclarationList { + public ArgumentDeclarationList_2(Parser yyq):base(yyq, + ((ArgumentDeclarationList)(yyq.StackAt(2).m_value)) + , + ((Declaration)(yyq.StackAt(0).m_value)) + ){}} + +public class Declaration_1 : Declaration { + public Declaration_1(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(1).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class CompoundStatement_1 : CompoundStatement { + public CompoundStatement_1(Parser yyq):base(yyq){}} + +public class CompoundStatement_2 : CompoundStatement { + public CompoundStatement_2(Parser yyq):base(yyq, + ((StatementList)(yyq.StackAt(1).m_value)) + ){}} + +public class StatementList_1 : StatementList { + public StatementList_1(Parser yyq):base(yyq, + ((Statement)(yyq.StackAt(0).m_value)) + ){}} + +public class StatementList_2 : StatementList { + public StatementList_2(Parser yyq):base(yyq, + ((StatementList)(yyq.StackAt(1).m_value)) + , + ((Statement)(yyq.StackAt(0).m_value)) + ){}} + +public class Statement_1 : Statement { + public Statement_1(Parser yyq):base(yyq, + ((Declaration)(yyq.StackAt(1).m_value)) + ){}} + +public class Statement_2 : Statement { + public Statement_2(Parser yyq):base(yyq, + ((Assignment)(yyq.StackAt(1).m_value)) + ){}} + +public class Statement_3 : Statement { + public Statement_3(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(1).m_value)) + ){}} + +public class Statement_4 : Statement { + public Statement_4(Parser yyq):base(yyq, + ((ReturnStatement)(yyq.StackAt(1).m_value)) + ){}} + +public class Statement_5 : Statement { + public Statement_5(Parser yyq):base(yyq, + ((JumpLabel)(yyq.StackAt(1).m_value)) + ){}} + +public class Statement_6 : Statement { + public Statement_6(Parser yyq):base(yyq, + ((JumpStatement)(yyq.StackAt(1).m_value)) + ){}} + +public class Statement_7 : Statement { + public Statement_7(Parser yyq):base(yyq, + ((StateChange)(yyq.StackAt(1).m_value)) + ){}} + +public class Statement_8 : Statement { + public Statement_8(Parser yyq):base(yyq, + ((IfStatement)(yyq.StackAt(0).m_value)) + ){}} + +public class Statement_9 : Statement { + public Statement_9(Parser yyq):base(yyq, + ((WhileStatement)(yyq.StackAt(0).m_value)) + ){}} + +public class Statement_10 : Statement { + public Statement_10(Parser yyq):base(yyq, + ((DoWhileStatement)(yyq.StackAt(0).m_value)) + ){}} + +public class Statement_11 : Statement { + public Statement_11(Parser yyq):base(yyq, + ((ForLoop)(yyq.StackAt(0).m_value)) + ){}} + +public class Statement_12 : Statement { + public Statement_12(Parser yyq):base(yyq, + ((CompoundStatement)(yyq.StackAt(0).m_value)) + ){}} + +public class JumpLabel_1 : JumpLabel { + public JumpLabel_1(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class JumpStatement_1 : JumpStatement { + public JumpStatement_1(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class StateChange_1 : StateChange { + public StateChange_1(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class StateChange_2 : StateChange { + public StateChange_2(Parser yyq):base(yyq, + ((DEFAULT_STATE)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class IfStatement_1 : IfStatement { + public IfStatement_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Statement)(yyq.StackAt(0).m_value)) + ){}} + +public class IfStatement_2 : IfStatement { + public IfStatement_2(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(4).m_value)) + , + ((Statement)(yyq.StackAt(2).m_value)) + , + ((Statement)(yyq.StackAt(0).m_value)) + ){}} + +public class WhileStatement_1 : WhileStatement { + public WhileStatement_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Statement)(yyq.StackAt(0).m_value)) + ){}} + +public class DoWhileStatement_1 : DoWhileStatement { + public DoWhileStatement_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Statement)(yyq.StackAt(5).m_value)) + ){}} + +public class ForLoop_1 : ForLoop { + public ForLoop_1(Parser yyq):base(yyq, + ((ForLoopStatement)(yyq.StackAt(6).m_value)) + , + ((Expression)(yyq.StackAt(4).m_value)) + , + ((ForLoopStatement)(yyq.StackAt(2).m_value)) + , + ((Statement)(yyq.StackAt(0).m_value)) + ){}} + +public class ForLoopStatement_1 : ForLoopStatement { + public ForLoopStatement_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(0).m_value)) + ){}} + +public class ForLoopStatement_2 : ForLoopStatement { + public ForLoopStatement_2(Parser yyq):base(yyq, + ((Assignment)(yyq.StackAt(0).m_value)) + ){}} + +public class ForLoopStatement_3 : ForLoopStatement { + public ForLoopStatement_3(Parser yyq):base(yyq, + ((ForLoopStatement)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + ){}} + +public class ForLoopStatement_4 : ForLoopStatement { + public ForLoopStatement_4(Parser yyq):base(yyq, + ((ForLoopStatement)(yyq.StackAt(2).m_value)) + , + ((Assignment)(yyq.StackAt(0).m_value)) + ){}} + +public class Assignment_1 : Assignment { + public Assignment_1(Parser yyq):base(yyq, + ((Declaration)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class Assignment_2 : Assignment { + public Assignment_2(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class Assignment_3 : Assignment { + public Assignment_3(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((PLUS_EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class Assignment_4 : Assignment { + public Assignment_4(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((MINUS_EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class Assignment_5 : Assignment { + public Assignment_5(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((STAR_EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class Assignment_6 : Assignment { + public Assignment_6(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((SLASH_EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class Assignment_7 : Assignment { + public Assignment_7(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((PERCENT_EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class Assignment_8 : Assignment { + public Assignment_8(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(4).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(2).m_value)) + .yytext), + ((Expression)(yyq.StackAt(0).m_value)) + , + ((EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class ReturnStatement_1 : ReturnStatement { + public ReturnStatement_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(0).m_value)) + ){}} + +public class ReturnStatement_2 : ReturnStatement { + public ReturnStatement_2(Parser yyq):base(yyq){}} + +public class Constant_1 : Constant { + public Constant_1(Parser yyq):base(yyq,"integer", + ((INTEGER_CONSTANT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Constant_2 : Constant { + public Constant_2(Parser yyq):base(yyq,"integer", + ((HEX_INTEGER_CONSTANT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Constant_3 : Constant { + public Constant_3(Parser yyq):base(yyq,"float", + ((FLOAT_CONSTANT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Constant_4 : Constant { + public Constant_4(Parser yyq):base(yyq,"string", + ((STRING_CONSTANT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class VectorConstant_1 : VectorConstant { + public VectorConstant_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(5).m_value)) + , + ((Expression)(yyq.StackAt(3).m_value)) + , + ((Expression)(yyq.StackAt(1).m_value)) + ){}} + +public class RotationConstant_1 : RotationConstant { + public RotationConstant_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(7).m_value)) + , + ((Expression)(yyq.StackAt(5).m_value)) + , + ((Expression)(yyq.StackAt(3).m_value)) + , + ((Expression)(yyq.StackAt(1).m_value)) + ){}} + +public class ListConstant_1 : ListConstant { + public ListConstant_1(Parser yyq):base(yyq, + ((ArgumentList)(yyq.StackAt(1).m_value)) + ){}} + +public class ConstantExpression_1 : ConstantExpression { + public ConstantExpression_1(Parser yyq):base(yyq, + ((Constant)(yyq.StackAt(0).m_value)) + ){}} + +public class IdentExpression_1 : IdentExpression { + public IdentExpression_1(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class IdentDotExpression_1 : IdentDotExpression { + public IdentDotExpression_1(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(2).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class IncrementDecrementExpression_1 : IncrementDecrementExpression { + public IncrementDecrementExpression_1(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(1).m_value)) + .yytext, + ((INCREMENT)(yyq.StackAt(0).m_value)) + .yytext, true){}} + +public class IncrementDecrementExpression_2 : IncrementDecrementExpression { + public IncrementDecrementExpression_2(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(1).m_value)) + .yytext, + ((DECREMENT)(yyq.StackAt(0).m_value)) + .yytext, true){}} + +public class IncrementDecrementExpression_3 : IncrementDecrementExpression { + public IncrementDecrementExpression_3(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(3).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(1).m_value)) + .yytext), + ((INCREMENT)(yyq.StackAt(0).m_value)) + .yytext, true){}} + +public class IncrementDecrementExpression_4 : IncrementDecrementExpression { + public IncrementDecrementExpression_4(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(3).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(1).m_value)) + .yytext), + ((DECREMENT)(yyq.StackAt(0).m_value)) + .yytext, true){}} + +public class IncrementDecrementExpression_5 : IncrementDecrementExpression { + public IncrementDecrementExpression_5(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext, + ((INCREMENT)(yyq.StackAt(1).m_value)) + .yytext, false){}} + +public class IncrementDecrementExpression_6 : IncrementDecrementExpression { + public IncrementDecrementExpression_6(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext, + ((DECREMENT)(yyq.StackAt(1).m_value)) + .yytext, false){}} + +public class IncrementDecrementExpression_7 : IncrementDecrementExpression { + public IncrementDecrementExpression_7(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(2).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext), + ((INCREMENT)(yyq.StackAt(3).m_value)) + .yytext, false){}} + +public class IncrementDecrementExpression_8 : IncrementDecrementExpression { + public IncrementDecrementExpression_8(Parser yyq):base(yyq,new IdentDotExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(2).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext), + ((DECREMENT)(yyq.StackAt(3).m_value)) + .yytext, false){}} + +public class FunctionCallExpression_1 : FunctionCallExpression { + public FunctionCallExpression_1(Parser yyq):base(yyq, + ((FunctionCall)(yyq.StackAt(0).m_value)) + ){}} + +public class BinaryExpression_1 : BinaryExpression { + public BinaryExpression_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((PLUS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_2 : BinaryExpression { + public BinaryExpression_2(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((MINUS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_3 : BinaryExpression { + public BinaryExpression_3(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((STAR)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_4 : BinaryExpression { + public BinaryExpression_4(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((SLASH)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_5 : BinaryExpression { + public BinaryExpression_5(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((PERCENT)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_6 : BinaryExpression { + public BinaryExpression_6(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((AMP)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_7 : BinaryExpression { + public BinaryExpression_7(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((STROKE)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_8 : BinaryExpression { + public BinaryExpression_8(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((CARET)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_9 : BinaryExpression { + public BinaryExpression_9(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((RIGHT_ANGLE)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_10 : BinaryExpression { + public BinaryExpression_10(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((LEFT_ANGLE)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_11 : BinaryExpression { + public BinaryExpression_11(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((EQUALS_EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_12 : BinaryExpression { + public BinaryExpression_12(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((EXCLAMATION_EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_13 : BinaryExpression { + public BinaryExpression_13(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((LESS_EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_14 : BinaryExpression { + public BinaryExpression_14(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((GREATER_EQUALS)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_15 : BinaryExpression { + public BinaryExpression_15(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((AMP_AMP)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_16 : BinaryExpression { + public BinaryExpression_16(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((STROKE_STROKE)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_17 : BinaryExpression { + public BinaryExpression_17(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((LEFT_SHIFT)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class BinaryExpression_18 : BinaryExpression { + public BinaryExpression_18(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(2).m_value)) + , + ((Expression)(yyq.StackAt(0).m_value)) + , + ((RIGHT_SHIFT)(yyq.StackAt(1).m_value)) + .yytext){}} + +public class UnaryExpression_1 : UnaryExpression { + public UnaryExpression_1(Parser yyq):base(yyq, + ((EXCLAMATION)(yyq.StackAt(1).m_value)) + .yytext, + ((Expression)(yyq.StackAt(0).m_value)) + ){}} + +public class UnaryExpression_2 : UnaryExpression { + public UnaryExpression_2(Parser yyq):base(yyq, + ((MINUS)(yyq.StackAt(1).m_value)) + .yytext, + ((Expression)(yyq.StackAt(0).m_value)) + ){}} + +public class UnaryExpression_3 : UnaryExpression { + public UnaryExpression_3(Parser yyq):base(yyq, + ((TILDE)(yyq.StackAt(1).m_value)) + .yytext, + ((Expression)(yyq.StackAt(0).m_value)) + ){}} + +public class ParenthesisExpression_1 : ParenthesisExpression { + public ParenthesisExpression_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(1).m_value)) + ){}} + +public class TypecastExpression_1 : TypecastExpression { + public TypecastExpression_1(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(2).m_value)) + .yytext, + ((Constant)(yyq.StackAt(0).m_value)) + ){}} + +public class TypecastExpression_2 : TypecastExpression { + public TypecastExpression_2(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(2).m_value)) + .yytext, new IdentExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext)){}} + +public class TypecastExpression_3 : TypecastExpression { + public TypecastExpression_3(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(4).m_value)) + .yytext, new IdentDotExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(2).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(0).m_value)) + .yytext)){}} + +public class TypecastExpression_4 : TypecastExpression { + public TypecastExpression_4(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(3).m_value)) + .yytext, new IncrementDecrementExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(1).m_value)) + .yytext, + ((INCREMENT)(yyq.StackAt(0).m_value)) + .yytext, true)){}} + +public class TypecastExpression_5 : TypecastExpression { + public TypecastExpression_5(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(5).m_value)) + .yytext, new IncrementDecrementExpression(((LSLSyntax +)yyq), new IdentDotExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(3).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(1).m_value)) + .yytext), + ((INCREMENT)(yyq.StackAt(0).m_value)) + .yytext, true)){}} + +public class TypecastExpression_6 : TypecastExpression { + public TypecastExpression_6(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(3).m_value)) + .yytext, new IncrementDecrementExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(1).m_value)) + .yytext, + ((DECREMENT)(yyq.StackAt(0).m_value)) + .yytext, true)){}} + +public class TypecastExpression_7 : TypecastExpression { + public TypecastExpression_7(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(5).m_value)) + .yytext, new IncrementDecrementExpression(((LSLSyntax +)yyq), new IdentDotExpression(((LSLSyntax +)yyq), + ((IDENT)(yyq.StackAt(3).m_value)) + .yytext, + ((IDENT)(yyq.StackAt(1).m_value)) + .yytext), + ((DECREMENT)(yyq.StackAt(0).m_value)) + .yytext, true)){}} + +public class TypecastExpression_8 : TypecastExpression { + public TypecastExpression_8(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(2).m_value)) + .yytext, + ((FunctionCall)(yyq.StackAt(0).m_value)) + ){}} + +public class TypecastExpression_9 : TypecastExpression { + public TypecastExpression_9(Parser yyq):base(yyq, + ((Typename)(yyq.StackAt(4).m_value)) + .yytext, + ((Expression)(yyq.StackAt(1).m_value)) + ){}} + +public class FunctionCall_1 : FunctionCall { + public FunctionCall_1(Parser yyq):base(yyq, + ((IDENT)(yyq.StackAt(3).m_value)) + .yytext, + ((ArgumentList)(yyq.StackAt(1).m_value)) + ){}} + +public class ArgumentList_1 : ArgumentList { + public ArgumentList_1(Parser yyq):base(yyq, + ((Argument)(yyq.StackAt(0).m_value)) + ){}} + +public class ArgumentList_2 : ArgumentList { + public ArgumentList_2(Parser yyq):base(yyq, + ((ArgumentList)(yyq.StackAt(2).m_value)) + , + ((Argument)(yyq.StackAt(0).m_value)) + ){}} + +public class ExpressionArgument_1 : ExpressionArgument { + public ExpressionArgument_1(Parser yyq):base(yyq, + ((Expression)(yyq.StackAt(0).m_value)) + ){}} + +public class Typename_1 : Typename { + public Typename_1(Parser yyq):base(yyq, + ((INTEGER_TYPE)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Typename_2 : Typename { + public Typename_2(Parser yyq):base(yyq, + ((FLOAT_TYPE)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Typename_3 : Typename { + public Typename_3(Parser yyq):base(yyq, + ((STRING_TYPE)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Typename_4 : Typename { + public Typename_4(Parser yyq):base(yyq, + ((KEY_TYPE)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Typename_5 : Typename { + public Typename_5(Parser yyq):base(yyq, + ((VECTOR_TYPE)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Typename_6 : Typename { + public Typename_6(Parser yyq):base(yyq, + ((ROTATION_TYPE)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Typename_7 : Typename { + public Typename_7(Parser yyq):base(yyq, + ((LIST_TYPE)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_1 : Event { + public Event_1(Parser yyq):base(yyq, + ((AT_ROT_TARGET_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_2 : Event { + public Event_2(Parser yyq):base(yyq, + ((AT_TARGET_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_3 : Event { + public Event_3(Parser yyq):base(yyq, + ((ATTACH_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_4 : Event { + public Event_4(Parser yyq):base(yyq, + ((CHANGED_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_5 : Event { + public Event_5(Parser yyq):base(yyq, + ((COLLISION_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_6 : Event { + public Event_6(Parser yyq):base(yyq, + ((COLLISION_END_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_7 : Event { + public Event_7(Parser yyq):base(yyq, + ((COLLISION_START_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_8 : Event { + public Event_8(Parser yyq):base(yyq, + ((CONTROL_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_9 : Event { + public Event_9(Parser yyq):base(yyq, + ((DATASERVER_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_10 : Event { + public Event_10(Parser yyq):base(yyq, + ((EMAIL_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_11 : Event { + public Event_11(Parser yyq):base(yyq, + ((HTTP_RESPONSE_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_12 : Event { + public Event_12(Parser yyq):base(yyq, + ((LAND_COLLISION_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_13 : Event { + public Event_13(Parser yyq):base(yyq, + ((LAND_COLLISION_END_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_14 : Event { + public Event_14(Parser yyq):base(yyq, + ((LAND_COLLISION_START_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_15 : Event { + public Event_15(Parser yyq):base(yyq, + ((LINK_MESSAGE_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_16 : Event { + public Event_16(Parser yyq):base(yyq, + ((LISTEN_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_17 : Event { + public Event_17(Parser yyq):base(yyq, + ((MONEY_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_18 : Event { + public Event_18(Parser yyq):base(yyq, + ((MOVING_END_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_19 : Event { + public Event_19(Parser yyq):base(yyq, + ((MOVING_START_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_20 : Event { + public Event_20(Parser yyq):base(yyq, + ((NO_SENSOR_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_21 : Event { + public Event_21(Parser yyq):base(yyq, + ((NOT_AT_ROT_TARGET_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_22 : Event { + public Event_22(Parser yyq):base(yyq, + ((NOT_AT_TARGET_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_23 : Event { + public Event_23(Parser yyq):base(yyq, + ((OBJECT_REZ_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_24 : Event { + public Event_24(Parser yyq):base(yyq, + ((ON_REZ_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_25 : Event { + public Event_25(Parser yyq):base(yyq, + ((REMOTE_DATA_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_26 : Event { + public Event_26(Parser yyq):base(yyq, + ((RUN_TIME_PERMISSIONS_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_27 : Event { + public Event_27(Parser yyq):base(yyq, + ((SENSOR_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_28 : Event { + public Event_28(Parser yyq):base(yyq, + ((STATE_ENTRY_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_29 : Event { + public Event_29(Parser yyq):base(yyq, + ((STATE_EXIT_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_30 : Event { + public Event_30(Parser yyq):base(yyq, + ((TIMER_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_31 : Event { + public Event_31(Parser yyq):base(yyq, + ((TOUCH_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_32 : Event { + public Event_32(Parser yyq):base(yyq, + ((TOUCH_END_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} + +public class Event_33 : Event { + public Event_33(Parser yyq):base(yyq, + ((TOUCH_START_EVENT)(yyq.StackAt(0).m_value)) + .yytext){}} +public class yyLSLSyntax +: YyParser { + public override object Action(Parser yyq,SYMBOL yysym, int yyact) { + switch(yyact) { + case -1: break; //// keep compiler happy +} return null; } + +public class ArgumentDeclarationList_3 : ArgumentDeclarationList { + public ArgumentDeclarationList_3(Parser yyq):base(yyq){}} + +public class ArgumentList_3 : ArgumentList { + public ArgumentList_3(Parser yyq):base(yyq){}} + +public class Statement_13 : Statement { + public Statement_13(Parser yyq):base(yyq){}} + +public class ArgumentList_4 : ArgumentList { + public ArgumentList_4(Parser yyq):base(yyq){}} + +public class ArgumentDeclarationList_4 : ArgumentDeclarationList { + public ArgumentDeclarationList_4(Parser yyq):base(yyq){}} + +public class ArgumentDeclarationList_5 : ArgumentDeclarationList { + public ArgumentDeclarationList_5(Parser yyq):base(yyq){}} +public yyLSLSyntax +():base() { arr = new int[] { +101,4,6,52,0, +46,0,53,0,102, +20,103,4,28,76, +0,83,0,76,0, +80,0,114,0,111, +0,103,0,114,0, +97,0,109,0,82, +0,111,0,111,0, +116,0,1,95,1, +2,104,18,1,2292, +102,2,0,105,5, +277,1,0,106,18, +1,0,0,2,0, +1,1,107,18,1, +1,108,20,109,4, +18,76,0,73,0, +83,0,84,0,95, +0,84,0,89,0, +80,0,69,0,1, +57,1,1,2,0, +1,2,110,18,1, +2,111,20,112,4, +26,82,0,79,0, +84,0,65,0,84, +0,73,0,79,0, +78,0,95,0,84, +0,89,0,80,0, +69,0,1,56,1, +1,2,0,1,3, +113,18,1,3,114, +20,115,4,22,86, +0,69,0,67,0, +84,0,79,0,82, +0,95,0,84,0, +89,0,80,0,69, +0,1,55,1,1, +2,0,1,4,116, +18,1,4,117,20, +118,4,16,75,0, +69,0,89,0,95, +0,84,0,89,0, +80,0,69,0,1, +54,1,1,2,0, +1,5,119,18,1, +5,120,20,121,4, +22,83,0,84,0, +82,0,73,0,78, +0,71,0,95,0, +84,0,89,0,80, +0,69,0,1,53, +1,1,2,0,1, +6,122,18,1,6, +123,20,124,4,20, +70,0,76,0,79, +0,65,0,84,0, +95,0,84,0,89, +0,80,0,69,0, +1,52,1,1,2, +0,1,7,125,18, +1,7,126,20,127, +4,24,73,0,78, +0,84,0,69,0, +71,0,69,0,82, +0,95,0,84,0, +89,0,80,0,69, +0,1,51,1,1, +2,0,1,8,128, +18,1,8,129,20, +130,4,16,84,0, +121,0,112,0,101, +0,110,0,97,0, +109,0,101,0,1, +105,1,2,2,0, +1,9,131,18,1, +9,132,20,133,4, +10,73,0,68,0, +69,0,78,0,84, +0,1,91,1,1, +2,0,1,10,134, +18,1,10,135,20, +136,4,20,76,0, +69,0,70,0,84, +0,95,0,80,0, +65,0,82,0,69, +0,78,0,1,16, +1,1,2,0,1, +2239,137,18,1,2239, +138,20,139,4,20, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +1,128,1,2,2, +0,1,573,140,18, +1,573,141,20,142, +4,26,82,0,73, +0,71,0,72,0, +84,0,95,0,66, +0,82,0,65,0, +67,0,75,0,69, +0,84,0,1,28, +1,1,2,0,1, +574,143,18,1,574, +144,20,145,4,16, +65,0,114,0,103, +0,117,0,109,0, +101,0,110,0,116, +0,1,122,1,2, +2,0,1,18,146, +18,1,18,129,2, +0,1,19,147,18, +1,19,132,2,0, +1,20,148,18,1, +20,149,20,150,4, +46,65,0,114,0, +103,0,117,0,109, +0,101,0,110,0, +116,0,68,0,101, +0,99,0,108,0, +97,0,114,0,97, +0,116,0,105,0, +111,0,110,0,76, +0,105,0,115,0, +116,0,1,103,1, +2,2,0,1,21, +151,18,1,21,152, +20,153,4,10,67, +0,79,0,77,0, +77,0,65,0,1, +14,1,1,2,0, +1,1693,154,18,1, +1693,155,20,156,4, +22,82,0,73,0, +71,0,72,0,84, +0,95,0,80,0, +65,0,82,0,69, +0,78,0,1,17, +1,1,2,0,1, +1694,157,18,1,1694, +158,20,159,4,18, +83,0,69,0,77, +0,73,0,67,0, +79,0,76,0,79, +0,78,0,1,11, +1,1,2,0,1, +30,160,18,1,30, +161,20,162,4,22, +68,0,101,0,99, +0,108,0,97,0, +114,0,97,0,116, +0,105,0,111,0, +110,0,1,104,1, +2,2,0,1,31, +163,18,1,31,155, +2,0,1,32,164, +18,1,32,165,20, +166,4,20,76,0, +69,0,70,0,84, +0,95,0,66,0, +82,0,65,0,67, +0,69,0,1,12, +1,1,2,0,1, +1706,167,18,1,1706, +168,20,169,4,10, +87,0,72,0,73, +0,76,0,69,0, +1,45,1,1,2, +0,1,1707,170,18, +1,1707,135,2,0, +1,1115,171,18,1, +1115,172,20,173,4, +12,69,0,81,0, +85,0,65,0,76, +0,83,0,1,15, +1,1,2,0,1, +1152,174,18,1,1152, +175,20,176,4,28, +80,0,69,0,82, +0,67,0,69,0, +78,0,84,0,95, +0,69,0,81,0, +85,0,65,0,76, +0,83,0,1,10, +1,1,2,0,1, +40,177,18,1,40, +132,2,0,1,41, +178,18,1,41,135, +2,0,1,42,179, +18,1,42,138,2, +0,1,43,180,18, +1,43,181,20,182, +4,22,82,0,73, +0,71,0,72,0, +84,0,95,0,83, +0,72,0,73,0, +70,0,84,0,1, +41,1,1,2,0, +1,44,183,18,1, +44,132,2,0,1, +46,184,18,1,46, +185,20,186,4,12, +80,0,69,0,82, +0,73,0,79,0, +68,0,1,24,1, +1,2,0,1,47, +187,18,1,47,132, +2,0,1,48,188, +18,1,48,189,20, +190,4,18,68,0, +69,0,67,0,82, +0,69,0,77,0, +69,0,78,0,84, +0,1,5,1,1, +2,0,1,49,191, +18,1,49,192,20, +193,4,18,73,0, +78,0,67,0,82, +0,69,0,77,0, +69,0,78,0,84, +0,1,4,1,1, +2,0,1,50,194, +18,1,50,189,2, +0,1,51,195,18, +1,51,192,2,0, +1,52,196,18,1, +52,135,2,0,1, +2281,197,18,1,2281, +198,20,199,4,12, +83,0,116,0,97, +0,116,0,101,0, +115,0,1,99,1, +2,2,0,1,1674, +200,18,1,1674,138, +2,0,1,2216,201, +18,1,2216,132,2, +0,1,2288,202,18, +1,2288,203,20,204, +4,48,71,0,108, +0,111,0,98,0, +97,0,108,0,70, +0,117,0,110,0, +99,0,116,0,105, +0,111,0,110,0, +68,0,101,0,102, +0,105,0,110,0, +105,0,116,0,105, +0,111,0,110,0, +1,98,1,2,2, +0,1,61,205,18, +1,61,129,2,0, +1,62,206,18,1, +62,155,2,0,1, +63,207,18,1,63, +132,2,0,1,2292, +104,1,65,208,18, +1,65,185,2,0, +1,66,209,18,1, +66,132,2,0,1, +67,210,18,1,67, +189,2,0,1,68, +211,18,1,68,192, +2,0,1,69,212, +18,1,69,189,2, +0,1,70,213,18, +1,70,192,2,0, +1,71,214,18,1, +71,135,2,0,1, +2099,215,18,1,2099, +216,20,217,4,18, +83,0,116,0,97, +0,116,0,101,0, +66,0,111,0,100, +0,121,0,1,101, +1,2,2,0,1, +73,218,18,1,73, +138,2,0,1,74, +219,18,1,74,155, +2,0,1,2232,220, +18,1,2232,161,2, +0,1,76,221,18, +1,76,222,20,223, +4,20,76,0,69, +0,70,0,84,0, +95,0,83,0,72, +0,73,0,70,0, +84,0,1,40,1, +1,2,0,1,1193, +224,18,1,1193,138, +2,0,1,1121,225, +18,1,1121,138,2, +0,1,82,226,18, +1,82,138,2,0, +1,79,227,18,1, +79,228,20,229,4, +10,84,0,73,0, +76,0,68,0,69, +0,1,36,1,1, +2,0,1,85,230, +18,1,85,231,20, +232,4,26,83,0, +84,0,82,0,79, +0,75,0,69,0, +95,0,83,0,84, +0,82,0,79,0, +75,0,69,0,1, +39,1,1,2,0, +1,2050,233,18,1, +2050,234,20,235,4, +34,84,0,79,0, +85,0,67,0,72, +0,95,0,83,0, +84,0,65,0,82, +0,84,0,95,0, +69,0,86,0,69, +0,78,0,84,0, +1,89,1,1,2, +0,1,89,236,18, +1,89,237,20,238, +4,10,77,0,73, +0,78,0,85,0, +83,0,1,19,1, +1,2,0,1,1762, +239,18,1,1762,240, +20,241,4,4,73, +0,70,0,1,42, +1,1,2,0,1, +1763,242,18,1,1763, +135,2,0,1,93, +243,18,1,93,138, +2,0,1,97,244, +18,1,97,245,20, +246,4,14,65,0, +77,0,80,0,95, +0,65,0,77,0, +80,0,1,38,1, +1,2,0,1,1769, +247,18,1,1769,138, +2,0,1,102,248, +18,1,102,249,20, +250,4,22,69,0, +88,0,67,0,76, +0,65,0,77,0, +65,0,84,0,73, +0,79,0,78,0, +1,37,1,1,2, +0,1,1668,251,18, +1,1668,135,2,0, +1,107,252,18,1, +107,138,2,0,1, +1222,253,18,1,1222, +254,20,255,4,22, +83,0,84,0,65, +0,82,0,95,0, +69,0,81,0,85, +0,65,0,76,0, +83,0,1,8,1, +1,2,0,1,2074, +256,18,1,2074,257, +20,258,4,32,68, +0,65,0,84,0, +65,0,83,0,69, +0,82,0,86,0, +69,0,82,0,95, +0,69,0,86,0, +69,0,78,0,84, +0,1,66,1,1, +2,0,1,112,259, +18,1,112,260,20, +261,4,28,71,0, +82,0,69,0,65, +0,84,0,69,0, +82,0,95,0,69, +0,81,0,85,0, +65,0,76,0,83, +0,1,32,1,1, +2,0,1,2269,262, +18,1,2269,158,2, +0,1,1228,263,18, +1,1228,138,2,0, +1,1732,264,18,1, +1732,155,2,0,1, +118,265,18,1,118, +138,2,0,1,1158, +266,18,1,1158,138, +2,0,1,124,267, +18,1,124,268,20, +269,4,22,76,0, +69,0,83,0,83, +0,95,0,69,0, +81,0,85,0,65, +0,76,0,83,0, +1,31,1,1,2, +0,1,130,270,18, +1,130,138,2,0, +1,2289,271,18,1, +2289,272,20,273,4, +50,71,0,108,0, +111,0,98,0,97, +0,108,0,86,0, +97,0,114,0,105, +0,97,0,98,0, +108,0,101,0,68, +0,101,0,99,0, +108,0,97,0,114, +0,97,0,116,0, +105,0,111,0,110, +0,1,97,1,2, +2,0,1,2290,274, +18,1,2290,203,2, +0,1,2291,275,18, +1,2291,272,2,0, +1,137,276,18,1, +137,277,20,278,4, +36,69,0,88,0, +67,0,76,0,65, +0,77,0,65,0, +84,0,73,0,79, +0,78,0,95,0, +69,0,81,0,85, +0,65,0,76,0, +83,0,1,30,1, +1,2,0,1,2293, +279,18,1,2293,280, +23,281,4,6,69, +0,79,0,70,0, +1,2,1,6,2, +0,1,2226,282,18, +1,2226,149,2,0, +1,2228,283,18,1, +2228,155,2,0,1, +1257,284,18,1,1257, +285,20,286,4,24, +77,0,73,0,78, +0,85,0,83,0, +95,0,69,0,81, +0,85,0,65,0, +76,0,83,0,1, +7,1,1,2,0, +1,2230,287,18,1, +2230,288,20,289,4, +34,67,0,111,0, +109,0,112,0,111, +0,117,0,110,0, +100,0,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +1,107,1,2,2, +0,1,1817,290,18, +1,1817,291,20,292, +4,18,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +1,109,1,2,2, +0,1,1818,293,18, +1,1818,294,20,295, +4,8,69,0,76, +0,83,0,69,0, +1,43,1,1,2, +0,1,1263,296,18, +1,1263,138,2,0, +1,151,297,18,1, +151,298,20,299,4, +26,69,0,81,0, +85,0,65,0,76, +0,83,0,95,0, +69,0,81,0,85, +0,65,0,76,0, +83,0,1,29,1, +1,2,0,1,1713, +300,18,1,1713,138, +2,0,1,143,301, +18,1,143,138,2, +0,1,157,302,18, +1,157,138,2,0, +1,166,303,18,1, +166,304,20,305,4, +20,76,0,69,0, +70,0,84,0,95, +0,65,0,78,0, +71,0,76,0,69, +0,1,25,1,1, +2,0,1,172,306, +18,1,172,138,2, +0,1,1788,307,18, +1,1788,155,2,0, +1,1847,308,18,1, +1847,291,2,0,1, +1292,309,18,1,1292, +310,20,311,4,22, +80,0,76,0,85, +0,83,0,95,0, +69,0,81,0,85, +0,65,0,76,0, +83,0,1,6,1, +1,2,0,1,1850, +312,18,1,1850,313, +20,314,4,26,68, +0,69,0,70,0, +65,0,85,0,76, +0,84,0,95,0, +83,0,84,0,65, +0,84,0,69,0, +1,47,1,1,2, +0,1,1851,315,18, +1,1851,132,2,0, +1,1852,316,18,1, +1852,317,20,318,4, +8,74,0,85,0, +77,0,80,0,1, +49,1,1,2,0, +1,1853,319,18,1, +1853,132,2,0,1, +1854,320,18,1,1854, +321,20,322,4,4, +65,0,84,0,1, +23,1,1,2,0, +1,1855,323,18,1, +1855,132,2,0,1, +1856,324,18,1,1856, +288,2,0,1,1857, +325,18,1,1857,326, +20,327,4,14,70, +0,111,0,114,0, +76,0,111,0,111, +0,112,0,1,118, +1,2,2,0,1, +1858,328,18,1,1858, +329,20,330,4,32, +68,0,111,0,87, +0,104,0,105,0, +108,0,101,0,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,1,117,1, +2,2,0,1,188, +331,18,1,188,138, +2,0,1,1860,332, +18,1,1860,333,20, +334,4,22,73,0, +102,0,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +1,115,1,2,2, +0,1,1187,335,18, +1,1187,336,20,337, +4,24,83,0,76, +0,65,0,83,0, +72,0,95,0,69, +0,81,0,85,0, +65,0,76,0,83, +0,1,9,1,1, +2,0,1,1862,338, +18,1,1862,158,2, +0,1,1863,339,18, +1,1863,340,20,341, +4,26,74,0,117, +0,109,0,112,0, +83,0,116,0,97, +0,116,0,101,0, +109,0,101,0,110, +0,116,0,1,113, +1,2,2,0,1, +1864,342,18,1,1864, +158,2,0,1,1865, +343,18,1,1865,344, +20,345,4,18,74, +0,117,0,109,0, +112,0,76,0,97, +0,98,0,101,0, +108,0,1,112,1, +2,2,0,1,1866, +346,18,1,1866,158, +2,0,1,182,347, +18,1,182,348,20, +349,4,22,82,0, +73,0,71,0,72, +0,84,0,95,0, +65,0,78,0,71, +0,76,0,69,0, +1,26,1,1,2, +0,1,1868,350,18, +1,1868,158,2,0, +1,1869,351,18,1, +1869,352,20,353,4, +20,65,0,115,0, +115,0,105,0,103, +0,110,0,109,0, +101,0,110,0,116, +0,1,110,1,2, +2,0,1,199,354, +18,1,199,355,20, +356,4,10,67,0, +65,0,82,0,69, +0,84,0,1,35, +1,1,2,0,1, +1871,357,18,1,1871, +158,2,0,1,1760, +358,18,1,1760,291, +2,0,1,205,359, +18,1,205,138,2, +0,1,1327,360,18, +1,1327,172,2,0, +1,217,361,18,1, +217,362,20,363,4, +12,83,0,84,0, +82,0,79,0,75, +0,69,0,1,34, +1,1,2,0,1, +2233,364,18,1,2233, +172,2,0,1,1333, +365,18,1,1333,138, +2,0,1,223,366, +18,1,223,138,2, +0,1,1298,367,18, +1,1298,138,2,0, +1,236,368,18,1, +236,369,20,370,4, +6,65,0,77,0, +80,0,1,33,1, +1,2,0,1,1849, +371,18,1,1849,372, +20,373,4,10,83, +0,84,0,65,0, +84,0,69,0,1, +48,1,1,2,0, +1,242,374,18,1, +242,138,2,0,1, +2258,375,18,1,2258, +158,2,0,1,1859, +376,18,1,1859,377, +20,378,4,28,87, +0,104,0,105,0, +108,0,101,0,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,1,116,1, +2,2,0,1,1861, +379,18,1,1861,380, +20,381,4,22,83, +0,116,0,97,0, +116,0,101,0,67, +0,104,0,97,0, +110,0,103,0,101, +0,1,114,1,2, +2,0,1,1366,382, +18,1,1366,138,2, +0,1,256,383,18, +1,256,384,20,385, +4,14,80,0,69, +0,82,0,67,0, +69,0,78,0,84, +0,1,22,1,1, +2,0,1,2270,386, +18,1,2270,387,20, +388,4,34,71,0, +108,0,111,0,98, +0,97,0,108,0, +68,0,101,0,102, +0,105,0,110,0, +105,0,116,0,105, +0,111,0,110,0, +115,0,1,96,1, +2,2,0,1,1870, +389,18,1,1870,158, +2,0,1,262,390, +18,1,262,138,2, +0,1,827,391,18, +1,827,138,2,0, +1,1385,392,18,1, +1385,158,2,0,1, +277,393,18,1,277, +394,20,395,4,10, +83,0,76,0,65, +0,83,0,72,0, +1,21,1,1,2, +0,1,1396,396,18, +1,1396,397,20,398, +4,12,82,0,69, +0,84,0,85,0, +82,0,78,0,1, +50,1,1,2,0, +1,283,399,18,1, +283,138,2,0,1, +1402,400,18,1,1402, +138,2,0,1,1962, +401,18,1,1962,352, +2,0,1,299,402, +18,1,299,403,20, +404,4,8,83,0, +84,0,65,0,82, +0,1,20,1,1, +2,0,1,305,405, +18,1,305,138,2, +0,1,1867,406,18, +1,1867,407,20,408, +4,30,82,0,101, +0,116,0,117,0, +114,0,110,0,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,1,111,1, +2,2,0,1,1431, +409,18,1,1431,161, +2,0,1,1432,410, +18,1,1432,172,2, +0,1,322,411,18, +1,322,237,2,0, +1,1438,412,18,1, +1438,138,2,0,1, +883,413,18,1,883, +138,2,0,1,328, +414,18,1,328,138, +2,0,1,346,415, +18,1,346,416,20, +417,4,8,80,0, +76,0,85,0,83, +0,1,18,1,1, +2,0,1,352,418, +18,1,352,138,2, +0,1,1467,419,18, +1,1467,158,2,0, +1,1468,420,18,1, +1468,421,20,422,4, +6,70,0,79,0, +82,0,1,46,1, +1,2,0,1,1469, +423,18,1,1469,135, +2,0,1,2037,424, +18,1,2037,291,2, +0,1,2038,425,18, +1,2038,426,20,427, +4,22,82,0,73, +0,71,0,72,0, +84,0,95,0,66, +0,82,0,65,0, +67,0,69,0,1, +13,1,1,2,0, +1,1482,428,18,1, +1482,138,2,0,1, +2041,429,18,1,2041, +291,2,0,1,371, +430,18,1,371,431, +20,432,4,24,70, +0,117,0,110,0, +99,0,116,0,105, +0,111,0,110,0, +67,0,97,0,108, +0,108,0,1,120, +1,2,2,0,1, +372,433,18,1,372, +189,2,0,1,373, +434,18,1,373,132, +2,0,1,374,435, +18,1,374,185,2, +0,1,375,436,18, +1,375,132,2,0, +1,376,437,18,1, +376,192,2,0,1, +377,438,18,1,377, +132,2,0,1,378, +439,18,1,378,185, +2,0,1,379,440, +18,1,379,132,2, +0,1,380,441,18, +1,380,442,20,443, +4,16,67,0,111, +0,110,0,115,0, +116,0,97,0,110, +0,116,0,1,124, +1,2,2,0,1, +381,444,18,1,381, +445,20,446,4,24, +76,0,69,0,70, +0,84,0,95,0, +66,0,82,0,65, +0,67,0,75,0, +69,0,84,0,1, +27,1,1,2,0, +1,2053,447,18,1, +2053,448,20,449,4, +22,84,0,73,0, +77,0,69,0,82, +0,95,0,69,0, +86,0,69,0,78, +0,84,0,1,87, +1,1,2,0,1, +383,450,18,1,383, +451,20,452,4,24, +65,0,114,0,103, +0,117,0,109,0, +101,0,110,0,116, +0,76,0,105,0, +115,0,116,0,1, +121,1,2,2,0, +1,384,453,18,1, +384,152,2,0,1, +942,454,18,1,942, +138,2,0,1,386, +455,18,1,386,144, +2,0,1,2058,456, +18,1,2058,457,20, +458,4,34,82,0, +69,0,77,0,79, +0,84,0,69,0, +95,0,68,0,65, +0,84,0,65,0, +95,0,69,0,86, +0,69,0,78,0, +84,0,1,82,1, +1,2,0,1,2059, +459,18,1,2059,460, +20,461,4,24,79, +0,78,0,95,0, +82,0,69,0,90, +0,95,0,69,0, +86,0,69,0,78, +0,84,0,1,81, +1,1,2,0,1, +2060,462,18,1,2060, +463,20,464,4,32, +79,0,66,0,74, +0,69,0,67,0, +84,0,95,0,82, +0,69,0,90,0, +95,0,69,0,86, +0,69,0,78,0, +84,0,1,80,1, +1,2,0,1,2061, +465,18,1,2061,466, +20,467,4,38,78, +0,79,0,84,0, +95,0,65,0,84, +0,95,0,84,0, +65,0,82,0,71, +0,69,0,84,0, +95,0,69,0,86, +0,69,0,78,0, +84,0,1,79,1, +1,2,0,1,2062, +468,18,1,2062,469, +20,470,4,46,78, +0,79,0,84,0, +95,0,65,0,84, +0,95,0,82,0, +79,0,84,0,95, +0,84,0,65,0, +82,0,71,0,69, +0,84,0,95,0, +69,0,86,0,69, +0,78,0,84,0, +1,78,1,1,2, +0,1,2063,471,18, +1,2063,472,20,473, +4,30,78,0,79, +0,95,0,83,0, +69,0,78,0,83, +0,79,0,82,0, +95,0,69,0,86, +0,69,0,78,0, +84,0,1,77,1, +1,2,0,1,2064, +474,18,1,2064,475, +20,476,4,36,77, +0,79,0,86,0, +73,0,78,0,71, +0,95,0,83,0, +84,0,65,0,82, +0,84,0,95,0, +69,0,86,0,69, +0,78,0,84,0, +1,76,1,1,2, +0,1,2065,477,18, +1,2065,478,20,479, +4,32,77,0,79, +0,86,0,73,0, +78,0,71,0,95, +0,69,0,78,0, +68,0,95,0,69, +0,86,0,69,0, +78,0,84,0,1, +75,1,1,2,0, +1,2066,480,18,1, +2066,481,20,482,4, +22,77,0,79,0, +78,0,69,0,89, +0,95,0,69,0, +86,0,69,0,78, +0,84,0,1,74, +1,1,2,0,1, +2067,483,18,1,2067, +484,20,485,4,24, +76,0,73,0,83, +0,84,0,69,0, +78,0,95,0,69, +0,86,0,69,0, +78,0,84,0,1, +73,1,1,2,0, +1,1511,486,18,1, +1511,161,2,0,1, +2069,487,18,1,2069, +488,20,489,4,52, +76,0,65,0,78, +0,68,0,95,0, +67,0,79,0,76, +0,76,0,73,0, +83,0,73,0,79, +0,78,0,95,0, +83,0,84,0,65, +0,82,0,84,0, +95,0,69,0,86, +0,69,0,78,0, +84,0,1,71,1, +1,2,0,1,1513, +490,18,1,1513,491, +20,492,4,32,70, +0,111,0,114,0, +76,0,111,0,111, +0,112,0,83,0, +116,0,97,0,116, +0,101,0,109,0, +101,0,110,0,116, +0,1,119,1,2, +2,0,1,1514,493, +18,1,1514,152,2, +0,1,2072,494,18, +1,2072,495,20,496, +4,38,72,0,84, +0,84,0,80,0, +95,0,82,0,69, +0,83,0,80,0, +79,0,78,0,83, +0,69,0,95,0, +69,0,86,0,69, +0,78,0,84,0, +1,68,1,1,2, +0,1,2073,497,18, +1,2073,498,20,499, +4,22,69,0,77, +0,65,0,73,0, +76,0,95,0,69, +0,86,0,69,0, +78,0,84,0,1, +67,1,1,2,0, +1,403,500,18,1, +403,138,2,0,1, +2075,501,18,1,2075, +502,20,503,4,26, +67,0,79,0,78, +0,84,0,82,0, +79,0,76,0,95, +0,69,0,86,0, +69,0,78,0,84, +0,1,65,1,1, +2,0,1,2076,504, +18,1,2076,505,20, +506,4,42,67,0, +79,0,76,0,76, +0,73,0,83,0, +73,0,79,0,78, +0,95,0,83,0, +84,0,65,0,82, +0,84,0,95,0, +69,0,86,0,69, +0,78,0,84,0, +1,64,1,1,2, +0,1,2077,507,18, +1,2077,508,20,509, +4,38,67,0,79, +0,76,0,76,0, +73,0,83,0,73, +0,79,0,78,0, +95,0,69,0,78, +0,68,0,95,0, +69,0,86,0,69, +0,78,0,84,0, +1,63,1,1,2, +0,1,2078,510,18, +1,2078,511,20,512, +4,30,67,0,79, +0,76,0,76,0, +73,0,83,0,73, +0,79,0,78,0, +95,0,69,0,86, +0,69,0,78,0, +84,0,1,62,1, +1,2,0,1,2079, +513,18,1,2079,514, +20,515,4,26,67, +0,72,0,65,0, +78,0,71,0,69, +0,68,0,95,0, +69,0,86,0,69, +0,78,0,84,0, +1,61,1,1,2, +0,1,2080,516,18, +1,2080,517,20,518, +4,24,65,0,84, +0,84,0,65,0, +67,0,72,0,95, +0,69,0,86,0, +69,0,78,0,84, +0,1,60,1,1, +2,0,1,2081,519, +18,1,2081,520,20, +521,4,30,65,0, +84,0,95,0,84, +0,65,0,82,0, +71,0,69,0,84, +0,95,0,69,0, +86,0,69,0,78, +0,84,0,1,59, +1,1,2,0,1, +397,522,18,1,397, +304,2,0,1,2083, +523,18,1,2083,524, +20,525,4,10,69, +0,118,0,101,0, +110,0,116,0,1, +106,1,2,2,0, +1,1527,526,18,1, +1527,138,2,0,1, +422,527,18,1,422, +152,2,0,1,2095, +528,18,1,2095,155, +2,0,1,2097,529, +18,1,2097,288,2, +0,1,428,530,18, +1,428,138,2,0, +1,2043,531,18,1, +2043,426,2,0,1, +2045,532,18,1,2045, +288,2,0,1,2046, +533,18,1,2046,161, +2,0,1,2047,534, +18,1,2047,372,2, +0,1,1557,535,18, +1,1557,352,2,0, +1,1001,536,18,1, +1001,431,2,0,1, +1559,537,18,1,1559, +158,2,0,1,2051, +538,18,1,2051,539, +20,540,4,30,84, +0,79,0,85,0, +67,0,72,0,95, +0,69,0,78,0, +68,0,95,0,69, +0,86,0,69,0, +78,0,84,0,1, +90,1,1,2,0, +1,447,541,18,1, +447,152,2,0,1, +2054,542,18,1,2054, +543,20,544,4,32, +83,0,84,0,65, +0,84,0,69,0, +95,0,69,0,88, +0,73,0,84,0, +95,0,69,0,86, +0,69,0,78,0, +84,0,1,86,1, +1,2,0,1,1993, +545,18,1,1993,546, +20,547,4,26,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,76,0,105, +0,115,0,116,0, +1,108,1,2,2, +0,1,1565,548,18, +1,1565,138,2,0, +1,2057,549,18,1, +2057,550,20,551,4, +52,82,0,85,0, +78,0,95,0,84, +0,73,0,77,0, +69,0,95,0,80, +0,69,0,82,0, +77,0,73,0,83, +0,83,0,73,0, +79,0,78,0,83, +0,95,0,69,0, +86,0,69,0,78, +0,84,0,1,83, +1,1,2,0,1, +1010,552,18,1,1010, +138,2,0,1,1011, +553,18,1,1011,155, +2,0,1,463,554, +18,1,463,348,2, +0,1,2135,555,18, +1,2135,426,2,0, +1,2070,556,18,1, +2070,557,20,558,4, +48,76,0,65,0, +78,0,68,0,95, +0,67,0,79,0, +76,0,76,0,73, +0,83,0,73,0, +79,0,78,0,95, +0,69,0,78,0, +68,0,95,0,69, +0,86,0,69,0, +78,0,84,0,1, +70,1,1,2,0, +1,2071,559,18,1, +2071,560,20,561,4, +40,76,0,65,0, +78,0,68,0,95, +0,67,0,79,0, +76,0,76,0,73, +0,83,0,73,0, +79,0,78,0,95, +0,69,0,86,0, +69,0,78,0,84, +0,1,69,1,1, +2,0,1,2138,562, +18,1,2138,165,2, +0,1,453,563,18, +1,453,138,2,0, +1,1584,564,18,1, +1584,158,2,0,1, +476,565,18,1,476, +566,20,567,4,30, +83,0,84,0,82, +0,73,0,78,0, +71,0,95,0,67, +0,79,0,78,0, +83,0,84,0,65, +0,78,0,84,0, +1,3,1,1,2, +0,1,477,568,18, +1,477,569,20,570, +4,28,70,0,76, +0,79,0,65,0, +84,0,95,0,67, +0,79,0,78,0, +83,0,84,0,65, +0,78,0,84,0, +1,94,1,1,2, +0,1,478,571,18, +1,478,572,20,573, +4,40,72,0,69, +0,88,0,95,0, +73,0,78,0,84, +0,69,0,71,0, +69,0,82,0,95, +0,67,0,79,0, +78,0,83,0,84, +0,65,0,78,0, +84,0,1,93,1, +1,2,0,1,479, +574,18,1,479,575, +20,576,4,32,73, +0,78,0,84,0, +69,0,71,0,69, +0,82,0,95,0, +67,0,79,0,78, +0,83,0,84,0, +65,0,78,0,84, +0,1,92,1,1, +2,0,1,2084,577, +18,1,2084,135,2, +0,1,488,578,18, +1,488,152,2,0, +1,1046,579,18,1, +1046,138,2,0,1, +494,580,18,1,494, +138,2,0,1,1609, +581,18,1,1609,491, +2,0,1,1611,582, +18,1,1611,155,2, +0,1,2173,583,18, +1,2173,216,2,0, +1,504,584,18,1, +504,348,2,0,1, +2048,585,18,1,2048, +132,2,0,1,2049, +586,18,1,2049,165, +2,0,1,1002,587, +18,1,1002,442,2, +0,1,2052,588,18, +1,2052,589,20,590, +4,22,84,0,79, +0,85,0,67,0, +72,0,95,0,69, +0,86,0,69,0, +78,0,84,0,1, +88,1,1,2,0, +1,2055,591,18,1, +2055,592,20,593,4, +34,83,0,84,0, +65,0,84,0,69, +0,95,0,69,0, +78,0,84,0,82, +0,89,0,95,0, +69,0,86,0,69, +0,78,0,84,0, +1,85,1,1,2, +0,1,2056,594,18, +1,2056,595,20,596, +4,24,83,0,69, +0,78,0,83,0, +79,0,82,0,95, +0,69,0,86,0, +69,0,78,0,84, +0,1,84,1,1, +2,0,1,1637,597, +18,1,1637,291,2, +0,1,1639,598,18, +1,1639,599,20,600, +4,4,68,0,79, +0,1,44,1,1, +2,0,1,2068,601, +18,1,2068,602,20, +603,4,36,76,0, +73,0,78,0,75, +0,95,0,77,0, +69,0,83,0,83, +0,65,0,71,0, +69,0,95,0,69, +0,86,0,69,0, +78,0,84,0,1, +72,1,1,2,0, +1,2134,604,18,1, +2134,605,20,606,4, +20,83,0,116,0, +97,0,116,0,101, +0,69,0,118,0, +101,0,110,0,116, +0,1,102,1,2, +2,0,1,2136,607, +18,1,2136,605,2, +0,1,2137,608,18, +1,2137,313,2,0, +1,1092,609,18,1, +1092,451,2,0,1, +1094,610,18,1,1094, +155,2,0,1,2209, +611,18,1,2209,426, +2,0,1,2211,612, +18,1,2211,198,2, +0,1,2214,613,18, +1,2214,614,20,615, +4,10,83,0,116, +0,97,0,116,0, +101,0,1,100,1, +2,2,0,1,2215, +616,18,1,2215,614, +2,0,1,2082,617, +18,1,2082,618,20, +619,4,38,65,0, +84,0,95,0,82, +0,79,0,84,0, +95,0,84,0,65, +0,82,0,71,0, +69,0,84,0,95, +0,69,0,86,0, +69,0,78,0,84, +0,1,58,1,1, +2,0,1,2217,620, +18,1,2217,135,2, +0,1,1666,621,18, +1,1666,291,2,0, +1,1667,622,18,1, +1667,168,2,0,1, +1111,623,18,1,1111, +185,2,0,1,1112, +624,18,1,1112,132, +2,0,1,2093,625, +18,1,2093,149,2, +0,626,5,0,627, +5,295,1,2,628, +19,281,1,2,629, +5,6,1,2211,630, +17,631,15,632,4, +30,37,0,76,0, +83,0,76,0,80, +0,114,0,111,0, +103,0,114,0,97, +0,109,0,82,0, +111,0,111,0,116, +0,1,-1,1,5, +633,20,634,4,32, +76,0,83,0,76, +0,80,0,114,0, +111,0,103,0,114, +0,97,0,109,0, +82,0,111,0,111, +0,116,0,95,0, +50,0,1,140,1, +3,1,2,1,1, +635,22,1,2,1, +2135,636,17,637,15, +638,4,12,37,0, +83,0,116,0,97, +0,116,0,101,0, +1,-1,1,5,639, +20,640,4,14,83, +0,116,0,97,0, +116,0,101,0,95, +0,50,0,1,152, +1,3,1,6,1, +5,641,22,1,14, +1,2214,642,17,643, +15,644,4,14,37, +0,83,0,116,0, +97,0,116,0,101, +0,115,0,1,-1, +1,5,645,20,646, +4,16,83,0,116, +0,97,0,116,0, +101,0,115,0,95, +0,50,0,1,150, +1,3,1,3,1, +2,647,22,1,12, +1,2281,648,17,649, +15,632,1,-1,1, +5,650,20,651,4, +32,76,0,83,0, +76,0,80,0,114, +0,111,0,103,0, +114,0,97,0,109, +0,82,0,111,0, +111,0,116,0,95, +0,49,0,1,139, +1,3,1,3,1, +2,652,22,1,1, +1,2215,653,17,654, +15,644,1,-1,1, +5,655,20,656,4, +16,83,0,116,0, +97,0,116,0,101, +0,115,0,95,0, +49,0,1,149,1, +3,1,2,1,1, +657,22,1,11,1, +2209,658,17,659,15, +638,1,-1,1,5, +660,20,661,4,14, +83,0,116,0,97, +0,116,0,101,0, +95,0,49,0,1, +151,1,3,1,5, +1,4,662,22,1, +13,1,3,663,19, +567,1,3,664,5, +79,1,1584,665,16, +0,565,1,1639,666, +16,0,565,1,1637, +667,17,668,15,669, +4,16,37,0,70, +0,111,0,114,0, +76,0,111,0,111, +0,112,0,1,-1, +1,5,670,20,671, +4,18,70,0,111, +0,114,0,76,0, +111,0,111,0,112, +0,95,0,49,0, +1,183,1,3,1, +10,1,9,672,22, +1,47,1,112,673, +16,0,565,1,1857, +674,17,675,15,676, +4,20,37,0,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,1,-1,1, +5,677,20,678,4, +24,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,95, +0,49,0,49,0, +1,173,1,3,1, +2,1,1,679,22, +1,37,1,1858,680, +17,681,15,676,1, +-1,1,5,682,20, +683,4,24,83,0, +116,0,97,0,116, +0,101,0,109,0, +101,0,110,0,116, +0,95,0,49,0, +48,0,1,172,1, +3,1,2,1,1, +684,22,1,36,1, +1859,685,17,686,15, +676,1,-1,1,5, +687,20,688,4,22, +83,0,116,0,97, +0,116,0,101,0, +109,0,101,0,110, +0,116,0,95,0, +57,0,1,171,1, +3,1,2,1,1, +689,22,1,35,1, +1860,690,17,691,15, +676,1,-1,1,5, +692,20,693,4,22, +83,0,116,0,97, +0,116,0,101,0, +109,0,101,0,110, +0,116,0,95,0, +56,0,1,170,1, +3,1,2,1,1, +694,22,1,34,1, +1611,695,16,0,565, +1,1862,696,17,697, +15,676,1,-1,1, +5,698,20,699,4, +22,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,95, +0,55,0,1,169, +1,3,1,3,1, +2,700,22,1,33, +1,1864,701,17,702, +15,676,1,-1,1, +5,703,20,704,4, +22,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,95, +0,54,0,1,168, +1,3,1,3,1, +2,705,22,1,32, +1,1866,706,17,707, +15,676,1,-1,1, +5,708,20,709,4, +22,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,95, +0,53,0,1,167, +1,3,1,3,1, +2,710,22,1,31, +1,2043,711,17,712, +15,713,4,36,37, +0,67,0,111,0, +109,0,112,0,111, +0,117,0,110,0, +100,0,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +1,-1,1,5,714, +20,715,4,38,67, +0,111,0,109,0, +112,0,111,0,117, +0,110,0,100,0, +83,0,116,0,97, +0,116,0,101,0, +109,0,101,0,110, +0,116,0,95,0, +49,0,1,159,1, +3,1,3,1,2, +716,22,1,22,1, +124,717,16,0,565, +1,1760,718,17,719, +15,720,4,30,37, +0,87,0,104,0, +105,0,108,0,101, +0,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,1, +-1,1,5,721,20, +722,4,32,87,0, +104,0,105,0,108, +0,101,0,83,0, +116,0,97,0,116, +0,101,0,109,0, +101,0,110,0,116, +0,95,0,49,0, +1,181,1,3,1, +6,1,5,723,22, +1,45,1,1870,724, +17,725,15,676,1, +-1,1,5,726,20, +727,4,22,83,0, +116,0,97,0,116, +0,101,0,109,0, +101,0,110,0,116, +0,95,0,50,0, +1,164,1,3,1, +3,1,2,728,22, +1,28,1,1871,729, +17,730,15,676,1, +-1,1,5,291,1, +1,1,1,731,22, +1,26,1,1763,732, +16,0,565,1,1222, +733,16,0,565,1, +1993,734,16,0,565, +1,1115,735,16,0, +565,1,447,736,16, +0,565,1,1187,737, +16,0,565,1,137, +738,16,0,565,1, +2038,739,17,740,15, +713,1,-1,1,5, +741,20,742,4,38, +67,0,111,0,109, +0,112,0,111,0, +117,0,110,0,100, +0,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,95, +0,50,0,1,160, +1,3,1,4,1, +3,743,22,1,23, +1,346,744,16,0, +565,1,32,745,16, +0,565,1,1668,746, +16,0,565,1,2041, +747,17,748,15,749, +4,28,37,0,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,76,0,105, +0,115,0,116,0, +1,-1,1,5,750, +20,751,4,30,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,76,0,105, +0,115,0,116,0, +95,0,49,0,1, +161,1,3,1,2, +1,1,752,22,1, +24,1,236,753,16, +0,565,1,1514,754, +16,0,565,1,256, +755,16,0,565,1, +41,756,16,0,565, +1,151,757,16,0, +565,1,43,758,16, +0,565,1,1732,759, +16,0,565,1,384, +760,16,0,565,1, +1467,761,17,762,15, +676,1,-1,1,5, +763,20,764,4,22, +83,0,116,0,97, +0,116,0,101,0, +109,0,101,0,110, +0,116,0,95,0, +49,0,1,163,1, +3,1,3,1,2, +765,22,1,27,1, +52,766,16,0,565, +1,2233,767,16,0, +565,1,381,768,16, +0,565,1,166,769, +16,0,565,1,1257, +770,16,0,565,1, +1694,771,17,772,15, +773,4,34,37,0, +68,0,111,0,87, +0,104,0,105,0, +108,0,101,0,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,1,-1,1, +5,774,20,775,4, +36,68,0,111,0, +87,0,104,0,105, +0,108,0,101,0, +83,0,116,0,97, +0,116,0,101,0, +109,0,101,0,110, +0,116,0,95,0, +49,0,1,182,1, +3,1,8,1,7, +776,22,1,46,1, +1432,777,16,0,565, +1,1152,778,16,0, +565,1,1856,779,17, +780,15,676,1,-1, +1,5,781,20,782, +4,24,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +95,0,49,0,50, +0,1,174,1,3, +1,2,1,1,783, +22,1,38,1,62, +784,16,0,565,1, +504,785,16,0,565, +1,277,786,16,0, +565,1,397,787,16, +0,565,1,71,788, +16,0,565,1,1707, +789,16,0,565,1, +1817,790,17,791,15, +792,4,24,37,0, +73,0,102,0,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,1,-1,1, +5,793,20,794,4, +26,73,0,102,0, +83,0,116,0,97, +0,116,0,101,0, +109,0,101,0,110, +0,116,0,95,0, +49,0,1,179,1, +3,1,6,1,5, +795,22,1,43,1, +1818,796,16,0,565, +1,1868,797,17,798, +15,676,1,-1,1, +5,799,20,800,4, +22,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,95, +0,52,0,1,166, +1,3,1,3,1, +2,801,22,1,30, +1,76,802,16,0, +565,1,1385,803,17, +804,15,676,1,-1, +1,5,805,20,806, +4,22,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +95,0,51,0,1, +165,1,3,1,3, +1,2,807,22,1, +29,1,79,808,16, +0,565,1,182,809, +16,0,565,1,299, +810,16,0,565,1, +1559,811,16,0,565, +1,85,812,16,0, +565,1,488,813,16, +0,565,1,1396,814, +16,0,565,1,89, +815,16,0,565,1, +199,816,16,0,565, +1,463,817,16,0, +565,1,1292,818,16, +0,565,1,422,819, +16,0,565,1,2037, +820,17,821,15,749, +1,-1,1,5,822, +20,823,4,30,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,76,0,105, +0,115,0,116,0, +95,0,50,0,1, +162,1,3,1,3, +1,2,824,22,1, +25,1,97,825,16, +0,565,1,1469,826, +16,0,565,1,1788, +827,16,0,565,1, +102,828,16,0,565, +1,1847,829,17,830, +15,792,1,-1,1, +5,831,20,832,4, +26,73,0,102,0, +83,0,116,0,97, +0,116,0,101,0, +109,0,101,0,110, +0,116,0,95,0, +50,0,1,180,1, +3,1,8,1,7, +833,22,1,44,1, +322,834,16,0,565, +1,1327,835,16,0, +565,1,217,836,16, +0,565,1,4,837, +19,193,1,4,838, +5,84,1,1257,839, +16,0,437,1,1760, +718,1,256,840,16, +0,437,1,1763,841, +16,0,437,1,1514, +842,16,0,437,1, +504,843,16,0,437, +1,277,844,16,0, +437,1,2037,820,1, +2038,739,1,1788,845, +16,0,437,1,32, +846,16,0,437,1, +2041,747,1,2043,711, +1,1292,847,16,0, +437,1,40,848,16, +0,195,1,41,849, +16,0,437,1,43, +850,16,0,437,1, +44,851,16,0,195, +1,47,852,16,0, +191,1,299,853,16, +0,437,1,52,854, +16,0,437,1,1559, +855,16,0,437,1, +1817,790,1,1818,856, +16,0,437,1,63, +857,16,0,213,1, +66,858,16,0,211, +1,71,859,16,0, +437,1,1327,860,16, +0,437,1,76,861, +16,0,437,1,1584, +862,16,0,437,1, +79,863,16,0,437, +1,322,864,16,0, +437,1,85,865,16, +0,437,1,89,866, +16,0,437,1,1847, +829,1,346,867,16, +0,437,1,97,868, +16,0,437,1,1856, +779,1,1857,674,1, +1858,680,1,1859,685, +1,1860,690,1,1862, +696,1,1864,701,1, +1112,869,16,0,191, +1,1866,706,1,1115, +870,16,0,437,1, +112,871,16,0,437, +1,1870,724,1,1871, +729,1,102,872,16, +0,437,1,124,873, +16,0,437,1,381, +874,16,0,437,1, +1637,667,1,384,875, +16,0,437,1,137, +876,16,0,437,1, +1396,877,16,0,437, +1,397,878,16,0, +437,1,1152,879,16, +0,437,1,151,880, +16,0,437,1,1611, +881,16,0,437,1, +1668,882,16,0,437, +1,166,883,16,0, +437,1,1868,797,1, +1385,803,1,1432,884, +16,0,437,1,182, +885,16,0,437,1, +1187,886,16,0,437, +1,422,887,16,0, +437,1,1694,771,1, +447,888,16,0,437, +1,199,889,16,0, +437,1,1707,890,16, +0,437,1,1467,761, +1,1469,891,16,0, +437,1,217,892,16, +0,437,1,1222,893, +16,0,437,1,2233, +894,16,0,437,1, +1732,895,16,0,437, +1,463,896,16,0, +437,1,1993,897,16, +0,437,1,488,898, +16,0,437,1,1639, +899,16,0,437,1, +236,900,16,0,437, +1,5,901,19,190, +1,5,902,5,84, +1,1257,903,16,0, +433,1,1760,718,1, +256,904,16,0,433, +1,1763,905,16,0, +433,1,1514,906,16, +0,433,1,504,907, +16,0,433,1,277, +908,16,0,433,1, +2037,820,1,2038,739, +1,1788,909,16,0, +433,1,32,910,16, +0,433,1,2041,747, +1,2043,711,1,1292, +911,16,0,433,1, +40,912,16,0,194, +1,41,913,16,0, +433,1,43,914,16, +0,433,1,44,915, +16,0,194,1,47, +916,16,0,188,1, +299,917,16,0,433, +1,52,918,16,0, +433,1,1559,919,16, +0,433,1,1817,790, +1,1818,920,16,0, +433,1,63,921,16, +0,212,1,66,922, +16,0,210,1,71, +923,16,0,433,1, +1327,924,16,0,433, +1,76,925,16,0, +433,1,1584,926,16, +0,433,1,79,927, +16,0,433,1,322, +928,16,0,433,1, +85,929,16,0,433, +1,89,930,16,0, +433,1,1847,829,1, +346,931,16,0,433, +1,97,932,16,0, +433,1,1856,779,1, +1857,674,1,1858,680, +1,1859,685,1,1860, +690,1,1862,696,1, +1864,701,1,1112,933, +16,0,188,1,1866, +706,1,1115,934,16, +0,433,1,112,935, +16,0,433,1,1870, +724,1,1871,729,1, +102,936,16,0,433, +1,124,937,16,0, +433,1,381,938,16, +0,433,1,1637,667, +1,384,939,16,0, +433,1,137,940,16, +0,433,1,1396,941, +16,0,433,1,397, +942,16,0,433,1, +1152,943,16,0,433, +1,151,944,16,0, +433,1,1611,945,16, +0,433,1,1668,946, +16,0,433,1,166, +947,16,0,433,1, +1868,797,1,1385,803, +1,1432,948,16,0, +433,1,182,949,16, +0,433,1,1187,950, +16,0,433,1,422, +951,16,0,433,1, +1694,771,1,447,952, +16,0,433,1,199, +953,16,0,433,1, +1707,954,16,0,433, +1,1467,761,1,1469, +955,16,0,433,1, +217,956,16,0,433, +1,1222,957,16,0, +433,1,2233,958,16, +0,433,1,1732,959, +16,0,433,1,463, +960,16,0,433,1, +1993,961,16,0,433, +1,488,962,16,0, +433,1,1639,963,16, +0,433,1,236,964, +16,0,433,1,6, +965,19,311,1,6, +966,5,1,1,40, +967,16,0,309,1, +7,968,19,286,1, +7,969,5,1,1, +40,970,16,0,284, +1,8,971,19,255, +1,8,972,5,1, +1,40,973,16,0, +253,1,9,974,19, +337,1,9,975,5, +1,1,40,976,16, +0,335,1,10,977, +19,176,1,10,978, +5,1,1,40,979, +16,0,174,1,11, +980,19,159,1,11, +981,5,114,1,504, +982,17,983,15,984, +4,34,37,0,82, +0,111,0,116,0, +97,0,116,0,105, +0,111,0,110,0, +67,0,111,0,110, +0,115,0,116,0, +97,0,110,0,116, +0,1,-1,1,5, +985,20,986,4,36, +82,0,111,0,116, +0,97,0,116,0, +105,0,111,0,110, +0,67,0,111,0, +110,0,115,0,116, +0,97,0,110,0, +116,0,95,0,49, +0,1,203,1,3, +1,10,1,9,987, +22,1,67,1,1760, +718,1,1513,988,16, +0,537,1,1263,989, +17,990,15,991,4, +22,37,0,65,0, +115,0,115,0,105, +0,103,0,110,0, +109,0,101,0,110, +0,116,0,1,-1, +1,5,992,20,993, +4,24,65,0,115, +0,115,0,105,0, +103,0,110,0,109, +0,101,0,110,0, +116,0,95,0,52, +0,1,191,1,3, +1,4,1,3,994, +22,1,55,1,9, +995,17,996,15,997, +4,24,37,0,68, +0,101,0,99,0, +108,0,97,0,114, +0,97,0,116,0, +105,0,111,0,110, +0,1,-1,1,5, +998,20,999,4,26, +68,0,101,0,99, +0,108,0,97,0, +114,0,97,0,116, +0,105,0,111,0, +110,0,95,0,49, +0,1,158,1,3, +1,3,1,2,1000, +22,1,21,1,262, +1001,17,1002,15,1003, +4,34,37,0,66, +0,105,0,110,0, +97,0,114,0,121, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,1,-1,1,5, +1004,20,1005,4,36, +66,0,105,0,110, +0,97,0,114,0, +121,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,95,0,53, +0,1,221,1,3, +1,4,1,3,1006, +22,1,85,1,19, +1007,17,996,1,2, +1000,1,1527,1008,17, +1009,15,1010,4,34, +37,0,70,0,111, +0,114,0,76,0, +111,0,111,0,112, +0,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,1, +-1,1,5,1011,20, +1012,4,36,70,0, +111,0,114,0,76, +0,111,0,111,0, +112,0,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +95,0,51,0,1, +186,1,3,1,4, +1,3,1013,22,1, +50,1,477,1014,17, +1015,15,1016,4,18, +37,0,67,0,111, +0,110,0,115,0, +116,0,97,0,110, +0,116,0,1,-1, +1,5,1017,20,1018, +4,20,67,0,111, +0,110,0,115,0, +116,0,97,0,110, +0,116,0,95,0, +51,0,1,200,1, +3,1,2,1,1, +1019,22,1,64,1, +2037,820,1,2038,739, +1,1788,1020,16,0, +357,1,32,1021,16, +0,357,1,2041,747, +1,2043,711,1,40, +1022,17,1023,15,1024, +4,32,37,0,73, +0,100,0,101,0, +110,0,116,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,1, +-1,1,5,1025,20, +1026,4,34,73,0, +100,0,101,0,110, +0,116,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,95,0, +49,0,1,206,1, +3,1,2,1,1, +1027,22,1,70,1, +283,1028,17,1029,15, +1003,1,-1,1,5, +1030,20,1031,4,36, +66,0,105,0,110, +0,97,0,114,0, +121,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,95,0,52, +0,1,220,1,3, +1,4,1,3,1032, +22,1,84,1,1298, +1033,17,1034,15,991, +1,-1,1,5,1035, +20,1036,4,24,65, +0,115,0,115,0, +105,0,103,0,110, +0,109,0,101,0, +110,0,116,0,95, +0,51,0,1,190, +1,3,1,4,1, +3,1037,22,1,54, +1,44,1038,17,1023, +1,1,1027,1,47, +1039,17,1040,15,1041, +4,38,37,0,73, +0,100,0,101,0, +110,0,116,0,68, +0,111,0,116,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +1,-1,1,5,1042, +20,1043,4,40,73, +0,100,0,101,0, +110,0,116,0,68, +0,111,0,116,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +95,0,49,0,1, +207,1,3,1,4, +1,3,1044,22,1, +71,1,48,1045,17, +1046,15,1047,4,58, +37,0,73,0,110, +0,99,0,114,0, +101,0,109,0,101, +0,110,0,116,0, +68,0,101,0,99, +0,114,0,101,0, +109,0,101,0,110, +0,116,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,1,-1, +1,5,1048,20,1049, +4,60,73,0,110, +0,99,0,114,0, +101,0,109,0,101, +0,110,0,116,0, +68,0,101,0,99, +0,114,0,101,0, +109,0,101,0,110, +0,116,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,95,0, +52,0,1,211,1, +3,1,5,1,4, +1050,22,1,75,1, +49,1051,17,1052,15, +1047,1,-1,1,5, +1053,20,1054,4,60, +73,0,110,0,99, +0,114,0,101,0, +109,0,101,0,110, +0,116,0,68,0, +101,0,99,0,114, +0,101,0,109,0, +101,0,110,0,116, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,51,0, +1,210,1,3,1, +5,1,4,1055,22, +1,74,1,50,1056, +17,1057,15,1047,1, +-1,1,5,1058,20, +1059,4,60,73,0, +110,0,99,0,114, +0,101,0,109,0, +101,0,110,0,116, +0,68,0,101,0, +99,0,114,0,101, +0,109,0,101,0, +110,0,116,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,95, +0,50,0,1,209, +1,3,1,3,1, +2,1060,22,1,73, +1,51,1061,17,1062, +15,1047,1,-1,1, +5,1063,20,1064,4, +60,73,0,110,0, +99,0,114,0,101, +0,109,0,101,0, +110,0,116,0,68, +0,101,0,99,0, +114,0,101,0,109, +0,101,0,110,0, +116,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,95,0,49, +0,1,208,1,3, +1,3,1,2,1065, +22,1,72,1,305, +1066,17,1067,15,1003, +1,-1,1,5,1068, +20,1069,4,36,66, +0,105,0,110,0, +97,0,114,0,121, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,51,0, +1,219,1,3,1, +4,1,3,1070,22, +1,83,1,1565,1071, +16,0,564,1,1817, +790,1,1818,1072,16, +0,357,1,63,1073, +17,1074,15,1075,4, +38,37,0,84,0, +121,0,112,0,101, +0,99,0,97,0, +115,0,116,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,1, +-1,1,5,1076,20, +1077,4,40,84,0, +121,0,112,0,101, +0,99,0,97,0, +115,0,116,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,95, +0,50,0,1,240, +1,3,1,5,1, +4,1078,22,1,104, +1,66,1079,17,1080, +15,1075,1,-1,1, +5,1081,20,1082,4, +40,84,0,121,0, +112,0,101,0,99, +0,97,0,115,0, +116,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,95,0,51, +0,1,241,1,3, +1,7,1,6,1083, +22,1,105,1,67, +1084,17,1085,15,1075, +1,-1,1,5,1086, +20,1087,4,40,84, +0,121,0,112,0, +101,0,99,0,97, +0,115,0,116,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +95,0,55,0,1, +245,1,3,1,8, +1,7,1088,22,1, +109,1,68,1089,17, +1090,15,1075,1,-1, +1,5,1091,20,1092, +4,40,84,0,121, +0,112,0,101,0, +99,0,97,0,115, +0,116,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,95,0, +53,0,1,243,1, +3,1,8,1,7, +1093,22,1,107,1, +69,1094,17,1095,15, +1075,1,-1,1,5, +1096,20,1097,4,40, +84,0,121,0,112, +0,101,0,99,0, +97,0,115,0,116, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,54,0, +1,244,1,3,1, +6,1,5,1098,22, +1,108,1,70,1099, +17,1100,15,1075,1, +-1,1,5,1101,20, +1102,4,40,84,0, +121,0,112,0,101, +0,99,0,97,0, +115,0,116,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,95, +0,52,0,1,242, +1,3,1,6,1, +5,1103,22,1,106, +1,573,1104,17,1105, +15,1106,4,26,37, +0,76,0,105,0, +115,0,116,0,67, +0,111,0,110,0, +115,0,116,0,97, +0,110,0,116,0, +1,-1,1,5,1107, +20,1108,4,28,76, +0,105,0,115,0, +116,0,67,0,111, +0,110,0,115,0, +116,0,97,0,110, +0,116,0,95,0, +49,0,1,204,1, +3,1,4,1,3, +1109,22,1,68,1, +1011,1110,17,1111,15, +1112,4,44,37,0, +80,0,97,0,114, +0,101,0,110,0, +116,0,104,0,101, +0,115,0,105,0, +115,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,1,-1,1, +5,1113,20,1114,4, +46,80,0,97,0, +114,0,101,0,110, +0,116,0,104,0, +101,0,115,0,105, +0,115,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,95,0, +49,0,1,238,1, +3,1,4,1,3, +1115,22,1,102,1, +74,1116,17,1117,15, +1075,1,-1,1,5, +1118,20,1119,4,40, +84,0,121,0,112, +0,101,0,99,0, +97,0,115,0,116, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,57,0, +1,247,1,3,1, +7,1,6,1120,22, +1,111,1,1046,1121, +17,1122,15,1003,1, +-1,1,5,1123,20, +1124,4,38,66,0, +105,0,110,0,97, +0,114,0,121,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +95,0,49,0,56, +0,1,234,1,3, +1,4,1,3,1125, +22,1,98,1,328, +1126,17,1127,15,1003, +1,-1,1,5,1128, +20,1129,4,36,66, +0,105,0,110,0, +97,0,114,0,121, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,50,0, +1,218,1,3,1, +4,1,3,1130,22, +1,82,1,1333,1131, +17,1132,15,991,1, +-1,1,5,1133,20, +1134,4,24,65,0, +115,0,115,0,105, +0,103,0,110,0, +109,0,101,0,110, +0,116,0,95,0, +50,0,1,189,1, +3,1,4,1,3, +1135,22,1,53,1, +82,1136,17,1137,15, +1138,4,32,37,0, +85,0,110,0,97, +0,114,0,121,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +1,-1,1,5,1139, +20,1140,4,34,85, +0,110,0,97,0, +114,0,121,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,95, +0,51,0,1,237, +1,3,1,3,1, +2,1141,22,1,101, +1,1847,829,1,1850, +1142,17,1143,15,1144, +4,24,37,0,83, +0,116,0,97,0, +116,0,101,0,67, +0,104,0,97,0, +110,0,103,0,101, +0,1,-1,1,5, +1145,20,1146,4,26, +83,0,116,0,97, +0,116,0,101,0, +67,0,104,0,97, +0,110,0,103,0, +101,0,95,0,50, +0,1,178,1,3, +1,3,1,2,1147, +22,1,42,1,1851, +1148,17,1149,15,1144, +1,-1,1,5,1150, +20,1151,4,26,83, +0,116,0,97,0, +116,0,101,0,67, +0,104,0,97,0, +110,0,103,0,101, +0,95,0,49,0, +1,177,1,3,1, +3,1,2,1152,22, +1,41,1,1853,1153, +17,1154,15,1155,4, +28,37,0,74,0, +117,0,109,0,112, +0,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,1, +-1,1,5,1156,20, +1157,4,30,74,0, +117,0,109,0,112, +0,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,95, +0,49,0,1,176, +1,3,1,3,1, +2,1158,22,1,40, +1,93,1159,17,1160, +15,1138,1,-1,1, +5,1161,20,1162,4, +34,85,0,110,0, +97,0,114,0,121, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,50,0, +1,236,1,3,1, +3,1,2,1163,22, +1,100,1,1855,1164, +17,1165,15,1166,4, +20,37,0,74,0, +117,0,109,0,112, +0,76,0,97,0, +98,0,101,0,108, +0,1,-1,1,5, +1167,20,1168,4,22, +74,0,117,0,109, +0,112,0,76,0, +97,0,98,0,101, +0,108,0,95,0, +49,0,1,175,1, +3,1,3,1,2, +1169,22,1,39,1, +1856,779,1,1857,674, +1,1858,680,1,1859, +685,1,1860,690,1, +1861,1170,16,0,338, +1,1862,696,1,1863, +1171,16,0,342,1, +1864,701,1,1865,1172, +16,0,346,1,1866, +706,1,1867,1173,16, +0,350,1,1868,797, +1,1869,1174,16,0, +389,1,1870,724,1, +1871,729,1,2232,1175, +16,0,262,1,1121, +1176,17,1177,15,991, +1,-1,1,5,1178, +20,1179,4,24,65, +0,115,0,115,0, +105,0,103,0,110, +0,109,0,101,0, +110,0,116,0,95, +0,56,0,1,195, +1,3,1,6,1, +5,1180,22,1,59, +1,118,1181,17,1182, +15,1003,1,-1,1, +5,1183,20,1184,4, +38,66,0,105,0, +110,0,97,0,114, +0,121,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,95,0, +49,0,52,0,1, +230,1,3,1,4, +1,3,1185,22,1, +94,1,371,1186,17, +1187,15,1188,4,46, +37,0,70,0,117, +0,110,0,99,0, +116,0,105,0,111, +0,110,0,67,0, +97,0,108,0,108, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,1,-1,1,5, +1189,20,1190,4,48, +70,0,117,0,110, +0,99,0,116,0, +105,0,111,0,110, +0,67,0,97,0, +108,0,108,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,95, +0,49,0,1,216, +1,3,1,2,1, +1,1191,22,1,80, +1,107,1192,17,1193, +15,1138,1,-1,1, +5,1194,20,1195,4, +34,85,0,110,0, +97,0,114,0,121, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,49,0, +1,235,1,3,1, +3,1,2,1196,22, +1,99,1,375,1197, +17,1198,15,1047,1, +-1,1,5,1199,20, +1200,4,60,73,0, +110,0,99,0,114, +0,101,0,109,0, +101,0,110,0,116, +0,68,0,101,0, +99,0,114,0,101, +0,109,0,101,0, +110,0,116,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,95, +0,56,0,1,215, +1,3,1,5,1, +4,1201,22,1,79, +1,377,1202,17,1203, +15,1047,1,-1,1, +5,1204,20,1205,4, +60,73,0,110,0, +99,0,114,0,101, +0,109,0,101,0, +110,0,116,0,68, +0,101,0,99,0, +114,0,101,0,109, +0,101,0,110,0, +116,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,95,0,53, +0,1,212,1,3, +1,3,1,2,1206, +22,1,76,1,352, +1207,17,1208,15,1003, +1,-1,1,5,1209, +20,1210,4,36,66, +0,105,0,110,0, +97,0,114,0,121, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,49,0, +1,217,1,3,1, +4,1,3,1211,22, +1,81,1,827,1212, +17,1213,15,1003,1, +-1,1,5,1214,20, +1215,4,38,66,0, +105,0,110,0,97, +0,114,0,121,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +95,0,49,0,53, +0,1,231,1,3, +1,4,1,3,1216, +22,1,95,1,380, +1217,17,1218,15,1219, +4,38,37,0,67, +0,111,0,110,0, +115,0,116,0,97, +0,110,0,116,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +1,-1,1,5,1220, +20,1221,4,40,67, +0,111,0,110,0, +115,0,116,0,97, +0,110,0,116,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +95,0,49,0,1, +205,1,3,1,2, +1,1,1222,22,1, +69,1,130,1223,17, +1224,15,1003,1,-1, +1,5,1225,20,1226, +4,38,66,0,105, +0,110,0,97,0, +114,0,121,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,95, +0,49,0,51,0, +1,229,1,3,1, +4,1,3,1227,22, +1,93,1,1637,667, +1,1639,1228,16,0, +357,1,373,1229,17, +1230,15,1047,1,-1, +1,5,1231,20,1232, +4,60,73,0,110, +0,99,0,114,0, +101,0,109,0,101, +0,110,0,116,0, +68,0,101,0,99, +0,114,0,101,0, +109,0,101,0,110, +0,116,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,95,0, +54,0,1,213,1, +3,1,3,1,2, +1233,22,1,77,1, +1396,1234,17,1235,15, +1236,4,32,37,0, +82,0,101,0,116, +0,117,0,114,0, +110,0,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +1,-1,1,5,1237, +20,1238,4,34,82, +0,101,0,116,0, +117,0,114,0,110, +0,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,95, +0,50,0,1,197, +1,3,1,2,1, +1,1239,22,1,61, +1,143,1240,17,1241, +15,1003,1,-1,1, +5,1242,20,1243,4, +38,66,0,105,0, +110,0,97,0,114, +0,121,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,95,0, +49,0,50,0,1, +228,1,3,1,4, +1,3,1244,22,1, +92,1,1112,1245,17, +1040,1,3,1044,1, +1402,1246,17,1247,15, +1236,1,-1,1,5, +1248,20,1249,4,34, +82,0,101,0,116, +0,117,0,114,0, +110,0,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +95,0,49,0,1, +196,1,3,1,3, +1,2,1250,22,1, +60,1,1557,1251,17, +1252,15,1010,1,-1, +1,5,1253,20,1254, +4,36,70,0,111, +0,114,0,76,0, +111,0,111,0,112, +0,83,0,116,0, +97,0,116,0,101, +0,109,0,101,0, +110,0,116,0,95, +0,52,0,1,187, +1,3,1,4,1, +3,1255,22,1,51, +1,1158,1256,17,1257, +15,991,1,-1,1, +5,1258,20,1259,4, +24,65,0,115,0, +115,0,105,0,103, +0,110,0,109,0, +101,0,110,0,116, +0,95,0,55,0, +1,194,1,3,1, +4,1,3,1260,22, +1,58,1,1366,1261, +16,0,392,1,157, +1262,17,1263,15,1003, +1,-1,1,5,1264, +20,1265,4,38,66, +0,105,0,110,0, +97,0,114,0,121, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,49,0, +49,0,1,227,1, +3,1,4,1,3, +1266,22,1,91,1, +883,1267,17,1268,15, +1003,1,-1,1,5, +1269,20,1270,4,38, +66,0,105,0,110, +0,97,0,114,0, +121,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,95,0,49, +0,54,0,1,232, +1,3,1,4,1, +3,1271,22,1,96, +1,1094,1272,17,1273, +15,1274,4,26,37, +0,70,0,117,0, +110,0,99,0,116, +0,105,0,111,0, +110,0,67,0,97, +0,108,0,108,0, +1,-1,1,5,1275, +20,1276,4,28,70, +0,117,0,110,0, +99,0,116,0,105, +0,111,0,110,0, +67,0,97,0,108, +0,108,0,95,0, +49,0,1,248,1, +3,1,5,1,4, +1277,22,1,112,1, +379,1278,17,1279,15, +1047,1,-1,1,5, +1280,20,1281,4,60, +73,0,110,0,99, +0,114,0,101,0, +109,0,101,0,110, +0,116,0,68,0, +101,0,99,0,114, +0,101,0,109,0, +101,0,110,0,116, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,95,0,55,0, +1,214,1,3,1, +5,1,4,1282,22, +1,78,1,172,1283, +17,1284,15,1003,1, +-1,1,5,1285,20, +1286,4,38,66,0, +105,0,110,0,97, +0,114,0,121,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +95,0,49,0,48, +0,1,226,1,3, +1,4,1,3,1287, +22,1,90,1,1385, +803,1,1431,1288,16, +0,419,1,1438,1289, +17,1290,15,991,1, +-1,1,5,1291,20, +1292,4,24,65,0, +115,0,115,0,105, +0,103,0,110,0, +109,0,101,0,110, +0,116,0,95,0, +49,0,1,188,1, +3,1,4,1,3, +1293,22,1,52,1, +1693,1294,16,0,157, +1,1694,771,1,1193, +1295,17,1296,15,991, +1,-1,1,5,1297, +20,1298,4,24,65, +0,115,0,115,0, +105,0,103,0,110, +0,109,0,101,0, +110,0,116,0,95, +0,54,0,1,193, +1,3,1,4,1, +3,1299,22,1,57, +1,188,1300,17,1301, +15,1003,1,-1,1, +5,1302,20,1303,4, +36,66,0,105,0, +110,0,97,0,114, +0,121,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,95,0, +57,0,1,225,1, +3,1,4,1,3, +1304,22,1,89,1, +1962,1305,17,1306,15, +1010,1,-1,1,5, +1307,20,1308,4,36, +70,0,111,0,114, +0,76,0,111,0, +111,0,112,0,83, +0,116,0,97,0, +116,0,101,0,109, +0,101,0,110,0, +116,0,95,0,50, +0,1,185,1,3, +1,2,1,1,1309, +22,1,49,1,1611, +1310,16,0,357,1, +1467,761,1,205,1311, +17,1312,15,1003,1, +-1,1,5,1313,20, +1314,4,36,66,0, +105,0,110,0,97, +0,114,0,121,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +95,0,56,0,1, +224,1,3,1,4, +1,3,1315,22,1, +88,1,942,1316,17, +1317,15,1003,1,-1, +1,5,1318,20,1319, +4,38,66,0,105, +0,110,0,97,0, +114,0,121,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,95, +0,49,0,55,0, +1,233,1,3,1, +4,1,3,1320,22, +1,97,1,223,1321, +17,1322,15,1003,1, +-1,1,5,1323,20, +1324,4,36,66,0, +105,0,110,0,97, +0,114,0,121,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +95,0,55,0,1, +223,1,3,1,4, +1,3,1325,22,1, +87,1,1228,1326,17, +1327,15,991,1,-1, +1,5,1328,20,1329, +4,24,65,0,115, +0,115,0,105,0, +103,0,110,0,109, +0,101,0,110,0, +116,0,95,0,53, +0,1,192,1,3, +1,4,1,3,1330, +22,1,56,1,476, +1331,17,1332,15,1016, +1,-1,1,5,1333, +20,1334,4,20,67, +0,111,0,110,0, +115,0,116,0,97, +0,110,0,116,0, +95,0,52,0,1, +201,1,3,1,2, +1,1,1335,22,1, +65,1,1732,1336,16, +0,357,1,1482,1337, +17,1338,15,1010,1, +-1,1,5,1339,20, +1340,4,36,70,0, +111,0,114,0,76, +0,111,0,111,0, +112,0,83,0,116, +0,97,0,116,0, +101,0,109,0,101, +0,110,0,116,0, +95,0,49,0,1, +184,1,3,1,2, +1,1,1341,22,1, +48,1,463,1342,17, +1343,15,1344,4,30, +37,0,86,0,101, +0,99,0,116,0, +111,0,114,0,67, +0,111,0,110,0, +115,0,116,0,97, +0,110,0,116,0, +1,-1,1,5,1345, +20,1346,4,32,86, +0,101,0,99,0, +116,0,111,0,114, +0,67,0,111,0, +110,0,115,0,116, +0,97,0,110,0, +116,0,95,0,49, +0,1,202,1,3, +1,8,1,7,1347, +22,1,66,1,2239, +1348,16,0,375,1, +1993,1349,16,0,357, +1,242,1350,17,1351, +15,1003,1,-1,1, +5,1352,20,1353,4, +36,66,0,105,0, +110,0,97,0,114, +0,121,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,95,0, +54,0,1,222,1, +3,1,4,1,3, +1354,22,1,86,1, +478,1355,17,1356,15, +1016,1,-1,1,5, +1357,20,1358,4,20, +67,0,111,0,110, +0,115,0,116,0, +97,0,110,0,116, +0,95,0,50,0, +1,199,1,3,1, +2,1,1,1359,22, +1,63,1,479,1360, +17,1361,15,1016,1, +-1,1,5,1362,20, +1363,4,20,67,0, +111,0,110,0,115, +0,116,0,97,0, +110,0,116,0,95, +0,49,0,1,198, +1,3,1,2,1, +1,1364,22,1,62, +1,1001,1365,17,1366, +15,1075,1,-1,1, +5,1367,20,1368,4, +40,84,0,121,0, +112,0,101,0,99, +0,97,0,115,0, +116,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,95,0,56, +0,1,246,1,3, +1,5,1,4,1369, +22,1,110,1,1002, +1370,17,1371,15,1075, +1,-1,1,5,1372, +20,1373,4,40,84, +0,121,0,112,0, +101,0,99,0,97, +0,115,0,116,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +95,0,49,0,1, +239,1,3,1,5, +1,4,1374,22,1, +103,1,12,1375,19, +166,1,12,1376,5, +34,1,1637,667,1, +1856,779,1,1857,674, +1,1858,680,1,1859, +685,1,1860,690,1, +1862,696,1,1864,701, +1,1866,706,1,1868, +797,1,1760,718,1, +1870,724,1,1871,729, +1,2095,1377,16,0, +164,1,31,1378,16, +0,164,1,32,1379, +16,0,164,1,1788, +1380,16,0,164,1, +2228,1381,16,0,164, +1,1467,761,1,1639, +1382,16,0,164,1, +1694,771,1,2137,1383, +16,0,562,1,1817, +790,1,1818,1384,16, +0,164,1,2037,820, +1,2038,739,1,1385, +803,1,2041,747,1, +2043,711,1,1611,1385, +16,0,164,1,2048, +1386,16,0,586,1, +1993,1387,16,0,164, +1,1732,1388,16,0, +164,1,1847,829,1, +13,1389,19,427,1, +13,1390,5,29,1, +1637,667,1,1856,779, +1,1857,674,1,1858, +680,1,1859,685,1, +1860,690,1,1862,696, +1,1864,701,1,1866, +706,1,1868,797,1, +1760,718,1,1870,724, +1,1871,729,1,2097, +1391,17,1392,15,1393, +4,22,37,0,83, +0,116,0,97,0, +116,0,101,0,69, +0,118,0,101,0, +110,0,116,0,1, +-1,1,5,1394,20, +1395,4,24,83,0, +116,0,97,0,116, +0,101,0,69,0, +118,0,101,0,110, +0,116,0,95,0, +49,0,1,155,1, +3,1,6,1,5, +1396,22,1,17,1, +2099,1397,16,0,555, +1,1993,1398,16,0, +425,1,32,1399,16, +0,531,1,1467,761, +1,1694,771,1,2134, +1400,17,1401,15,1402, +4,20,37,0,83, +0,116,0,97,0, +116,0,101,0,66, +0,111,0,100,0, +121,0,1,-1,1, +5,1403,20,1404,4, +22,83,0,116,0, +97,0,116,0,101, +0,66,0,111,0, +100,0,121,0,95, +0,50,0,1,154, +1,3,1,3,1, +2,1405,22,1,16, +1,2136,1406,17,1407, +15,1402,1,-1,1, +5,1408,20,1409,4, +22,83,0,116,0, +97,0,116,0,101, +0,66,0,111,0, +100,0,121,0,95, +0,49,0,1,153, +1,3,1,2,1, +1,1410,22,1,15, +1,1817,790,1,2037, +820,1,2038,739,1, +1385,803,1,2041,747, +1,2043,711,1,2173, +1411,16,0,611,1, +1847,829,1,14,1412, +19,153,1,14,1413, +5,87,1,504,982, +1,1513,1414,16,0, +493,1,1263,989,1, +9,995,1,10,1415, +17,1416,15,1417,4, +48,37,0,65,0, +114,0,103,0,117, +0,109,0,101,0, +110,0,116,0,68, +0,101,0,99,0, +108,0,97,0,114, +0,97,0,116,0, +105,0,111,0,110, +0,76,0,105,0, +115,0,116,0,1, +-1,1,5,149,1, +0,1,0,1418,22, +1,18,1,262,1001, +1,1193,1295,1,19, +1007,1,20,1419,16, +0,151,1,1527,1008, +1,30,1420,17,1421, +15,1417,1,-1,1, +5,1422,20,1423,4, +50,65,0,114,0, +103,0,117,0,109, +0,101,0,110,0, +116,0,68,0,101, +0,99,0,108,0, +97,0,114,0,97, +0,116,0,105,0, +111,0,110,0,76, +0,105,0,115,0, +116,0,95,0,50, +0,1,157,1,3, +1,4,1,3,1424, +22,1,20,1,283, +1028,1,2046,1425,17, +1426,15,1417,1,-1, +1,5,1427,20,1428, +4,50,65,0,114, +0,103,0,117,0, +109,0,101,0,110, +0,116,0,68,0, +101,0,99,0,108, +0,97,0,114,0, +97,0,116,0,105, +0,111,0,110,0, +76,0,105,0,115, +0,116,0,95,0, +49,0,1,156,1, +3,1,2,1,1, +1429,22,1,19,1, +40,1022,1,41,1430, +17,1431,15,1432,4, +26,37,0,65,0, +114,0,103,0,117, +0,109,0,101,0, +110,0,116,0,76, +0,105,0,115,0, +116,0,1,-1,1, +5,451,1,0,1, +0,1433,22,1,113, +1,42,1434,17,1435, +15,1436,4,38,37, +0,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,65,0,114,0, +103,0,117,0,109, +0,101,0,110,0, +116,0,1,-1,1, +5,1437,20,1438,4, +40,69,0,120,0, +112,0,114,0,101, +0,115,0,115,0, +105,0,111,0,110, +0,65,0,114,0, +103,0,117,0,109, +0,101,0,110,0, +116,0,95,0,49, +0,1,251,1,3, +1,2,1,1,1439, +22,1,116,1,1298, +1033,1,44,1038,1, +47,1039,1,48,1045, +1,49,1051,1,50, +1056,1,51,1061,1, +305,1066,1,63,1073, +1,66,1079,1,67, +1084,1,68,1089,1, +69,1094,1,70,1099, +1,573,1104,1,574, +1440,17,1441,15,1432, +1,-1,1,5,1442, +20,1443,4,28,65, +0,114,0,103,0, +117,0,109,0,101, +0,110,0,116,0, +76,0,105,0,115, +0,116,0,95,0, +49,0,1,249,1, +3,1,2,1,1, +1444,22,1,114,1, +1011,1110,1,74,1116, +1,2084,1445,17,1446, +15,1417,1,-1,1, +5,149,1,0,1, +0,1418,1,328,1126, +1,1333,1131,1,82, +1136,1,2093,1447,16, +0,151,1,1092,1448, +16,0,453,1,1094, +1272,1,93,1159,1, +352,1207,1,1609,1449, +16,0,493,1,107, +1192,1,1112,1245,1, +1046,1121,1,1121,1176, +1,118,1181,1,371, +1186,1,373,1229,1, +375,1197,1,377,1202, +1,379,1278,1,380, +1217,1,883,1267,1, +383,1450,16,0,453, +1,386,1451,17,1452, +15,1432,1,-1,1, +5,1453,20,1454,4, +28,65,0,114,0, +103,0,117,0,109, +0,101,0,110,0, +116,0,76,0,105, +0,115,0,116,0, +95,0,50,0,1, +250,1,3,1,4, +1,3,1455,22,1, +115,1,130,1223,1, +143,1240,1,1557,1251, +1,403,1456,16,0, +527,1,1158,1256,1, +827,1212,1,381,1457, +17,1458,15,1432,1, +-1,1,5,451,1, +0,1,0,1433,1, +157,1262,1,172,1283, +1,428,1459,16,0, +541,1,1438,1289,1, +188,1300,1,942,1316, +1,453,1460,16,0, +578,1,1962,1305,1, +2217,1461,17,1462,15, +1417,1,-1,1,5, +149,1,0,1,0, +1418,1,463,1342,1, +205,1311,1,2226,1463, +16,0,151,1,223, +1321,1,1228,1326,1, +476,1331,1,477,1014, +1,1482,1337,1,479, +1360,1,242,1350,1, +478,1355,1,1001,1365, +1,1002,1370,1,15, +1464,19,173,1,15, +1465,5,7,1,1431, +1466,16,0,410,1, +1112,1467,16,0,171, +1,1511,1468,16,0, +410,1,40,1469,16, +0,360,1,19,1007, +1,9,995,1,2232, +1470,16,0,364,1, +16,1471,19,136,1, +16,1472,5,122,1, +1257,1473,16,0,196, +1,1760,718,1,1762, +1474,16,0,242,1, +1763,1475,16,0,196, +1,1514,1476,16,0, +196,1,9,1477,16, +0,134,1,256,1478, +16,0,196,1,504, +1479,16,0,196,1, +277,1480,16,0,196, +1,2037,820,1,2038, +739,1,1788,1481,16, +0,196,1,32,1482, +16,0,196,1,2041, +747,1,2043,711,1, +1292,1483,16,0,196, +1,40,1484,16,0, +178,1,41,1485,16, +0,196,1,2050,1486, +17,1487,15,1488,4, +12,37,0,69,0, +118,0,101,0,110, +0,116,0,1,-1, +1,5,1489,20,1490, +4,16,69,0,118, +0,101,0,110,0, +116,0,95,0,51, +0,51,0,1,291, +1,3,1,2,1, +1,1491,22,1,156, +1,43,1492,16,0, +196,1,44,1493,16, +0,178,1,2053,1494, +17,1495,15,1488,1, +-1,1,5,1496,20, +1497,4,16,69,0, +118,0,101,0,110, +0,116,0,95,0, +51,0,48,0,1, +288,1,3,1,2, +1,1,1498,22,1, +153,1,2054,1499,17, +1500,15,1488,1,-1, +1,5,1501,20,1502, +4,16,69,0,118, +0,101,0,110,0, +116,0,95,0,50, +0,57,0,1,287, +1,3,1,2,1, +1,1503,22,1,152, +1,2055,1504,17,1505, +15,1488,1,-1,1, +5,1506,20,1507,4, +16,69,0,118,0, +101,0,110,0,116, +0,95,0,50,0, +56,0,1,286,1, +3,1,2,1,1, +1508,22,1,151,1, +299,1509,16,0,196, +1,1993,1510,16,0, +196,1,2058,1511,17, +1512,15,1488,1,-1, +1,5,1513,20,1514, +4,16,69,0,118, +0,101,0,110,0, +116,0,95,0,50, +0,53,0,1,283, +1,3,1,2,1, +1,1515,22,1,148, +1,2059,1516,17,1517, +15,1488,1,-1,1, +5,1518,20,1519,4, +16,69,0,118,0, +101,0,110,0,116, +0,95,0,50,0, +52,0,1,282,1, +3,1,2,1,1, +1520,22,1,147,1, +52,1521,16,0,196, +1,2061,1522,17,1523, +15,1488,1,-1,1, +5,1524,20,1525,4, +16,69,0,118,0, +101,0,110,0,116, +0,95,0,50,0, +50,0,1,280,1, +3,1,2,1,1, +1526,22,1,145,1, +2062,1527,17,1528,15, +1488,1,-1,1,5, +1529,20,1530,4,16, +69,0,118,0,101, +0,110,0,116,0, +95,0,50,0,49, +0,1,279,1,3, +1,2,1,1,1531, +22,1,144,1,2063, +1532,17,1533,15,1488, +1,-1,1,5,1534, +20,1535,4,16,69, +0,118,0,101,0, +110,0,116,0,95, +0,50,0,48,0, +1,278,1,3,1, +2,1,1,1536,22, +1,143,1,2064,1537, +17,1538,15,1488,1, +-1,1,5,1539,20, +1540,4,16,69,0, +118,0,101,0,110, +0,116,0,95,0, +49,0,57,0,1, +277,1,3,1,2, +1,1,1541,22,1, +142,1,2065,1542,17, +1543,15,1488,1,-1, +1,5,1544,20,1545, +4,16,69,0,118, +0,101,0,110,0, +116,0,95,0,49, +0,56,0,1,276, +1,3,1,2,1, +1,1546,22,1,141, +1,2066,1547,17,1548, +15,1488,1,-1,1, +5,1549,20,1550,4, +16,69,0,118,0, +101,0,110,0,116, +0,95,0,49,0, +55,0,1,275,1, +3,1,2,1,1, +1551,22,1,140,1, +2067,1552,17,1553,15, +1488,1,-1,1,5, +1554,20,1555,4,16, +69,0,118,0,101, +0,110,0,116,0, +95,0,49,0,54, +0,1,274,1,3, +1,2,1,1,1556, +22,1,139,1,1817, +790,1,1818,1557,16, +0,196,1,62,1558, +16,0,214,1,63, +1559,16,0,178,1, +2072,1560,17,1561,15, +1488,1,-1,1,5, +1562,20,1563,4,16, +69,0,118,0,101, +0,110,0,116,0, +95,0,49,0,49, +0,1,269,1,3, +1,2,1,1,1564, +22,1,134,1,2073, +1565,17,1566,15,1488, +1,-1,1,5,1567, +20,1568,4,16,69, +0,118,0,101,0, +110,0,116,0,95, +0,49,0,48,0, +1,268,1,3,1, +2,1,1,1569,22, +1,133,1,2074,1570, +17,1571,15,1488,1, +-1,1,5,1572,20, +1573,4,14,69,0, +118,0,101,0,110, +0,116,0,95,0, +57,0,1,267,1, +3,1,2,1,1, +1574,22,1,132,1, +2075,1575,17,1576,15, +1488,1,-1,1,5, +1577,20,1578,4,14, +69,0,118,0,101, +0,110,0,116,0, +95,0,56,0,1, +266,1,3,1,2, +1,1,1579,22,1, +131,1,2076,1580,17, +1581,15,1488,1,-1, +1,5,1582,20,1583, +4,14,69,0,118, +0,101,0,110,0, +116,0,95,0,55, +0,1,265,1,3, +1,2,1,1,1584, +22,1,130,1,2077, +1585,17,1586,15,1488, +1,-1,1,5,1587, +20,1588,4,14,69, +0,118,0,101,0, +110,0,116,0,95, +0,54,0,1,264, +1,3,1,2,1, +1,1589,22,1,129, +1,2078,1590,17,1591, +15,1488,1,-1,1, +5,1592,20,1593,4, +14,69,0,118,0, +101,0,110,0,116, +0,95,0,53,0, +1,263,1,3,1, +2,1,1,1594,22, +1,128,1,71,1595, +16,0,196,1,1327, +1596,16,0,196,1, +2081,1597,17,1598,15, +1488,1,-1,1,5, +1599,20,1600,4,14, +69,0,118,0,101, +0,110,0,116,0, +95,0,50,0,1, +260,1,3,1,2, +1,1,1601,22,1, +125,1,2082,1602,17, +1603,15,1488,1,-1, +1,5,1604,20,1605, +4,14,69,0,118, +0,101,0,110,0, +116,0,95,0,49, +0,1,259,1,3, +1,2,1,1,1606, +22,1,124,1,2083, +1607,16,0,577,1, +76,1608,16,0,196, +1,1584,1609,16,0, +196,1,79,1610,16, +0,196,1,322,1611, +16,0,196,1,85, +1612,16,0,196,1, +89,1613,16,0,196, +1,1847,829,1,346, +1614,16,0,196,1, +97,1615,16,0,196, +1,1856,779,1,1857, +674,1,1858,680,1, +1859,685,1,1860,690, +1,1862,696,1,1864, +701,1,1866,706,1, +2052,1616,17,1617,15, +1488,1,-1,1,5, +1618,20,1619,4,16, +69,0,118,0,101, +0,110,0,116,0, +95,0,51,0,49, +0,1,289,1,3, +1,2,1,1,1620, +22,1,154,1,1115, +1621,16,0,196,1, +112,1622,16,0,196, +1,1870,724,1,1871, +729,1,2057,1623,17, +1624,15,1488,1,-1, +1,5,1625,20,1626, +4,16,69,0,118, +0,101,0,110,0, +116,0,95,0,50, +0,54,0,1,284, +1,3,1,2,1, +1,1627,22,1,149, +1,102,1628,16,0, +196,1,2060,1629,17, +1630,15,1488,1,-1, +1,5,1631,20,1632, +4,16,69,0,118, +0,101,0,110,0, +116,0,95,0,50, +0,51,0,1,281, +1,3,1,2,1, +1,1633,22,1,146, +1,124,1634,16,0, +196,1,2068,1635,17, +1636,15,1488,1,-1, +1,5,1637,20,1638, +4,16,69,0,118, +0,101,0,110,0, +116,0,95,0,49, +0,53,0,1,273, +1,3,1,2,1, +1,1639,22,1,138, +1,2069,1640,17,1641, +15,1488,1,-1,1, +5,1642,20,1643,4, +16,69,0,118,0, +101,0,110,0,116, +0,95,0,49,0, +52,0,1,272,1, +3,1,2,1,1, +1644,22,1,137,1, +2070,1645,17,1646,15, +1488,1,-1,1,5, +1647,20,1648,4,16, +69,0,118,0,101, +0,110,0,116,0, +95,0,49,0,51, +0,1,271,1,3, +1,2,1,1,1649, +22,1,136,1,2071, +1650,17,1651,15,1488, +1,-1,1,5,1652, +20,1653,4,16,69, +0,118,0,101,0, +110,0,116,0,95, +0,49,0,50,0, +1,270,1,3,1, +2,1,1,1654,22, +1,135,1,381,1655, +16,0,196,1,1637, +667,1,384,1656,16, +0,196,1,137,1657, +16,0,196,1,2080, +1658,17,1659,15,1488, +1,-1,1,5,1660, +20,1661,4,14,69, +0,118,0,101,0, +110,0,116,0,95, +0,51,0,1,261, +1,3,1,2,1, +1,1662,22,1,126, +1,1396,1663,16,0, +196,1,397,1664,16, +0,196,1,1152,1665, +16,0,196,1,151, +1666,16,0,196,1, +1559,1667,16,0,196, +1,1611,1668,16,0, +196,1,1667,1669,16, +0,251,1,1668,1670, +16,0,196,1,166, +1671,16,0,196,1, +1868,797,1,1385,803, +1,1432,1672,16,0, +196,1,2056,1673,17, +1674,15,1488,1,-1, +1,5,1675,20,1676, +4,16,69,0,118, +0,101,0,110,0, +116,0,95,0,50, +0,55,0,1,285, +1,3,1,2,1, +1,1677,22,1,150, +1,182,1678,16,0, +196,1,1187,1679,16, +0,196,1,422,1680, +16,0,196,1,1694, +771,1,447,1681,16, +0,196,1,199,1682, +16,0,196,1,1706, +1683,16,0,170,1, +1707,1684,16,0,196, +1,2079,1685,17,1686, +15,1488,1,-1,1, +5,1687,20,1688,4, +14,69,0,118,0, +101,0,110,0,116, +0,95,0,52,0, +1,262,1,3,1, +2,1,1,1689,22, +1,127,1,2216,1690, +16,0,620,1,1467, +761,1,1468,1691,16, +0,423,1,1469,1692, +16,0,196,1,217, +1693,16,0,196,1, +1222,1694,16,0,196, +1,2233,1695,16,0, +196,1,1732,1696,16, +0,196,1,463,1697, +16,0,196,1,236, +1698,16,0,196,1, +488,1699,16,0,196, +1,1639,1700,16,0, +196,1,2051,1701,17, +1702,15,1488,1,-1, +1,5,1703,20,1704, +4,16,69,0,118, +0,101,0,110,0, +116,0,95,0,51, +0,50,0,1,290, +1,3,1,2,1, +1,1705,22,1,155, +1,17,1706,19,156, +1,17,1707,5,95, +1,1,1708,17,1709, +15,1710,4,18,37, +0,84,0,121,0, +112,0,101,0,110, +0,97,0,109,0, +101,0,1,-1,1, +5,1711,20,1712,4, +20,84,0,121,0, +112,0,101,0,110, +0,97,0,109,0, +101,0,95,0,55, +0,1,258,1,3, +1,2,1,1,1713, +22,1,123,1,2, +1714,17,1715,15,1710, +1,-1,1,5,1716, +20,1717,4,20,84, +0,121,0,112,0, +101,0,110,0,97, +0,109,0,101,0, +95,0,54,0,1, +257,1,3,1,2, +1,1,1718,22,1, +122,1,3,1719,17, +1720,15,1710,1,-1, +1,5,1721,20,1722, +4,20,84,0,121, +0,112,0,101,0, +110,0,97,0,109, +0,101,0,95,0, +53,0,1,256,1, +3,1,2,1,1, +1723,22,1,121,1, +4,1724,17,1725,15, +1710,1,-1,1,5, +1726,20,1727,4,20, +84,0,121,0,112, +0,101,0,110,0, +97,0,109,0,101, +0,95,0,52,0, +1,255,1,3,1, +2,1,1,1728,22, +1,120,1,5,1729, +17,1730,15,1710,1, +-1,1,5,1731,20, +1732,4,20,84,0, +121,0,112,0,101, +0,110,0,97,0, +109,0,101,0,95, +0,51,0,1,254, +1,3,1,2,1, +1,1733,22,1,119, +1,6,1734,17,1735, +15,1710,1,-1,1, +5,1736,20,1737,4, +20,84,0,121,0, +112,0,101,0,110, +0,97,0,109,0, +101,0,95,0,50, +0,1,253,1,3, +1,2,1,1,1738, +22,1,118,1,7, +1739,17,1740,15,1710, +1,-1,1,5,1741, +20,1742,4,20,84, +0,121,0,112,0, +101,0,110,0,97, +0,109,0,101,0, +95,0,49,0,1, +252,1,3,1,2, +1,1,1743,22,1, +117,1,1263,989,1, +9,995,1,10,1415, +1,262,1001,1,1769, +1744,16,0,307,1, +19,1007,1,20,1745, +16,0,163,1,1527, +1008,1,30,1420,1, +283,1028,1,504,982, +1,2046,1425,1,1010, +1746,16,0,553,1, +40,1022,1,41,1430, +1,42,1434,1,1298, +1033,1,44,1038,1, +47,1039,1,48,1045, +1,49,1051,1,50, +1056,1,51,1061,1, +305,1066,1,61,1747, +16,0,206,1,63, +1073,1,66,1079,1, +67,1084,1,68,1089, +1,69,1094,1,70, +1099,1,573,1104,1, +574,1440,1,1011,1110, +1,74,1116,1,2084, +1445,1,328,1126,1, +1333,1131,1,73,1748, +16,0,219,1,82, +1136,1,2093,1749,16, +0,528,1,1092,1750, +16,0,610,1,1094, +1272,1,93,1159,1, +352,1207,1,1609,1751, +16,0,582,1,107, +1192,1,1112,1245,1, +1046,1121,1,1121,1176, +1,118,1181,1,371, +1186,1,373,1229,1, +375,1197,1,377,1202, +1,827,1212,1,380, +1217,1,883,1267,1, +386,1451,1,130,1223, +1,379,1278,1,143, +1240,1,1557,1251,1, +1158,1256,1,381,1457, +1,157,1262,1,1674, +1752,16,0,154,1, +172,1283,1,1438,1289, +1,188,1300,1,942, +1316,1,1962,1305,1, +1713,1753,16,0,264, +1,2217,1461,1,463, +1342,1,205,1311,1, +2226,1754,16,0,283, +1,223,1321,1,1228, +1326,1,476,1331,1, +477,1014,1,1482,1337, +1,1193,1295,1,242, +1350,1,478,1355,1, +479,1360,1,1001,1365, +1,1002,1370,1,18, +1755,19,417,1,18, +1756,5,77,1,328, +1126,1,1333,1757,16, +0,415,1,1094,1272, +1,1438,1758,16,0, +415,1,223,1759,16, +0,415,1,428,1760, +16,0,415,1,118, +1761,16,0,415,1, +883,1762,16,0,415, +1,478,1355,1,453, +1763,16,0,415,1, +1001,1365,1,130,1764, +16,0,415,1,1112, +1245,1,242,1765,16, +0,415,1,1769,1766, +16,0,415,1,463, +1342,1,573,1104,1, +1228,1767,16,0,415, +1,1011,1110,1,1121, +1768,16,0,415,1, +143,1769,16,0,415, +1,352,1207,1,1674, +1770,16,0,415,1, +40,1022,1,477,1014, +1,42,1771,16,0, +415,1,479,1360,1, +44,1038,1,373,1229, +1,47,1039,1,48, +1045,1,49,1051,1, +50,1056,1,51,1061, +1,1482,1772,16,0, +415,1,380,1217,1, +157,1773,16,0,415, +1,476,1331,1,371, +1186,1,1366,1774,16, +0,415,1,2239,1775, +16,0,415,1,375, +1197,1,1010,1776,16, +0,415,1,63,1073, +1,1263,1777,16,0, +415,1,283,1028,1, +66,1079,1,67,1084, +1,68,1089,1,69, +1094,1,70,1099,1, +73,1778,16,0,415, +1,74,1116,1,494, +1779,16,0,415,1, +377,1202,1,172,1780, +16,0,415,1,1713, +1781,16,0,415,1, +188,1782,16,0,415, +1,82,1783,16,0, +415,1,262,1001,1, +504,982,1,305,1066, +1,1527,1784,16,0, +415,1,1565,1785,16, +0,415,1,403,1786, +16,0,415,1,827, +1787,16,0,415,1, +1046,1788,16,0,415, +1,93,1789,16,0, +415,1,1402,1790,16, +0,415,1,205,1791, +16,0,415,1,1298, +1792,16,0,415,1, +1002,1370,1,942,1793, +16,0,415,1,1193, +1794,16,0,415,1, +379,1278,1,1158,1795, +16,0,415,1,107, +1796,16,0,415,1, +19,1797,19,238,1, +19,1798,5,153,1, +1257,1799,16,0,236, +1,1760,718,1,256, +1800,16,0,236,1, +1763,1801,16,0,236, +1,1011,1110,1,1263, +1802,16,0,411,1, +494,1803,16,0,411, +1,1611,1804,16,0, +236,1,262,1001,1, +1769,1805,16,0,411, +1,504,1806,16,0, +236,1,1527,1807,16, +0,411,1,476,1331, +1,477,1014,1,277, +1808,16,0,236,1, +2037,820,1,2038,739, +1,1788,1809,16,0, +236,1,32,1810,16, +0,236,1,2041,747, +1,2043,711,1,1292, +1811,16,0,236,1, +1010,1812,16,0,411, +1,40,1022,1,41, +1813,16,0,236,1, +42,1814,16,0,411, +1,43,1815,16,0, +236,1,44,1038,1, +47,1039,1,48,1045, +1,49,1051,1,50, +1056,1,51,1061,1, +52,1816,16,0,236, +1,1559,1817,16,0, +236,1,305,1066,1, +1514,1818,16,0,236, +1,299,1819,16,0, +236,1,1817,790,1, +1818,1820,16,0,236, +1,283,1028,1,63, +1073,1,66,1079,1, +67,1084,1,68,1089, +1,69,1094,1,70, +1099,1,573,1104,1, +1327,1821,16,0,236, +1,73,1822,16,0, +411,1,74,1116,1, +71,1823,16,0,236, +1,76,1824,16,0, +236,1,328,1126,1, +1333,1825,16,0,411, +1,79,1826,16,0, +236,1,82,1827,16, +0,411,1,322,1828, +16,0,236,1,85, +1829,16,0,236,1, +89,1830,16,0,236, +1,1847,829,1,93, +1831,16,0,411,1, +346,1832,16,0,236, +1,97,1833,16,0, +236,1,1856,779,1, +1857,674,1,1858,680, +1,102,1834,16,0, +236,1,1860,690,1, +1862,696,1,1864,701, +1,1112,1245,1,1866, +706,1,1046,1835,16, +0,411,1,1115,1836, +16,0,236,1,112, +1837,16,0,236,1, +1870,724,1,1871,729, +1,1121,1838,16,0, +411,1,118,1839,16, +0,411,1,371,1186, +1,107,1840,16,0, +411,1,124,1841,16, +0,236,1,377,1202, +1,1298,1842,16,0, +411,1,827,1843,16, +0,411,1,380,1217, +1,130,1844,16,0, +411,1,1637,667,1, +384,1845,16,0,236, +1,373,1229,1,137, +1846,16,0,236,1, +352,1207,1,1396,1847, +16,0,236,1,143, +1848,16,0,411,1, +397,1849,16,0,236, +1,1402,1850,16,0, +411,1,1152,1851,16, +0,236,1,375,1197, +1,151,1852,16,0, +236,1,403,1853,16, +0,411,1,1158,1854, +16,0,411,1,1366, +1855,16,0,411,1, +381,1856,16,0,236, +1,157,1857,16,0, +411,1,883,1858,16, +0,411,1,1668,1859, +16,0,236,1,166, +1860,16,0,236,1, +379,1278,1,1674,1861, +16,0,411,1,1868, +797,1,172,1862,16, +0,411,1,1385,803, +1,1432,1863,16,0, +236,1,1584,1864,16, +0,236,1,182,1865, +16,0,236,1,1187, +1866,16,0,236,1, +422,1867,16,0,236, +1,1694,771,1,1193, +1868,16,0,411,1, +428,1869,16,0,411, +1,188,1870,16,0, +411,1,447,1871,16, +0,236,1,1094,1272, +1,199,1872,16,0, +236,1,1707,1873,16, +0,236,1,453,1874, +16,0,411,1,205, +1875,16,0,411,1, +1713,1876,16,0,411, +1,1565,1877,16,0, +411,1,1467,761,1, +1469,1878,16,0,236, +1,217,1879,16,0, +236,1,1222,1880,16, +0,236,1,942,1881, +16,0,411,1,1859, +685,1,223,1882,16, +0,411,1,1228,1883, +16,0,411,1,2233, +1884,16,0,236,1, +1732,1885,16,0,236, +1,1482,1886,16,0, +411,1,463,1887,16, +0,236,1,1438,1888, +16,0,411,1,2239, +1889,16,0,411,1, +236,1890,16,0,236, +1,488,1891,16,0, +236,1,1639,1892,16, +0,236,1,1993,1893, +16,0,236,1,242, +1894,16,0,411,1, +478,1355,1,479,1360, +1,1001,1365,1,1002, +1370,1,20,1895,19, +404,1,20,1896,5, +77,1,328,1897,16, +0,402,1,1333,1898, +16,0,402,1,1094, +1272,1,1438,1899,16, +0,402,1,223,1900, +16,0,402,1,428, +1901,16,0,402,1, +118,1902,16,0,402, +1,883,1903,16,0, +402,1,478,1355,1, +453,1904,16,0,402, +1,1001,1365,1,130, +1905,16,0,402,1, +1112,1245,1,242,1906, +16,0,402,1,1769, +1907,16,0,402,1, +463,1342,1,573,1104, +1,1228,1908,16,0, +402,1,1011,1110,1, +1121,1909,16,0,402, +1,143,1910,16,0, +402,1,352,1911,16, +0,402,1,1674,1912, +16,0,402,1,40, +1022,1,477,1014,1, +42,1913,16,0,402, +1,479,1360,1,44, +1038,1,373,1229,1, +47,1039,1,48,1045, +1,49,1051,1,50, +1056,1,51,1061,1, +1482,1914,16,0,402, +1,380,1217,1,157, +1915,16,0,402,1, +476,1331,1,371,1186, +1,1366,1916,16,0, +402,1,2239,1917,16, +0,402,1,375,1197, +1,1010,1918,16,0, +402,1,63,1073,1, +1263,1919,16,0,402, +1,283,1028,1,66, +1079,1,67,1084,1, +68,1089,1,69,1094, +1,70,1099,1,73, +1920,16,0,402,1, +74,1116,1,494,1921, +16,0,402,1,377, +1202,1,172,1922,16, +0,402,1,1713,1923, +16,0,402,1,188, +1924,16,0,402,1, +82,1925,16,0,402, +1,262,1001,1,504, +982,1,305,1066,1, +1527,1926,16,0,402, +1,1565,1927,16,0, +402,1,403,1928,16, +0,402,1,827,1929, +16,0,402,1,1046, +1930,16,0,402,1, +93,1931,16,0,402, +1,1402,1932,16,0, +402,1,205,1933,16, +0,402,1,1298,1934, +16,0,402,1,1002, +1370,1,942,1935,16, +0,402,1,1193,1936, +16,0,402,1,379, +1278,1,1158,1937,16, +0,402,1,107,1938, +16,0,402,1,21, +1939,19,395,1,21, +1940,5,77,1,328, +1941,16,0,393,1, +1333,1942,16,0,393, +1,1094,1272,1,1438, +1943,16,0,393,1, +223,1944,16,0,393, +1,428,1945,16,0, +393,1,118,1946,16, +0,393,1,883,1947, +16,0,393,1,478, +1355,1,453,1948,16, +0,393,1,1001,1365, +1,130,1949,16,0, +393,1,1112,1245,1, +242,1950,16,0,393, +1,1769,1951,16,0, +393,1,463,1342,1, +573,1104,1,1228,1952, +16,0,393,1,1011, +1110,1,1121,1953,16, +0,393,1,143,1954, +16,0,393,1,352, +1955,16,0,393,1, +1674,1956,16,0,393, +1,40,1022,1,477, +1014,1,42,1957,16, +0,393,1,479,1360, +1,44,1038,1,373, +1229,1,47,1039,1, +48,1045,1,49,1051, +1,50,1056,1,51, +1061,1,1482,1958,16, +0,393,1,380,1217, +1,157,1959,16,0, +393,1,476,1331,1, +371,1186,1,1366,1960, +16,0,393,1,2239, +1961,16,0,393,1, +375,1197,1,1010,1962, +16,0,393,1,63, +1073,1,1263,1963,16, +0,393,1,283,1028, +1,66,1079,1,67, +1084,1,68,1089,1, +69,1094,1,70,1099, +1,73,1964,16,0, +393,1,74,1116,1, +494,1965,16,0,393, +1,377,1202,1,172, +1966,16,0,393,1, +1713,1967,16,0,393, +1,188,1968,16,0, +393,1,82,1969,16, +0,393,1,262,1001, +1,504,982,1,305, +1066,1,1527,1970,16, +0,393,1,1565,1971, +16,0,393,1,403, +1972,16,0,393,1, +827,1973,16,0,393, +1,1046,1974,16,0, +393,1,93,1975,16, +0,393,1,1402,1976, +16,0,393,1,205, +1977,16,0,393,1, +1298,1978,16,0,393, +1,1002,1370,1,942, +1979,16,0,393,1, +1193,1980,16,0,393, +1,379,1278,1,1158, +1981,16,0,393,1, +107,1982,16,0,393, +1,22,1983,19,385, +1,22,1984,5,77, +1,328,1985,16,0, +383,1,1333,1986,16, +0,383,1,1094,1272, +1,1438,1987,16,0, +383,1,223,1988,16, +0,383,1,428,1989, +16,0,383,1,118, +1990,16,0,383,1, +883,1991,16,0,383, +1,478,1355,1,453, +1992,16,0,383,1, +1001,1365,1,130,1993, +16,0,383,1,1112, +1245,1,242,1994,16, +0,383,1,1769,1995, +16,0,383,1,463, +1342,1,573,1104,1, +1228,1996,16,0,383, +1,1011,1110,1,1121, +1997,16,0,383,1, +143,1998,16,0,383, +1,352,1999,16,0, +383,1,1674,2000,16, +0,383,1,40,1022, +1,477,1014,1,42, +2001,16,0,383,1, +479,1360,1,44,1038, +1,373,1229,1,47, +1039,1,48,1045,1, +49,1051,1,50,1056, +1,51,1061,1,1482, +2002,16,0,383,1, +380,1217,1,157,2003, +16,0,383,1,476, +1331,1,371,1186,1, +1366,2004,16,0,383, +1,2239,2005,16,0, +383,1,375,1197,1, +1010,2006,16,0,383, +1,63,1073,1,1263, +2007,16,0,383,1, +283,1028,1,66,1079, +1,67,1084,1,68, +1089,1,69,1094,1, +70,1099,1,73,2008, +16,0,383,1,74, +1116,1,494,2009,16, +0,383,1,377,1202, +1,172,2010,16,0, +383,1,1713,2011,16, +0,383,1,188,2012, +16,0,383,1,82, +2013,16,0,383,1, +262,1001,1,504,982, +1,305,1066,1,1527, +2014,16,0,383,1, +1565,2015,16,0,383, +1,403,2016,16,0, +383,1,827,2017,16, +0,383,1,1046,2018, +16,0,383,1,93, +2019,16,0,383,1, +1402,2020,16,0,383, +1,205,2021,16,0, +383,1,1298,2022,16, +0,383,1,1002,1370, +1,942,2023,16,0, +383,1,1193,2024,16, +0,383,1,379,1278, +1,1158,2025,16,0, +383,1,107,2026,16, +0,383,1,23,2027, +19,322,1,23,2028, +5,29,1,1637,667, +1,1856,779,1,1857, +674,1,1858,680,1, +1859,685,1,1860,690, +1,1862,696,1,1864, +701,1,1866,706,1, +1868,797,1,1760,718, +1,1870,724,1,1871, +729,1,1993,2029,16, +0,320,1,32,2030, +16,0,320,1,1788, +2031,16,0,320,1, +1467,761,1,1639,2032, +16,0,320,1,1694, +771,1,1817,790,1, +1818,2033,16,0,320, +1,2037,820,1,2038, +739,1,1385,803,1, +2041,747,1,2043,711, +1,1611,2034,16,0, +320,1,1732,2035,16, +0,320,1,1847,829, +1,24,2036,19,186, +1,24,2037,5,5, +1,44,2038,16,0, +184,1,377,2039,16, +0,439,1,40,2040, +16,0,623,1,63, +2041,16,0,208,1, +373,2042,16,0,435, +1,25,2043,19,305, +1,25,2044,5,154, +1,1257,2045,16,0, +522,1,1760,718,1, +256,2046,16,0,522, +1,1763,2047,16,0, +522,1,1011,1110,1, +1263,2048,16,0,303, +1,494,2049,16,0, +303,1,1611,2050,16, +0,522,1,262,1001, +1,1769,2051,16,0, +303,1,504,2052,16, +0,522,1,1527,2053, +16,0,303,1,476, +1331,1,477,1014,1, +277,2054,16,0,522, +1,2037,820,1,2038, +739,1,1788,2055,16, +0,522,1,32,2056, +16,0,522,1,2041, +747,1,2043,711,1, +1292,2057,16,0,522, +1,1010,2058,16,0, +303,1,40,1022,1, +41,2059,16,0,522, +1,42,2060,16,0, +303,1,43,2061,16, +0,522,1,44,1038, +1,47,1039,1,48, +1045,1,49,1051,1, +50,1056,1,51,1061, +1,52,2062,16,0, +522,1,1559,2063,16, +0,522,1,305,1066, +1,1514,2064,16,0, +522,1,299,2065,16, +0,522,1,1817,790, +1,1818,2066,16,0, +522,1,62,2067,16, +0,522,1,63,1073, +1,66,1079,1,67, +1084,1,68,1089,1, +69,1094,1,70,1099, +1,573,1104,1,1327, +2068,16,0,522,1, +73,2069,16,0,303, +1,74,1116,1,71, +2070,16,0,522,1, +76,2071,16,0,522, +1,328,1126,1,1333, +2072,16,0,303,1, +79,2073,16,0,522, +1,82,2074,16,0, +303,1,322,2075,16, +0,522,1,85,2076, +16,0,522,1,89, +2077,16,0,522,1, +1847,829,1,283,1028, +1,93,2078,16,0, +303,1,346,2079,16, +0,522,1,97,2080, +16,0,522,1,1856, +779,1,1857,674,1, +1858,680,1,102,2081, +16,0,522,1,1860, +690,1,1862,696,1, +1864,701,1,1112,1245, +1,1866,706,1,1046, +1121,1,1115,2082,16, +0,522,1,112,2083, +16,0,522,1,1870, +724,1,1871,729,1, +1121,2084,16,0,303, +1,118,1181,1,371, +1186,1,107,2085,16, +0,303,1,124,2086, +16,0,522,1,377, +1202,1,1298,2087,16, +0,303,1,827,2088, +16,0,303,1,380, +1217,1,130,1223,1, +1637,667,1,384,2089, +16,0,522,1,373, +1229,1,137,2090,16, +0,522,1,352,1207, +1,1396,2091,16,0, +522,1,143,2092,16, +0,303,1,397,2093, +16,0,522,1,1402, +2094,16,0,303,1, +1152,2095,16,0,522, +1,375,1197,1,151, +2096,16,0,522,1, +403,2097,16,0,303, +1,1158,2098,16,0, +303,1,1366,2099,16, +0,303,1,381,2100, +16,0,522,1,157, +2101,16,0,303,1, +883,2102,16,0,303, +1,1668,2103,16,0, +522,1,166,2104,16, +0,522,1,379,1278, +1,1674,2105,16,0, +303,1,1868,797,1, +172,1283,1,1385,803, +1,1432,2106,16,0, +522,1,1584,2107,16, +0,522,1,182,2108, +16,0,522,1,1187, +2109,16,0,522,1, +422,2110,16,0,522, +1,1694,771,1,1193, +2111,16,0,303,1, +428,2112,16,0,303, +1,188,1300,1,447, +2113,16,0,522,1, +1094,1272,1,199,2114, +16,0,522,1,1707, +2115,16,0,522,1, +453,2116,16,0,303, +1,205,2117,16,0, +303,1,1713,2118,16, +0,303,1,1565,2119, +16,0,303,1,1467, +761,1,1469,2120,16, +0,522,1,217,2121, +16,0,522,1,1222, +2122,16,0,522,1, +942,1316,1,1859,685, +1,223,2123,16,0, +303,1,1228,2124,16, +0,303,1,2233,2125, +16,0,522,1,1732, +2126,16,0,522,1, +1482,2127,16,0,303, +1,463,2128,16,0, +522,1,1438,2129,16, +0,303,1,2239,2130, +16,0,303,1,236, +2131,16,0,522,1, +488,2132,16,0,522, +1,1639,2133,16,0, +522,1,1993,2134,16, +0,522,1,242,2135, +16,0,303,1,478, +1355,1,479,1360,1, +1001,1365,1,1002,1370, +1,26,2136,19,349, +1,26,2137,5,77, +1,328,1126,1,1333, +2138,16,0,347,1, +1094,1272,1,1438,2139, +16,0,347,1,223, +2140,16,0,347,1, +428,2141,16,0,347, +1,118,1181,1,883, +2142,16,0,347,1, +478,1355,1,453,2143, +16,0,554,1,1001, +1365,1,130,1223,1, +1112,1245,1,242,2144, +16,0,347,1,1769, +2145,16,0,347,1, +463,1342,1,573,1104, +1,1228,2146,16,0, +347,1,1011,1110,1, +1121,2147,16,0,347, +1,143,2148,16,0, +347,1,352,1207,1, +1674,2149,16,0,347, +1,40,1022,1,477, +1014,1,42,2150,16, +0,347,1,479,1360, +1,44,1038,1,373, +1229,1,47,1039,1, +48,1045,1,49,1051, +1,50,1056,1,51, +1061,1,1482,2151,16, +0,347,1,380,1217, +1,157,2152,16,0, +347,1,476,1331,1, +371,1186,1,1366,2153, +16,0,347,1,2239, +2154,16,0,347,1, +375,1197,1,1010,2155, +16,0,347,1,63, +1073,1,1263,2156,16, +0,347,1,283,1028, +1,66,1079,1,67, +1084,1,68,1089,1, +69,1094,1,70,1099, +1,73,2157,16,0, +347,1,74,1116,1, +494,2158,16,0,584, +1,377,1202,1,172, +1283,1,1713,2159,16, +0,347,1,188,1300, +1,82,2160,16,0, +347,1,262,1001,1, +504,982,1,305,1066, +1,1527,2161,16,0, +347,1,1565,2162,16, +0,347,1,403,2163, +16,0,347,1,827, +2164,16,0,347,1, +1046,1121,1,93,2165, +16,0,347,1,1402, +2166,16,0,347,1, +205,2167,16,0,347, +1,1298,2168,16,0, +347,1,1002,1370,1, +942,1316,1,1193,2169, +16,0,347,1,379, +1278,1,1158,2170,16, +0,347,1,107,2171, +16,0,347,1,27, +2172,19,446,1,27, +2173,5,79,1,1584, +2174,16,0,444,1, +1639,2175,16,0,444, +1,1637,667,1,112, +2176,16,0,444,1, +1857,674,1,1858,680, +1,1859,685,1,1860, +690,1,1611,2177,16, +0,444,1,1862,696, +1,1864,701,1,1866, +706,1,2043,711,1, +124,2178,16,0,444, +1,1760,718,1,1870, +724,1,1871,729,1, +1763,2179,16,0,444, +1,1222,2180,16,0, +444,1,1993,2181,16, +0,444,1,1115,2182, +16,0,444,1,447, +2183,16,0,444,1, +1187,2184,16,0,444, +1,137,2185,16,0, +444,1,2038,739,1, +346,2186,16,0,444, +1,32,2187,16,0, +444,1,1668,2188,16, +0,444,1,2041,747, +1,236,2189,16,0, +444,1,1514,2190,16, +0,444,1,256,2191, +16,0,444,1,41, +2192,16,0,444,1, +151,2193,16,0,444, +1,43,2194,16,0, +444,1,1732,2195,16, +0,444,1,384,2196, +16,0,444,1,1467, +761,1,52,2197,16, +0,444,1,2233,2198, +16,0,444,1,381, +2199,16,0,444,1, +166,2200,16,0,444, +1,1257,2201,16,0, +444,1,1694,771,1, +1432,2202,16,0,444, +1,1152,2203,16,0, +444,1,1856,779,1, +62,2204,16,0,444, +1,504,2205,16,0, +444,1,277,2206,16, +0,444,1,397,2207, +16,0,444,1,71, +2208,16,0,444,1, +1707,2209,16,0,444, +1,1817,790,1,1818, +2210,16,0,444,1, +1868,797,1,76,2211, +16,0,444,1,1385, +803,1,79,2212,16, +0,444,1,182,2213, +16,0,444,1,299, +2214,16,0,444,1, +1559,2215,16,0,444, +1,85,2216,16,0, +444,1,488,2217,16, +0,444,1,1396,2218, +16,0,444,1,89, +2219,16,0,444,1, +199,2220,16,0,444, +1,463,2221,16,0, +444,1,1292,2222,16, +0,444,1,422,2223, +16,0,444,1,2037, +820,1,97,2224,16, +0,444,1,1469,2225, +16,0,444,1,1788, +2226,16,0,444,1, +102,2227,16,0,444, +1,1847,829,1,322, +2228,16,0,444,1, +1327,2229,16,0,444, +1,217,2230,16,0, +444,1,28,2231,19, +142,1,28,2232,5, +59,1,328,1126,1, +1094,1272,1,223,1321, +1,118,1181,1,883, +1267,1,1001,1365,1, +130,1223,1,1112,1245, +1,242,1350,1,352, +1207,1,463,1342,1, +573,1104,1,574,1440, +1,1011,1110,1,143, +1240,1,40,1022,1, +41,1430,1,42,1434, +1,479,1360,1,44, +1038,1,373,1229,1, +47,1039,1,157,1262, +1,49,1051,1,50, +1056,1,48,1045,1, +379,1278,1,380,1217, +1,51,1061,1,383, +2233,16,0,140,1, +371,1186,1,478,1355, +1,386,1451,1,375, +1197,1,172,1283,1, +262,1001,1,283,1028, +1,63,1073,1,67, +1084,1,68,1089,1, +69,1094,1,66,1079, +1,476,1331,1,477, +1014,1,74,1116,1, +377,1202,1,1002,1370, +1,70,1099,1,188, +1300,1,381,1457,1, +82,1136,1,504,982, +1,305,1066,1,827, +1212,1,93,1159,1, +205,1311,1,1046,1121, +1,942,1316,1,107, +1192,1,29,2234,19, +299,1,29,2235,5, +77,1,328,1126,1, +1333,2236,16,0,297, +1,1094,1272,1,1438, +2237,16,0,297,1, +223,2238,16,0,297, +1,428,2239,16,0, +297,1,118,1181,1, +883,2240,16,0,297, +1,478,1355,1,453, +2241,16,0,297,1, +1001,1365,1,130,1223, +1,1112,1245,1,242, +2242,16,0,297,1, +1769,2243,16,0,297, +1,463,1342,1,573, +1104,1,1228,2244,16, +0,297,1,1011,1110, +1,1121,2245,16,0, +297,1,143,1240,1, +352,1207,1,1674,2246, +16,0,297,1,40, +1022,1,477,1014,1, +42,2247,16,0,297, +1,479,1360,1,44, +1038,1,373,1229,1, +47,1039,1,48,1045, +1,49,1051,1,50, +1056,1,51,1061,1, +1482,2248,16,0,297, +1,380,1217,1,157, +1262,1,476,1331,1, +371,1186,1,1366,2249, +16,0,297,1,2239, +2250,16,0,297,1, +375,1197,1,1010,2251, +16,0,297,1,63, +1073,1,1263,2252,16, +0,297,1,283,1028, +1,66,1079,1,67, +1084,1,68,1089,1, +69,1094,1,70,1099, +1,73,2253,16,0, +297,1,74,1116,1, +494,2254,16,0,297, +1,377,1202,1,172, +1283,1,1713,2255,16, +0,297,1,188,1300, +1,82,2256,16,0, +297,1,262,1001,1, +504,982,1,305,1066, +1,1527,2257,16,0, +297,1,1565,2258,16, +0,297,1,403,2259, +16,0,297,1,827, +2260,16,0,297,1, +1046,1121,1,93,2261, +16,0,297,1,1402, +2262,16,0,297,1, +205,2263,16,0,297, +1,1298,2264,16,0, +297,1,1002,1370,1, +942,1316,1,1193,2265, +16,0,297,1,379, +1278,1,1158,2266,16, +0,297,1,107,2267, +16,0,297,1,30, +2268,19,278,1,30, +2269,5,77,1,328, +1126,1,1333,2270,16, +0,276,1,1094,1272, +1,1438,2271,16,0, +276,1,223,2272,16, +0,276,1,428,2273, +16,0,276,1,118, +1181,1,883,2274,16, +0,276,1,478,1355, +1,453,2275,16,0, +276,1,1001,1365,1, +130,1223,1,1112,1245, +1,242,2276,16,0, +276,1,1769,2277,16, +0,276,1,463,1342, +1,573,1104,1,1228, +2278,16,0,276,1, +1011,1110,1,1121,2279, +16,0,276,1,143, +1240,1,352,1207,1, +1674,2280,16,0,276, +1,40,1022,1,477, +1014,1,42,2281,16, +0,276,1,479,1360, +1,44,1038,1,373, +1229,1,47,1039,1, +48,1045,1,49,1051, +1,50,1056,1,51, +1061,1,1482,2282,16, +0,276,1,380,1217, +1,157,1262,1,476, +1331,1,371,1186,1, +1366,2283,16,0,276, +1,2239,2284,16,0, +276,1,375,1197,1, +1010,2285,16,0,276, +1,63,1073,1,1263, +2286,16,0,276,1, +283,1028,1,66,1079, +1,67,1084,1,68, +1089,1,69,1094,1, +70,1099,1,73,2287, +16,0,276,1,74, +1116,1,494,2288,16, +0,276,1,377,1202, +1,172,1283,1,1713, +2289,16,0,276,1, +188,1300,1,82,2290, +16,0,276,1,262, +1001,1,504,982,1, +305,1066,1,1527,2291, +16,0,276,1,1565, +2292,16,0,276,1, +403,2293,16,0,276, +1,827,2294,16,0, +276,1,1046,1121,1, +93,2295,16,0,276, +1,1402,2296,16,0, +276,1,205,2297,16, +0,276,1,1298,2298, +16,0,276,1,1002, +1370,1,942,1316,1, +1193,2299,16,0,276, +1,379,1278,1,1158, +2300,16,0,276,1, +107,2301,16,0,276, +1,31,2302,19,269, +1,31,2303,5,77, +1,328,1126,1,1333, +2304,16,0,267,1, +1094,1272,1,1438,2305, +16,0,267,1,223, +2306,16,0,267,1, +428,2307,16,0,267, +1,118,1181,1,883, +2308,16,0,267,1, +478,1355,1,453,2309, +16,0,267,1,1001, +1365,1,130,1223,1, +1112,1245,1,242,2310, +16,0,267,1,1769, +2311,16,0,267,1, +463,1342,1,573,1104, +1,1228,2312,16,0, +267,1,1011,1110,1, +1121,2313,16,0,267, +1,143,2314,16,0, +267,1,352,1207,1, +1674,2315,16,0,267, +1,40,1022,1,477, +1014,1,42,2316,16, +0,267,1,479,1360, +1,44,1038,1,373, +1229,1,47,1039,1, +48,1045,1,49,1051, +1,50,1056,1,51, +1061,1,1482,2317,16, +0,267,1,380,1217, +1,157,2318,16,0, +267,1,476,1331,1, +371,1186,1,1366,2319, +16,0,267,1,2239, +2320,16,0,267,1, +375,1197,1,1010,2321, +16,0,267,1,63, +1073,1,1263,2322,16, +0,267,1,283,1028, +1,66,1079,1,67, +1084,1,68,1089,1, +69,1094,1,70,1099, +1,73,2323,16,0, +267,1,74,1116,1, +494,2324,16,0,267, +1,377,1202,1,172, +1283,1,1713,2325,16, +0,267,1,188,1300, +1,82,2326,16,0, +267,1,262,1001,1, +504,982,1,305,1066, +1,1527,2327,16,0, +267,1,1565,2328,16, +0,267,1,403,2329, +16,0,267,1,827, +2330,16,0,267,1, +1046,1121,1,93,2331, +16,0,267,1,1402, +2332,16,0,267,1, +205,2333,16,0,267, +1,1298,2334,16,0, +267,1,1002,1370,1, +942,1316,1,1193,2335, +16,0,267,1,379, +1278,1,1158,2336,16, +0,267,1,107,2337, +16,0,267,1,32, +2338,19,261,1,32, +2339,5,77,1,328, +1126,1,1333,2340,16, +0,259,1,1094,1272, +1,1438,2341,16,0, +259,1,223,2342,16, +0,259,1,428,2343, +16,0,259,1,118, +1181,1,883,2344,16, +0,259,1,478,1355, +1,453,2345,16,0, +259,1,1001,1365,1, +130,1223,1,1112,1245, +1,242,2346,16,0, +259,1,1769,2347,16, +0,259,1,463,1342, +1,573,1104,1,1228, +2348,16,0,259,1, +1011,1110,1,1121,2349, +16,0,259,1,143, +2350,16,0,259,1, +352,1207,1,1674,2351, +16,0,259,1,40, +1022,1,477,1014,1, +42,2352,16,0,259, +1,479,1360,1,44, +1038,1,373,1229,1, +47,1039,1,48,1045, +1,49,1051,1,50, +1056,1,51,1061,1, +1482,2353,16,0,259, +1,380,1217,1,157, +2354,16,0,259,1, +476,1331,1,371,1186, +1,1366,2355,16,0, +259,1,2239,2356,16, +0,259,1,375,1197, +1,1010,2357,16,0, +259,1,63,1073,1, +1263,2358,16,0,259, +1,283,1028,1,66, +1079,1,67,1084,1, +68,1089,1,69,1094, +1,70,1099,1,73, +2359,16,0,259,1, +74,1116,1,494,2360, +16,0,259,1,377, +1202,1,172,1283,1, +1713,2361,16,0,259, +1,188,1300,1,82, +2362,16,0,259,1, +262,1001,1,504,982, +1,305,1066,1,1527, +2363,16,0,259,1, +1565,2364,16,0,259, +1,403,2365,16,0, +259,1,827,2366,16, +0,259,1,1046,1121, +1,93,2367,16,0, +259,1,1402,2368,16, +0,259,1,205,2369, +16,0,259,1,1298, +2370,16,0,259,1, +1002,1370,1,942,1316, +1,1193,2371,16,0, +259,1,379,1278,1, +1158,2372,16,0,259, +1,107,2373,16,0, +259,1,33,2374,19, +370,1,33,2375,5, +77,1,328,1126,1, +1333,2376,16,0,368, +1,1094,1272,1,1438, +2377,16,0,368,1, +223,2378,16,0,368, +1,428,2379,16,0, +368,1,118,1181,1, +883,2380,16,0,368, +1,478,1355,1,453, +2381,16,0,368,1, +1001,1365,1,130,1223, +1,1112,1245,1,242, +1350,1,1769,2382,16, +0,368,1,463,1342, +1,573,1104,1,1228, +2383,16,0,368,1, +1011,1110,1,1121,2384, +16,0,368,1,143, +1240,1,352,1207,1, +1674,2385,16,0,368, +1,40,1022,1,477, +1014,1,42,2386,16, +0,368,1,479,1360, +1,44,1038,1,373, +1229,1,47,1039,1, +48,1045,1,49,1051, +1,50,1056,1,51, +1061,1,1482,2387,16, +0,368,1,380,1217, +1,157,1262,1,476, +1331,1,371,1186,1, +1366,2388,16,0,368, +1,2239,2389,16,0, +368,1,375,1197,1, +1010,2390,16,0,368, +1,63,1073,1,1263, +2391,16,0,368,1, +283,1028,1,66,1079, +1,67,1084,1,68, +1089,1,69,1094,1, +70,1099,1,73,2392, +16,0,368,1,74, +1116,1,494,2393,16, +0,368,1,377,1202, +1,172,1283,1,1713, +2394,16,0,368,1, +188,1300,1,82,2395, +16,0,368,1,262, +1001,1,504,982,1, +305,1066,1,1527,2396, +16,0,368,1,1565, +2397,16,0,368,1, +403,2398,16,0,368, +1,827,2399,16,0, +368,1,1046,1121,1, +93,2400,16,0,368, +1,1402,2401,16,0, +368,1,205,2402,16, +0,368,1,1298,2403, +16,0,368,1,1002, +1370,1,942,1316,1, +1193,2404,16,0,368, +1,379,1278,1,1158, +2405,16,0,368,1, +107,2406,16,0,368, +1,34,2407,19,363, +1,34,2408,5,77, +1,328,1126,1,1333, +2409,16,0,361,1, +1094,1272,1,1438,2410, +16,0,361,1,223, +1321,1,428,2411,16, +0,361,1,118,1181, +1,883,2412,16,0, +361,1,478,1355,1, +453,2413,16,0,361, +1,1001,1365,1,130, +1223,1,1112,1245,1, +242,1350,1,1769,2414, +16,0,361,1,463, +1342,1,573,1104,1, +1228,2415,16,0,361, +1,1011,1110,1,1121, +2416,16,0,361,1, +143,1240,1,352,1207, +1,1674,2417,16,0, +361,1,40,1022,1, +477,1014,1,42,2418, +16,0,361,1,479, +1360,1,44,1038,1, +373,1229,1,47,1039, +1,48,1045,1,49, +1051,1,50,1056,1, +51,1061,1,1482,2419, +16,0,361,1,380, +1217,1,157,1262,1, +476,1331,1,371,1186, +1,1366,2420,16,0, +361,1,2239,2421,16, +0,361,1,375,1197, +1,1010,2422,16,0, +361,1,63,1073,1, +1263,2423,16,0,361, +1,283,1028,1,66, +1079,1,67,1084,1, +68,1089,1,69,1094, +1,70,1099,1,73, +2424,16,0,361,1, +74,1116,1,494,2425, +16,0,361,1,377, +1202,1,172,1283,1, +1713,2426,16,0,361, +1,188,1300,1,82, +2427,16,0,361,1, +262,1001,1,504,982, +1,305,1066,1,1527, +2428,16,0,361,1, +1565,2429,16,0,361, +1,403,2430,16,0, +361,1,827,2431,16, +0,361,1,1046,1121, +1,93,2432,16,0, +361,1,1402,2433,16, +0,361,1,205,1311, +1,1298,2434,16,0, +361,1,1002,1370,1, +942,1316,1,1193,2435, +16,0,361,1,379, +1278,1,1158,2436,16, +0,361,1,107,2437, +16,0,361,1,35, +2438,19,356,1,35, +2439,5,77,1,328, +1126,1,1333,2440,16, +0,354,1,1094,1272, +1,1438,2441,16,0, +354,1,223,2442,16, +0,354,1,428,2443, +16,0,354,1,118, +1181,1,883,2444,16, +0,354,1,478,1355, +1,453,2445,16,0, +354,1,1001,1365,1, +130,1223,1,1112,1245, +1,242,1350,1,1769, +2446,16,0,354,1, +463,1342,1,573,1104, +1,1228,2447,16,0, +354,1,1011,1110,1, +1121,2448,16,0,354, +1,143,1240,1,352, +1207,1,1674,2449,16, +0,354,1,40,1022, +1,477,1014,1,42, +2450,16,0,354,1, +479,1360,1,44,1038, +1,373,1229,1,47, +1039,1,48,1045,1, +49,1051,1,50,1056, +1,51,1061,1,1482, +2451,16,0,354,1, +380,1217,1,157,1262, +1,476,1331,1,371, +1186,1,1366,2452,16, +0,354,1,2239,2453, +16,0,354,1,375, +1197,1,1010,2454,16, +0,354,1,63,1073, +1,1263,2455,16,0, +354,1,283,1028,1, +66,1079,1,67,1084, +1,68,1089,1,69, +1094,1,70,1099,1, +73,2456,16,0,354, +1,74,1116,1,494, +2457,16,0,354,1, +377,1202,1,172,1283, +1,1713,2458,16,0, +354,1,188,1300,1, +82,2459,16,0,354, +1,262,1001,1,504, +982,1,305,1066,1, +1527,2460,16,0,354, +1,1565,2461,16,0, +354,1,403,2462,16, +0,354,1,827,2463, +16,0,354,1,1046, +1121,1,93,2464,16, +0,354,1,1402,2465, +16,0,354,1,205, +1311,1,1298,2466,16, +0,354,1,1002,1370, +1,942,1316,1,1193, +2467,16,0,354,1, +379,1278,1,1158,2468, +16,0,354,1,107, +2469,16,0,354,1, +36,2470,19,229,1, +36,2471,5,78,1, +1584,2472,16,0,227, +1,1639,2473,16,0, +227,1,1637,667,1, +112,2474,16,0,227, +1,1857,674,1,1858, +680,1,1859,685,1, +1860,690,1,1862,696, +1,1864,701,1,1866, +706,1,2043,711,1, +124,2475,16,0,227, +1,1760,718,1,1870, +724,1,1871,729,1, +1763,2476,16,0,227, +1,1222,2477,16,0, +227,1,1993,2478,16, +0,227,1,1115,2479, +16,0,227,1,447, +2480,16,0,227,1, +1187,2481,16,0,227, +1,137,2482,16,0, +227,1,2038,739,1, +346,2483,16,0,227, +1,32,2484,16,0, +227,1,1668,2485,16, +0,227,1,2041,747, +1,236,2486,16,0, +227,1,1514,2487,16, +0,227,1,256,2488, +16,0,227,1,41, +2489,16,0,227,1, +151,2490,16,0,227, +1,43,2491,16,0, +227,1,1732,2492,16, +0,227,1,384,2493, +16,0,227,1,1467, +761,1,52,2494,16, +0,227,1,2233,2495, +16,0,227,1,381, +2496,16,0,227,1, +166,2497,16,0,227, +1,1257,2498,16,0, +227,1,1694,771,1, +1432,2499,16,0,227, +1,1152,2500,16,0, +227,1,1856,779,1, +1611,2501,16,0,227, +1,504,2502,16,0, +227,1,277,2503,16, +0,227,1,397,2504, +16,0,227,1,71, +2505,16,0,227,1, +1707,2506,16,0,227, +1,1817,790,1,1818, +2507,16,0,227,1, +1868,797,1,76,2508, +16,0,227,1,1385, +803,1,79,2509,16, +0,227,1,182,2510, +16,0,227,1,299, +2511,16,0,227,1, +1559,2512,16,0,227, +1,85,2513,16,0, +227,1,488,2514,16, +0,227,1,1396,2515, +16,0,227,1,89, +2516,16,0,227,1, +199,2517,16,0,227, +1,463,2518,16,0, +227,1,1292,2519,16, +0,227,1,422,2520, +16,0,227,1,2037, +820,1,97,2521,16, +0,227,1,1469,2522, +16,0,227,1,1788, +2523,16,0,227,1, +102,2524,16,0,227, +1,1847,829,1,322, +2525,16,0,227,1, +1327,2526,16,0,227, +1,217,2527,16,0, +227,1,37,2528,19, +250,1,37,2529,5, +78,1,1584,2530,16, +0,248,1,1639,2531, +16,0,248,1,1637, +667,1,112,2532,16, +0,248,1,1857,674, +1,1858,680,1,1859, +685,1,1860,690,1, +1862,696,1,1864,701, +1,1866,706,1,2043, +711,1,124,2533,16, +0,248,1,1760,718, +1,1870,724,1,1871, +729,1,1763,2534,16, +0,248,1,1222,2535, +16,0,248,1,1993, +2536,16,0,248,1, +1115,2537,16,0,248, +1,447,2538,16,0, +248,1,1187,2539,16, +0,248,1,137,2540, +16,0,248,1,2038, +739,1,346,2541,16, +0,248,1,32,2542, +16,0,248,1,1668, +2543,16,0,248,1, +2041,747,1,236,2544, +16,0,248,1,1514, +2545,16,0,248,1, +256,2546,16,0,248, +1,41,2547,16,0, +248,1,151,2548,16, +0,248,1,43,2549, +16,0,248,1,1732, +2550,16,0,248,1, +384,2551,16,0,248, +1,1467,761,1,52, +2552,16,0,248,1, +2233,2553,16,0,248, +1,381,2554,16,0, +248,1,166,2555,16, +0,248,1,1257,2556, +16,0,248,1,1694, +771,1,1432,2557,16, +0,248,1,1152,2558, +16,0,248,1,1856, +779,1,1611,2559,16, +0,248,1,504,2560, +16,0,248,1,277, +2561,16,0,248,1, +397,2562,16,0,248, +1,71,2563,16,0, +248,1,1707,2564,16, +0,248,1,1817,790, +1,1818,2565,16,0, +248,1,1868,797,1, +76,2566,16,0,248, +1,1385,803,1,79, +2567,16,0,248,1, +182,2568,16,0,248, +1,299,2569,16,0, +248,1,1559,2570,16, +0,248,1,85,2571, +16,0,248,1,488, +2572,16,0,248,1, +1396,2573,16,0,248, +1,89,2574,16,0, +248,1,199,2575,16, +0,248,1,463,2576, +16,0,248,1,1292, +2577,16,0,248,1, +422,2578,16,0,248, +1,2037,820,1,97, +2579,16,0,248,1, +1469,2580,16,0,248, +1,1788,2581,16,0, +248,1,102,2582,16, +0,248,1,1847,829, +1,322,2583,16,0, +248,1,1327,2584,16, +0,248,1,217,2585, +16,0,248,1,38, +2586,19,246,1,38, +2587,5,77,1,328, +1126,1,1333,2588,16, +0,244,1,1094,1272, +1,1438,2589,16,0, +244,1,223,1321,1, +428,2590,16,0,244, +1,118,1181,1,883, +1267,1,478,1355,1, +453,2591,16,0,244, +1,1001,1365,1,130, +1223,1,1112,1245,1, +242,1350,1,1769,2592, +16,0,244,1,463, +1342,1,573,1104,1, +1228,2593,16,0,244, +1,1011,1110,1,1121, +2594,16,0,244,1, +143,1240,1,352,1207, +1,1674,2595,16,0, +244,1,40,1022,1, +477,1014,1,42,2596, +16,0,244,1,479, +1360,1,44,1038,1, +373,1229,1,47,1039, +1,48,1045,1,49, +1051,1,50,1056,1, +51,1061,1,1482,2597, +16,0,244,1,380, +1217,1,157,1262,1, +476,1331,1,371,1186, +1,1366,2598,16,0, +244,1,2239,2599,16, +0,244,1,375,1197, +1,1010,2600,16,0, +244,1,63,1073,1, +1263,2601,16,0,244, +1,283,1028,1,66, +1079,1,67,1084,1, +68,1089,1,69,1094, +1,70,1099,1,73, +2602,16,0,244,1, +74,1116,1,494,2603, +16,0,244,1,377, +1202,1,172,1283,1, +1713,2604,16,0,244, +1,188,1300,1,82, +2605,16,0,244,1, +262,1001,1,504,982, +1,305,1066,1,1527, +2606,16,0,244,1, +1565,2607,16,0,244, +1,403,2608,16,0, +244,1,827,1212,1, +1046,1121,1,93,2609, +16,0,244,1,1402, +2610,16,0,244,1, +205,1311,1,1298,2611, +16,0,244,1,1002, +1370,1,942,1316,1, +1193,2612,16,0,244, +1,379,1278,1,1158, +2613,16,0,244,1, +107,2614,16,0,244, +1,39,2615,19,232, +1,39,2616,5,77, +1,328,1126,1,1333, +2617,16,0,230,1, +1094,1272,1,1438,2618, +16,0,230,1,223, +1321,1,428,2619,16, +0,230,1,118,1181, +1,883,1267,1,478, +1355,1,453,2620,16, +0,230,1,1001,1365, +1,130,1223,1,1112, +1245,1,242,1350,1, +1769,2621,16,0,230, +1,463,1342,1,573, +1104,1,1228,2622,16, +0,230,1,1011,1110, +1,1121,2623,16,0, +230,1,143,1240,1, +352,1207,1,1674,2624, +16,0,230,1,40, +1022,1,477,1014,1, +42,2625,16,0,230, +1,479,1360,1,44, +1038,1,373,1229,1, +47,1039,1,48,1045, +1,49,1051,1,50, +1056,1,51,1061,1, +1482,2626,16,0,230, +1,380,1217,1,157, +1262,1,476,1331,1, +371,1186,1,1366,2627, +16,0,230,1,2239, +2628,16,0,230,1, +375,1197,1,1010,2629, +16,0,230,1,63, +1073,1,1263,2630,16, +0,230,1,283,1028, +1,66,1079,1,67, +1084,1,68,1089,1, +69,1094,1,70,1099, +1,73,2631,16,0, +230,1,74,1116,1, +494,2632,16,0,230, +1,377,1202,1,172, +1283,1,1713,2633,16, +0,230,1,188,1300, +1,82,2634,16,0, +230,1,262,1001,1, +504,982,1,305,1066, +1,1527,2635,16,0, +230,1,1565,2636,16, +0,230,1,403,2637, +16,0,230,1,827, +1212,1,1046,1121,1, +93,2638,16,0,230, +1,1402,2639,16,0, +230,1,205,1311,1, +1298,2640,16,0,230, +1,1002,1370,1,942, +1316,1,1193,2641,16, +0,230,1,379,1278, +1,1158,2642,16,0, +230,1,107,2643,16, +0,230,1,40,2644, +19,223,1,40,2645, +5,77,1,328,1126, +1,1333,2646,16,0, +221,1,1094,1272,1, +1438,2647,16,0,221, +1,223,2648,16,0, +221,1,428,2649,16, +0,221,1,118,2650, +16,0,221,1,883, +2651,16,0,221,1, +478,1355,1,453,2652, +16,0,221,1,1001, +1365,1,130,2653,16, +0,221,1,1112,1245, +1,242,2654,16,0, +221,1,1769,2655,16, +0,221,1,463,1342, +1,573,1104,1,1228, +2656,16,0,221,1, +1011,1110,1,1121,2657, +16,0,221,1,143, +2658,16,0,221,1, +352,1207,1,1674,2659, +16,0,221,1,40, +1022,1,477,1014,1, +42,2660,16,0,221, +1,479,1360,1,44, +1038,1,373,1229,1, +47,1039,1,48,1045, +1,49,1051,1,50, +1056,1,51,1061,1, +1482,2661,16,0,221, +1,380,1217,1,157, +2662,16,0,221,1, +476,1331,1,371,1186, +1,1366,2663,16,0, +221,1,2239,2664,16, +0,221,1,375,1197, +1,1010,2665,16,0, +221,1,63,1073,1, +1263,2666,16,0,221, +1,283,1028,1,66, +1079,1,67,1084,1, +68,1089,1,69,1094, +1,70,1099,1,73, +2667,16,0,221,1, +74,1116,1,494,2668, +16,0,221,1,377, +1202,1,172,2669,16, +0,221,1,1713,2670, +16,0,221,1,188, +2671,16,0,221,1, +82,2672,16,0,221, +1,262,1001,1,504, +982,1,305,1066,1, +1527,2673,16,0,221, +1,1565,2674,16,0, +221,1,403,2675,16, +0,221,1,827,2676, +16,0,221,1,1046, +1121,1,93,2677,16, +0,221,1,1402,2678, +16,0,221,1,205, +2679,16,0,221,1, +1298,2680,16,0,221, +1,1002,1370,1,942, +1316,1,1193,2681,16, +0,221,1,379,1278, +1,1158,2682,16,0, +221,1,107,2683,16, +0,221,1,41,2684, +19,182,1,41,2685, +5,77,1,328,1126, +1,1333,2686,16,0, +180,1,1094,1272,1, +1438,2687,16,0,180, +1,223,2688,16,0, +180,1,428,2689,16, +0,180,1,118,2690, +16,0,180,1,883, +2691,16,0,180,1, +478,1355,1,453,2692, +16,0,180,1,1001, +1365,1,130,2693,16, +0,180,1,1112,1245, +1,242,2694,16,0, +180,1,1769,2695,16, +0,180,1,463,1342, +1,573,1104,1,1228, +2696,16,0,180,1, +1011,1110,1,1121,2697, +16,0,180,1,143, +2698,16,0,180,1, +352,1207,1,1674,2699, +16,0,180,1,40, +1022,1,477,1014,1, +42,2700,16,0,180, +1,479,1360,1,44, +1038,1,373,1229,1, +47,1039,1,48,1045, +1,49,1051,1,50, +1056,1,51,1061,1, +1482,2701,16,0,180, +1,380,1217,1,157, +2702,16,0,180,1, +476,1331,1,371,1186, +1,1366,2703,16,0, +180,1,2239,2704,16, +0,180,1,375,1197, +1,1010,2705,16,0, +180,1,63,1073,1, +1263,2706,16,0,180, +1,283,1028,1,66, +1079,1,67,1084,1, +68,1089,1,69,1094, +1,70,1099,1,73, +2707,16,0,180,1, +74,1116,1,494,2708, +16,0,180,1,377, +1202,1,172,2709,16, +0,180,1,1713,2710, +16,0,180,1,188, +2711,16,0,180,1, +82,2712,16,0,180, +1,262,1001,1,504, +982,1,305,1066,1, +1527,2713,16,0,180, +1,1565,2714,16,0, +180,1,403,2715,16, +0,180,1,827,2716, +16,0,180,1,1046, +1121,1,93,2717,16, +0,180,1,1402,2718, +16,0,180,1,205, +2719,16,0,180,1, +1298,2720,16,0,180, +1,1002,1370,1,942, +1316,1,1193,2721,16, +0,180,1,379,1278, +1,1158,2722,16,0, +180,1,107,2723,16, +0,180,1,42,2724, +19,241,1,42,2725, +5,29,1,1637,667, +1,1856,779,1,1857, +674,1,1858,680,1, +1859,685,1,1860,690, +1,1862,696,1,1864, +701,1,1866,706,1, +1868,797,1,1760,718, +1,1870,724,1,1871, +729,1,1993,2726,16, +0,239,1,32,2727, +16,0,239,1,1788, +2728,16,0,239,1, +1467,761,1,1639,2729, +16,0,239,1,1694, +771,1,1817,790,1, +1818,2730,16,0,239, +1,2037,820,1,2038, +739,1,1385,803,1, +2041,747,1,2043,711, +1,1611,2731,16,0, +239,1,1732,2732,16, +0,239,1,1847,829, +1,43,2733,19,295, +1,43,2734,5,20, +1,2043,711,1,2038, +739,1,1817,2735,16, +0,293,1,1760,718, +1,1856,779,1,1857, +674,1,1858,680,1, +1859,685,1,1860,690, +1,1862,696,1,1864, +701,1,1866,706,1, +1868,797,1,1870,724, +1,1871,729,1,1467, +761,1,1385,803,1, +1637,667,1,1694,771, +1,1847,829,1,44, +2736,19,600,1,44, +2737,5,29,1,1637, +667,1,1856,779,1, +1857,674,1,1858,680, +1,1859,685,1,1860, +690,1,1862,696,1, +1864,701,1,1866,706, +1,1868,797,1,1760, +718,1,1870,724,1, +1871,729,1,1993,2738, +16,0,598,1,32, +2739,16,0,598,1, +1788,2740,16,0,598, +1,1467,761,1,1639, +2741,16,0,598,1, +1694,771,1,1817,790, +1,1818,2742,16,0, +598,1,2037,820,1, +2038,739,1,1385,803, +1,2041,747,1,2043, +711,1,1611,2743,16, +0,598,1,1732,2744, +16,0,598,1,1847, +829,1,45,2745,19, +169,1,45,2746,5, +30,1,1637,667,1, +1856,779,1,1857,674, +1,1858,680,1,1859, +685,1,1860,690,1, +1862,696,1,1864,701, +1,1866,706,1,1868, +797,1,1760,718,1, +1870,724,1,1871,729, +1,1666,2747,16,0, +622,1,1993,2748,16, +0,167,1,32,2749, +16,0,167,1,1788, +2750,16,0,167,1, +1467,761,1,1639,2751, +16,0,167,1,1694, +771,1,1817,790,1, +1818,2752,16,0,167, +1,2037,820,1,2038, +739,1,1385,803,1, +2041,747,1,2043,711, +1,1611,2753,16,0, +167,1,1732,2754,16, +0,167,1,1847,829, +1,46,2755,19,422, +1,46,2756,5,29, +1,1637,667,1,1856, +779,1,1857,674,1, +1858,680,1,1859,685, +1,1860,690,1,1862, +696,1,1864,701,1, +1866,706,1,1868,797, +1,1760,718,1,1870, +724,1,1871,729,1, +1993,2757,16,0,420, +1,32,2758,16,0, +420,1,1788,2759,16, +0,420,1,1467,761, +1,1639,2760,16,0, +420,1,1694,771,1, +1817,790,1,1818,2761, +16,0,420,1,2037, +820,1,2038,739,1, +1385,803,1,2041,747, +1,2043,711,1,1611, +2762,16,0,420,1, +1732,2763,16,0,420, +1,1847,829,1,47, +2764,19,314,1,47, +2765,5,19,1,0, +2766,16,0,608,1, +2258,2767,17,2768,15, +2769,4,52,37,0, +71,0,108,0,111, +0,98,0,97,0, +108,0,86,0,97, +0,114,0,105,0, +97,0,98,0,108, +0,101,0,68,0, +101,0,99,0,108, +0,97,0,114,0, +97,0,116,0,105, +0,111,0,110,0, +1,-1,1,5,2770, +20,2771,4,54,71, +0,108,0,111,0, +98,0,97,0,108, +0,86,0,97,0, +114,0,105,0,97, +0,98,0,108,0, +101,0,68,0,101, +0,99,0,108,0, +97,0,114,0,97, +0,116,0,105,0, +111,0,110,0,95, +0,50,0,1,146, +1,3,1,5,1, +4,2772,22,1,8, +1,2045,2773,17,2774, +15,2775,4,50,37, +0,71,0,108,0, +111,0,98,0,97, +0,108,0,70,0, +117,0,110,0,99, +0,116,0,105,0, +111,0,110,0,68, +0,101,0,102,0, +105,0,110,0,105, +0,116,0,105,0, +111,0,110,0,1, +-1,1,5,2776,20, +2777,4,52,71,0, +108,0,111,0,98, +0,97,0,108,0, +70,0,117,0,110, +0,99,0,116,0, +105,0,111,0,110, +0,68,0,101,0, +102,0,105,0,110, +0,105,0,116,0, +105,0,111,0,110, +0,95,0,50,0, +1,148,1,3,1, +7,1,6,2778,22, +1,10,1,2038,739, +1,2043,711,1,2230, +2779,17,2780,15,2775, +1,-1,1,5,2781, +20,2782,4,52,71, +0,108,0,111,0, +98,0,97,0,108, +0,70,0,117,0, +110,0,99,0,116, +0,105,0,111,0, +110,0,68,0,101, +0,102,0,105,0, +110,0,105,0,116, +0,105,0,111,0, +110,0,95,0,49, +0,1,147,1,3, +1,6,1,5,2783, +22,1,9,1,2269, +2784,17,2785,15,2769, +1,-1,1,5,2786, +20,2787,4,54,71, +0,108,0,111,0, +98,0,97,0,108, +0,86,0,97,0, +114,0,105,0,97, +0,98,0,108,0, +101,0,68,0,101, +0,99,0,108,0, +97,0,114,0,97, +0,116,0,105,0, +111,0,110,0,95, +0,49,0,1,145, +1,3,1,3,1, +2,2788,22,1,7, +1,2270,2789,16,0, +608,1,2209,658,1, +2281,2790,16,0,608, +1,2135,636,1,2211, +2791,16,0,608,1, +2214,642,1,2215,653, +1,2288,2792,17,2793, +15,2794,4,36,37, +0,71,0,108,0, +111,0,98,0,97, +0,108,0,68,0, +101,0,102,0,105, +0,110,0,105,0, +116,0,105,0,111, +0,110,0,115,0, +1,-1,1,5,2795, +20,2796,4,38,71, +0,108,0,111,0, +98,0,97,0,108, +0,68,0,101,0, +102,0,105,0,110, +0,105,0,116,0, +105,0,111,0,110, +0,115,0,95,0, +52,0,1,144,1, +3,1,3,1,2, +2797,22,1,6,1, +2289,2798,17,2799,15, +2794,1,-1,1,5, +2800,20,2801,4,38, +71,0,108,0,111, +0,98,0,97,0, +108,0,68,0,101, +0,102,0,105,0, +110,0,105,0,116, +0,105,0,111,0, +110,0,115,0,95, +0,50,0,1,142, +1,3,1,3,1, +2,2802,22,1,4, +1,2290,2803,17,2804, +15,2794,1,-1,1, +5,2805,20,2806,4, +38,71,0,108,0, +111,0,98,0,97, +0,108,0,68,0, +101,0,102,0,105, +0,110,0,105,0, +116,0,105,0,111, +0,110,0,115,0, +95,0,51,0,1, +143,1,3,1,2, +1,1,2807,22,1, +5,1,2291,2808,17, +2809,15,2794,1,-1, +1,5,2810,20,2811, +4,38,71,0,108, +0,111,0,98,0, +97,0,108,0,68, +0,101,0,102,0, +105,0,110,0,105, +0,116,0,105,0, +111,0,110,0,115, +0,95,0,49,0, +1,141,1,3,1, +2,1,1,2812,22, +1,3,1,1849,2813, +16,0,312,1,48, +2814,19,373,1,48, +2815,5,45,1,0, +2816,16,0,534,1, +2290,2803,1,2291,2808, +1,1856,779,1,1857, +674,1,1858,680,1, +1859,685,1,1860,690, +1,1862,696,1,1864, +701,1,1866,706,1, +1868,797,1,1760,718, +1,1870,724,1,1871, +729,1,2209,658,1, +1993,2817,16,0,371, +1,32,2818,16,0, +371,1,2214,642,1, +1467,761,1,2289,2798, +1,1788,2819,16,0, +371,1,2230,2779,1, +1637,667,1,1639,2820, +16,0,371,1,1694, +771,1,2135,636,1, +1817,790,1,1818,2821, +16,0,371,1,2037, +820,1,2038,739,1, +1385,803,1,2258,2767, +1,2041,747,1,2043, +711,1,2045,2773,1, +1611,2822,16,0,371, +1,2269,2784,1,2270, +2823,16,0,534,1, +1732,2824,16,0,371, +1,2281,2825,16,0, +534,1,2211,2826,16, +0,534,1,1847,829, +1,2215,653,1,2288, +2792,1,49,2827,19, +318,1,49,2828,5, +29,1,1637,667,1, +1856,779,1,1857,674, +1,1858,680,1,1859, +685,1,1860,690,1, +1862,696,1,1864,701, +1,1866,706,1,1868, +797,1,1760,718,1, +1870,724,1,1871,729, +1,1993,2829,16,0, +316,1,32,2830,16, +0,316,1,1788,2831, +16,0,316,1,1467, +761,1,1639,2832,16, +0,316,1,1694,771, +1,1817,790,1,1818, +2833,16,0,316,1, +2037,820,1,2038,739, +1,1385,803,1,2041, +747,1,2043,711,1, +1611,2834,16,0,316, +1,1732,2835,16,0, +316,1,1847,829,1, +50,2836,19,398,1, +50,2837,5,29,1, +1637,667,1,1856,779, +1,1857,674,1,1858, +680,1,1859,685,1, +1860,690,1,1862,696, +1,1864,701,1,1866, +706,1,1868,797,1, +1760,718,1,1870,724, +1,1871,729,1,1993, +2838,16,0,396,1, +32,2839,16,0,396, +1,1788,2840,16,0, +396,1,1467,761,1, +1639,2841,16,0,396, +1,1694,771,1,1817, +790,1,1818,2842,16, +0,396,1,2037,820, +1,2038,739,1,1385, +803,1,2041,747,1, +2043,711,1,1611,2843, +16,0,396,1,1732, +2844,16,0,396,1, +1847,829,1,51,2845, +19,127,1,51,2846, +5,47,1,0,2847, +16,0,125,1,2290, +2803,1,2291,2808,1, +1856,779,1,1857,674, +1,1858,680,1,1859, +685,1,1860,690,1, +1862,696,1,10,2848, +16,0,125,1,1864, +701,1,1866,706,1, +1868,797,1,1760,718, +1,1870,724,1,1871, +729,1,21,2849,16, +0,125,1,1993,2850, +16,0,125,1,32, +2851,16,0,125,1, +1467,761,1,2289,2798, +1,1788,2852,16,0, +125,1,2230,2779,1, +52,2853,16,0,125, +1,1637,667,1,1639, +2854,16,0,125,1, +1584,2855,16,0,125, +1,1694,771,1,2217, +2856,16,0,125,1, +1817,790,1,1818,2857, +16,0,125,1,2037, +820,1,2038,739,1, +1385,803,1,2258,2767, +1,2041,747,1,2084, +2858,16,0,125,1, +2043,711,1,2045,2773, +1,1611,2859,16,0, +125,1,1514,2860,16, +0,125,1,2269,2784, +1,2270,2861,16,0, +125,1,1732,2862,16, +0,125,1,1469,2863, +16,0,125,1,1847, +829,1,2288,2792,1, +52,2864,19,124,1, +52,2865,5,47,1, +0,2866,16,0,122, +1,2290,2803,1,2291, +2808,1,1856,779,1, +1857,674,1,1858,680, +1,1859,685,1,1860, +690,1,1862,696,1, +10,2867,16,0,122, +1,1864,701,1,1866, +706,1,1868,797,1, +1760,718,1,1870,724, +1,1871,729,1,21, +2868,16,0,122,1, +1993,2869,16,0,122, +1,32,2870,16,0, +122,1,1467,761,1, +2289,2798,1,1788,2871, +16,0,122,1,2230, +2779,1,52,2872,16, +0,122,1,1637,667, +1,1639,2873,16,0, +122,1,1584,2874,16, +0,122,1,1694,771, +1,2217,2875,16,0, +122,1,1817,790,1, +1818,2876,16,0,122, +1,2037,820,1,2038, +739,1,1385,803,1, +2258,2767,1,2041,747, +1,2084,2877,16,0, +122,1,2043,711,1, +2045,2773,1,1611,2878, +16,0,122,1,1514, +2879,16,0,122,1, +2269,2784,1,2270,2880, +16,0,122,1,1732, +2881,16,0,122,1, +1469,2882,16,0,122, +1,1847,829,1,2288, +2792,1,53,2883,19, +121,1,53,2884,5, +47,1,0,2885,16, +0,119,1,2290,2803, +1,2291,2808,1,1856, +779,1,1857,674,1, +1858,680,1,1859,685, +1,1860,690,1,1862, +696,1,10,2886,16, +0,119,1,1864,701, +1,1866,706,1,1868, +797,1,1760,718,1, +1870,724,1,1871,729, +1,21,2887,16,0, +119,1,1993,2888,16, +0,119,1,32,2889, +16,0,119,1,1467, +761,1,2289,2798,1, +1788,2890,16,0,119, +1,2230,2779,1,52, +2891,16,0,119,1, +1637,667,1,1639,2892, +16,0,119,1,1584, +2893,16,0,119,1, +1694,771,1,2217,2894, +16,0,119,1,1817, +790,1,1818,2895,16, +0,119,1,2037,820, +1,2038,739,1,1385, +803,1,2258,2767,1, +2041,747,1,2084,2896, +16,0,119,1,2043, +711,1,2045,2773,1, +1611,2897,16,0,119, +1,1514,2898,16,0, +119,1,2269,2784,1, +2270,2899,16,0,119, +1,1732,2900,16,0, +119,1,1469,2901,16, +0,119,1,1847,829, +1,2288,2792,1,54, +2902,19,118,1,54, +2903,5,47,1,0, +2904,16,0,116,1, +2290,2803,1,2291,2808, +1,1856,779,1,1857, +674,1,1858,680,1, +1859,685,1,1860,690, +1,1862,696,1,10, +2905,16,0,116,1, +1864,701,1,1866,706, +1,1868,797,1,1760, +718,1,1870,724,1, +1871,729,1,21,2906, +16,0,116,1,1993, +2907,16,0,116,1, +32,2908,16,0,116, +1,1467,761,1,2289, +2798,1,1788,2909,16, +0,116,1,2230,2779, +1,52,2910,16,0, +116,1,1637,667,1, +1639,2911,16,0,116, +1,1584,2912,16,0, +116,1,1694,771,1, +2217,2913,16,0,116, +1,1817,790,1,1818, +2914,16,0,116,1, +2037,820,1,2038,739, +1,1385,803,1,2258, +2767,1,2041,747,1, +2084,2915,16,0,116, +1,2043,711,1,2045, +2773,1,1611,2916,16, +0,116,1,1514,2917, +16,0,116,1,2269, +2784,1,2270,2918,16, +0,116,1,1732,2919, +16,0,116,1,1469, +2920,16,0,116,1, +1847,829,1,2288,2792, +1,55,2921,19,115, +1,55,2922,5,47, +1,0,2923,16,0, +113,1,2290,2803,1, +2291,2808,1,1856,779, +1,1857,674,1,1858, +680,1,1859,685,1, +1860,690,1,1862,696, +1,10,2924,16,0, +113,1,1864,701,1, +1866,706,1,1868,797, +1,1760,718,1,1870, +724,1,1871,729,1, +21,2925,16,0,113, +1,1993,2926,16,0, +113,1,32,2927,16, +0,113,1,1467,761, +1,2289,2798,1,1788, +2928,16,0,113,1, +2230,2779,1,52,2929, +16,0,113,1,1637, +667,1,1639,2930,16, +0,113,1,1584,2931, +16,0,113,1,1694, +771,1,2217,2932,16, +0,113,1,1817,790, +1,1818,2933,16,0, +113,1,2037,820,1, +2038,739,1,1385,803, +1,2258,2767,1,2041, +747,1,2084,2934,16, +0,113,1,2043,711, +1,2045,2773,1,1611, +2935,16,0,113,1, +1514,2936,16,0,113, +1,2269,2784,1,2270, +2937,16,0,113,1, +1732,2938,16,0,113, +1,1469,2939,16,0, +113,1,1847,829,1, +2288,2792,1,56,2940, +19,112,1,56,2941, +5,47,1,0,2942, +16,0,110,1,2290, +2803,1,2291,2808,1, +1856,779,1,1857,674, +1,1858,680,1,1859, +685,1,1860,690,1, +1862,696,1,10,2943, +16,0,110,1,1864, +701,1,1866,706,1, +1868,797,1,1760,718, +1,1870,724,1,1871, +729,1,21,2944,16, +0,110,1,1993,2945, +16,0,110,1,32, +2946,16,0,110,1, +1467,761,1,2289,2798, +1,1788,2947,16,0, +110,1,2230,2779,1, +52,2948,16,0,110, +1,1637,667,1,1639, +2949,16,0,110,1, +1584,2950,16,0,110, +1,1694,771,1,2217, +2951,16,0,110,1, +1817,790,1,1818,2952, +16,0,110,1,2037, +820,1,2038,739,1, +1385,803,1,2258,2767, +1,2041,747,1,2084, +2953,16,0,110,1, +2043,711,1,2045,2773, +1,1611,2954,16,0, +110,1,1514,2955,16, +0,110,1,2269,2784, +1,2270,2956,16,0, +110,1,1732,2957,16, +0,110,1,1469,2958, +16,0,110,1,1847, +829,1,2288,2792,1, +57,2959,19,109,1, +57,2960,5,47,1, +0,2961,16,0,107, +1,2290,2803,1,2291, +2808,1,1856,779,1, +1857,674,1,1858,680, +1,1859,685,1,1860, +690,1,1862,696,1, +10,2962,16,0,107, +1,1864,701,1,1866, +706,1,1868,797,1, +1760,718,1,1870,724, +1,1871,729,1,21, +2963,16,0,107,1, +1993,2964,16,0,107, +1,32,2965,16,0, +107,1,1467,761,1, +2289,2798,1,1788,2966, +16,0,107,1,2230, +2779,1,52,2967,16, +0,107,1,1637,667, +1,1639,2968,16,0, +107,1,1584,2969,16, +0,107,1,1694,771, +1,2217,2970,16,0, +107,1,1817,790,1, +1818,2971,16,0,107, +1,2037,820,1,2038, +739,1,1385,803,1, +2258,2767,1,2041,747, +1,2084,2972,16,0, +107,1,2043,711,1, +2045,2773,1,1611,2973, +16,0,107,1,1514, +2974,16,0,107,1, +2269,2784,1,2270,2975, +16,0,107,1,1732, +2976,16,0,107,1, +1469,2977,16,0,107, +1,1847,829,1,2288, +2792,1,58,2978,19, +619,1,58,2979,5, +9,1,2038,739,1, +2043,711,1,2049,2980, +16,0,617,1,2097, +1391,1,2099,2981,16, +0,617,1,2136,1406, +1,2134,1400,1,2173, +2982,16,0,617,1, +2138,2983,16,0,617, +1,59,2984,19,521, +1,59,2985,5,9, +1,2038,739,1,2043, +711,1,2049,2986,16, +0,519,1,2097,1391, +1,2099,2987,16,0, +519,1,2136,1406,1, +2134,1400,1,2173,2988, +16,0,519,1,2138, +2989,16,0,519,1, +60,2990,19,518,1, +60,2991,5,9,1, +2038,739,1,2043,711, +1,2049,2992,16,0, +516,1,2097,1391,1, +2099,2993,16,0,516, +1,2136,1406,1,2134, +1400,1,2173,2994,16, +0,516,1,2138,2995, +16,0,516,1,61, +2996,19,515,1,61, +2997,5,9,1,2038, +739,1,2043,711,1, +2049,2998,16,0,513, +1,2097,1391,1,2099, +2999,16,0,513,1, +2136,1406,1,2134,1400, +1,2173,3000,16,0, +513,1,2138,3001,16, +0,513,1,62,3002, +19,512,1,62,3003, +5,9,1,2038,739, +1,2043,711,1,2049, +3004,16,0,510,1, +2097,1391,1,2099,3005, +16,0,510,1,2136, +1406,1,2134,1400,1, +2173,3006,16,0,510, +1,2138,3007,16,0, +510,1,63,3008,19, +509,1,63,3009,5, +9,1,2038,739,1, +2043,711,1,2049,3010, +16,0,507,1,2097, +1391,1,2099,3011,16, +0,507,1,2136,1406, +1,2134,1400,1,2173, +3012,16,0,507,1, +2138,3013,16,0,507, +1,64,3014,19,506, +1,64,3015,5,9, +1,2038,739,1,2043, +711,1,2049,3016,16, +0,504,1,2097,1391, +1,2099,3017,16,0, +504,1,2136,1406,1, +2134,1400,1,2173,3018, +16,0,504,1,2138, +3019,16,0,504,1, +65,3020,19,503,1, +65,3021,5,9,1, +2038,739,1,2043,711, +1,2049,3022,16,0, +501,1,2097,1391,1, +2099,3023,16,0,501, +1,2136,1406,1,2134, +1400,1,2173,3024,16, +0,501,1,2138,3025, +16,0,501,1,66, +3026,19,258,1,66, +3027,5,9,1,2038, +739,1,2043,711,1, +2049,3028,16,0,256, +1,2097,1391,1,2099, +3029,16,0,256,1, +2136,1406,1,2134,1400, +1,2173,3030,16,0, +256,1,2138,3031,16, +0,256,1,67,3032, +19,499,1,67,3033, +5,9,1,2038,739, +1,2043,711,1,2049, +3034,16,0,497,1, +2097,1391,1,2099,3035, +16,0,497,1,2136, +1406,1,2134,1400,1, +2173,3036,16,0,497, +1,2138,3037,16,0, +497,1,68,3038,19, +496,1,68,3039,5, +9,1,2038,739,1, +2043,711,1,2049,3040, +16,0,494,1,2097, +1391,1,2099,3041,16, +0,494,1,2136,1406, +1,2134,1400,1,2173, +3042,16,0,494,1, +2138,3043,16,0,494, +1,69,3044,19,561, +1,69,3045,5,9, +1,2038,739,1,2043, +711,1,2049,3046,16, +0,559,1,2097,1391, +1,2099,3047,16,0, +559,1,2136,1406,1, +2134,1400,1,2173,3048, +16,0,559,1,2138, +3049,16,0,559,1, +70,3050,19,558,1, +70,3051,5,9,1, +2038,739,1,2043,711, +1,2049,3052,16,0, +556,1,2097,1391,1, +2099,3053,16,0,556, +1,2136,1406,1,2134, +1400,1,2173,3054,16, +0,556,1,2138,3055, +16,0,556,1,71, +3056,19,489,1,71, +3057,5,9,1,2038, +739,1,2043,711,1, +2049,3058,16,0,487, +1,2097,1391,1,2099, +3059,16,0,487,1, +2136,1406,1,2134,1400, +1,2173,3060,16,0, +487,1,2138,3061,16, +0,487,1,72,3062, +19,603,1,72,3063, +5,9,1,2038,739, +1,2043,711,1,2049, +3064,16,0,601,1, +2097,1391,1,2099,3065, +16,0,601,1,2136, +1406,1,2134,1400,1, +2173,3066,16,0,601, +1,2138,3067,16,0, +601,1,73,3068,19, +485,1,73,3069,5, +9,1,2038,739,1, +2043,711,1,2049,3070, +16,0,483,1,2097, +1391,1,2099,3071,16, +0,483,1,2136,1406, +1,2134,1400,1,2173, +3072,16,0,483,1, +2138,3073,16,0,483, +1,74,3074,19,482, +1,74,3075,5,9, +1,2038,739,1,2043, +711,1,2049,3076,16, +0,480,1,2097,1391, +1,2099,3077,16,0, +480,1,2136,1406,1, +2134,1400,1,2173,3078, +16,0,480,1,2138, +3079,16,0,480,1, +75,3080,19,479,1, +75,3081,5,9,1, +2038,739,1,2043,711, +1,2049,3082,16,0, +477,1,2097,1391,1, +2099,3083,16,0,477, +1,2136,1406,1,2134, +1400,1,2173,3084,16, +0,477,1,2138,3085, +16,0,477,1,76, +3086,19,476,1,76, +3087,5,9,1,2038, +739,1,2043,711,1, +2049,3088,16,0,474, +1,2097,1391,1,2099, +3089,16,0,474,1, +2136,1406,1,2134,1400, +1,2173,3090,16,0, +474,1,2138,3091,16, +0,474,1,77,3092, +19,473,1,77,3093, +5,9,1,2038,739, +1,2043,711,1,2049, +3094,16,0,471,1, +2097,1391,1,2099,3095, +16,0,471,1,2136, +1406,1,2134,1400,1, +2173,3096,16,0,471, +1,2138,3097,16,0, +471,1,78,3098,19, +470,1,78,3099,5, +9,1,2038,739,1, +2043,711,1,2049,3100, +16,0,468,1,2097, +1391,1,2099,3101,16, +0,468,1,2136,1406, +1,2134,1400,1,2173, +3102,16,0,468,1, +2138,3103,16,0,468, +1,79,3104,19,467, +1,79,3105,5,9, +1,2038,739,1,2043, +711,1,2049,3106,16, +0,465,1,2097,1391, +1,2099,3107,16,0, +465,1,2136,1406,1, +2134,1400,1,2173,3108, +16,0,465,1,2138, +3109,16,0,465,1, +80,3110,19,464,1, +80,3111,5,9,1, +2038,739,1,2043,711, +1,2049,3112,16,0, +462,1,2097,1391,1, +2099,3113,16,0,462, +1,2136,1406,1,2134, +1400,1,2173,3114,16, +0,462,1,2138,3115, +16,0,462,1,81, +3116,19,461,1,81, +3117,5,9,1,2038, +739,1,2043,711,1, +2049,3118,16,0,459, +1,2097,1391,1,2099, +3119,16,0,459,1, +2136,1406,1,2134,1400, +1,2173,3120,16,0, +459,1,2138,3121,16, +0,459,1,82,3122, +19,458,1,82,3123, +5,9,1,2038,739, +1,2043,711,1,2049, +3124,16,0,456,1, +2097,1391,1,2099,3125, +16,0,456,1,2136, +1406,1,2134,1400,1, +2173,3126,16,0,456, +1,2138,3127,16,0, +456,1,83,3128,19, +551,1,83,3129,5, +9,1,2038,739,1, +2043,711,1,2049,3130, +16,0,549,1,2097, +1391,1,2099,3131,16, +0,549,1,2136,1406, +1,2134,1400,1,2173, +3132,16,0,549,1, +2138,3133,16,0,549, +1,84,3134,19,596, +1,84,3135,5,9, +1,2038,739,1,2043, +711,1,2049,3136,16, +0,594,1,2097,1391, +1,2099,3137,16,0, +594,1,2136,1406,1, +2134,1400,1,2173,3138, +16,0,594,1,2138, +3139,16,0,594,1, +85,3140,19,593,1, +85,3141,5,9,1, +2038,739,1,2043,711, +1,2049,3142,16,0, +591,1,2097,1391,1, +2099,3143,16,0,591, +1,2136,1406,1,2134, +1400,1,2173,3144,16, +0,591,1,2138,3145, +16,0,591,1,86, +3146,19,544,1,86, +3147,5,9,1,2038, +739,1,2043,711,1, +2049,3148,16,0,542, +1,2097,1391,1,2099, +3149,16,0,542,1, +2136,1406,1,2134,1400, +1,2173,3150,16,0, +542,1,2138,3151,16, +0,542,1,87,3152, +19,449,1,87,3153, +5,9,1,2038,739, +1,2043,711,1,2049, +3154,16,0,447,1, +2097,1391,1,2099,3155, +16,0,447,1,2136, +1406,1,2134,1400,1, +2173,3156,16,0,447, +1,2138,3157,16,0, +447,1,88,3158,19, +590,1,88,3159,5, +9,1,2038,739,1, +2043,711,1,2049,3160, +16,0,588,1,2097, +1391,1,2099,3161,16, +0,588,1,2136,1406, +1,2134,1400,1,2173, +3162,16,0,588,1, +2138,3163,16,0,588, +1,89,3164,19,235, +1,89,3165,5,9, +1,2038,739,1,2043, +711,1,2049,3166,16, +0,233,1,2097,1391, +1,2099,3167,16,0, +233,1,2136,1406,1, +2134,1400,1,2173,3168, +16,0,233,1,2138, +3169,16,0,233,1, +90,3170,19,540,1, +90,3171,5,9,1, +2038,739,1,2043,711, +1,2049,3172,16,0, +538,1,2097,1391,1, +2099,3173,16,0,538, +1,2136,1406,1,2134, +1400,1,2173,3174,16, +0,538,1,2138,3175, +16,0,538,1,91, +3176,19,133,1,91, +3177,5,109,1,0, +3178,16,0,201,1, +1,1708,1,2,1714, +1,3,1719,1,4, +1724,1,5,1729,1, +6,1734,1,7,1739, +1,8,3179,16,0, +131,1,2269,2784,1, +2270,3180,16,0,201, +1,256,3181,16,0, +183,1,18,3182,16, +0,147,1,504,3183, +16,0,183,1,277, +3184,16,0,183,1, +2288,2792,1,2289,2798, +1,2290,2803,1,32, +3185,16,0,177,1, +2041,747,1,2043,711, +1,1292,3186,16,0, +183,1,2047,3187,16, +0,585,1,41,3188, +16,0,183,1,43, +3189,16,0,183,1, +46,3190,16,0,187, +1,299,3191,16,0, +183,1,1993,3192,16, +0,177,1,52,3193, +16,0,183,1,1559, +3194,16,0,183,1, +1514,3195,16,0,177, +1,1760,718,1,1818, +3196,16,0,177,1, +62,3197,16,0,207, +1,1763,3198,16,0, +183,1,65,3199,16, +0,209,1,71,3200, +16,0,183,1,1327, +3201,16,0,183,1, +76,3202,16,0,183, +1,1584,3203,16,0, +177,1,79,3204,16, +0,183,1,322,3205, +16,0,183,1,1257, +3206,16,0,183,1, +85,3207,16,0,183, +1,1788,3208,16,0, +177,1,89,3209,16, +0,183,1,1847,829, +1,1849,3210,16,0, +315,1,2037,820,1, +1852,3211,16,0,319, +1,1854,3212,16,0, +323,1,1856,779,1, +1857,674,1,1858,680, +1,1859,685,1,1860, +690,1,1862,696,1, +1864,701,1,1866,706, +1,1115,3213,16,0, +183,1,112,3214,16, +0,183,1,1870,724, +1,1871,729,1,97, +3215,16,0,183,1, +1817,790,1,346,3216, +16,0,183,1,372, +3217,16,0,434,1, +102,3218,16,0,183, +1,374,3219,16,0, +436,1,124,3220,16, +0,183,1,376,3221, +16,0,438,1,378, +3222,16,0,440,1, +1385,803,1,1637,667, +1,384,3223,16,0, +183,1,137,3224,16, +0,183,1,1396,3225, +16,0,183,1,381, +3226,16,0,183,1, +397,3227,16,0,183, +1,1152,3228,16,0, +183,1,151,3229,16, +0,183,1,1611,3230, +16,0,177,1,2038, +739,1,1668,3231,16, +0,183,1,166,3232, +16,0,183,1,2045, +2773,1,1868,797,1, +1432,3233,16,0,183, +1,2291,2808,1,1111, +3234,16,0,624,1, +182,3235,16,0,183, +1,1187,3236,16,0, +183,1,422,3237,16, +0,183,1,1694,771, +1,447,3238,16,0, +183,1,199,3239,16, +0,183,1,1707,3240, +16,0,183,1,1467, +761,1,1469,3241,16, +0,177,1,217,3242, +16,0,183,1,1222, +3243,16,0,183,1, +2230,2779,1,2233,3244, +16,0,183,1,1732, +3245,16,0,177,1, +463,3246,16,0,183, +1,236,3247,16,0, +183,1,488,3248,16, +0,183,1,1639,3249, +16,0,177,1,2258, +2767,1,92,3250,19, +576,1,92,3251,5, +79,1,1584,3252,16, +0,574,1,1639,3253, +16,0,574,1,1637, +667,1,112,3254,16, +0,574,1,1857,674, +1,1858,680,1,1859, +685,1,1860,690,1, +1611,3255,16,0,574, +1,1862,696,1,1864, +701,1,1866,706,1, +2043,711,1,124,3256, +16,0,574,1,1760, +718,1,1870,724,1, +1871,729,1,1763,3257, +16,0,574,1,1222, +3258,16,0,574,1, +1993,3259,16,0,574, +1,1115,3260,16,0, +574,1,447,3261,16, +0,574,1,1187,3262, +16,0,574,1,137, +3263,16,0,574,1, +2038,739,1,346,3264, +16,0,574,1,32, +3265,16,0,574,1, +1668,3266,16,0,574, +1,2041,747,1,236, +3267,16,0,574,1, +1514,3268,16,0,574, +1,256,3269,16,0, +574,1,41,3270,16, +0,574,1,151,3271, +16,0,574,1,43, +3272,16,0,574,1, +1732,3273,16,0,574, +1,384,3274,16,0, +574,1,1467,761,1, +52,3275,16,0,574, +1,2233,3276,16,0, +574,1,381,3277,16, +0,574,1,166,3278, +16,0,574,1,1257, +3279,16,0,574,1, +1694,771,1,1432,3280, +16,0,574,1,1152, +3281,16,0,574,1, +1856,779,1,62,3282, +16,0,574,1,504, +3283,16,0,574,1, +277,3284,16,0,574, +1,397,3285,16,0, +574,1,71,3286,16, +0,574,1,1707,3287, +16,0,574,1,1817, +790,1,1818,3288,16, +0,574,1,1868,797, +1,76,3289,16,0, +574,1,1385,803,1, +79,3290,16,0,574, +1,182,3291,16,0, +574,1,299,3292,16, +0,574,1,1559,3293, +16,0,574,1,85, +3294,16,0,574,1, +488,3295,16,0,574, +1,1396,3296,16,0, +574,1,89,3297,16, +0,574,1,199,3298, +16,0,574,1,463, +3299,16,0,574,1, +1292,3300,16,0,574, +1,422,3301,16,0, +574,1,2037,820,1, +97,3302,16,0,574, +1,1469,3303,16,0, +574,1,1788,3304,16, +0,574,1,102,3305, +16,0,574,1,1847, +829,1,322,3306,16, +0,574,1,1327,3307, +16,0,574,1,217, +3308,16,0,574,1, +93,3309,19,573,1, +93,3310,5,79,1, +1584,3311,16,0,571, +1,1639,3312,16,0, +571,1,1637,667,1, +112,3313,16,0,571, +1,1857,674,1,1858, +680,1,1859,685,1, +1860,690,1,1611,3314, +16,0,571,1,1862, +696,1,1864,701,1, +1866,706,1,2043,711, +1,124,3315,16,0, +571,1,1760,718,1, +1870,724,1,1871,729, +1,1763,3316,16,0, +571,1,1222,3317,16, +0,571,1,1993,3318, +16,0,571,1,1115, +3319,16,0,571,1, +447,3320,16,0,571, +1,1187,3321,16,0, +571,1,137,3322,16, +0,571,1,2038,739, +1,346,3323,16,0, +571,1,32,3324,16, +0,571,1,1668,3325, +16,0,571,1,2041, +747,1,236,3326,16, +0,571,1,1514,3327, +16,0,571,1,256, +3328,16,0,571,1, +41,3329,16,0,571, +1,151,3330,16,0, +571,1,43,3331,16, +0,571,1,1732,3332, +16,0,571,1,384, +3333,16,0,571,1, +1467,761,1,52,3334, +16,0,571,1,2233, +3335,16,0,571,1, +381,3336,16,0,571, +1,166,3337,16,0, +571,1,1257,3338,16, +0,571,1,1694,771, +1,1432,3339,16,0, +571,1,1152,3340,16, +0,571,1,1856,779, +1,62,3341,16,0, +571,1,504,3342,16, +0,571,1,277,3343, +16,0,571,1,397, +3344,16,0,571,1, +71,3345,16,0,571, +1,1707,3346,16,0, +571,1,1817,790,1, +1818,3347,16,0,571, +1,1868,797,1,76, +3348,16,0,571,1, +1385,803,1,79,3349, +16,0,571,1,182, +3350,16,0,571,1, +299,3351,16,0,571, +1,1559,3352,16,0, +571,1,85,3353,16, +0,571,1,488,3354, +16,0,571,1,1396, +3355,16,0,571,1, +89,3356,16,0,571, +1,199,3357,16,0, +571,1,463,3358,16, +0,571,1,1292,3359, +16,0,571,1,422, +3360,16,0,571,1, +2037,820,1,97,3361, +16,0,571,1,1469, +3362,16,0,571,1, +1788,3363,16,0,571, +1,102,3364,16,0, +571,1,1847,829,1, +322,3365,16,0,571, +1,1327,3366,16,0, +571,1,217,3367,16, +0,571,1,94,3368, +19,570,1,94,3369, +5,79,1,1584,3370, +16,0,568,1,1639, +3371,16,0,568,1, +1637,667,1,112,3372, +16,0,568,1,1857, +674,1,1858,680,1, +1859,685,1,1860,690, +1,1611,3373,16,0, +568,1,1862,696,1, +1864,701,1,1866,706, +1,2043,711,1,124, +3374,16,0,568,1, +1760,718,1,1870,724, +1,1871,729,1,1763, +3375,16,0,568,1, +1222,3376,16,0,568, +1,1993,3377,16,0, +568,1,1115,3378,16, +0,568,1,447,3379, +16,0,568,1,1187, +3380,16,0,568,1, +137,3381,16,0,568, +1,2038,739,1,346, +3382,16,0,568,1, +32,3383,16,0,568, +1,1668,3384,16,0, +568,1,2041,747,1, +236,3385,16,0,568, +1,1514,3386,16,0, +568,1,256,3387,16, +0,568,1,41,3388, +16,0,568,1,151, +3389,16,0,568,1, +43,3390,16,0,568, +1,1732,3391,16,0, +568,1,384,3392,16, +0,568,1,1467,761, +1,52,3393,16,0, +568,1,2233,3394,16, +0,568,1,381,3395, +16,0,568,1,166, +3396,16,0,568,1, +1257,3397,16,0,568, +1,1694,771,1,1432, +3398,16,0,568,1, +1152,3399,16,0,568, +1,1856,779,1,62, +3400,16,0,568,1, +504,3401,16,0,568, +1,277,3402,16,0, +568,1,397,3403,16, +0,568,1,71,3404, +16,0,568,1,1707, +3405,16,0,568,1, +1817,790,1,1818,3406, +16,0,568,1,1868, +797,1,76,3407,16, +0,568,1,1385,803, +1,79,3408,16,0, +568,1,182,3409,16, +0,568,1,299,3410, +16,0,568,1,1559, +3411,16,0,568,1, +85,3412,16,0,568, +1,488,3413,16,0, +568,1,1396,3414,16, +0,568,1,89,3415, +16,0,568,1,199, +3416,16,0,568,1, +463,3417,16,0,568, +1,1292,3418,16,0, +568,1,422,3419,16, +0,568,1,2037,820, +1,97,3420,16,0, +568,1,1469,3421,16, +0,568,1,1788,3422, +16,0,568,1,102, +3423,16,0,568,1, +1847,829,1,322,3424, +16,0,568,1,1327, +3425,16,0,568,1, +217,3426,16,0,568, +1,95,3427,19,103, +1,95,3428,5,1, +1,0,3429,16,0, +104,1,96,3430,19, +388,1,96,3431,5, +1,1,0,3432,16, +0,386,1,97,3433, +19,273,1,97,3434, +5,2,1,0,3435, +16,0,275,1,2270, +3436,16,0,271,1, +98,3437,19,204,1, +98,3438,5,2,1, +0,3439,16,0,274, +1,2270,3440,16,0, +202,1,99,3441,19, +199,1,99,3442,5, +2,1,0,3443,16, +0,612,1,2270,3444, +16,0,197,1,100, +3445,19,615,1,100, +3446,5,4,1,0, +3447,16,0,616,1, +2211,3448,16,0,613, +1,2281,3449,16,0, +613,1,2270,3450,16, +0,616,1,101,3451, +19,217,1,101,3452, +5,2,1,2049,3453, +16,0,215,1,2138, +3454,16,0,583,1, +102,3455,19,606,1, +102,3456,5,4,1, +2049,3457,16,0,607, +1,2138,3458,16,0, +607,1,2173,3459,16, +0,604,1,2099,3460, +16,0,604,1,103, +3461,19,150,1,103, +3462,5,3,1,2084, +3463,16,0,625,1, +2217,3464,16,0,282, +1,10,3465,16,0, +148,1,104,3466,19, +162,1,104,3467,5, +16,1,0,3468,16, +0,220,1,1818,3469, +16,0,409,1,2084, +3470,16,0,533,1, +1584,3471,16,0,486, +1,10,3472,16,0, +533,1,1639,3473,16, +0,409,1,1788,3474, +16,0,409,1,2270, +3475,16,0,220,1, +1611,3476,16,0,409, +1,21,3477,16,0, +160,1,1993,3478,16, +0,409,1,1469,3479, +16,0,486,1,2217, +3480,16,0,533,1, +1732,3481,16,0,409, +1,32,3482,16,0, +409,1,1514,3483,16, +0,486,1,105,3484, +19,130,1,105,3485, +5,17,1,0,3486, +16,0,128,1,1818, +3487,16,0,146,1, +2084,3488,16,0,146, +1,1584,3489,16,0, +146,1,10,3490,16, +0,146,1,1639,3491, +16,0,146,1,1788, +3492,16,0,146,1, +2270,3493,16,0,128, +1,52,3494,16,0, +205,1,1611,3495,16, +0,146,1,21,3496, +16,0,146,1,1993, +3497,16,0,146,1, +1469,3498,16,0,146, +1,2217,3499,16,0, +146,1,1732,3500,16, +0,146,1,32,3501, +16,0,146,1,1514, +3502,16,0,146,1, +106,3503,19,525,1, +106,3504,5,4,1, +2049,3505,16,0,523, +1,2138,3506,16,0, +523,1,2173,3507,16, +0,523,1,2099,3508, +16,0,523,1,107, +3509,19,289,1,107, +3510,5,10,1,1818, +3511,16,0,324,1, +2228,3512,16,0,287, +1,1639,3513,16,0, +324,1,1788,3514,16, +0,324,1,1611,3515, +16,0,324,1,2095, +3516,16,0,529,1, +1732,3517,16,0,324, +1,31,3518,16,0, +532,1,1993,3519,16, +0,324,1,32,3520, +16,0,324,1,108, +3521,19,547,1,108, +3522,5,1,1,32, +3523,16,0,545,1, +109,3524,19,292,1, +109,3525,5,7,1, +1639,3526,16,0,621, +1,1993,3527,16,0, +424,1,1818,3528,16, +0,308,1,1732,3529, +16,0,358,1,1788, +3530,16,0,290,1, +1611,3531,16,0,597, +1,32,3532,16,0, +429,1,110,3533,19, +353,1,110,3534,5, +10,1,1818,3535,16, +0,351,1,1639,3536, +16,0,351,1,1788, +3537,16,0,351,1, +1732,3538,16,0,351, +1,1611,3539,16,0, +351,1,1469,3540,16, +0,401,1,1584,3541, +16,0,401,1,1993, +3542,16,0,351,1, +1514,3543,16,0,535, +1,32,3544,16,0, +351,1,111,3545,19, +408,1,111,3546,5, +7,1,1639,3547,16, +0,406,1,1993,3548, +16,0,406,1,1818, +3549,16,0,406,1, +1732,3550,16,0,406, +1,1788,3551,16,0, +406,1,1611,3552,16, +0,406,1,32,3553, +16,0,406,1,112, +3554,19,345,1,112, +3555,5,7,1,1639, +3556,16,0,343,1, +1993,3557,16,0,343, +1,1818,3558,16,0, +343,1,1732,3559,16, +0,343,1,1788,3560, +16,0,343,1,1611, +3561,16,0,343,1, +32,3562,16,0,343, +1,113,3563,19,341, +1,113,3564,5,7, +1,1639,3565,16,0, +339,1,1993,3566,16, +0,339,1,1818,3567, +16,0,339,1,1732, +3568,16,0,339,1, +1788,3569,16,0,339, +1,1611,3570,16,0, +339,1,32,3571,16, +0,339,1,114,3572, +19,381,1,114,3573, +5,7,1,1639,3574, +16,0,379,1,1993, +3575,16,0,379,1, +1818,3576,16,0,379, +1,1732,3577,16,0, +379,1,1788,3578,16, +0,379,1,1611,3579, +16,0,379,1,32, +3580,16,0,379,1, +115,3581,19,334,1, +115,3582,5,7,1, +1639,3583,16,0,332, +1,1993,3584,16,0, +332,1,1818,3585,16, +0,332,1,1732,3586, +16,0,332,1,1788, +3587,16,0,332,1, +1611,3588,16,0,332, +1,32,3589,16,0, +332,1,116,3590,19, +378,1,116,3591,5, +7,1,1639,3592,16, +0,376,1,1993,3593, +16,0,376,1,1818, +3594,16,0,376,1, +1732,3595,16,0,376, +1,1788,3596,16,0, +376,1,1611,3597,16, +0,376,1,32,3598, +16,0,376,1,117, +3599,19,330,1,117, +3600,5,7,1,1639, +3601,16,0,328,1, +1993,3602,16,0,328, +1,1818,3603,16,0, +328,1,1732,3604,16, +0,328,1,1788,3605, +16,0,328,1,1611, +3606,16,0,328,1, +32,3607,16,0,328, +1,118,3608,19,327, +1,118,3609,5,7, +1,1639,3610,16,0, +325,1,1993,3611,16, +0,325,1,1818,3612, +16,0,325,1,1732, +3613,16,0,325,1, +1788,3614,16,0,325, +1,1611,3615,16,0, +325,1,32,3616,16, +0,325,1,119,3617, +19,492,1,119,3618, +5,2,1,1584,3619, +16,0,581,1,1469, +3620,16,0,490,1, +120,3621,19,432,1, +120,3622,5,57,1, +1584,3623,16,0,430, +1,1639,3624,16,0, +430,1,112,3625,16, +0,430,1,384,3626, +16,0,430,1,447, +3627,16,0,430,1, +124,3628,16,0,430, +1,236,3629,16,0, +430,1,1763,3630,16, +0,430,1,1222,3631, +16,0,430,1,1115, +3632,16,0,430,1, +1187,3633,16,0,430, +1,137,3634,16,0, +430,1,346,3635,16, +0,430,1,32,3636, +16,0,430,1,1668, +3637,16,0,430,1, +1514,3638,16,0,430, +1,256,3639,16,0, +430,1,41,3640,16, +0,430,1,151,3641, +16,0,430,1,43, +3642,16,0,430,1, +1788,3643,16,0,430, +1,1993,3644,16,0, +430,1,52,3645,16, +0,430,1,2233,3646, +16,0,430,1,381, +3647,16,0,430,1, +166,3648,16,0,430, +1,1257,3649,16,0, +430,1,277,3650,16, +0,430,1,1432,3651, +16,0,430,1,1152, +3652,16,0,430,1, +62,3653,16,0,536, +1,504,3654,16,0, +430,1,488,3655,16, +0,430,1,397,3656, +16,0,430,1,71, +3657,16,0,430,1, +1707,3658,16,0,430, +1,182,3659,16,0, +430,1,1818,3660,16, +0,430,1,463,3661, +16,0,430,1,76, +3662,16,0,430,1, +79,3663,16,0,430, +1,1611,3664,16,0, +430,1,299,3665,16, +0,430,1,1559,3666, +16,0,430,1,85, +3667,16,0,430,1, +1396,3668,16,0,430, +1,89,3669,16,0, +430,1,199,3670,16, +0,430,1,1292,3671, +16,0,430,1,422, +3672,16,0,430,1, +97,3673,16,0,430, +1,1469,3674,16,0, +430,1,1732,3675,16, +0,430,1,102,3676, +16,0,430,1,322, +3677,16,0,430,1, +1327,3678,16,0,430, +1,217,3679,16,0, +430,1,121,3680,19, +452,1,121,3681,5, +2,1,381,3682,16, +0,450,1,41,3683, +16,0,609,1,122, +3684,19,145,1,122, +3685,5,3,1,381, +3686,16,0,143,1, +41,3687,16,0,143, +1,384,3688,16,0, +455,1,123,3689,19, +3690,4,36,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,65,0, +114,0,103,0,117, +0,109,0,101,0, +110,0,116,0,1, +123,3685,1,124,3691, +19,443,1,124,3692, +5,57,1,1584,3693, +16,0,441,1,1639, +3694,16,0,441,1, +112,3695,16,0,441, +1,384,3696,16,0, +441,1,447,3697,16, +0,441,1,124,3698, +16,0,441,1,236, +3699,16,0,441,1, +1763,3700,16,0,441, +1,1222,3701,16,0, +441,1,1115,3702,16, +0,441,1,1187,3703, +16,0,441,1,137, +3704,16,0,441,1, +346,3705,16,0,441, +1,32,3706,16,0, +441,1,1668,3707,16, +0,441,1,1514,3708, +16,0,441,1,256, +3709,16,0,441,1, +41,3710,16,0,441, +1,151,3711,16,0, +441,1,43,3712,16, +0,441,1,1788,3713, +16,0,441,1,1993, +3714,16,0,441,1, +52,3715,16,0,441, +1,2233,3716,16,0, +441,1,381,3717,16, +0,441,1,166,3718, +16,0,441,1,1257, +3719,16,0,441,1, +277,3720,16,0,441, +1,1432,3721,16,0, +441,1,1152,3722,16, +0,441,1,62,3723, +16,0,587,1,504, +3724,16,0,441,1, +488,3725,16,0,441, +1,397,3726,16,0, +441,1,71,3727,16, +0,441,1,1707,3728, +16,0,441,1,182, +3729,16,0,441,1, +1818,3730,16,0,441, +1,463,3731,16,0, +441,1,76,3732,16, +0,441,1,79,3733, +16,0,441,1,1611, +3734,16,0,441,1, +299,3735,16,0,441, +1,1559,3736,16,0, +441,1,85,3737,16, +0,441,1,1396,3738, +16,0,441,1,89, +3739,16,0,441,1, +199,3740,16,0,441, +1,1292,3741,16,0, +441,1,422,3742,16, +0,441,1,97,3743, +16,0,441,1,1469, +3744,16,0,441,1, +1732,3745,16,0,441, +1,102,3746,16,0, +441,1,322,3747,16, +0,441,1,1327,3748, +16,0,441,1,217, +3749,16,0,441,1, +125,3750,19,3751,4, +28,86,0,101,0, +99,0,116,0,111, +0,114,0,67,0, +111,0,110,0,115, +0,116,0,97,0, +110,0,116,0,1, +125,3692,1,126,3752, +19,3753,4,32,82, +0,111,0,116,0, +97,0,116,0,105, +0,111,0,110,0, +67,0,111,0,110, +0,115,0,116,0, +97,0,110,0,116, +0,1,126,3692,1, +127,3754,19,3755,4, +24,76,0,105,0, +115,0,116,0,67, +0,111,0,110,0, +115,0,116,0,97, +0,110,0,116,0, +1,127,3692,1,128, +3756,19,139,1,128, +3757,5,56,1,1584, +3758,16,0,428,1, +1639,3759,16,0,382, +1,112,3760,16,0, +265,1,384,3761,16, +0,179,1,447,3762, +16,0,563,1,124, +3763,16,0,270,1, +236,3764,16,0,374, +1,1763,3765,16,0, +247,1,1222,3766,16, +0,263,1,1115,3767, +16,0,225,1,1187, +3768,16,0,224,1, +137,3769,16,0,301, +1,346,3770,16,0, +418,1,32,3771,16, +0,382,1,1668,3772, +16,0,200,1,1514, +3773,16,0,526,1, +256,3774,16,0,390, +1,41,3775,16,0, +179,1,151,3776,16, +0,302,1,43,3777, +16,0,579,1,1788, +3778,16,0,382,1, +1993,3779,16,0,382, +1,52,3780,16,0, +552,1,2233,3781,16, +0,137,1,381,3782, +16,0,179,1,166, +3783,16,0,306,1, +1257,3784,16,0,296, +1,277,3785,16,0, +399,1,1432,3786,16, +0,412,1,1152,3787, +16,0,266,1,504, +3788,16,0,331,1, +488,3789,16,0,580, +1,397,3790,16,0, +500,1,71,3791,16, +0,218,1,1707,3792, +16,0,300,1,182, +3793,16,0,331,1, +1818,3794,16,0,382, +1,463,3795,16,0, +331,1,76,3796,16, +0,454,1,79,3797, +16,0,226,1,1611, +3798,16,0,382,1, +299,3799,16,0,405, +1,1559,3800,16,0, +548,1,85,3801,16, +0,413,1,1396,3802, +16,0,400,1,89, +3803,16,0,243,1, +199,3804,16,0,359, +1,1292,3805,16,0, +367,1,422,3806,16, +0,530,1,97,3807, +16,0,391,1,1469, +3808,16,0,428,1, +1732,3809,16,0,382, +1,102,3810,16,0, +252,1,322,3811,16, +0,414,1,1327,3812, +16,0,365,1,217, +3813,16,0,366,1, +129,3814,19,3815,4, +36,67,0,111,0, +110,0,115,0,116, +0,97,0,110,0, +116,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,1,129,3757, +1,130,3816,19,3817, +4,30,73,0,100, +0,101,0,110,0, +116,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,1,130,3757, +1,131,3818,19,3819, +4,36,73,0,100, +0,101,0,110,0, +116,0,68,0,111, +0,116,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,1,131, +3757,1,132,3820,19, +3821,4,44,70,0, +117,0,110,0,99, +0,116,0,105,0, +111,0,110,0,67, +0,97,0,108,0, +108,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,1,132,3757, +1,133,3822,19,3823, +4,32,66,0,105, +0,110,0,97,0, +114,0,121,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,1, +133,3757,1,134,3824, +19,3825,4,30,85, +0,110,0,97,0, +114,0,121,0,69, +0,120,0,112,0, +114,0,101,0,115, +0,115,0,105,0, +111,0,110,0,1, +134,3757,1,135,3826, +19,3827,4,36,84, +0,121,0,112,0, +101,0,99,0,97, +0,115,0,116,0, +69,0,120,0,112, +0,114,0,101,0, +115,0,115,0,105, +0,111,0,110,0, +1,135,3757,1,136, +3828,19,3829,4,42, +80,0,97,0,114, +0,101,0,110,0, +116,0,104,0,101, +0,115,0,105,0, +115,0,69,0,120, +0,112,0,114,0, +101,0,115,0,115, +0,105,0,111,0, +110,0,1,136,3757, +1,137,3830,19,3831, +4,56,73,0,110, +0,99,0,114,0, +101,0,109,0,101, +0,110,0,116,0, +68,0,101,0,99, +0,114,0,101,0, +109,0,101,0,110, +0,116,0,69,0, +120,0,112,0,114, +0,101,0,115,0, +115,0,105,0,111, +0,110,0,1,137, +3757,1,139,3832,19, +651,1,139,3428,1, +140,3833,19,634,1, +140,3428,1,141,3834, +19,2811,1,141,3431, +1,142,3835,19,2801, +1,142,3431,1,143, +3836,19,2806,1,143, +3431,1,144,3837,19, +2796,1,144,3431,1, +145,3838,19,2787,1, +145,3434,1,146,3839, +19,2771,1,146,3434, +1,147,3840,19,2782, +1,147,3438,1,148, +3841,19,2777,1,148, +3438,1,149,3842,19, +656,1,149,3442,1, +150,3843,19,646,1, +150,3442,1,151,3844, +19,661,1,151,3446, +1,152,3845,19,640, +1,152,3446,1,153, +3846,19,1409,1,153, +3452,1,154,3847,19, +1404,1,154,3452,1, +155,3848,19,1395,1, +155,3456,1,156,3849, +19,1428,1,156,3462, +1,157,3850,19,1423, +1,157,3462,1,158, +3851,19,999,1,158, +3467,1,159,3852,19, +715,1,159,3510,1, +160,3853,19,742,1, +160,3510,1,161,3854, +19,751,1,161,3522, +1,162,3855,19,823, +1,162,3522,1,163, +3856,19,764,1,163, +3525,1,164,3857,19, +727,1,164,3525,1, +165,3858,19,806,1, +165,3525,1,166,3859, +19,800,1,166,3525, +1,167,3860,19,709, +1,167,3525,1,168, +3861,19,704,1,168, +3525,1,169,3862,19, +699,1,169,3525,1, +170,3863,19,693,1, +170,3525,1,171,3864, +19,688,1,171,3525, +1,172,3865,19,683, +1,172,3525,1,173, +3866,19,678,1,173, +3525,1,174,3867,19, +782,1,174,3525,1, +175,3868,19,1168,1, +175,3555,1,176,3869, +19,1157,1,176,3564, +1,177,3870,19,1151, +1,177,3573,1,178, +3871,19,1146,1,178, +3573,1,179,3872,19, +794,1,179,3582,1, +180,3873,19,832,1, +180,3582,1,181,3874, +19,722,1,181,3591, +1,182,3875,19,775, +1,182,3600,1,183, +3876,19,671,1,183, +3609,1,184,3877,19, +1340,1,184,3618,1, +185,3878,19,1308,1, +185,3618,1,186,3879, +19,1012,1,186,3618, +1,187,3880,19,1254, +1,187,3618,1,188, +3881,19,1292,1,188, +3534,1,189,3882,19, +1134,1,189,3534,1, +190,3883,19,1036,1, +190,3534,1,191,3884, +19,993,1,191,3534, +1,192,3885,19,1329, +1,192,3534,1,193, +3886,19,1298,1,193, +3534,1,194,3887,19, +1259,1,194,3534,1, +195,3888,19,1179,1, +195,3534,1,196,3889, +19,1249,1,196,3546, +1,197,3890,19,1238, +1,197,3546,1,198, +3891,19,1363,1,198, +3692,1,199,3892,19, +1358,1,199,3692,1, +200,3893,19,1018,1, +200,3692,1,201,3894, +19,1334,1,201,3692, +1,202,3895,19,1346, +1,202,3692,1,203, +3896,19,986,1,203, +3692,1,204,3897,19, +1108,1,204,3692,1, +205,3898,19,1221,1, +205,3757,1,206,3899, +19,1026,1,206,3757, +1,207,3900,19,1043, +1,207,3757,1,208, +3901,19,1064,1,208, +3757,1,209,3902,19, +1059,1,209,3757,1, +210,3903,19,1054,1, +210,3757,1,211,3904, +19,1049,1,211,3757, +1,212,3905,19,1205, +1,212,3757,1,213, +3906,19,1232,1,213, +3757,1,214,3907,19, +1281,1,214,3757,1, +215,3908,19,1200,1, +215,3757,1,216,3909, +19,1190,1,216,3757, +1,217,3910,19,1210, +1,217,3757,1,218, +3911,19,1129,1,218, +3757,1,219,3912,19, +1069,1,219,3757,1, +220,3913,19,1031,1, +220,3757,1,221,3914, +19,1005,1,221,3757, +1,222,3915,19,1353, +1,222,3757,1,223, +3916,19,1324,1,223, +3757,1,224,3917,19, +1314,1,224,3757,1, +225,3918,19,1303,1, +225,3757,1,226,3919, +19,1286,1,226,3757, +1,227,3920,19,1265, +1,227,3757,1,228, +3921,19,1243,1,228, +3757,1,229,3922,19, +1226,1,229,3757,1, +230,3923,19,1184,1, +230,3757,1,231,3924, +19,1215,1,231,3757, +1,232,3925,19,1270, +1,232,3757,1,233, +3926,19,1319,1,233, +3757,1,234,3927,19, +1124,1,234,3757,1, +235,3928,19,1195,1, +235,3757,1,236,3929, +19,1162,1,236,3757, +1,237,3930,19,1140, +1,237,3757,1,238, +3931,19,1114,1,238, +3757,1,239,3932,19, +1373,1,239,3757,1, +240,3933,19,1077,1, +240,3757,1,241,3934, +19,1082,1,241,3757, +1,242,3935,19,1102, +1,242,3757,1,243, +3936,19,1092,1,243, +3757,1,244,3937,19, +1097,1,244,3757,1, +245,3938,19,1087,1, +245,3757,1,246,3939, +19,1368,1,246,3757, +1,247,3940,19,1119, +1,247,3757,1,248, +3941,19,1276,1,248, +3622,1,249,3942,19, +1443,1,249,3681,1, +250,3943,19,1454,1, +250,3681,1,251,3944, +19,1438,1,251,3685, +1,252,3945,19,1742, +1,252,3485,1,253, +3946,19,1737,1,253, +3485,1,254,3947,19, +1732,1,254,3485,1, +255,3948,19,1727,1, +255,3485,1,256,3949, +19,1722,1,256,3485, +1,257,3950,19,1717, +1,257,3485,1,258, +3951,19,1712,1,258, +3485,1,259,3952,19, +1605,1,259,3504,1, +260,3953,19,1600,1, +260,3504,1,261,3954, +19,1661,1,261,3504, +1,262,3955,19,1688, +1,262,3504,1,263, +3956,19,1593,1,263, +3504,1,264,3957,19, +1588,1,264,3504,1, +265,3958,19,1583,1, +265,3504,1,266,3959, +19,1578,1,266,3504, +1,267,3960,19,1573, +1,267,3504,1,268, +3961,19,1568,1,268, +3504,1,269,3962,19, +1563,1,269,3504,1, +270,3963,19,1653,1, +270,3504,1,271,3964, +19,1648,1,271,3504, +1,272,3965,19,1643, +1,272,3504,1,273, +3966,19,1638,1,273, +3504,1,274,3967,19, +1555,1,274,3504,1, +275,3968,19,1550,1, +275,3504,1,276,3969, +19,1545,1,276,3504, +1,277,3970,19,1540, +1,277,3504,1,278, +3971,19,1535,1,278, +3504,1,279,3972,19, +1530,1,279,3504,1, +280,3973,19,1525,1, +280,3504,1,281,3974, +19,1632,1,281,3504, +1,282,3975,19,1519, +1,282,3504,1,283, +3976,19,1514,1,283, +3504,1,284,3977,19, +1626,1,284,3504,1, +285,3978,19,1676,1, +285,3504,1,286,3979, +19,1507,1,286,3504, +1,287,3980,19,1502, +1,287,3504,1,288, +3981,19,1497,1,288, +3504,1,289,3982,19, +1619,1,289,3504,1, +290,3983,19,1704,1, +290,3504,1,291,3984, +19,1490,1,291,3504, +1,292,3985,19,3986, +4,50,65,0,114, +0,103,0,117,0, +109,0,101,0,110, +0,116,0,68,0, +101,0,99,0,108, +0,97,0,114,0, +97,0,116,0,105, +0,111,0,110,0, +76,0,105,0,115, +0,116,0,95,0, +51,0,1,292,3462, +1,293,3987,19,3988, +4,28,65,0,114, +0,103,0,117,0, +109,0,101,0,110, +0,116,0,76,0, +105,0,115,0,116, +0,95,0,51,0, +1,293,3681,1,294, +3989,19,3990,4,24, +83,0,116,0,97, +0,116,0,101,0, +109,0,101,0,110, +0,116,0,95,0, +49,0,51,0,1, +294,3525,1,295,3991, +19,3992,4,28,65, +0,114,0,103,0, +117,0,109,0,101, +0,110,0,116,0, +76,0,105,0,115, +0,116,0,95,0, +52,0,1,295,3681, +1,296,3993,19,3994, +4,50,65,0,114, +0,103,0,117,0, +109,0,101,0,110, +0,116,0,68,0, +101,0,99,0,108, +0,97,0,114,0, +97,0,116,0,105, +0,111,0,110,0, +76,0,105,0,115, +0,116,0,95,0, +52,0,1,296,3462, +1,297,3995,19,3996, +4,50,65,0,114, +0,103,0,117,0, +109,0,101,0,110, +0,116,0,68,0, +101,0,99,0,108, +0,97,0,114,0, +97,0,116,0,105, +0,111,0,110,0, +76,0,105,0,115, +0,116,0,95,0, +53,0,1,297,3462, +2,0,0}; +new Sfactory(this,"ExpressionArgument_1",new SCreator(ExpressionArgument_1_factory)); +new Sfactory(this,"StatementList_1",new SCreator(StatementList_1_factory)); +new Sfactory(this,"StateChange_1",new SCreator(StateChange_1_factory)); +new Sfactory(this,"StateChange_2",new SCreator(StateChange_2_factory)); +new Sfactory(this,"Declaration",new SCreator(Declaration_factory)); +new Sfactory(this,"IdentExpression",new SCreator(IdentExpression_factory)); +new Sfactory(this,"error",new SCreator(error_factory)); +new Sfactory(this,"BinaryExpression_2",new SCreator(BinaryExpression_2_factory)); +new Sfactory(this,"BinaryExpression_3",new SCreator(BinaryExpression_3_factory)); +new Sfactory(this,"BinaryExpression_4",new SCreator(BinaryExpression_4_factory)); +new Sfactory(this,"BinaryExpression_5",new SCreator(BinaryExpression_5_factory)); +new Sfactory(this,"ReturnStatement_2",new SCreator(ReturnStatement_2_factory)); +new Sfactory(this,"BinaryExpression_8",new SCreator(BinaryExpression_8_factory)); +new Sfactory(this,"BinaryExpression_9",new SCreator(BinaryExpression_9_factory)); +new Sfactory(this,"VectorConstant_1",new SCreator(VectorConstant_1_factory)); +new Sfactory(this,"ParenthesisExpression",new SCreator(ParenthesisExpression_factory)); +new Sfactory(this,"UnaryExpression",new SCreator(UnaryExpression_factory)); +new Sfactory(this,"IdentDotExpression_1",new SCreator(IdentDotExpression_1_factory)); +new Sfactory(this,"Typename",new SCreator(Typename_factory)); +new Sfactory(this,"IfStatement_1",new SCreator(IfStatement_1_factory)); +new Sfactory(this,"Assignment",new SCreator(Assignment_factory)); +new Sfactory(this,"CompoundStatement_1",new SCreator(CompoundStatement_1_factory)); +new Sfactory(this,"CompoundStatement_2",new SCreator(CompoundStatement_2_factory)); +new Sfactory(this,"ReturnStatement_1",new SCreator(ReturnStatement_1_factory)); +new Sfactory(this,"IdentDotExpression",new SCreator(IdentDotExpression_factory)); +new Sfactory(this,"Argument",new SCreator(Argument_factory)); +new Sfactory(this,"State_2",new SCreator(State_2_factory)); +new Sfactory(this,"WhileStatement_1",new SCreator(WhileStatement_1_factory)); +new Sfactory(this,"GlobalDefinitions_3",new SCreator(GlobalDefinitions_3_factory)); +new Sfactory(this,"GlobalDefinitions_4",new SCreator(GlobalDefinitions_4_factory)); +new Sfactory(this,"Event_1",new SCreator(Event_1_factory)); +new Sfactory(this,"ListConstant",new SCreator(ListConstant_factory)); +new Sfactory(this,"Event_3",new SCreator(Event_3_factory)); +new Sfactory(this,"Event_4",new SCreator(Event_4_factory)); +new Sfactory(this,"Event_6",new SCreator(Event_6_factory)); +new Sfactory(this,"Typename_1",new SCreator(Typename_1_factory)); +new Sfactory(this,"Typename_2",new SCreator(Typename_2_factory)); +new Sfactory(this,"Typename_3",new SCreator(Typename_3_factory)); +new Sfactory(this,"Typename_4",new SCreator(Typename_4_factory)); +new Sfactory(this,"Typename_5",new SCreator(Typename_5_factory)); +new Sfactory(this,"Typename_6",new SCreator(Typename_6_factory)); +new Sfactory(this,"Typename_7",new SCreator(Typename_7_factory)); +new Sfactory(this,"ArgumentDeclarationList",new SCreator(ArgumentDeclarationList_factory)); +new Sfactory(this,"ConstantExpression",new SCreator(ConstantExpression_factory)); +new Sfactory(this,"LSLProgramRoot_1",new SCreator(LSLProgramRoot_1_factory)); +new Sfactory(this,"LSLProgramRoot_2",new SCreator(LSLProgramRoot_2_factory)); +new Sfactory(this,"States_1",new SCreator(States_1_factory)); +new Sfactory(this,"States_2",new SCreator(States_2_factory)); +new Sfactory(this,"FunctionCallExpression_1",new SCreator(FunctionCallExpression_1_factory)); +new Sfactory(this,"ForLoopStatement",new SCreator(ForLoopStatement_factory)); +new Sfactory(this,"DoWhileStatement_1",new SCreator(DoWhileStatement_1_factory)); +new Sfactory(this,"JumpLabel",new SCreator(JumpLabel_factory)); +new Sfactory(this,"JumpStatement_1",new SCreator(JumpStatement_1_factory)); +new Sfactory(this,"GlobalDefinitions",new SCreator(GlobalDefinitions_factory)); +new Sfactory(this,"FunctionCall_1",new SCreator(FunctionCall_1_factory)); +new Sfactory(this,"ArgumentList_3",new SCreator(ArgumentList_3_factory)); +new Sfactory(this,"Assignment_2",new SCreator(Assignment_2_factory)); +new Sfactory(this,"Assignment_4",new SCreator(Assignment_4_factory)); +new Sfactory(this,"Assignment_6",new SCreator(Assignment_6_factory)); +new Sfactory(this,"TypecastExpression_1",new SCreator(TypecastExpression_1_factory)); +new Sfactory(this,"TypecastExpression_4",new SCreator(TypecastExpression_4_factory)); +new Sfactory(this,"TypecastExpression_5",new SCreator(TypecastExpression_5_factory)); +new Sfactory(this,"TypecastExpression_6",new SCreator(TypecastExpression_6_factory)); +new Sfactory(this,"TypecastExpression_9",new SCreator(TypecastExpression_9_factory)); +new Sfactory(this,"ArgumentDeclarationList_1",new SCreator(ArgumentDeclarationList_1_factory)); +new Sfactory(this,"ArgumentDeclarationList_2",new SCreator(ArgumentDeclarationList_2_factory)); +new Sfactory(this,"ArgumentDeclarationList_3",new SCreator(ArgumentDeclarationList_3_factory)); +new Sfactory(this,"GlobalDefinitions_1",new SCreator(GlobalDefinitions_1_factory)); +new Sfactory(this,"GlobalDefinitions_2",new SCreator(GlobalDefinitions_2_factory)); +new Sfactory(this,"IncrementDecrementExpression",new SCreator(IncrementDecrementExpression_factory)); +new Sfactory(this,"GlobalVariableDeclaration",new SCreator(GlobalVariableDeclaration_factory)); +new Sfactory(this,"Event_11",new SCreator(Event_11_factory)); +new Sfactory(this,"TypecastExpression_2",new SCreator(TypecastExpression_2_factory)); +new Sfactory(this,"TypecastExpression_3",new SCreator(TypecastExpression_3_factory)); +new Sfactory(this,"TypecastExpression_8",new SCreator(TypecastExpression_8_factory)); +new Sfactory(this,"Constant_1",new SCreator(Constant_1_factory)); +new Sfactory(this,"Expression",new SCreator(Expression_factory)); +new Sfactory(this,"Constant_3",new SCreator(Constant_3_factory)); +new Sfactory(this,"Constant_4",new SCreator(Constant_4_factory)); +new Sfactory(this,"BinaryExpression_1",new SCreator(BinaryExpression_1_factory)); +new Sfactory(this,"IfStatement_2",new SCreator(IfStatement_2_factory)); +new Sfactory(this,"ReturnStatement",new SCreator(ReturnStatement_factory)); +new Sfactory(this,"Event_2",new SCreator(Event_2_factory)); +new Sfactory(this,"RotationConstant",new SCreator(RotationConstant_factory)); +new Sfactory(this,"Statement_13",new SCreator(Statement_13_factory)); +new Sfactory(this,"UnaryExpression_1",new SCreator(UnaryExpression_1_factory)); +new Sfactory(this,"UnaryExpression_2",new SCreator(UnaryExpression_2_factory)); +new Sfactory(this,"UnaryExpression_3",new SCreator(UnaryExpression_3_factory)); +new Sfactory(this,"ArgumentList_1",new SCreator(ArgumentList_1_factory)); +new Sfactory(this,"ArgumentList_2",new SCreator(ArgumentList_2_factory)); +new Sfactory(this,"Constant",new SCreator(Constant_factory)); +new Sfactory(this,"State",new SCreator(State_factory)); +new Sfactory(this,"LSLProgramRoot",new SCreator(LSLProgramRoot_factory)); +new Sfactory(this,"StateChange",new SCreator(StateChange_factory)); +new Sfactory(this,"IncrementDecrementExpression_2",new SCreator(IncrementDecrementExpression_2_factory)); +new Sfactory(this,"GlobalVariableDeclaration_1",new SCreator(GlobalVariableDeclaration_1_factory)); +new Sfactory(this,"GlobalVariableDeclaration_2",new SCreator(GlobalVariableDeclaration_2_factory)); +new Sfactory(this,"IncrementDecrementExpression_5",new SCreator(IncrementDecrementExpression_5_factory)); +new Sfactory(this,"GlobalFunctionDefinition_2",new SCreator(GlobalFunctionDefinition_2_factory)); +new Sfactory(this,"IncrementDecrementExpression_7",new SCreator(IncrementDecrementExpression_7_factory)); +new Sfactory(this,"IncrementDecrementExpression_8",new SCreator(IncrementDecrementExpression_8_factory)); +new Sfactory(this,"Assignment_1",new SCreator(Assignment_1_factory)); +new Sfactory(this,"Assignment_3",new SCreator(Assignment_3_factory)); +new Sfactory(this,"Assignment_5",new SCreator(Assignment_5_factory)); +new Sfactory(this,"Assignment_7",new SCreator(Assignment_7_factory)); +new Sfactory(this,"Assignment_8",new SCreator(Assignment_8_factory)); +new Sfactory(this,"Event_22",new SCreator(Event_22_factory)); +new Sfactory(this,"CompoundStatement",new SCreator(CompoundStatement_factory)); +new Sfactory(this,"RotationConstant_1",new SCreator(RotationConstant_1_factory)); +new Sfactory(this,"Event_13",new SCreator(Event_13_factory)); +new Sfactory(this,"Statement_1",new SCreator(Statement_1_factory)); +new Sfactory(this,"Statement_2",new SCreator(Statement_2_factory)); +new Sfactory(this,"Statement_3",new SCreator(Statement_3_factory)); +new Sfactory(this,"Statement_4",new SCreator(Statement_4_factory)); +new Sfactory(this,"Statement_5",new SCreator(Statement_5_factory)); +new Sfactory(this,"Statement_6",new SCreator(Statement_6_factory)); +new Sfactory(this,"Statement_7",new SCreator(Statement_7_factory)); +new Sfactory(this,"Statement_8",new SCreator(Statement_8_factory)); +new Sfactory(this,"Statement_9",new SCreator(Statement_9_factory)); +new Sfactory(this,"ExpressionArgument",new SCreator(ExpressionArgument_factory)); +new Sfactory(this,"GlobalFunctionDefinition",new SCreator(GlobalFunctionDefinition_factory)); +new Sfactory(this,"State_1",new SCreator(State_1_factory)); +new Sfactory(this,"DoWhileStatement",new SCreator(DoWhileStatement_factory)); +new Sfactory(this,"ParenthesisExpression_1",new SCreator(ParenthesisExpression_1_factory)); +new Sfactory(this,"Event_5",new SCreator(Event_5_factory)); +new Sfactory(this,"StateBody",new SCreator(StateBody_factory)); +new Sfactory(this,"Event_7",new SCreator(Event_7_factory)); +new Sfactory(this,"Event_8",new SCreator(Event_8_factory)); +new Sfactory(this,"IncrementDecrementExpression_1",new SCreator(IncrementDecrementExpression_1_factory)); +new Sfactory(this,"IncrementDecrementExpression_3",new SCreator(IncrementDecrementExpression_3_factory)); +new Sfactory(this,"IncrementDecrementExpression_4",new SCreator(IncrementDecrementExpression_4_factory)); +new Sfactory(this,"IncrementDecrementExpression_6",new SCreator(IncrementDecrementExpression_6_factory)); +new Sfactory(this,"StateEvent",new SCreator(StateEvent_factory)); +new Sfactory(this,"Event_20",new SCreator(Event_20_factory)); +new Sfactory(this,"Event_24",new SCreator(Event_24_factory)); +new Sfactory(this,"Event_26",new SCreator(Event_26_factory)); +new Sfactory(this,"Event",new SCreator(Event_factory)); +new Sfactory(this,"Statement_10",new SCreator(Statement_10_factory)); +new Sfactory(this,"Statement_11",new SCreator(Statement_11_factory)); +new Sfactory(this,"Statement_12",new SCreator(Statement_12_factory)); +new Sfactory(this,"TypecastExpression",new SCreator(TypecastExpression_factory)); +new Sfactory(this,"Event_15",new SCreator(Event_15_factory)); +new Sfactory(this,"Event_16",new SCreator(Event_16_factory)); +new Sfactory(this,"Event_32",new SCreator(Event_32_factory)); +new Sfactory(this,"BinaryExpression",new SCreator(BinaryExpression_factory)); +new Sfactory(this,"FunctionCallExpression",new SCreator(FunctionCallExpression_factory)); +new Sfactory(this,"BinaryExpression_11",new SCreator(BinaryExpression_11_factory)); +new Sfactory(this,"StateBody_1",new SCreator(StateBody_1_factory)); +new Sfactory(this,"StatementList_2",new SCreator(StatementList_2_factory)); +new Sfactory(this,"BinaryExpression_14",new SCreator(BinaryExpression_14_factory)); +new Sfactory(this,"BinaryExpression_15",new SCreator(BinaryExpression_15_factory)); +new Sfactory(this,"BinaryExpression_16",new SCreator(BinaryExpression_16_factory)); +new Sfactory(this,"BinaryExpression_17",new SCreator(BinaryExpression_17_factory)); +new Sfactory(this,"BinaryExpression_18",new SCreator(BinaryExpression_18_factory)); +new Sfactory(this,"Event_25",new SCreator(Event_25_factory)); +new Sfactory(this,"Event_9",new SCreator(Event_9_factory)); +new Sfactory(this,"Statement",new SCreator(Statement_factory)); +new Sfactory(this,"JumpStatement",new SCreator(JumpStatement_factory)); +new Sfactory(this,"BinaryExpression_12",new SCreator(BinaryExpression_12_factory)); +new Sfactory(this,"BinaryExpression_13",new SCreator(BinaryExpression_13_factory)); +new Sfactory(this,"BinaryExpression_6",new SCreator(BinaryExpression_6_factory)); +new Sfactory(this,"BinaryExpression_7",new SCreator(BinaryExpression_7_factory)); +new Sfactory(this,"ArgumentList",new SCreator(ArgumentList_factory)); +new Sfactory(this,"Event_10",new SCreator(Event_10_factory)); +new Sfactory(this,"ConstantExpression_1",new SCreator(ConstantExpression_1_factory)); +new Sfactory(this,"Event_12",new SCreator(Event_12_factory)); +new Sfactory(this,"Event_14",new SCreator(Event_14_factory)); +new Sfactory(this,"Event_17",new SCreator(Event_17_factory)); +new Sfactory(this,"Event_18",new SCreator(Event_18_factory)); +new Sfactory(this,"Event_19",new SCreator(Event_19_factory)); +new Sfactory(this,"BinaryExpression_10",new SCreator(BinaryExpression_10_factory)); +new Sfactory(this,"StateEvent_1",new SCreator(StateEvent_1_factory)); +new Sfactory(this,"VectorConstant",new SCreator(VectorConstant_factory)); +new Sfactory(this,"Event_21",new SCreator(Event_21_factory)); +new Sfactory(this,"Event_23",new SCreator(Event_23_factory)); +new Sfactory(this,"TypecastExpression_7",new SCreator(TypecastExpression_7_factory)); +new Sfactory(this,"FunctionCall",new SCreator(FunctionCall_factory)); +new Sfactory(this,"Event_27",new SCreator(Event_27_factory)); +new Sfactory(this,"Event_28",new SCreator(Event_28_factory)); +new Sfactory(this,"Event_29",new SCreator(Event_29_factory)); +new Sfactory(this,"ListConstant_1",new SCreator(ListConstant_1_factory)); +new Sfactory(this,"Declaration_1",new SCreator(Declaration_1_factory)); +new Sfactory(this,"ForLoop",new SCreator(ForLoop_factory)); +new Sfactory(this,"Event_30",new SCreator(Event_30_factory)); +new Sfactory(this,"Event_31",new SCreator(Event_31_factory)); +new Sfactory(this,"Event_33",new SCreator(Event_33_factory)); +new Sfactory(this,"GlobalFunctionDefinition_1",new SCreator(GlobalFunctionDefinition_1_factory)); +new Sfactory(this,"JumpLabel_1",new SCreator(JumpLabel_1_factory)); +new Sfactory(this,"ArgumentList_4",new SCreator(ArgumentList_4_factory)); +new Sfactory(this,"IfStatement",new SCreator(IfStatement_factory)); +new Sfactory(this,"ForLoopStatement_1",new SCreator(ForLoopStatement_1_factory)); +new Sfactory(this,"ForLoopStatement_2",new SCreator(ForLoopStatement_2_factory)); +new Sfactory(this,"ForLoopStatement_3",new SCreator(ForLoopStatement_3_factory)); +new Sfactory(this,"ForLoopStatement_4",new SCreator(ForLoopStatement_4_factory)); +new Sfactory(this,"ArgumentDeclarationList_4",new SCreator(ArgumentDeclarationList_4_factory)); +new Sfactory(this,"ArgumentDeclarationList_5",new SCreator(ArgumentDeclarationList_5_factory)); +new Sfactory(this,"WhileStatement",new SCreator(WhileStatement_factory)); +new Sfactory(this,"ForLoop_1",new SCreator(ForLoop_1_factory)); +new Sfactory(this,"Constant_2",new SCreator(Constant_2_factory)); +new Sfactory(this,"StatementList",new SCreator(StatementList_factory)); +new Sfactory(this,"StateBody_2",new SCreator(StateBody_2_factory)); +new Sfactory(this,"IdentExpression_1",new SCreator(IdentExpression_1_factory)); +new Sfactory(this,"States",new SCreator(States_factory)); +} +public static object ExpressionArgument_1_factory(Parser yyp) { return new ExpressionArgument_1(yyp); } +public static object StatementList_1_factory(Parser yyp) { return new StatementList_1(yyp); } +public static object StateChange_1_factory(Parser yyp) { return new StateChange_1(yyp); } +public static object StateChange_2_factory(Parser yyp) { return new StateChange_2(yyp); } +public static object Declaration_factory(Parser yyp) { return new Declaration(yyp); } +public static object IdentExpression_factory(Parser yyp) { return new IdentExpression(yyp); } +public static object error_factory(Parser yyp) { return new error(yyp); } +public static object BinaryExpression_2_factory(Parser yyp) { return new BinaryExpression_2(yyp); } +public static object BinaryExpression_3_factory(Parser yyp) { return new BinaryExpression_3(yyp); } +public static object BinaryExpression_4_factory(Parser yyp) { return new BinaryExpression_4(yyp); } +public static object BinaryExpression_5_factory(Parser yyp) { return new BinaryExpression_5(yyp); } +public static object ReturnStatement_2_factory(Parser yyp) { return new ReturnStatement_2(yyp); } +public static object BinaryExpression_8_factory(Parser yyp) { return new BinaryExpression_8(yyp); } +public static object BinaryExpression_9_factory(Parser yyp) { return new BinaryExpression_9(yyp); } +public static object VectorConstant_1_factory(Parser yyp) { return new VectorConstant_1(yyp); } +public static object ParenthesisExpression_factory(Parser yyp) { return new ParenthesisExpression(yyp); } +public static object UnaryExpression_factory(Parser yyp) { return new UnaryExpression(yyp); } +public static object IdentDotExpression_1_factory(Parser yyp) { return new IdentDotExpression_1(yyp); } +public static object Typename_factory(Parser yyp) { return new Typename(yyp); } +public static object IfStatement_1_factory(Parser yyp) { return new IfStatement_1(yyp); } +public static object Assignment_factory(Parser yyp) { return new Assignment(yyp); } +public static object CompoundStatement_1_factory(Parser yyp) { return new CompoundStatement_1(yyp); } +public static object CompoundStatement_2_factory(Parser yyp) { return new CompoundStatement_2(yyp); } +public static object ReturnStatement_1_factory(Parser yyp) { return new ReturnStatement_1(yyp); } +public static object IdentDotExpression_factory(Parser yyp) { return new IdentDotExpression(yyp); } +public static object Argument_factory(Parser yyp) { return new Argument(yyp); } +public static object State_2_factory(Parser yyp) { return new State_2(yyp); } +public static object WhileStatement_1_factory(Parser yyp) { return new WhileStatement_1(yyp); } +public static object GlobalDefinitions_3_factory(Parser yyp) { return new GlobalDefinitions_3(yyp); } +public static object GlobalDefinitions_4_factory(Parser yyp) { return new GlobalDefinitions_4(yyp); } +public static object Event_1_factory(Parser yyp) { return new Event_1(yyp); } +public static object ListConstant_factory(Parser yyp) { return new ListConstant(yyp); } +public static object Event_3_factory(Parser yyp) { return new Event_3(yyp); } +public static object Event_4_factory(Parser yyp) { return new Event_4(yyp); } +public static object Event_6_factory(Parser yyp) { return new Event_6(yyp); } +public static object Typename_1_factory(Parser yyp) { return new Typename_1(yyp); } +public static object Typename_2_factory(Parser yyp) { return new Typename_2(yyp); } +public static object Typename_3_factory(Parser yyp) { return new Typename_3(yyp); } +public static object Typename_4_factory(Parser yyp) { return new Typename_4(yyp); } +public static object Typename_5_factory(Parser yyp) { return new Typename_5(yyp); } +public static object Typename_6_factory(Parser yyp) { return new Typename_6(yyp); } +public static object Typename_7_factory(Parser yyp) { return new Typename_7(yyp); } +public static object ArgumentDeclarationList_factory(Parser yyp) { return new ArgumentDeclarationList(yyp); } +public static object ConstantExpression_factory(Parser yyp) { return new ConstantExpression(yyp); } +public static object LSLProgramRoot_1_factory(Parser yyp) { return new LSLProgramRoot_1(yyp); } +public static object LSLProgramRoot_2_factory(Parser yyp) { return new LSLProgramRoot_2(yyp); } +public static object States_1_factory(Parser yyp) { return new States_1(yyp); } +public static object States_2_factory(Parser yyp) { return new States_2(yyp); } +public static object FunctionCallExpression_1_factory(Parser yyp) { return new FunctionCallExpression_1(yyp); } +public static object ForLoopStatement_factory(Parser yyp) { return new ForLoopStatement(yyp); } +public static object DoWhileStatement_1_factory(Parser yyp) { return new DoWhileStatement_1(yyp); } +public static object JumpLabel_factory(Parser yyp) { return new JumpLabel(yyp); } +public static object JumpStatement_1_factory(Parser yyp) { return new JumpStatement_1(yyp); } +public static object GlobalDefinitions_factory(Parser yyp) { return new GlobalDefinitions(yyp); } +public static object FunctionCall_1_factory(Parser yyp) { return new FunctionCall_1(yyp); } +public static object ArgumentList_3_factory(Parser yyp) { return new ArgumentList_3(yyp); } +public static object Assignment_2_factory(Parser yyp) { return new Assignment_2(yyp); } +public static object Assignment_4_factory(Parser yyp) { return new Assignment_4(yyp); } +public static object Assignment_6_factory(Parser yyp) { return new Assignment_6(yyp); } +public static object TypecastExpression_1_factory(Parser yyp) { return new TypecastExpression_1(yyp); } +public static object TypecastExpression_4_factory(Parser yyp) { return new TypecastExpression_4(yyp); } +public static object TypecastExpression_5_factory(Parser yyp) { return new TypecastExpression_5(yyp); } +public static object TypecastExpression_6_factory(Parser yyp) { return new TypecastExpression_6(yyp); } +public static object TypecastExpression_9_factory(Parser yyp) { return new TypecastExpression_9(yyp); } +public static object ArgumentDeclarationList_1_factory(Parser yyp) { return new ArgumentDeclarationList_1(yyp); } +public static object ArgumentDeclarationList_2_factory(Parser yyp) { return new ArgumentDeclarationList_2(yyp); } +public static object ArgumentDeclarationList_3_factory(Parser yyp) { return new ArgumentDeclarationList_3(yyp); } +public static object GlobalDefinitions_1_factory(Parser yyp) { return new GlobalDefinitions_1(yyp); } +public static object GlobalDefinitions_2_factory(Parser yyp) { return new GlobalDefinitions_2(yyp); } +public static object IncrementDecrementExpression_factory(Parser yyp) { return new IncrementDecrementExpression(yyp); } +public static object GlobalVariableDeclaration_factory(Parser yyp) { return new GlobalVariableDeclaration(yyp); } +public static object Event_11_factory(Parser yyp) { return new Event_11(yyp); } +public static object TypecastExpression_2_factory(Parser yyp) { return new TypecastExpression_2(yyp); } +public static object TypecastExpression_3_factory(Parser yyp) { return new TypecastExpression_3(yyp); } +public static object TypecastExpression_8_factory(Parser yyp) { return new TypecastExpression_8(yyp); } +public static object Constant_1_factory(Parser yyp) { return new Constant_1(yyp); } +public static object Expression_factory(Parser yyp) { return new Expression(yyp); } +public static object Constant_3_factory(Parser yyp) { return new Constant_3(yyp); } +public static object Constant_4_factory(Parser yyp) { return new Constant_4(yyp); } +public static object BinaryExpression_1_factory(Parser yyp) { return new BinaryExpression_1(yyp); } +public static object IfStatement_2_factory(Parser yyp) { return new IfStatement_2(yyp); } +public static object ReturnStatement_factory(Parser yyp) { return new ReturnStatement(yyp); } +public static object Event_2_factory(Parser yyp) { return new Event_2(yyp); } +public static object RotationConstant_factory(Parser yyp) { return new RotationConstant(yyp); } +public static object Statement_13_factory(Parser yyp) { return new Statement_13(yyp); } +public static object UnaryExpression_1_factory(Parser yyp) { return new UnaryExpression_1(yyp); } +public static object UnaryExpression_2_factory(Parser yyp) { return new UnaryExpression_2(yyp); } +public static object UnaryExpression_3_factory(Parser yyp) { return new UnaryExpression_3(yyp); } +public static object ArgumentList_1_factory(Parser yyp) { return new ArgumentList_1(yyp); } +public static object ArgumentList_2_factory(Parser yyp) { return new ArgumentList_2(yyp); } +public static object Constant_factory(Parser yyp) { return new Constant(yyp); } +public static object State_factory(Parser yyp) { return new State(yyp); } +public static object LSLProgramRoot_factory(Parser yyp) { return new LSLProgramRoot(yyp); } +public static object StateChange_factory(Parser yyp) { return new StateChange(yyp); } +public static object IncrementDecrementExpression_2_factory(Parser yyp) { return new IncrementDecrementExpression_2(yyp); } +public static object GlobalVariableDeclaration_1_factory(Parser yyp) { return new GlobalVariableDeclaration_1(yyp); } +public static object GlobalVariableDeclaration_2_factory(Parser yyp) { return new GlobalVariableDeclaration_2(yyp); } +public static object IncrementDecrementExpression_5_factory(Parser yyp) { return new IncrementDecrementExpression_5(yyp); } +public static object GlobalFunctionDefinition_2_factory(Parser yyp) { return new GlobalFunctionDefinition_2(yyp); } +public static object IncrementDecrementExpression_7_factory(Parser yyp) { return new IncrementDecrementExpression_7(yyp); } +public static object IncrementDecrementExpression_8_factory(Parser yyp) { return new IncrementDecrementExpression_8(yyp); } +public static object Assignment_1_factory(Parser yyp) { return new Assignment_1(yyp); } +public static object Assignment_3_factory(Parser yyp) { return new Assignment_3(yyp); } +public static object Assignment_5_factory(Parser yyp) { return new Assignment_5(yyp); } +public static object Assignment_7_factory(Parser yyp) { return new Assignment_7(yyp); } +public static object Assignment_8_factory(Parser yyp) { return new Assignment_8(yyp); } +public static object Event_22_factory(Parser yyp) { return new Event_22(yyp); } +public static object CompoundStatement_factory(Parser yyp) { return new CompoundStatement(yyp); } +public static object RotationConstant_1_factory(Parser yyp) { return new RotationConstant_1(yyp); } +public static object Event_13_factory(Parser yyp) { return new Event_13(yyp); } +public static object Statement_1_factory(Parser yyp) { return new Statement_1(yyp); } +public static object Statement_2_factory(Parser yyp) { return new Statement_2(yyp); } +public static object Statement_3_factory(Parser yyp) { return new Statement_3(yyp); } +public static object Statement_4_factory(Parser yyp) { return new Statement_4(yyp); } +public static object Statement_5_factory(Parser yyp) { return new Statement_5(yyp); } +public static object Statement_6_factory(Parser yyp) { return new Statement_6(yyp); } +public static object Statement_7_factory(Parser yyp) { return new Statement_7(yyp); } +public static object Statement_8_factory(Parser yyp) { return new Statement_8(yyp); } +public static object Statement_9_factory(Parser yyp) { return new Statement_9(yyp); } +public static object ExpressionArgument_factory(Parser yyp) { return new ExpressionArgument(yyp); } +public static object GlobalFunctionDefinition_factory(Parser yyp) { return new GlobalFunctionDefinition(yyp); } +public static object State_1_factory(Parser yyp) { return new State_1(yyp); } +public static object DoWhileStatement_factory(Parser yyp) { return new DoWhileStatement(yyp); } +public static object ParenthesisExpression_1_factory(Parser yyp) { return new ParenthesisExpression_1(yyp); } +public static object Event_5_factory(Parser yyp) { return new Event_5(yyp); } +public static object StateBody_factory(Parser yyp) { return new StateBody(yyp); } +public static object Event_7_factory(Parser yyp) { return new Event_7(yyp); } +public static object Event_8_factory(Parser yyp) { return new Event_8(yyp); } +public static object IncrementDecrementExpression_1_factory(Parser yyp) { return new IncrementDecrementExpression_1(yyp); } +public static object IncrementDecrementExpression_3_factory(Parser yyp) { return new IncrementDecrementExpression_3(yyp); } +public static object IncrementDecrementExpression_4_factory(Parser yyp) { return new IncrementDecrementExpression_4(yyp); } +public static object IncrementDecrementExpression_6_factory(Parser yyp) { return new IncrementDecrementExpression_6(yyp); } +public static object StateEvent_factory(Parser yyp) { return new StateEvent(yyp); } +public static object Event_20_factory(Parser yyp) { return new Event_20(yyp); } +public static object Event_24_factory(Parser yyp) { return new Event_24(yyp); } +public static object Event_26_factory(Parser yyp) { return new Event_26(yyp); } +public static object Event_factory(Parser yyp) { return new Event(yyp); } +public static object Statement_10_factory(Parser yyp) { return new Statement_10(yyp); } +public static object Statement_11_factory(Parser yyp) { return new Statement_11(yyp); } +public static object Statement_12_factory(Parser yyp) { return new Statement_12(yyp); } +public static object TypecastExpression_factory(Parser yyp) { return new TypecastExpression(yyp); } +public static object Event_15_factory(Parser yyp) { return new Event_15(yyp); } +public static object Event_16_factory(Parser yyp) { return new Event_16(yyp); } +public static object Event_32_factory(Parser yyp) { return new Event_32(yyp); } +public static object BinaryExpression_factory(Parser yyp) { return new BinaryExpression(yyp); } +public static object FunctionCallExpression_factory(Parser yyp) { return new FunctionCallExpression(yyp); } +public static object BinaryExpression_11_factory(Parser yyp) { return new BinaryExpression_11(yyp); } +public static object StateBody_1_factory(Parser yyp) { return new StateBody_1(yyp); } +public static object StatementList_2_factory(Parser yyp) { return new StatementList_2(yyp); } +public static object BinaryExpression_14_factory(Parser yyp) { return new BinaryExpression_14(yyp); } +public static object BinaryExpression_15_factory(Parser yyp) { return new BinaryExpression_15(yyp); } +public static object BinaryExpression_16_factory(Parser yyp) { return new BinaryExpression_16(yyp); } +public static object BinaryExpression_17_factory(Parser yyp) { return new BinaryExpression_17(yyp); } +public static object BinaryExpression_18_factory(Parser yyp) { return new BinaryExpression_18(yyp); } +public static object Event_25_factory(Parser yyp) { return new Event_25(yyp); } +public static object Event_9_factory(Parser yyp) { return new Event_9(yyp); } +public static object Statement_factory(Parser yyp) { return new Statement(yyp); } +public static object JumpStatement_factory(Parser yyp) { return new JumpStatement(yyp); } +public static object BinaryExpression_12_factory(Parser yyp) { return new BinaryExpression_12(yyp); } +public static object BinaryExpression_13_factory(Parser yyp) { return new BinaryExpression_13(yyp); } +public static object BinaryExpression_6_factory(Parser yyp) { return new BinaryExpression_6(yyp); } +public static object BinaryExpression_7_factory(Parser yyp) { return new BinaryExpression_7(yyp); } +public static object ArgumentList_factory(Parser yyp) { return new ArgumentList(yyp); } +public static object Event_10_factory(Parser yyp) { return new Event_10(yyp); } +public static object ConstantExpression_1_factory(Parser yyp) { return new ConstantExpression_1(yyp); } +public static object Event_12_factory(Parser yyp) { return new Event_12(yyp); } +public static object Event_14_factory(Parser yyp) { return new Event_14(yyp); } +public static object Event_17_factory(Parser yyp) { return new Event_17(yyp); } +public static object Event_18_factory(Parser yyp) { return new Event_18(yyp); } +public static object Event_19_factory(Parser yyp) { return new Event_19(yyp); } +public static object BinaryExpression_10_factory(Parser yyp) { return new BinaryExpression_10(yyp); } +public static object StateEvent_1_factory(Parser yyp) { return new StateEvent_1(yyp); } +public static object VectorConstant_factory(Parser yyp) { return new VectorConstant(yyp); } +public static object Event_21_factory(Parser yyp) { return new Event_21(yyp); } +public static object Event_23_factory(Parser yyp) { return new Event_23(yyp); } +public static object TypecastExpression_7_factory(Parser yyp) { return new TypecastExpression_7(yyp); } +public static object FunctionCall_factory(Parser yyp) { return new FunctionCall(yyp); } +public static object Event_27_factory(Parser yyp) { return new Event_27(yyp); } +public static object Event_28_factory(Parser yyp) { return new Event_28(yyp); } +public static object Event_29_factory(Parser yyp) { return new Event_29(yyp); } +public static object ListConstant_1_factory(Parser yyp) { return new ListConstant_1(yyp); } +public static object Declaration_1_factory(Parser yyp) { return new Declaration_1(yyp); } +public static object ForLoop_factory(Parser yyp) { return new ForLoop(yyp); } +public static object Event_30_factory(Parser yyp) { return new Event_30(yyp); } +public static object Event_31_factory(Parser yyp) { return new Event_31(yyp); } +public static object Event_33_factory(Parser yyp) { return new Event_33(yyp); } +public static object GlobalFunctionDefinition_1_factory(Parser yyp) { return new GlobalFunctionDefinition_1(yyp); } +public static object JumpLabel_1_factory(Parser yyp) { return new JumpLabel_1(yyp); } +public static object ArgumentList_4_factory(Parser yyp) { return new ArgumentList_4(yyp); } +public static object IfStatement_factory(Parser yyp) { return new IfStatement(yyp); } +public static object ForLoopStatement_1_factory(Parser yyp) { return new ForLoopStatement_1(yyp); } +public static object ForLoopStatement_2_factory(Parser yyp) { return new ForLoopStatement_2(yyp); } +public static object ForLoopStatement_3_factory(Parser yyp) { return new ForLoopStatement_3(yyp); } +public static object ForLoopStatement_4_factory(Parser yyp) { return new ForLoopStatement_4(yyp); } +public static object ArgumentDeclarationList_4_factory(Parser yyp) { return new ArgumentDeclarationList_4(yyp); } +public static object ArgumentDeclarationList_5_factory(Parser yyp) { return new ArgumentDeclarationList_5(yyp); } +public static object WhileStatement_factory(Parser yyp) { return new WhileStatement(yyp); } +public static object ForLoop_1_factory(Parser yyp) { return new ForLoop_1(yyp); } +public static object Constant_2_factory(Parser yyp) { return new Constant_2(yyp); } +public static object StatementList_factory(Parser yyp) { return new StatementList(yyp); } +public static object StateBody_2_factory(Parser yyp) { return new StateBody_2(yyp); } +public static object IdentExpression_1_factory(Parser yyp) { return new IdentExpression_1(yyp); } +public static object States_factory(Parser yyp) { return new States(yyp); } +} +public class LSLSyntax +: Parser { +public LSLSyntax +():base(new yyLSLSyntax +(),new LSLTokens()) {} +public LSLSyntax +(YyParser syms):base(syms,new LSLTokens()) {} +public LSLSyntax +(YyParser syms,ErrorHandler erh):base(syms,new LSLTokens(erh)) {} + + } +} -- cgit v1.1