tackler-core 0.7.0

Core components for Tackler accounting engine with native GIT SCM support
Documentation
// Generated from TxnLexer.g4 by ANTLR 4.8
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(clippy::all)]
#![allow(dead_code)]
#![allow(nonstandard_style)]
#![allow(unused_imports)]
#![allow(unused_variables)]
use antlr_rust::atn::ATN;
use antlr_rust::char_stream::CharStream;
use antlr_rust::int_stream::IntStream;
use antlr_rust::lexer::{BaseLexer, Lexer, LexerRecog};
use antlr_rust::atn_deserializer::ATNDeserializer;
use antlr_rust::dfa::DFA;
use antlr_rust::lexer_atn_simulator::{LexerATNSimulator, ILexerATNSimulator};
use antlr_rust::PredictionContextCache;
use antlr_rust::recognizer::{Recognizer,Actions};
use antlr_rust::error_listener::ErrorListener;
use antlr_rust::TokenSource;
use antlr_rust::token_factory::{TokenFactory,CommonTokenFactory,TokenAware};
use antlr_rust::token::*;
use antlr_rust::rule_context::{BaseRuleContext,EmptyCustomRuleContext,EmptyContext};
use antlr_rust::parser_rule_context::{ParserRuleContext,BaseParserRuleContext,cast};
use antlr_rust::vocabulary::{Vocabulary,VocabularyImpl};

use antlr_rust::{lazy_static,Tid,TidAble,TidExt};

use std::sync::Arc;
use std::cell::RefCell;
use std::rc::Rc;
use std::marker::PhantomData;
use std::ops::{Deref, DerefMut};


	pub const UUID_NAME:isize=1; 
	pub const LOCATION_NAME:isize=2; 
	pub const GEO_NAME:isize=3; 
	pub const TAGS_NAME:isize=4; 
	pub const UUID_VALUE:isize=5; 
	pub const DATE:isize=6; 
	pub const TS:isize=7; 
	pub const TS_TZ:isize=8; 
	pub const INT:isize=9; 
	pub const NUMBER:isize=10; 
	pub const ID:isize=11; 
	pub const SUBID:isize=12; 
	pub const QUOTE:isize=13; 
	pub const L_BRACE:isize=14; 
	pub const R_BRACE:isize=15; 
	pub const L_CURLY:isize=16; 
	pub const R_CURLY:isize=17; 
	pub const L_SQUARE:isize=18; 
	pub const R_SQUARE:isize=19; 
	pub const L_ANGLE:isize=20; 
	pub const R_ANGLE:isize=21; 
	pub const HASH:isize=22; 
	pub const AT:isize=23; 
	pub const EQUAL:isize=24; 
	pub const SPACE:isize=25; 
	pub const TAB:isize=26; 
	pub const COMMA:isize=27; 
	pub const SEMICOLON:isize=28; 
	pub const COLON:isize=29; 
	pub const NL:isize=30; 
	pub const ANYCHAR:isize=31;
	pub const channelNames: [&'static str;0+2] = [
		"DEFAULT_TOKEN_CHANNEL", "HIDDEN"
	];

	pub const modeNames: [&'static str;1] = [
		"DEFAULT_MODE"
	];

	pub const ruleNames: [&'static str;38] = [
		"UUID_NAME", "LOCATION_NAME", "GEO_NAME", "TAGS_NAME", "UUID_VALUE", "DATE", 
		"TS", "TS_TZ", "INT", "NUMBER", "ID", "SUBID", "TIME", "TZ", "FLOAT", 
		"NameChar", "NameStartChar", "HEX", "DIGIT", "QUOTE", "L_BRACE", "R_BRACE", 
		"L_CURLY", "R_CURLY", "L_SQUARE", "R_SQUARE", "L_ANGLE", "R_ANGLE", "HASH", 
		"AT", "EQUAL", "SPACE", "TAB", "COMMA", "SEMICOLON", "COLON", "NL", "ANYCHAR"
	];


	pub const _LITERAL_NAMES: [Option<&'static str>;30] = [
		None, Some("'uuid'"), Some("'location'"), Some("'geo'"), Some("'tags'"), 
		None, None, None, None, None, None, None, None, Some("'''"), Some("'('"), 
		Some("')'"), Some("'{'"), Some("'}'"), Some("'['"), Some("']'"), Some("'<'"), 
		Some("'>'"), Some("'#'"), Some("'@'"), Some("'='"), Some("' '"), Some("'\t'"), 
		Some("','"), Some("';'"), Some("':'")
	];
	pub const _SYMBOLIC_NAMES: [Option<&'static str>;32]  = [
		None, Some("UUID_NAME"), Some("LOCATION_NAME"), Some("GEO_NAME"), Some("TAGS_NAME"), 
		Some("UUID_VALUE"), Some("DATE"), Some("TS"), Some("TS_TZ"), Some("INT"), 
		Some("NUMBER"), Some("ID"), Some("SUBID"), Some("QUOTE"), Some("L_BRACE"), 
		Some("R_BRACE"), Some("L_CURLY"), Some("R_CURLY"), Some("L_SQUARE"), Some("R_SQUARE"), 
		Some("L_ANGLE"), Some("R_ANGLE"), Some("HASH"), Some("AT"), Some("EQUAL"), 
		Some("SPACE"), Some("TAB"), Some("COMMA"), Some("SEMICOLON"), Some("COLON"), 
		Some("NL"), Some("ANYCHAR")
	];
	lazy_static!{
	    static ref _shared_context_cache: Arc<PredictionContextCache> = Arc::new(PredictionContextCache::new());
		static ref VOCABULARY: Box<dyn Vocabulary> = Box::new(VocabularyImpl::new(_LITERAL_NAMES.iter(), _SYMBOLIC_NAMES.iter(), None));
	}


pub type LexerContext<'input> = BaseRuleContext<'input,EmptyCustomRuleContext<'input,LocalTokenFactory<'input> >>;
pub type LocalTokenFactory<'input> = CommonTokenFactory;

type From<'a> = <LocalTokenFactory<'a> as TokenFactory<'a> >::From;

pub struct TxnLexer<'input, Input:CharStream<From<'input> >> {
	base: BaseLexer<'input,TxnLexerActions,Input,LocalTokenFactory<'input>>,
}

antlr_rust::tid! { impl<'input,Input> TidAble<'input> for TxnLexer<'input,Input> where Input:CharStream<From<'input> > }

impl<'input, Input:CharStream<From<'input> >> Deref for TxnLexer<'input,Input>{
	type Target = BaseLexer<'input,TxnLexerActions,Input,LocalTokenFactory<'input>>;

	fn deref(&self) -> &Self::Target {
		&self.base
	}
}

impl<'input, Input:CharStream<From<'input> >> DerefMut for TxnLexer<'input,Input>{
	fn deref_mut(&mut self) -> &mut Self::Target {
		&mut self.base
	}
}


impl<'input, Input:CharStream<From<'input> >> TxnLexer<'input,Input>{
    fn get_rule_names(&self) -> &'static [&'static str] {
        &ruleNames
    }
    fn get_literal_names(&self) -> &[Option<&str>] {
        &_LITERAL_NAMES
    }

    fn get_symbolic_names(&self) -> &[Option<&str>] {
        &_SYMBOLIC_NAMES
    }

    fn get_grammar_file_name(&self) -> &'static str {
        "TxnLexer.g4"
    }

	pub fn new_with_token_factory(input: Input, tf: &'input LocalTokenFactory<'input>) -> Self {
		antlr_rust::recognizer::check_version("0","3");
    	Self {
			base: BaseLexer::new_base_lexer(
				input,
				LexerATNSimulator::new_lexer_atnsimulator(
					_ATN.clone(),
					_decision_to_DFA.clone(),
					_shared_context_cache.clone(),
				),
				TxnLexerActions{},
				tf
			)
	    }
	}
}

impl<'input, Input:CharStream<From<'input> >> TxnLexer<'input,Input> where &'input LocalTokenFactory<'input>:Default{
	pub fn new(input: Input) -> Self{
		TxnLexer::new_with_token_factory(input, <&LocalTokenFactory<'input> as Default>::default())
	}
}

pub struct TxnLexerActions {
}

impl TxnLexerActions{
}

impl<'input, Input:CharStream<From<'input> >> Actions<'input,BaseLexer<'input,TxnLexerActions,Input,LocalTokenFactory<'input>>> for TxnLexerActions{
	}

	impl<'input, Input:CharStream<From<'input> >> TxnLexer<'input,Input>{

}

impl<'input, Input:CharStream<From<'input> >> LexerRecog<'input,BaseLexer<'input,TxnLexerActions,Input,LocalTokenFactory<'input>>> for TxnLexerActions{
}
impl<'input> TokenAware<'input> for TxnLexerActions{
	type TF = LocalTokenFactory<'input>;
}

impl<'input, Input:CharStream<From<'input> >> TokenSource<'input> for TxnLexer<'input,Input>{
	type TF = LocalTokenFactory<'input>;

    fn next_token(&mut self) -> <Self::TF as TokenFactory<'input>>::Tok {
        self.base.next_token()
    }

    fn get_line(&self) -> isize {
        self.base.get_line()
    }

    fn get_char_position_in_line(&self) -> isize {
        self.base.get_char_position_in_line()
    }

    fn get_input_stream(&mut self) -> Option<&mut dyn IntStream> {
        self.base.get_input_stream()
    }

	fn get_source_name(&self) -> String {
		self.base.get_source_name()
	}

    fn get_token_factory(&self) -> &'input Self::TF {
        self.base.get_token_factory()
    }
}



	lazy_static! {
	    static ref _ATN: Arc<ATN> =
	        Arc::new(ATNDeserializer::new(None).deserialize(_serializedATN.chars()));
	    static ref _decision_to_DFA: Arc<Vec<antlr_rust::RwLock<DFA>>> = {
	        let mut dfa = Vec::new();
	        let size = _ATN.decision_to_state.len();
	        for i in 0..size {
	            dfa.push(DFA::new(
	                _ATN.clone(),
	                _ATN.get_decision_state(i),
	                i as isize,
	            ).into())
	        }
	        Arc::new(dfa)
	    };
	}



	const _serializedATN:&'static str =
		"\x03\u{608b}\u{a72a}\u{8133}\u{b9ed}\u{417c}\u{3be7}\u{7786}\u{5964}\x02\
		\x21\u{113}\x08\x01\x04\x02\x09\x02\x04\x03\x09\x03\x04\x04\x09\x04\x04\
		\x05\x09\x05\x04\x06\x09\x06\x04\x07\x09\x07\x04\x08\x09\x08\x04\x09\x09\
		\x09\x04\x0a\x09\x0a\x04\x0b\x09\x0b\x04\x0c\x09\x0c\x04\x0d\x09\x0d\x04\
		\x0e\x09\x0e\x04\x0f\x09\x0f\x04\x10\x09\x10\x04\x11\x09\x11\x04\x12\x09\
		\x12\x04\x13\x09\x13\x04\x14\x09\x14\x04\x15\x09\x15\x04\x16\x09\x16\x04\
		\x17\x09\x17\x04\x18\x09\x18\x04\x19\x09\x19\x04\x1a\x09\x1a\x04\x1b\x09\
		\x1b\x04\x1c\x09\x1c\x04\x1d\x09\x1d\x04\x1e\x09\x1e\x04\x1f\x09\x1f\x04\
		\x20\x09\x20\x04\x21\x09\x21\x04\x22\x09\x22\x04\x23\x09\x23\x04\x24\x09\
		\x24\x04\x25\x09\x25\x04\x26\x09\x26\x04\x27\x09\x27\x03\x02\x03\x02\x03\
		\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\
		\x03\x03\x03\x03\x03\x03\x04\x03\x04\x03\x04\x03\x04\x03\x05\x03\x05\x03\
		\x05\x03\x05\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\
		\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\
		\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\
		\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\
		\x06\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\
		\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x08\x03\x08\x03\x08\x03\
		\x08\x03\x09\x03\x09\x03\x09\x03\x0a\x06\x0a\u{9f}\x0a\x0a\x0d\x0a\x0e\
		\x0a\u{a0}\x03\x0b\x05\x0b\u{a4}\x0a\x0b\x03\x0b\x03\x0b\x05\x0b\u{a8}\
		\x0a\x0b\x03\x0c\x03\x0c\x07\x0c\u{ac}\x0a\x0c\x0c\x0c\x0e\x0c\u{af}\x0b\
		\x0c\x03\x0d\x03\x0d\x05\x0d\u{b3}\x0a\x0d\x03\x0d\x07\x0d\u{b6}\x0a\x0d\
		\x0c\x0d\x0e\x0d\u{b9}\x0b\x0d\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0e\
		\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x03\x0e\x06\x0e\u{c5}\x0a\x0e\x0d\x0e\
		\x0e\x0e\u{c6}\x05\x0e\u{c9}\x0a\x0e\x03\x0f\x03\x0f\x03\x0f\x03\x0f\x03\
		\x0f\x03\x0f\x03\x0f\x03\x0f\x05\x0f\u{d3}\x0a\x0f\x03\x10\x06\x10\u{d6}\
		\x0a\x10\x0d\x10\x0e\x10\u{d7}\x03\x10\x03\x10\x06\x10\u{dc}\x0a\x10\x0d\
		\x10\x0e\x10\u{dd}\x03\x11\x03\x11\x03\x11\x05\x11\u{e3}\x0a\x11\x03\x12\
		\x03\x12\x03\x13\x03\x13\x03\x14\x03\x14\x03\x15\x03\x15\x03\x16\x03\x16\
		\x03\x17\x03\x17\x03\x18\x03\x18\x03\x19\x03\x19\x03\x1a\x03\x1a\x03\x1b\
		\x03\x1b\x03\x1c\x03\x1c\x03\x1d\x03\x1d\x03\x1e\x03\x1e\x03\x1f\x03\x1f\
		\x03\x20\x03\x20\x03\x21\x03\x21\x03\x22\x03\x22\x03\x23\x03\x23\x03\x24\
		\x03\x24\x03\x25\x03\x25\x03\x26\x05\x26\u{10e}\x0a\x26\x03\x26\x03\x26\
		\x03\x27\x03\x27\x02\x02\x28\x03\x03\x05\x04\x07\x05\x09\x06\x0b\x07\x0d\
		\x08\x0f\x09\x11\x0a\x13\x0b\x15\x0c\x17\x0d\x19\x0e\x1b\x02\x1d\x02\x1f\
		\x02\x21\x02\x23\x02\x25\x02\x27\x02\x29\x0f\x2b\x10\x2d\x11\x2f\x12\x31\
		\x13\x33\x14\x35\x15\x37\x16\x39\x17\x3b\x18\x3d\x19\x3f\x1a\x41\x1b\x43\
		\x1c\x45\x1d\x47\x1e\x49\x1f\x4b\x20\x4d\x21\x03\x02\x07\x04\x02\x2d\x2d\
		\x2f\x2f\x07\x02\x2f\x2f\x61\x61\u{b9}\u{b9}\u{302}\u{371}\u{2041}\u{2042}\
		\x16\x02\x26\x26\x43\x5c\x63\x7c\u{a4}\u{a7}\u{b2}\u{b2}\u{b4}\u{b5}\u{b7}\
		\u{b7}\u{bb}\u{bb}\u{be}\u{c0}\u{c2}\u{d8}\u{da}\u{f8}\u{fa}\u{301}\u{372}\
		\u{37f}\u{381}\u{2001}\u{200e}\u{200f}\u{2072}\u{2191}\u{2c02}\u{2ff1}\
		\u{3003}\u{10801}\u{f902}\u{fdd1}\u{fdf2}\u{ffff}\x05\x02\x32\x3b\x43\x48\
		\x63\x68\x03\x02\x32\x3b\x02\u{119}\x02\x03\x03\x02\x02\x02\x02\x05\x03\
		\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\x09\x03\x02\x02\x02\x02\x0b\x03\
		\x02\x02\x02\x02\x0d\x03\x02\x02\x02\x02\x0f\x03\x02\x02\x02\x02\x11\x03\
		\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\
		\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02\x29\x03\x02\x02\x02\x02\x2b\x03\
		\x02\x02\x02\x02\x2d\x03\x02\x02\x02\x02\x2f\x03\x02\x02\x02\x02\x31\x03\
		\x02\x02\x02\x02\x33\x03\x02\x02\x02\x02\x35\x03\x02\x02\x02\x02\x37\x03\
		\x02\x02\x02\x02\x39\x03\x02\x02\x02\x02\x3b\x03\x02\x02\x02\x02\x3d\x03\
		\x02\x02\x02\x02\x3f\x03\x02\x02\x02\x02\x41\x03\x02\x02\x02\x02\x43\x03\
		\x02\x02\x02\x02\x45\x03\x02\x02\x02\x02\x47\x03\x02\x02\x02\x02\x49\x03\
		\x02\x02\x02\x02\x4b\x03\x02\x02\x02\x02\x4d\x03\x02\x02\x02\x03\x4f\x03\
		\x02\x02\x02\x05\x54\x03\x02\x02\x02\x07\x5d\x03\x02\x02\x02\x09\x61\x03\
		\x02\x02\x02\x0b\x66\x03\x02\x02\x02\x0d\u{8b}\x03\x02\x02\x02\x0f\u{96}\
		\x03\x02\x02\x02\x11\u{9a}\x03\x02\x02\x02\x13\u{9e}\x03\x02\x02\x02\x15\
		\u{a3}\x03\x02\x02\x02\x17\u{a9}\x03\x02\x02\x02\x19\u{b2}\x03\x02\x02\
		\x02\x1b\u{ba}\x03\x02\x02\x02\x1d\u{d2}\x03\x02\x02\x02\x1f\u{d5}\x03\
		\x02\x02\x02\x21\u{e2}\x03\x02\x02\x02\x23\u{e4}\x03\x02\x02\x02\x25\u{e6}\
		\x03\x02\x02\x02\x27\u{e8}\x03\x02\x02\x02\x29\u{ea}\x03\x02\x02\x02\x2b\
		\u{ec}\x03\x02\x02\x02\x2d\u{ee}\x03\x02\x02\x02\x2f\u{f0}\x03\x02\x02\
		\x02\x31\u{f2}\x03\x02\x02\x02\x33\u{f4}\x03\x02\x02\x02\x35\u{f6}\x03\
		\x02\x02\x02\x37\u{f8}\x03\x02\x02\x02\x39\u{fa}\x03\x02\x02\x02\x3b\u{fc}\
		\x03\x02\x02\x02\x3d\u{fe}\x03\x02\x02\x02\x3f\u{100}\x03\x02\x02\x02\x41\
		\u{102}\x03\x02\x02\x02\x43\u{104}\x03\x02\x02\x02\x45\u{106}\x03\x02\x02\
		\x02\x47\u{108}\x03\x02\x02\x02\x49\u{10a}\x03\x02\x02\x02\x4b\u{10d}\x03\
		\x02\x02\x02\x4d\u{111}\x03\x02\x02\x02\x4f\x50\x07\x77\x02\x02\x50\x51\
		\x07\x77\x02\x02\x51\x52\x07\x6b\x02\x02\x52\x53\x07\x66\x02\x02\x53\x04\
		\x03\x02\x02\x02\x54\x55\x07\x6e\x02\x02\x55\x56\x07\x71\x02\x02\x56\x57\
		\x07\x65\x02\x02\x57\x58\x07\x63\x02\x02\x58\x59\x07\x76\x02\x02\x59\x5a\
		\x07\x6b\x02\x02\x5a\x5b\x07\x71\x02\x02\x5b\x5c\x07\x70\x02\x02\x5c\x06\
		\x03\x02\x02\x02\x5d\x5e\x07\x69\x02\x02\x5e\x5f\x07\x67\x02\x02\x5f\x60\
		\x07\x71\x02\x02\x60\x08\x03\x02\x02\x02\x61\x62\x07\x76\x02\x02\x62\x63\
		\x07\x63\x02\x02\x63\x64\x07\x69\x02\x02\x64\x65\x07\x75\x02\x02\x65\x0a\
		\x03\x02\x02\x02\x66\x67\x05\x25\x13\x02\x67\x68\x05\x25\x13\x02\x68\x69\
		\x05\x25\x13\x02\x69\x6a\x05\x25\x13\x02\x6a\x6b\x05\x25\x13\x02\x6b\x6c\
		\x05\x25\x13\x02\x6c\x6d\x05\x25\x13\x02\x6d\x6e\x05\x25\x13\x02\x6e\x6f\
		\x07\x2f\x02\x02\x6f\x70\x05\x25\x13\x02\x70\x71\x05\x25\x13\x02\x71\x72\
		\x05\x25\x13\x02\x72\x73\x05\x25\x13\x02\x73\x74\x07\x2f\x02\x02\x74\x75\
		\x05\x25\x13\x02\x75\x76\x05\x25\x13\x02\x76\x77\x05\x25\x13\x02\x77\x78\
		\x05\x25\x13\x02\x78\x79\x07\x2f\x02\x02\x79\x7a\x05\x25\x13\x02\x7a\x7b\
		\x05\x25\x13\x02\x7b\x7c\x05\x25\x13\x02\x7c\x7d\x05\x25\x13\x02\x7d\x7e\
		\x07\x2f\x02\x02\x7e\x7f\x05\x25\x13\x02\x7f\u{80}\x05\x25\x13\x02\u{80}\
		\u{81}\x05\x25\x13\x02\u{81}\u{82}\x05\x25\x13\x02\u{82}\u{83}\x05\x25\
		\x13\x02\u{83}\u{84}\x05\x25\x13\x02\u{84}\u{85}\x05\x25\x13\x02\u{85}\
		\u{86}\x05\x25\x13\x02\u{86}\u{87}\x05\x25\x13\x02\u{87}\u{88}\x05\x25\
		\x13\x02\u{88}\u{89}\x05\x25\x13\x02\u{89}\u{8a}\x05\x25\x13\x02\u{8a}\
		\x0c\x03\x02\x02\x02\u{8b}\u{8c}\x05\x27\x14\x02\u{8c}\u{8d}\x05\x27\x14\
		\x02\u{8d}\u{8e}\x05\x27\x14\x02\u{8e}\u{8f}\x05\x27\x14\x02\u{8f}\u{90}\
		\x07\x2f\x02\x02\u{90}\u{91}\x05\x27\x14\x02\u{91}\u{92}\x05\x27\x14\x02\
		\u{92}\u{93}\x07\x2f\x02\x02\u{93}\u{94}\x05\x27\x14\x02\u{94}\u{95}\x05\
		\x27\x14\x02\u{95}\x0e\x03\x02\x02\x02\u{96}\u{97}\x05\x0d\x07\x02\u{97}\
		\u{98}\x07\x56\x02\x02\u{98}\u{99}\x05\x1b\x0e\x02\u{99}\x10\x03\x02\x02\
		\x02\u{9a}\u{9b}\x05\x0f\x08\x02\u{9b}\u{9c}\x05\x1d\x0f\x02\u{9c}\x12\
		\x03\x02\x02\x02\u{9d}\u{9f}\x05\x27\x14\x02\u{9e}\u{9d}\x03\x02\x02\x02\
		\u{9f}\u{a0}\x03\x02\x02\x02\u{a0}\u{9e}\x03\x02\x02\x02\u{a0}\u{a1}\x03\
		\x02\x02\x02\u{a1}\x14\x03\x02\x02\x02\u{a2}\u{a4}\x07\x2f\x02\x02\u{a3}\
		\u{a2}\x03\x02\x02\x02\u{a3}\u{a4}\x03\x02\x02\x02\u{a4}\u{a7}\x03\x02\
		\x02\x02\u{a5}\u{a8}\x05\x13\x0a\x02\u{a6}\u{a8}\x05\x1f\x10\x02\u{a7}\
		\u{a5}\x03\x02\x02\x02\u{a7}\u{a6}\x03\x02\x02\x02\u{a8}\x16\x03\x02\x02\
		\x02\u{a9}\u{ad}\x05\x23\x12\x02\u{aa}\u{ac}\x05\x21\x11\x02\u{ab}\u{aa}\
		\x03\x02\x02\x02\u{ac}\u{af}\x03\x02\x02\x02\u{ad}\u{ab}\x03\x02\x02\x02\
		\u{ad}\u{ae}\x03\x02\x02\x02\u{ae}\x18\x03\x02\x02\x02\u{af}\u{ad}\x03\
		\x02\x02\x02\u{b0}\u{b3}\x05\x23\x12\x02\u{b1}\u{b3}\x05\x27\x14\x02\u{b2}\
		\u{b0}\x03\x02\x02\x02\u{b2}\u{b1}\x03\x02\x02\x02\u{b3}\u{b7}\x03\x02\
		\x02\x02\u{b4}\u{b6}\x05\x21\x11\x02\u{b5}\u{b4}\x03\x02\x02\x02\u{b6}\
		\u{b9}\x03\x02\x02\x02\u{b7}\u{b5}\x03\x02\x02\x02\u{b7}\u{b8}\x03\x02\
		\x02\x02\u{b8}\x1a\x03\x02\x02\x02\u{b9}\u{b7}\x03\x02\x02\x02\u{ba}\u{bb}\
		\x05\x27\x14\x02\u{bb}\u{bc}\x05\x27\x14\x02\u{bc}\u{bd}\x07\x3c\x02\x02\
		\u{bd}\u{be}\x05\x27\x14\x02\u{be}\u{bf}\x05\x27\x14\x02\u{bf}\u{c0}\x07\
		\x3c\x02\x02\u{c0}\u{c1}\x05\x27\x14\x02\u{c1}\u{c8}\x05\x27\x14\x02\u{c2}\
		\u{c4}\x07\x30\x02\x02\u{c3}\u{c5}\x05\x27\x14\x02\u{c4}\u{c3}\x03\x02\
		\x02\x02\u{c5}\u{c6}\x03\x02\x02\x02\u{c6}\u{c4}\x03\x02\x02\x02\u{c6}\
		\u{c7}\x03\x02\x02\x02\u{c7}\u{c9}\x03\x02\x02\x02\u{c8}\u{c2}\x03\x02\
		\x02\x02\u{c8}\u{c9}\x03\x02\x02\x02\u{c9}\x1c\x03\x02\x02\x02\u{ca}\u{d3}\
		\x07\x5c\x02\x02\u{cb}\u{cc}\x09\x02\x02\x02\u{cc}\u{cd}\x05\x27\x14\x02\
		\u{cd}\u{ce}\x05\x27\x14\x02\u{ce}\u{cf}\x07\x3c\x02\x02\u{cf}\u{d0}\x05\
		\x27\x14\x02\u{d0}\u{d1}\x05\x27\x14\x02\u{d1}\u{d3}\x03\x02\x02\x02\u{d2}\
		\u{ca}\x03\x02\x02\x02\u{d2}\u{cb}\x03\x02\x02\x02\u{d3}\x1e\x03\x02\x02\
		\x02\u{d4}\u{d6}\x05\x27\x14\x02\u{d5}\u{d4}\x03\x02\x02\x02\u{d6}\u{d7}\
		\x03\x02\x02\x02\u{d7}\u{d5}\x03\x02\x02\x02\u{d7}\u{d8}\x03\x02\x02\x02\
		\u{d8}\u{d9}\x03\x02\x02\x02\u{d9}\u{db}\x07\x30\x02\x02\u{da}\u{dc}\x05\
		\x27\x14\x02\u{db}\u{da}\x03\x02\x02\x02\u{dc}\u{dd}\x03\x02\x02\x02\u{dd}\
		\u{db}\x03\x02\x02\x02\u{dd}\u{de}\x03\x02\x02\x02\u{de}\x20\x03\x02\x02\
		\x02\u{df}\u{e3}\x05\x23\x12\x02\u{e0}\u{e3}\x05\x27\x14\x02\u{e1}\u{e3}\
		\x09\x03\x02\x02\u{e2}\u{df}\x03\x02\x02\x02\u{e2}\u{e0}\x03\x02\x02\x02\
		\u{e2}\u{e1}\x03\x02\x02\x02\u{e3}\x22\x03\x02\x02\x02\u{e4}\u{e5}\x09\
		\x04\x02\x02\u{e5}\x24\x03\x02\x02\x02\u{e6}\u{e7}\x09\x05\x02\x02\u{e7}\
		\x26\x03\x02\x02\x02\u{e8}\u{e9}\x09\x06\x02\x02\u{e9}\x28\x03\x02\x02\
		\x02\u{ea}\u{eb}\x07\x29\x02\x02\u{eb}\x2a\x03\x02\x02\x02\u{ec}\u{ed}\
		\x07\x2a\x02\x02\u{ed}\x2c\x03\x02\x02\x02\u{ee}\u{ef}\x07\x2b\x02\x02\
		\u{ef}\x2e\x03\x02\x02\x02\u{f0}\u{f1}\x07\x7d\x02\x02\u{f1}\x30\x03\x02\
		\x02\x02\u{f2}\u{f3}\x07\x7f\x02\x02\u{f3}\x32\x03\x02\x02\x02\u{f4}\u{f5}\
		\x07\x5d\x02\x02\u{f5}\x34\x03\x02\x02\x02\u{f6}\u{f7}\x07\x5f\x02\x02\
		\u{f7}\x36\x03\x02\x02\x02\u{f8}\u{f9}\x07\x3e\x02\x02\u{f9}\x38\x03\x02\
		\x02\x02\u{fa}\u{fb}\x07\x40\x02\x02\u{fb}\x3a\x03\x02\x02\x02\u{fc}\u{fd}\
		\x07\x25\x02\x02\u{fd}\x3c\x03\x02\x02\x02\u{fe}\u{ff}\x07\x42\x02\x02\
		\u{ff}\x3e\x03\x02\x02\x02\u{100}\u{101}\x07\x3f\x02\x02\u{101}\x40\x03\
		\x02\x02\x02\u{102}\u{103}\x07\x22\x02\x02\u{103}\x42\x03\x02\x02\x02\u{104}\
		\u{105}\x07\x0b\x02\x02\u{105}\x44\x03\x02\x02\x02\u{106}\u{107}\x07\x2e\
		\x02\x02\u{107}\x46\x03\x02\x02\x02\u{108}\u{109}\x07\x3d\x02\x02\u{109}\
		\x48\x03\x02\x02\x02\u{10a}\u{10b}\x07\x3c\x02\x02\u{10b}\x4a\x03\x02\x02\
		\x02\u{10c}\u{10e}\x07\x0f\x02\x02\u{10d}\u{10c}\x03\x02\x02\x02\u{10d}\
		\u{10e}\x03\x02\x02\x02\u{10e}\u{10f}\x03\x02\x02\x02\u{10f}\u{110}\x07\
		\x0c\x02\x02\u{110}\x4c\x03\x02\x02\x02\u{111}\u{112}\x0b\x02\x02\x02\u{112}\
		\x4e\x03\x02\x02\x02\x10\x02\u{a0}\u{a3}\u{a7}\u{ad}\u{b2}\u{b7}\u{c6}\
		\u{c8}\u{d2}\u{d7}\u{dd}\u{e2}\u{10d}\x02";