-
Notifications
You must be signed in to change notification settings - Fork 9
/
filtres.min.js
3 lines (3 loc) · 73.3 KB
/
filtres.min.js
1
2
3
!function(){function a(g,h){function i(a){Array.isArray(a)?a.forEach(i):l.push(a)}a.parser||(a.parser=b());var j,k=!0;try{j=a.parser.parse(g);var l=[];l.push(c),j.forEach(i),l.push(d)}catch(m){f&&console.log(m),k=!1}f&&console.log(g,j,l);try{return JSON.parse(l.join(""))}catch(m){f&&console.log(l,m),k=!1}if(h)return{query:{query_string:{query:g.replace(e,"")}}};throw f&&console.log("ERROR",l&&l.lenght?l.join(""):"Parse failed"),"Invalid Query"}function b(){function a(a,b){b=!0;var c=a.map(function(a){return"number"==typeof a?"$"+a:JSON.stringify(a)}).join(",");return b?"$$ = ["+c+"];":'$$ = ["(", '+c+', ")"];'}var b=require("jison"),c=(require("jison/bnf"),{lex:{rules:[["\\(",'return "(";'],["\\)",'return ")";'],["\\,",'return ",";'],["==",'return "==";'],["\\!=",'return "!=";'],[">=",'return ">=";'],["<=",'return "<=";'],["<",'return "<";'],[">",'return ">";'],["~=",'return "~=";'],["~!=",'return "~!=";'],["\\?",'return "?";'],["\\:",'return ":";'],["and[^\\w]",'return "and";'],["or[^\\w]",'return "or";'],["not[^\\w]",'return "not";'],["in[^\\w]",'return "in";'],["\\s+",""],["[0-9]+(?:\\.[0-9]+)?\\b",'return "NUMBER";'],["[a-zA-Z][\\.a-zA-Z0-9_]*",'return "SYMBOL";'],['"(?:[^"])*"','yytext = yytext.substr(1, yyleng-2); return "STRING";'],["$",'return "EOF";']]},operators:[["left","or"],["left","and"],["left","in"],["left","==","!="],["left","<","<=",">",">="],["left","~=","~!="],["left","not"],["left","UMINUS"]],bnf:{expressions:[["e EOF","return $1;"]],e:[["- e",a(["-",2]),{prec:"UMINUS"}],["e and e",a(['{"bool": { "must": [',1,", ",3,"]}}"])],["e or e",a(['{"bool": { "should": [',1,", ",3,"]}}"])],["not e",a(['{"bool": { "must_not": [',2,"]}}"])],["e == e",a(['{"term": {"',1,'": ',3,"}}"])],["e != e",a(['{"bool": { "must_not": { "term": {"',1,'": ',3,"}}}}"])],["e ~= STRING",a(['{"bool": { "must": { "regexp": {"',1,'": "',3,'"}}}}'])],["e ~!= STRING",a(['{"bool": { "must_not": { "regexp": {"',1,'": "',3,'"}}}}'])],["e < e",a(['{"range": {"',1,'": {"lt": ',3,"}}}"])],["e <= e",a(['{"range": {"',1,'": {"lte": ',3,"}}}"])],["e > e",a(['{"range": {"',1,'": {"gt": ',3,"}}}"])],["e >= e",a(['{"range": {"',1,'": {"gte": ',3,"}}}"])],["( e )",a([2])],["NUMBER",a([1])],["STRING",a(['"',1,'"'])],["SYMBOL",a([1])]]}});return new b.Parser(c)}var c='{"query" : {"filtered" : { "filter": [',d="]}}}",e=/\$|\.|\(|\)|\=|\~|\[|\]|\!|\<|\>|\'|\"|\+/g,f=!1,g={compile:a},h=this||{};"undefined"!=typeof module&&module.exports?module.exports=g:(h=window,h.filtres=g)}();var require=function(){var a=function(){var a={},b={},c=function(d){return a[d]||(a[d]={},b[d](c,a[d],{id:d})),a[d]};return c.def=function(a,c){b[a]=c.factory},c}();return a.def("jison",{factory:function(a,b){var c=a("jison/util/typal").typal,d=a("jison/util/set").Set,e=a("jison/lexer").RegExpLexer,f=b.Jison=b;f.print=function(){},f.Parser=function(){function g(a,b){if(a.forEach)a.forEach(b);else{var c;for(c in a)a.hasOwnProperty(c)&&b.call(a,a[c],c,a)}}function h(a){if(!a)return{};for(var b,c,d={},e=0;c=a[e];e++)for(b=1;b<c.length;b++)d[c[b]]={precedence:e+1,assoc:c[0]};return d}function i(a){var b={};return a.forEach(function(a,c){var d=0;for(var e in a)({}).hasOwnProperty.call(a,e)&&d++;1===d&&2===a[e][0]&&(b[c]=a[e])}),b}function j(a,b,c,d){var e={production:a,operator:b,r:c,s:d},f=2;return d[0]===f?(e.msg="Resolve R/R conflict (use first production declared in grammar.)",e.action=d[1]<c[1]?d:c,d[1]!==c[1]&&(e.bydefault=!0),e):(0!==a.precedence&&b?a.precedence<b.precedence?(e.msg="Resolve S/R conflict (shift for higher precedent operator.)",e.action=d):a.precedence===b.precedence?"right"===b.assoc?(e.msg="Resolve S/R conflict (shift for right associative operator.)",e.action=d):"left"===b.assoc?(e.msg="Resolve S/R conflict (reduce for left associative operator.)",e.action=c):"nonassoc"===b.assoc&&(e.msg="Resolve S/R conflict (no action for non-associative operator.)",e.action=v):(e.msg="Resolve conflict (reduce for higher precedent production.)",e.action=c):(e.msg="Resolve S/R conflict (shift by default.)",e.bydefault=!0,e.action=d),e)}function k(b){var c=String(b);try{var d=a("JSONSelect"),e=a("reflect"),f=e.parse(c),g=d.match(':has(:root > .label > .name:val("_handle_error"))',f);return g[0].body.consequent.body=[g[0].body.consequent.body[0],g[0].body.consequent.body[1]],e.stringify(f).replace(/_handle_error:\s?/,"").replace(/\\\\n/g,"\\n")}catch(h){return c}}function l(c){if(!c[1])throw new Error("Usage: "+c[0]+" FILE");var d;return d="undefined"!=typeof process?a("fs").readFileSync(a("path").resolve(c[1]),"utf8"):a("file").path(a("file").cwd()).join(c[1]).read({charset:"utf-8"}),b.parser.parse(d)}function m(a,b){var c=1==a[0]?"shift token (then go to state "+a[1]+")":2==a[0]?"reduce by rule: "+b.productions[a[1]]:"accept";return c}function n(a){this.trace(a)}var o=c.construct({constructor:function(a){this.symbol=a,this.productions=new d,this.first=[],this.follows=[],this.nullable=!1},toString:function(){var a=this.symbol+"\n";return a+=this.nullable?"nullable":"not nullable",a+="\nFirsts: "+this.first.join(", "),a+="\nFollows: "+this.first.join(", "),a+="\nProductions:\n "+this.productions.join("\n ")}}),p=c.construct({constructor:function(a,b,c){this.symbol=a,this.handle=b,this.nullable=!1,this.id=c,this.first=[],this.precedence=0},toString:function(){return this.symbol+" -> "+this.handle.join(" ")}}),q=c.beget();q.constructor=function(b,d){"string"==typeof b&&(b=a("jison/bnf").parse(b));var f=c.mix.call({},b.options,d);this.terms={},this.operators={},this.productions=[],this.conflicts=0,this.resolutions=[],this.options=f,this.yy={},b.actionInclude&&("function"==typeof b.actionInclude&&(b.actionInclude=String(b.actionInclude).replace(/^\s*function \(\) \{/,"").replace(/\}\s*$/,"")),this.actionInclude=b.actionInclude),this.moduleInclude=b.moduleInclude||"",this.DEBUG=f.debug||!1,this.DEBUG&&this.mix(r),this.processGrammar(b),b.lex&&(this.lexer=new e(b.lex,null,this.terminals_))},q.processGrammar=function(b){var c=b.bnf,d=b.tokens,e=this.nonterminals={},f=this.productions,g=this;!b.bnf&&b.ebnf&&(c=b.bnf=a("jison/ebnf").transform(b.ebnf)),d&&(d="string"==typeof d?d.trim().split(" "):d.slice(0));var i=this.symbols=[],j=this.operators=h(b.operators);this.buildProductions(b.bnf,f,e,i,j),d&&this.terminals.length!==d.length&&(g.trace("Warning: declared tokens differ from tokens found in rules."),g.trace(this.terminals),g.trace(d)),this.augmentGrammar(b)},q.augmentGrammar=function(a){if(this.startSymbol=a.start||a.startSymbol||this.productions[0].symbol,!this.nonterminals[this.startSymbol])throw new Error("Grammar error: startSymbol must be a non-terminal found in your grammar.");this.EOF="$end";var b=new p("$accept",[this.startSymbol,"$end"],0);this.productions.unshift(b),this.symbols.unshift("$accept",this.EOF),this.symbols_.$accept=0,this.symbols_[this.EOF]=1,this.terminals.unshift(this.EOF),this.nonterminals.$accept=new o("$accept"),this.nonterminals.$accept.productions.push(b),this.nonterminals[this.startSymbol].follows.push(this.EOF)},q.buildProductions=function(a,b,c,d,e){function f(a){a&&!n[a]&&(n[a]=++m,d.push(a))}function h(a){var d,g,h;if(a.constructor===Array){for(g="string"==typeof a[0]?a[0].trim().split(" "):a[0].slice(0),h=0;h<g.length;h++)"error"===g[h]&&(q=!0),n[g[h]]||f(g[h]);if("string"==typeof a[1]||3==a.length){var i="case "+(b.length+1)+":"+a[1]+"\nbreak;";if(i.match(/[$@][a-zA-Z][a-zA-Z0-9_]*/)){var m={},o={};for(h=0;h<g.length;h++)o[g[h]]?o[g[h]+ ++m[g[h]]]=h+1:(o[g[h]]=h+1,o[g[h]+"1"]=h+1,m[g[h]]=1);i=i.replace(/\$([a-zA-Z][a-zA-Z0-9_]*)/g,function(a,b){return o[b]?"$"+o[b]:b}).replace(/@([a-zA-Z][a-zA-Z0-9_]*)/g,function(a,b){return o[b]?"@"+o[b]:b})}i=i.replace(/([^'"])\$\$|^\$\$/g,"$1this.$").replace(/@[0$]/g,"this._$").replace(/\$(\d+)/g,function(a,b){return"$$[$0"+(b-g.length||"")+"]"}).replace(/@(\d+)/g,function(a,b){return"_$[$0"+(b-g.length||"")+"]"}),k.push(i),d=new p(j,g,b.length+1),a[2]&&e[a[2].prec]&&(d.precedence=e[a[2].prec].precedence)}else d=new p(j,g,b.length+1),e[a[1].prec]&&(d.precedence=e[a[1].prec].precedence)}else{for(g=a.trim().split(" "),h=0;h<g.length;h++)"error"===g[h]&&(q=!0),n[g[h]]||f(g[h]);d=new p(j,g,b.length+1)}if(0===d.precedence)for(h=d.handle.length-1;h>=0;h--)!(d.handle[h]in c)&&d.handle[h]in e&&(d.precedence=e[d.handle[h]].precedence);b.push(d),l.push([n[d.symbol],""===d.handle[0]?0:d.handle.length]),c[j].productions.push(d)}var i,j,k=[this.actionInclude||"","var $0 = $$.length - 1;","switch (yystate) {"],l=[0],m=1,n={},q=!1;f("error");for(j in a)a.hasOwnProperty(j)&&(f(j),c[j]=new o(j),i="string"==typeof a[j]?a[j].split(/\s*\|\s*/g):a[j].slice(0),i.forEach(h));var r=[],s={};g(n,function(a,b){c[b]||(r.push(b),s[a]=b)}),this.hasErrorRecovery=q,this.terminals=r,this.terminals_=s,this.symbols_=n,this.productions_=l,k.push("}"),this.performAction=Function("yytext,yyleng,yylineno,yy,yystate,$$,_$",k.join("\n"))},q.createParser=function(){throw new Error("Calling abstract method.")},q.trace=function(){},q.warn=function(){var a=Array.prototype.slice.call(arguments,0);console.warn("Jison Warning",a)},q.error=function(a){throw new Error(a)};var r={trace:function(){f.print.apply(null,arguments)},beforeprocessGrammar:function(){this.trace("Processing grammar.")},afteraugmentGrammar:function(){var a=this.trace;g(this.symbols,function(b,c){a(b+"("+c+")")})}},s={};s.computeLookaheads=function(){this.DEBUG&&this.mix(t),this.computeLookaheads=function(){},this.nullableSets(),this.firstSets(),this.followSets()},s.followSets=function(){for(var a=this.productions,b=this.nonterminals,c=this,e=!0;e;)e=!1,a.forEach(function(a){for(var f,g,h,i=!!c.go_,j=[],k=0;h=a.handle[k];++k)if(b[h]){i&&(f=c.go_(a.symbol,a.handle.slice(0,k)));var l=!i||f===parseInt(c.nterms_[h],10);if(k===a.handle.length+1&&l)j=b[a.symbol].follows;else{var m=a.handle.slice(k+1);j=c.first(m),c.nullable(m)&&l&&j.push.apply(j,b[a.symbol].follows)}g=b[h].follows.length,d.union(b[h].follows,j),g!==b[h].follows.length&&(e=!0)}})},s.first=function(a){if(""===a)return[];if(a instanceof Array){for(var b,c=[],e=0;(b=a[e])&&(this.nonterminals[b]?d.union(c,this.nonterminals[b].first):-1===c.indexOf(b)&&c.push(b),this.nullable(b));++e);return c}return this.nonterminals[a]?this.nonterminals[a].first:[a]},s.firstSets=function(){for(var a,b,c=this.productions,e=this.nonterminals,f=this,g=!0;g;){g=!1,c.forEach(function(a){var b=f.first(a.handle);b.length!==a.first.length&&(a.first=b,g=!0)});for(a in e)b=[],e[a].productions.forEach(function(a){d.union(b,a.first)}),b.length!==e[a].first.length&&(e[a].first=b,g=!0)}},s.nullableSets=function(){for(var a=(this.firsts={},this.nonterminals),b=this,c=!0;c;){c=!1,this.productions.forEach(function(a){if(!a.nullable){for(var d,e=0,f=0;d=a.handle[e];++e)b.nullable(d)&&f++;f===e&&(a.nullable=c=!0)}});for(var d in a)if(!this.nullable(d))for(var e,f=0;e=a[d].productions.item(f);f++)e.nullable&&(a[d].nullable=c=!0)}},s.nullable=function(a){if(""===a)return!0;if(a instanceof Array){for(var b,c=0;b=a[c];++c)if(!this.nullable(b))return!1;return!0}return this.nonterminals[a]?this.nonterminals[a].nullable:!1};var t={beforenullableSets:function(){this.trace("Computing Nullable sets.")},beforefirstSets:function(){this.trace("Computing First sets.")},beforefollowSets:function(){this.trace("Computing Follow sets.")},afterfollowSets:function(){var a=this.trace;g(this.nonterminals,function(b){a(b,"\n")})}},u={};u.buildTable=function(){this.DEBUG&&this.mix(w),this.states=this.canonicalCollection(),this.table=this.parseTable(this.states),this.defaultActions=i(this.table)},u.Item=c.construct({constructor:function(a,b,c,d){this.production=a,this.dotPosition=b||0,this.follows=c||[],this.predecessor=d,this.id=parseInt(a.id+"a"+this.dotPosition,36),this.markedSymbol=this.production.handle[this.dotPosition]},remainingHandle:function(){return this.production.handle.slice(this.dotPosition+1)},eq:function(a){return a.id===this.id},handleToString:function(){var a=this.production.handle.slice(0);return a[this.dotPosition]="."+(a[this.dotPosition]||""),a.join(" ")},toString:function(){var a=this.production.handle.slice(0);return a[this.dotPosition]="."+(a[this.dotPosition]||""),this.production.symbol+" -> "+a.join(" ")+(0===this.follows.length?"":" #lookaheads= "+this.follows.join(" "))}}),u.ItemSet=d.prototype.construct({afterconstructor:function(){this.reductions=[],this.goes={},this.edges={},this.shifts=!1,this.inadequate=!1,this.hash_={};for(var a=this._items.length-1;a>=0;a--)this.hash_[this._items[a].id]=!0},concat:function(a){for(var b=a._items||a,c=b.length-1;c>=0;c--)this.hash_[b[c].id]=!0;return this._items.push.apply(this._items,b),this},push:function(a){return this.hash_[a.id]=!0,this._items.push(a)},contains:function(a){return this.hash_[a.id]},valueOf:function(){var a=this._items.map(function(a){return a.id}).sort().join("|");return this.valueOf=function(){return a},a}}),u.closureOperation=function(a){var b,c=new this.ItemSet,e=this,f=a,g={};do b=new d,c.concat(f),f.forEach(function(a){var d=a.markedSymbol;d&&e.nonterminals[d]?g[d]||(e.nonterminals[d].productions.forEach(function(a){var d=new e.Item(a,0);c.contains(d)||b.push(d)}),g[d]=!0):d?(c.shifts=!0,c.inadequate=c.reductions.length>0):(c.reductions.push(a),c.inadequate=c.reductions.length>1||c.shifts)}),f=b;while(!b.isEmpty());return c},u.gotoOperation=function(a,b){var c=new this.ItemSet,d=this;return a.forEach(function(a,e){a.markedSymbol===b&&c.push(new d.Item(a.production,a.dotPosition+1,a.follows,e))}),c.isEmpty()?c:this.closureOperation(c)},u.canonicalCollection=function(){var a,b=new this.Item(this.productions[0],0,[this.EOF]),c=this.closureOperation(new this.ItemSet(b)),e=new d(c),f=0,g=this;for(e.has={},e.has[c]=0;f!==e.size();)a=e.item(f),f++,a.forEach(function(b){b.markedSymbol&&b.markedSymbol!==g.EOF&&g.canonicalCollectionInsert(b.markedSymbol,a,e,f-1)});return e},u.canonicalCollectionInsert=function(a,b,c,d){var e=this.gotoOperation(b,a);if(e.predecessors||(e.predecessors={}),!e.isEmpty()){var f=e.valueOf(),g=c.has[f];-1===g||"undefined"==typeof g?(c.has[f]=c.size(),b.edges[a]=c.size(),c.push(e),e.predecessors[a]=[d]):(b.edges[a]=g,c.item(g).predecessors[a].push(d))}};var v=0;u.parseTable=function(a){var b=0,c=[],d=this.nonterminals,e=this.operators,f={},h=this,i=1,k=2,l=3;return a.forEach(function(a,g){var n,o,p=c[g]={};for(o in a.edges)a.forEach(function(b){if(b.markedSymbol==o){var c=a.edges[o];p[h.symbols_[o]]=d[o]?c:[i,c]}});a.forEach(function(a){a.markedSymbol==h.EOF&&(p[h.symbols_[h.EOF]]=[l])});var q=h.lookAheads?!1:h.terminals;a.reductions.forEach(function(c){var d=q||h.lookAheads(a,c);d.forEach(function(a){n=p[h.symbols_[a]];var d=e[a];if(n||n&&n.length){var i=j(c.production,d,[k,c.production.id],n[0]instanceof Array?n[0]:n);h.resolutions.push([g,a,i]),i.bydefault?(h.conflicts++,h.DEBUG||(h.warn("Conflict in grammar: multiple actions possible when lookahead token is ",a," in state ",g,"\n- ",m(i.r,h),"\n- ",m(i.s,h)),f[g]=!0),h.options.noDefaultResolve&&(n[0]instanceof Array||(n=[n]),n.push(i.r))):n=i.action}else n=[k,c.production.id];n&&n.length?p[h.symbols_[a]]=n:n===b&&(p[h.symbols_[a]]=void 0)})})}),!h.DEBUG&&h.conflicts>0&&(h.warn("\nStates with conflicts:"),g(f,function(b,c){h.warn("State "+c),h.warn(" ",a.item(c).join("\n "))})),c},u.generate=function(a){a=c.mix.call({},this.options,a);var b="";switch(a.moduleName&&a.moduleName.match(/^[A-Za-z_$][A-Za-z0-9_$]*$/)||(a.moduleName="parser"),a.moduleType){case"js":b=this.generateModule(a);break;case"amd":b=this.generateAMDModule(a);break;default:b=this.generateCommonJSModule(a)}return b},u.generateAMDModule=function(a){a=c.mix.call({},this.options,a);var b="define([], function(){\nvar parser = "+this.generateModule_(a)+(this.lexer&&this.lexer.generateModule?"\n"+this.lexer.generateModule()+"\nparser.lexer = lexer;":"")+"\nreturn parser;\n});";return b},u.generateCommonJSModule=function(a){a=c.mix.call({},this.options,a);var b=a.moduleName||"parser",d=this.generateModule(a)+"\nif (typeof require !== 'undefined' && typeof exports !== 'undefined') {\nexports.parser = "+b+";\nexports.Parser = "+b+".Parser;\nexports.parse = function () { return "+b+".parse.apply("+b+", arguments); }\nexports.main = "+String(a.moduleMain||l)+"\nif (typeof module !== 'undefined' && require.main === module) {\n exports.main(typeof process !== 'undefined' ? process.argv.slice(1) : require(\"system\").args);\n}\n}";return d},u.generateModule=function(a){a=c.mix.call({},this.options,a);var b=a.moduleName||"parser",d="/* Jison generated parser */\n";return d+=(b.match(/\./)?b:"var "+b)+" = (function(){",d+="\nvar parser = "+this.generateModule_(),d+="\n"+this.moduleInclude,this.lexer&&this.lexer.generateModule&&(d+=this.lexer.generateModule(),d+="\nparser.lexer = lexer;"),d+="\nfunction Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser;\nreturn new Parser;\n})();"},u.generateModule_=function(){var a=(this.hasErrorRecovery?String:k)(x.parse),b="{";return b+=["trace: "+String(this.trace||x.trace),"yy: {}","symbols_: "+JSON.stringify(this.symbols_),"terminals_: "+JSON.stringify(this.terminals_).replace(/"([0-9]+)":/g,"$1:"),"productions_: "+JSON.stringify(this.productions_),"performAction: "+String(this.performAction),"table: "+JSON.stringify(this.table).replace(/"([0-9]+)":/g,"$1:"),"defaultActions: "+JSON.stringify(this.defaultActions).replace(/"([0-9]+)":/g,"$1:"),"parseError: "+String(this.parseError||(this.hasErrorRecovery?n:x.parseError)),"parse: "+a].join(",\n"),b+="};"};var w={beforeparseTable:function(){this.trace("Building parse table.")},afterparseTable:function(){var a=this;this.conflicts>0&&(this.resolutions.forEach(function(b){b[2].bydefault&&a.warn("Conflict at state: ",b[0],", token: ",b[1],"\n ",m(b[2].r,a),"\n ",m(b[2].s,a))}),this.trace("\n"+this.conflicts+" Conflict(s) found in grammar.")),this.trace("Done.")},aftercanonicalCollection:function(a){var b=this.trace;b("\nItem sets\n------"),a.forEach(function(a,c){b("\nitem set",c,"\n"+a.join("\n"),"\ntransitions -> ",JSON.stringify(a.edges))})}},x=c.beget();u.createParser=function(){var a=x.beget();a.yy={},a.init({table:this.table,defaultActions:this.defaultActions,productions_:this.productions_,symbols_:this.symbols_,terminals_:this.terminals_,performAction:this.performAction}),this.hasErrorRecovery&&(a.parseError=n,a.recover=!0),a.productions=this.productions,a.generate=this.generate,a.lexer=this.lexer,a.generateModule=this.generateModule,a.generateCommonJSModule=this.generateCommonJSModule,a.generateModule_=this.generateModule_;var b=this;return a.Parser=function(){return b.createParser()},a},x.trace=q.trace,x.warn=q.warn,x.error=q.error,x.parseError=u.parseError=function(a){throw new Error(a)},x.parse=function(a){function b(a){e.length=e.length-2*a,f.length=f.length-a,g.length=g.length-a}function c(){var a;return a=d.lexer.lex()||1,"number"!=typeof a&&(a=d.symbols_[a]||a),a}var d=this,e=[0],f=[null],g=[],h=this.table,i="",j=0,k=0,l=0,m=2,n=1;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var o=this.lexer.yylloc;g.push(o);var p=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var q,r,s,t,u,v,w,x,y,z={};;){if(s=e[e.length-1],this.defaultActions[s]?t=this.defaultActions[s]:((null===q||"undefined"==typeof q)&&(q=c()),t=h[s]&&h[s][q]),"undefined"==typeof t||!t.length||!t[0]){var A="";if(!l){y=[];for(v in h[s])this.terminals_[v]&&v>2&&y.push("'"+this.terminals_[v]+"'");A=this.lexer.showPosition?"Parse error on line "+(j+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+y.join(", ")+", got '"+(this.terminals_[q]||q)+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==q?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(A,{text:this.lexer.match,token:this.terminals_[q]||q,line:this.lexer.yylineno,loc:o,expected:y})}if(3==l){if(q==n)throw new Error(A||"Parsing halted.");k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,q=c()}for(;;){if(m.toString()in h[s])break;if(0===s)throw new Error(A||"Parsing halted.");b(1),s=e[e.length-1]}r=2==q?null:q,q=m,s=e[e.length-1],t=h[s]&&h[s][m],l=3}if(t[0]instanceof Array&&t.length>1)throw new Error("Parse Error: multiple actions possible at state: "+s+", token: "+q);switch(t[0]){case 1:e.push(q),f.push(this.lexer.yytext),g.push(this.lexer.yylloc),e.push(t[1]),q=null,r?(q=r,r=null):(k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,l>0&&l--);break;case 2:if(w=this.productions_[t[1]][1],z.$=f[f.length-w],z._$={first_line:g[g.length-(w||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(w||1)].first_column,last_column:g[g.length-1].last_column},p&&(z._$.range=[g[g.length-(w||1)].range[0],g[g.length-1].range[1]]),u=this.performAction.call(z,i,k,j,this.yy,t[1],f,g),"undefined"!=typeof u)return u;w&&(e=e.slice(0,-1*w*2),f=f.slice(0,-1*w),g=g.slice(0,-1*w)),e.push(this.productions_[t[1]][0]),f.push(z.$),g.push(z._$),x=h[e[e.length-2]][e[e.length-1]],e.push(x);break;case 3:return!0}}return!0},x.init=function(a){this.table=a.table,this.defaultActions=a.defaultActions,this.performAction=a.performAction,this.productions_=a.productions_,this.symbols_=a.symbols_,this.terminals_=a.terminals_};var y=q.beget(s,u,{type:"LR(0)",afterconstructor:function(){this.buildTable()}}),z=b.LR0Generator=y.construct(),A=q.beget(s,u,{type:"LALR(1)",afterconstructor:function(a,b){this.DEBUG&&this.mix(w,C),b=b||{},this.states=this.canonicalCollection(),this.terms_={};var d=this.newg=c.beget(s,{oldg:this,trace:this.trace,nterms_:{},DEBUG:!1,go_:function(a,b){return a=a.split(":")[0],b=b.map(function(a){return a.slice(a.indexOf(":")+1)}),this.oldg.go(a,b)}});d.nonterminals={},d.productions=[],this.inadequateStates=[],this.onDemandLookahead=b.onDemandLookahead||!1,this.buildNewGrammar(),d.computeLookaheads(),this.unionLookaheads(),this.table=this.parseTable(this.states),this.defaultActions=i(this.table)},lookAheads:function(a,b){return this.onDemandLookahead&&!a.inadequate?this.terminals:b.follows},go:function(a,b){for(var c=parseInt(a,10),d=0;d<b.length;d++)c=this.states.item(c).edges[b[d]]||c;return c},goPath:function(a,b){for(var c,d=parseInt(a,10),e=[],f=0;f<b.length;f++)c=b[f]?d+":"+b[f]:"",c&&(this.newg.nterms_[c]=d),e.push(c),d=this.states.item(d).edges[b[f]]||d,this.terms_[c]=b[f];return{path:e,endState:d}},buildNewGrammar:function(){var a=this,b=this.newg;this.states.forEach(function(c,d){c.forEach(function(c){if(0===c.dotPosition){var e=d+":"+c.production.symbol;a.terms_[e]=c.production.symbol,b.nterms_[e]=d,b.nonterminals[e]||(b.nonterminals[e]=new o(e));var f=a.goPath(d,c.production.handle),g=new p(e,f.path,b.productions.length);b.productions.push(g),b.nonterminals[e].productions.push(g);var h=c.production.handle.join(" "),i=a.states.item(f.endState).goes;i[h]||(i[h]=[]),i[h].push(e)}}),c.inadequate&&a.inadequateStates.push(d)})},unionLookaheads:function(){var a=this,b=this.newg,c=this.onDemandLookahead?this.inadequateStates:this.states;c.forEach(function(c){var d="number"==typeof c?a.states.item(c):c;d.reductions.length&&d.reductions.forEach(function(c){for(var e={},f=0;f<c.follows.length;f++)e[c.follows[f]]=!0;d.goes[c.production.handle.join(" ")].forEach(function(d){b.nonterminals[d].follows.forEach(function(b){var d=a.terms_[b];e[d]||(e[d]=!0,c.follows.push(d))})})})})}}),B=b.LALRGenerator=A.construct(),C={trace:function(){f.print.apply(null,arguments)},beforebuildNewGrammar:function(){this.trace(this.states.size()+" states."),this.trace("Building lookahead grammar.")},beforeunionLookaheads:function(){this.trace("Computing lookaheads.")}},D=q.beget(s,u,{afterconstructor:function(){this.computeLookaheads(),this.buildTable()}}),E=b.SLRGenerator=D.construct({type:"SLR(1)",lookAheads:function(a,b){return this.nonterminals[b.production.symbol].follows}}),F=D.beget({type:"Canonical LR(1)",lookAheads:function(a,b){return b.follows},Item:u.Item.prototype.construct({afterconstructor:function(){this.id=this.production.id+"a"+this.dotPosition+"a"+this.follows.sort().join(",")},eq:function(a){return a.id===this.id}}),closureOperation:function(a){var b,c=new this.ItemSet,e=this,f=a;do b=new d,c.concat(f),f.forEach(function(a){var d,f=a.markedSymbol;f&&e.nonterminals[f]?(d=e.first(a.remainingHandle()),(0===d.length||a.production.nullable)&&(d=d.concat(a.follows)),e.nonterminals[f].productions.forEach(function(a){var f=new e.Item(a,0,d);c.contains(f)||b.contains(f)||b.push(f)})):f||c.reductions.push(a)}),f=b;while(!b.isEmpty());return c}}),G=b.LR1Generator=F.construct(),H=q.beget(s,{type:"LL(1)",afterconstructor:function(){this.computeLookaheads(),this.table=this.parseTable(this.productions)},parseTable:function(a){var b={},c=this;return a.forEach(function(a,e){var f=b[a.symbol]||{},g=a.first;c.nullable(a.handle)&&d.union(g,c.nonterminals[a.symbol].follows),g.forEach(function(a){f[a]?(f[a].push(e),c.conflicts++):f[a]=[e]}),b[a.symbol]=f}),b}}),I=b.LLGenerator=H.construct();return f.Generator=function(a,b){var d=c.mix.call({},a.options,b);switch(d.type){case"lr0":return new z(a,d);case"slr":return new E(a,d);case"lr":return new G(a,d);case"ll":return new I(a,d);default:return new B(a,d)}},function(a,b){var d,e=c.mix.call({},a.options,b);switch(e.type){case"lr0":d=new z(a,e);break;case"slr":d=new E(a,e);break;case"lr":d=new G(a,e);break;case"ll":d=new I(a,e);break;default:d=new B(a,e)}return d.createParser()}}()},requires:["jison/util/typal","jison/util/set","jison/lexer","jison/bnf","jison/ebnf","JSONSelect","reflect","fs","path","file","file"]}),a.def("jison/lexer",{factory:function(a,b){var c=function(){function b(a,b,d,e,f,g){function h(a,b){return"return "+(e[b]||"'"+b+"'")}var i,j,k,l,m,n=[];for(b&&(b=c(b)),d.push("switch($avoiding_name_collisions) {"),j=0;j<a.length;j++){if("[object Array]"!==Object.prototype.toString.apply(a[j][0]))for(k in f)f[k].inclusive&&f[k].rules.push(j);else if("*"===a[j][0][0]){for(k in f)f[k].rules.push(j);a[j].shift()}else for(m=a[j].shift(),k=0;k<m.length;k++)f[m[k]].rules.push(j);if(i=a[j][0],"string"==typeof i){for(k in b)b.hasOwnProperty(k)&&(i=i.split("{"+k+"}").join("("+b[k]+")"));i=new RegExp("^(?:"+i+")",g?"i":"")}n.push(i),"function"==typeof a[j][1]&&(a[j][1]=String(a[j][1]).replace(/^\s*function \(\)\s?\{/,"").replace(/\}\s*$/,"")),l=a[j][1],e&&l.match(/return '[^']+'/)&&(l=l.replace(/return '([^']+)'/,h)),d.push("case "+j+":"+l+"\nbreak;")}return d.push("}"),n}function c(a){for(var b,c,d,e,f=!0;f;){f=!1;for(c in a)if(a.hasOwnProperty(c)){b=a[c];for(d in a)a.hasOwnProperty(d)&&c!==d&&(e=b.split("{"+d+"}").join("("+a[d]+")"),e!==b&&(f=!0,a[c]=e))}}return a}function d(a){var b,c={};for(b in a)a.hasOwnProperty(b)&&(c[b]={rules:[],inclusive:!a[b]});return c}function e(a,c){var d,e=[a.actionInclude||"","var YYSTATE=YY_START"],f={};for(d in c)f[c[d]]=d;a.options&&a.options.flex&&a.rules.push([".","console.log(yytext);"]),this.rules=b(a.rules,a.macros,e,c&&f,this.conditions,this.options["case-insensitive"]);var g=e.join("\n");return"yytext yyleng yylineno".split(" ").forEach(function(a){g=g.replace(new RegExp("("+a+")","g"),"yy_.$1")}),Function("yy,yy_,$avoiding_name_collisions,YY_START",g)}function f(b,c,f){"string"==typeof b&&(b=a("jison/jisonlex").parse(b)),b=b||{},this.options=b.options||{},this.conditions=d(b.startConditions),this.conditions.INITIAL={rules:[],inclusive:!0},this.performAction=e.call(this,b,f),this.conditionStack=["INITIAL"],this.moduleInclude=b.moduleInclude,this.yy={},c&&this.setInput(c)}return f.prototype={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;g<f.length&&(c=this._input.match(this.rules[f[g]]),!c||b&&!(c[0].length>b[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\r\n?|\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)},generate:function(a){var b="";return b=a.commonjs?this.generateCommonJSModule(a):this.generateModule(a)},generateModule:function(a){a=a||{};var b="/* Jison generated lexer */",c=a.moduleName||"lexer";b+="\nvar "+c+" = (function(){\nvar lexer = ({";var d=[];for(var e in f.prototype)f.prototype.hasOwnProperty(e)&&-1===e.indexOf("generate")&&d.push(e+":"+(f.prototype[e].toString()||'""'));return b+=d.join(",\n"),b+="})",this.options&&(b+=";\nlexer.options = "+JSON.stringify(this.options)),b+=";\nlexer.performAction = "+String(this.performAction),b+=";\nlexer.rules = ["+this.rules+"]",b+=";\nlexer.conditions = "+JSON.stringify(this.conditions),this.moduleInclude&&(b+=";\n"+this.moduleInclude),b+=";\nreturn lexer;})()"},generateCommonJSModule:function(a){a=a||{};var b="/* Jison generated lexer as commonjs module */",c=a.moduleName||"lexer";return b+=this.generateModule(a),b+="\nexports.lexer = "+c,b+=";\nexports.lex = function () { return "+c+".lex.apply(lexer, arguments); };"
}},f}();"undefined"!=typeof b&&(b.RegExpLexer=c)},requires:["jison/jisonlex"]}),a.def("jison/bnf",{factory:function(a,b){var c=a("jison/util/bnf-parser").parser,d=a("jison/jisonlex");b.parse=function(){return c.parse.apply(c,arguments)},c.yy.addDeclaration=function(a,b){b.start?a.start=b.start:b.lex?a.lex=e(b.lex):b.operator?(a.operators||(a.operators=[]),a.operators.push(b.operator)):b.include&&(a.moduleInclude||(a.moduleInclude=""),a.moduleInclude+=b.include)},c.yy.lexComment=function(a){var b=a.input();return"/"===b?void(a.yytext=a.yytext.replace(/\*(.|\s)\/\*/,"*$1")):(a.unput("/*"),void a.more())};var e=function(a){return d.parse(a.replace(/(?:^%lex)|(?:\/lex$)/g,""))}},requires:["jison/util/bnf-parser","jison/jisonlex"]}),a.def("jison/jisonlex",{factory:function(a,b){function c(a){return a.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1").replace(/\\\\u([a-fA-F0-9]{4})/g,"\\u$1")}var d=a("jison/util/lex-parser").parser,e=d.parse;d.parse=b.parse=function(){return d.yy.ruleSection=!1,e.apply(d,arguments)},d.yy={prepareString:function(a){return a=a.replace(/\\\\/g,"\\"),a=c(a)}}},requires:["jison/util/lex-parser"]}),a.def("jison/util/set",{factory:function(a,b){var c=a("jison/util/typal").typal,d={constructor:function(a,b){this._items=[],a&&a.constructor===Array?this._items=b?a:a.slice(0):arguments.length&&(this._items=[].slice.call(arguments,0))},concat:function(a){return this._items.push.apply(this._items,a._items||a),this},eq:function(a){return this._items.length===a._items.length&&this.subset(a)},indexOf:function(a){if(a&&a.eq){for(var b=0;b<this._items.length;b++)if(a.eq(this._items[b]))return b;return-1}return this._items.indexOf(a)},union:function(a){return new e(this._items).concat(this.complement(a))},intersection:function(a){return this.filter(function(b){return a.contains(b)})},complement:function(a){var b=this;return a.filter(function(a){return!b.contains(a)})},subset:function(a){for(var b=!0,c=0;c<this._items.length&&b;c++)b=b&&a.contains(this._items[c]);return b},superset:function(a){return a.subset(this)},joinSet:function(a){return this.concat(this.complement(a))},contains:function(a){return-1!==this.indexOf(a)},item:function(a){return this._items[a]},i:function(a){return this._items[a]},first:function(){return this._items[0]},last:function(){return this._items[this._items.length-1]},size:function(){return this._items.length},isEmpty:function(){return 0===this._items.length},copy:function(){return new e(this._items)},toString:function(){return this._items.toString()}};"push shift unshift forEach some every join sort".split(" ").forEach(function(a){d[a]=function(){return Array.prototype[a].apply(this._items,arguments)},d[a].name=a}),"filter slice map".split(" ").forEach(function(a){d[a]=function(){return new e(Array.prototype[a].apply(this._items,arguments),!0)},d[a].name=a});var e=c.construct(d).mix({union:function(a,b){for(var c={},d=a.length-1;d>=0;--d)c[a[d]]=!0;for(var e=b.length-1;e>=0;--e)c[b[e]]||a.push(b[e]);return a}});"undefined"!=typeof b&&(b.Set=e)},requires:["jison/util/typal"]}),a.def("jison/util/typal",{factory:function(a,b){var c=function(){function a(a,b){var c=a.match(d)[0],e=a.replace(d,""),f=this[e];"after"===c?this[e]=function(){var a=f.apply(this,arguments),c=[].slice.call(arguments);return c.splice(0,0,a),b.apply(this,c),a}:"before"===c&&(this[e]=function(){b.apply(this,arguments);var a=f.apply(this,arguments);return a})}function b(){for(var b,c,e=0;e<arguments.length;e++)if(b=arguments[e]){Object.prototype.hasOwnProperty.call(b,"constructor")&&(this.constructor=b.constructor),Object.prototype.hasOwnProperty.call(b,"toString")&&(this.toString=b.toString);for(c in b)Object.prototype.hasOwnProperty.call(b,c)&&(c.match(d)&&"function"==typeof this[c.replace(d,"")]?a.call(this,c,b[c]):this[c]=b[c])}return this}var c=Object.create||function(a){function b(){}return b.prototype=a,new b},d=/^(before|after)/;return{mix:b,beget:function(){return arguments.length?b.apply(c(this),arguments):c(this)},construct:function(){var a=b.apply(c(this),arguments),d=a.constructor,e=a.constructor=function(){return d.apply(this,arguments)};return e.prototype=a,e.mix=b,e},constructor:function(){return this}}}();"undefined"!=typeof b&&(b.typal=c)},requires:[]}),a.def("jison/util/bnf-parser",{factory:function(a,b,c){var d=function(){function a(){this.yy={}}var b={trace:function(){},yy:{},symbols_:{error:2,spec:3,declaration_list:4,"%%":5,grammar:6,optional_end_block:7,EOF:8,CODE:9,declaration:10,START:11,id:12,LEX_BLOCK:13,operator:14,ACTION:15,associativity:16,token_list:17,LEFT:18,RIGHT:19,NONASSOC:20,symbol:21,production_list:22,production:23,":":24,handle_list:25,";":26,"|":27,handle_action:28,handle:29,prec:30,action:31,expression_suffix:32,handle_sublist:33,expression:34,suffix:35,ID:36,STRING:37,"(":38,")":39,"*":40,"?":41,"+":42,PREC:43,"{":44,action_body:45,"}":46,ARROW_ACTION:47,ACTION_BODY:48,$accept:0,$end:1},terminals_:{2:"error",5:"%%",8:"EOF",9:"CODE",11:"START",13:"LEX_BLOCK",15:"ACTION",18:"LEFT",19:"RIGHT",20:"NONASSOC",24:":",26:";",27:"|",36:"ID",37:"STRING",38:"(",39:")",40:"*",41:"?",42:"+",43:"PREC",44:"{",46:"}",47:"ARROW_ACTION",48:"ACTION_BODY"},productions_:[0,[3,5],[3,6],[7,0],[7,1],[4,2],[4,0],[10,2],[10,1],[10,1],[10,1],[14,2],[16,1],[16,1],[16,1],[17,2],[17,1],[6,1],[22,2],[22,1],[23,4],[25,3],[25,1],[28,3],[29,2],[29,0],[33,3],[33,1],[32,2],[34,1],[34,1],[34,3],[35,0],[35,1],[35,1],[35,1],[30,2],[30,0],[21,1],[21,1],[12,1],[31,3],[31,1],[31,1],[31,0],[45,0],[45,1],[45,5],[45,4]],performAction:function(a,b,d,e,f,g){var h=g.length-1;switch(f){case 1:return this.$=g[h-4],this.$[c?"ebnf":"bnf"]=g[h-2],this.$;case 2:return this.$=g[h-5],this.$[c?"ebnf":"bnf"]=g[h-3],e.addDeclaration(this.$,{include:g[h-1]}),this.$;case 5:this.$=g[h-1],e.addDeclaration(this.$,g[h]);break;case 6:this.$={};break;case 7:this.$={start:g[h]};break;case 8:this.$={lex:g[h]};break;case 9:this.$={operator:g[h]};break;case 10:this.$={include:g[h]};break;case 11:this.$=[g[h-1]],this.$.push.apply(this.$,g[h]);break;case 12:this.$="left";break;case 13:this.$="right";break;case 14:this.$="nonassoc";break;case 15:this.$=g[h-1],this.$.push(g[h]);break;case 16:this.$=[g[h]];break;case 17:this.$=g[h];break;case 18:this.$=g[h-1],this.$[g[h][0]]=g[h][0]in this.$?this.$[g[h][0]].concat(g[h][1]):g[h][1];break;case 19:this.$={},this.$[g[h][0]]=g[h][1];break;case 20:this.$=[g[h-3],g[h-1]];break;case 21:this.$=g[h-2],this.$.push(g[h]);break;case 22:this.$=[g[h]];break;case 23:this.$=[g[h-2].length?g[h-2].join(" "):""],g[h]&&this.$.push(g[h]),g[h-1]&&this.$.push(g[h-1]),1===this.$.length&&(this.$=this.$[0]);break;case 24:this.$=g[h-1],this.$.push(g[h]);break;case 25:this.$=[];break;case 26:this.$=g[h-2],this.$.push(g[h].join(" "));break;case 27:this.$=[g[h].join(" ")];break;case 28:this.$=g[h-1]+g[h];break;case 29:this.$=g[h];break;case 30:this.$=c?"'"+g[h]+"'":g[h];break;case 31:this.$="("+g[h-1].join(" | ")+")";break;case 32:this.$="";break;case 36:this.$={prec:g[h]};break;case 37:this.$=null;break;case 38:this.$=g[h];break;case 39:this.$=a;break;case 40:this.$=a;break;case 41:this.$=g[h-1];break;case 42:this.$=g[h];break;case 43:this.$="$$ ="+g[h]+";";break;case 44:this.$="";break;case 45:this.$="";break;case 46:this.$=a;break;case 47:this.$=g[h-4]+g[h-3]+g[h-2]+g[h-1]+g[h];break;case 48:this.$=g[h-3]+g[h-2]+g[h-1]+g[h]}},table:[{3:1,4:2,5:[2,6],11:[2,6],13:[2,6],15:[2,6],18:[2,6],19:[2,6],20:[2,6]},{1:[3]},{5:[1,3],10:4,11:[1,5],13:[1,6],14:7,15:[1,8],16:9,18:[1,10],19:[1,11],20:[1,12]},{6:13,12:16,22:14,23:15,36:[1,17]},{5:[2,5],11:[2,5],13:[2,5],15:[2,5],18:[2,5],19:[2,5],20:[2,5]},{12:18,36:[1,17]},{5:[2,8],11:[2,8],13:[2,8],15:[2,8],18:[2,8],19:[2,8],20:[2,8]},{5:[2,9],11:[2,9],13:[2,9],15:[2,9],18:[2,9],19:[2,9],20:[2,9]},{5:[2,10],11:[2,10],13:[2,10],15:[2,10],18:[2,10],19:[2,10],20:[2,10]},{12:21,17:19,21:20,36:[1,17],37:[1,22]},{36:[2,12],37:[2,12]},{36:[2,13],37:[2,13]},{36:[2,14],37:[2,14]},{5:[1,24],7:23,8:[2,3]},{5:[2,17],8:[2,17],12:16,23:25,36:[1,17]},{5:[2,19],8:[2,19],36:[2,19]},{24:[1,26]},{5:[2,40],11:[2,40],13:[2,40],15:[2,40],18:[2,40],19:[2,40],20:[2,40],24:[2,40],26:[2,40],27:[2,40],36:[2,40],37:[2,40],44:[2,40],47:[2,40]},{5:[2,7],11:[2,7],13:[2,7],15:[2,7],18:[2,7],19:[2,7],20:[2,7]},{5:[2,11],11:[2,11],12:21,13:[2,11],15:[2,11],18:[2,11],19:[2,11],20:[2,11],21:27,36:[1,17],37:[1,22]},{5:[2,16],11:[2,16],13:[2,16],15:[2,16],18:[2,16],19:[2,16],20:[2,16],36:[2,16],37:[2,16]},{5:[2,38],11:[2,38],13:[2,38],15:[2,38],18:[2,38],19:[2,38],20:[2,38],26:[2,38],27:[2,38],36:[2,38],37:[2,38],44:[2,38],47:[2,38]},{5:[2,39],11:[2,39],13:[2,39],15:[2,39],18:[2,39],19:[2,39],20:[2,39],26:[2,39],27:[2,39],36:[2,39],37:[2,39],44:[2,39],47:[2,39]},{8:[1,28]},{8:[2,4],9:[1,29]},{5:[2,18],8:[2,18],36:[2,18]},{15:[2,25],25:30,26:[2,25],27:[2,25],28:31,29:32,36:[2,25],37:[2,25],38:[2,25],43:[2,25],44:[2,25],47:[2,25]},{5:[2,15],11:[2,15],13:[2,15],15:[2,15],18:[2,15],19:[2,15],20:[2,15],36:[2,15],37:[2,15]},{1:[2,1]},{8:[1,33]},{26:[1,34],27:[1,35]},{26:[2,22],27:[2,22]},{15:[2,37],26:[2,37],27:[2,37],30:36,32:37,34:39,36:[1,40],37:[1,41],38:[1,42],43:[1,38],44:[2,37],47:[2,37]},{1:[2,2]},{5:[2,20],8:[2,20],36:[2,20]},{15:[2,25],26:[2,25],27:[2,25],28:43,29:32,36:[2,25],37:[2,25],38:[2,25],43:[2,25],44:[2,25],47:[2,25]},{15:[1,46],26:[2,44],27:[2,44],31:44,44:[1,45],47:[1,47]},{15:[2,24],26:[2,24],27:[2,24],36:[2,24],37:[2,24],38:[2,24],39:[2,24],43:[2,24],44:[2,24],47:[2,24]},{12:21,21:48,36:[1,17],37:[1,22]},{15:[2,32],26:[2,32],27:[2,32],35:49,36:[2,32],37:[2,32],38:[2,32],39:[2,32],40:[1,50],41:[1,51],42:[1,52],43:[2,32],44:[2,32],47:[2,32]},{15:[2,29],26:[2,29],27:[2,29],36:[2,29],37:[2,29],38:[2,29],39:[2,29],40:[2,29],41:[2,29],42:[2,29],43:[2,29],44:[2,29],47:[2,29]},{15:[2,30],26:[2,30],27:[2,30],36:[2,30],37:[2,30],38:[2,30],39:[2,30],40:[2,30],41:[2,30],42:[2,30],43:[2,30],44:[2,30],47:[2,30]},{27:[2,25],29:54,33:53,36:[2,25],37:[2,25],38:[2,25],39:[2,25]},{26:[2,21],27:[2,21]},{26:[2,23],27:[2,23]},{44:[2,45],45:55,46:[2,45],48:[1,56]},{26:[2,42],27:[2,42]},{26:[2,43],27:[2,43]},{15:[2,36],26:[2,36],27:[2,36],44:[2,36],47:[2,36]},{15:[2,28],26:[2,28],27:[2,28],36:[2,28],37:[2,28],38:[2,28],39:[2,28],43:[2,28],44:[2,28],47:[2,28]},{15:[2,33],26:[2,33],27:[2,33],36:[2,33],37:[2,33],38:[2,33],39:[2,33],43:[2,33],44:[2,33],47:[2,33]},{15:[2,34],26:[2,34],27:[2,34],36:[2,34],37:[2,34],38:[2,34],39:[2,34],43:[2,34],44:[2,34],47:[2,34]},{15:[2,35],26:[2,35],27:[2,35],36:[2,35],37:[2,35],38:[2,35],39:[2,35],43:[2,35],44:[2,35],47:[2,35]},{27:[1,58],39:[1,57]},{27:[2,27],32:37,34:39,36:[1,40],37:[1,41],38:[1,42],39:[2,27]},{44:[1,60],46:[1,59]},{44:[2,46],46:[2,46]},{15:[2,31],26:[2,31],27:[2,31],36:[2,31],37:[2,31],38:[2,31],39:[2,31],40:[2,31],41:[2,31],42:[2,31],43:[2,31],44:[2,31],47:[2,31]},{27:[2,25],29:61,36:[2,25],37:[2,25],38:[2,25],39:[2,25]},{26:[2,41],27:[2,41]},{44:[2,45],45:62,46:[2,45],48:[1,56]},{27:[2,26],32:37,34:39,36:[1,40],37:[1,41],38:[1,42],39:[2,26]},{44:[1,60],46:[1,63]},{44:[2,48],46:[2,48],48:[1,64]},{44:[2,47],46:[2,47]}],defaultActions:{28:[2,1],33:[2,2]},parseError:function(a){throw new Error(a)},parse:function(a){function b(){var a;return a=c.lexer.lex()||1,"number"!=typeof a&&(a=c.symbols_[a]||a),a}var c=this,d=[0],e=[null],f=[],g=this.table,h="",i=0,j=0,k=0;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var l=this.lexer.yylloc;f.push(l);var m=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var n,o,p,q,r,s,t,u,v,w={};;){if(p=d[d.length-1],this.defaultActions[p]?q=this.defaultActions[p]:((null===n||"undefined"==typeof n)&&(n=b()),q=g[p]&&g[p][n]),"undefined"==typeof q||!q.length||!q[0]){var x="";if(!k){v=[];for(s in g[p])this.terminals_[s]&&s>2&&v.push("'"+this.terminals_[s]+"'");x=this.lexer.showPosition?"Parse error on line "+(i+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[n]||n)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==n?"end of input":"'"+(this.terminals_[n]||n)+"'"),this.parseError(x,{text:this.lexer.match,token:this.terminals_[n]||n,line:this.lexer.yylineno,loc:l,expected:v})}}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+n);switch(q[0]){case 1:d.push(n),e.push(this.lexer.yytext),f.push(this.lexer.yylloc),d.push(q[1]),n=null,o?(n=o,o=null):(j=this.lexer.yyleng,h=this.lexer.yytext,i=this.lexer.yylineno,l=this.lexer.yylloc,k>0&&k--);break;case 2:if(t=this.productions_[q[1]][1],w.$=e[e.length-t],w._$={first_line:f[f.length-(t||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(t||1)].first_column,last_column:f[f.length-1].last_column},m&&(w._$.range=[f[f.length-(t||1)].range[0],f[f.length-1].range[1]]),r=this.performAction.call(w,h,j,i,this.yy,q[1],e,f),"undefined"!=typeof r)return r;t&&(d=d.slice(0,-1*t*2),e=e.slice(0,-1*t),f=f.slice(0,-1*t)),d.push(this.productions_[q[1]][0]),e.push(w.$),f.push(w._$),u=g[d[d.length-2]][d[d.length-1]],d.push(u);break;case 3:return!0}}return!0}},c=!1,d=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;g<f.length&&(c=this._input.match(this.rules[f[g]]),!c||b&&!(c[0].length>b[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\r\n?|\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,d,e){switch(d){case 0:return this.begin("code"),5;case 1:return 38;case 2:return 39;case 3:return 40;case 4:return 41;case 5:return 42;case 6:break;case 7:break;case 8:return a.lexComment(this);case 9:return 36;case 10:return b.yytext=b.yytext.substr(1,b.yyleng-2),37;case 11:return b.yytext=b.yytext.substr(1,b.yyleng-2),37;case 12:return 24;case 13:return 26;case 14:return 27;case 15:return this.begin(c?"ebnf":"bnf"),5;case 16:a.options||(a.options={}),c=a.options.ebnf=!0;break;case 17:return 43;case 18:return 11;case 19:return 18;case 20:return 19;case 21:return 20;case 22:return 13;case 23:break;case 24:break;case 25:return b.yytext=b.yytext.substr(2,b.yyleng-4),15;case 26:return b.yytext=b.yytext.substr(2,b.yytext.length-4),15;case 27:return a.depth=0,this.begin("action"),44;case 28:return b.yytext=b.yytext.substr(2,b.yyleng-2),47;case 29:break;case 30:return 8;case 31:return 48;case 32:return a.depth++,44;case 33:return 0==a.depth?this.begin(c?"ebnf":"bnf"):a.depth--,46;case 34:return 9}},a.rules=[/^(?:%%)/,/^(?:\()/,/^(?:\))/,/^(?:\*)/,/^(?:\?)/,/^(?:\+)/,/^(?:\s+)/,/^(?:\/\/.*)/,/^(?:\/\*[^*]*\*)/,/^(?:[a-zA-Z][a-zA-Z0-9_-]*)/,/^(?:"[^"]+")/,/^(?:'[^']+')/,/^(?::)/,/^(?:;)/,/^(?:\|)/,/^(?:%%)/,/^(?:%ebnf\b)/,/^(?:%prec\b)/,/^(?:%start\b)/,/^(?:%left\b)/,/^(?:%right\b)/,/^(?:%nonassoc\b)/,/^(?:%lex[\w\W]*?\/lex\b)/,/^(?:%[a-zA-Z]+[^\n]*)/,/^(?:<[a-zA-Z]*>)/,/^(?:\{\{[\w\W]*?\}\})/,/^(?:%\{(.|\n)*?%\})/,/^(?:\{)/,/^(?:->.*)/,/^(?:.)/,/^(?:$)/,/^(?:[^{}]+)/,/^(?:\{)/,/^(?:\})/,/^(?:(.|\n)+)/],a.conditions={bnf:{rules:[0,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],inclusive:!0},ebnf:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],inclusive:!0},action:{rules:[30,31,32,33],inclusive:!1},code:{rules:[30,34],inclusive:!1},INITIAL:{rules:[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],inclusive:!0}},a}();return b.lexer=d,a.prototype=b,b.Parser=a,new a}();"undefined"!=typeof a&&"undefined"!=typeof b&&(b.parser=d,b.Parser=d.Parser,b.parse=function(){return d.parse.apply(d,arguments)},b.main=function(c){if(!c[1])throw new Error("Usage: "+c[0]+" FILE");var d;return d="undefined"!=typeof process?a("fs").readFileSync(a("path").resolve(c[1]),"utf8"):a("file").path(a("file").cwd()).join(c[1]).read({charset:"utf-8"}),b.parser.parse(d)},"undefined"!=typeof c&&a.main===c&&b.main("undefined"!=typeof process?process.argv.slice(1):a("system").args))},requires:["fs","path","file","file","system"]}),a.def("jison/util/lex-parser",{factory:function(a,b,c){var d=function(){function a(){this.yy={}}var b={trace:function(){},yy:{},symbols_:{error:2,lex:3,definitions:4,"%%":5,rules:6,epilogue:7,EOF:8,CODE:9,definition:10,ACTION:11,NAME:12,regex:13,START_INC:14,names_inclusive:15,START_EXC:16,names_exclusive:17,START_COND:18,rule:19,start_conditions:20,action:21,"{":22,action_body:23,"}":24,ACTION_BODY:25,"<":26,name_list:27,">":28,"*":29,",":30,regex_list:31,"|":32,regex_concat:33,regex_base:34,"(":35,")":36,SPECIAL_GROUP:37,"+":38,"?":39,"/":40,"/!":41,name_expansion:42,range_regex:43,any_group_regex:44,".":45,"^":46,$:47,string:48,escape_char:49,NAME_BRACE:50,ANY_GROUP_REGEX:51,ESCAPE_CHAR:52,RANGE_REGEX:53,STRING_LIT:54,CHARACTER_LIT:55,$accept:0,$end:1},terminals_:{2:"error",5:"%%",8:"EOF",9:"CODE",11:"ACTION",12:"NAME",14:"START_INC",16:"START_EXC",18:"START_COND",22:"{",24:"}",25:"ACTION_BODY",26:"<",28:">",29:"*",30:",",32:"|",35:"(",36:")",37:"SPECIAL_GROUP",38:"+",39:"?",40:"/",41:"/!",45:".",46:"^",47:"$",50:"NAME_BRACE",51:"ANY_GROUP_REGEX",52:"ESCAPE_CHAR",53:"RANGE_REGEX",54:"STRING_LIT",55:"CHARACTER_LIT"},productions_:[0,[3,4],[7,1],[7,2],[7,3],[4,2],[4,2],[4,0],[10,2],[10,2],[10,2],[15,1],[15,2],[17,1],[17,2],[6,2],[6,1],[19,3],[21,3],[21,1],[23,0],[23,1],[23,5],[23,4],[20,3],[20,3],[20,0],[27,1],[27,3],[13,1],[31,3],[31,2],[31,1],[31,0],[33,2],[33,1],[34,3],[34,3],[34,2],[34,2],[34,2],[34,2],[34,2],[34,1],[34,2],[34,1],[34,1],[34,1],[34,1],[34,1],[34,1],[42,1],[44,1],[49,1],[43,1],[48,1],[48,1]],performAction:function(a,b,c,d,e,f){var g=f.length-1;switch(e){case 1:return this.$={rules:f[g-1]},f[g-3][0]&&(this.$.macros=f[g-3][0]),f[g-3][1]&&(this.$.startConditions=f[g-3][1]),f[g]&&(this.$.moduleInclude=f[g]),d.options&&(this.$.options=d.options),d.actionInclude&&(this.$.actionInclude=d.actionInclude),delete d.options,delete d.actionInclude,this.$;case 2:this.$=null;break;case 3:this.$=null;break;case 4:this.$=f[g-1];break;case 5:if(this.$=f[g],"length"in f[g-1])this.$[0]=this.$[0]||{},this.$[0][f[g-1][0]]=f[g-1][1];else{this.$[1]=this.$[1]||{};for(var h in f[g-1])this.$[1][h]=f[g-1][h]}break;case 6:d.actionInclude+=f[g-1],this.$=f[g];break;case 7:d.actionInclude="",this.$=[null,null];break;case 8:this.$=[f[g-1],f[g]];break;case 9:this.$=f[g];break;case 10:this.$=f[g];break;case 11:this.$={},this.$[f[g]]=0;break;case 12:this.$=f[g-1],this.$[f[g]]=0;break;case 13:this.$={},this.$[f[g]]=1;break;case 14:this.$=f[g-1],this.$[f[g]]=1;break;case 15:this.$=f[g-1],this.$.push(f[g]);break;case 16:this.$=[f[g]];break;case 17:this.$=f[g-2]?[f[g-2],f[g-1],f[g]]:[f[g-1],f[g]];break;case 18:this.$=f[g-1];break;case 19:this.$=f[g];break;case 20:this.$="";break;case 21:this.$=a;break;case 22:this.$=f[g-4]+f[g-3]+f[g-2]+f[g-1]+f[g];break;case 23:this.$=f[g-3]+f[g-2]+f[g-1]+f[g];break;case 24:this.$=f[g-1];break;case 25:this.$=["*"];break;case 27:this.$=[f[g]];break;case 28:this.$=f[g-2],this.$.push(f[g]);break;case 29:this.$=f[g],d.options&&d.options.flex||!this.$.match(/[\w\d]$/)||this.$.match(/\\(b|c[A-Z]|x[0-9A-F]{2}|u[a-fA-F0-9]{4}|[0-7]{1,3})$/)||(this.$+="\\b");break;case 30:this.$=f[g-2]+"|"+f[g];break;case 31:this.$=f[g-1]+"|";break;case 33:this.$="";break;case 34:this.$=f[g-1]+f[g];break;case 36:this.$="("+f[g-1]+")";break;case 37:this.$=f[g-2]+f[g-1]+")";break;case 38:this.$=f[g-1]+"+";break;case 39:this.$=f[g-1]+"*";break;case 40:this.$=f[g-1]+"?";break;case 41:this.$="(?="+f[g]+")";break;case 42:this.$="(?!"+f[g]+")";break;case 44:this.$=f[g-1]+f[g];break;case 46:this.$=".";break;case 47:this.$="^";break;case 48:this.$="$";break;case 52:this.$=a;break;case 53:this.$=a;break;case 54:this.$=a;break;case 55:this.$=d.prepareString(a.substr(1,a.length-2))}},table:[{3:1,4:2,5:[2,7],10:3,11:[1,4],12:[1,5],14:[1,6],16:[1,7]},{1:[3]},{5:[1,8]},{4:9,5:[2,7],10:3,11:[1,4],12:[1,5],14:[1,6],16:[1,7]},{4:10,5:[2,7],10:3,11:[1,4],12:[1,5],14:[1,6],16:[1,7]},{5:[2,33],11:[2,33],12:[2,33],13:11,14:[2,33],16:[2,33],31:12,32:[2,33],33:13,34:14,35:[1,15],37:[1,16],40:[1,17],41:[1,18],42:19,44:20,45:[1,21],46:[1,22],47:[1,23],48:24,49:25,50:[1,26],51:[1,27],52:[1,30],54:[1,28],55:[1,29]},{15:31,18:[1,32]},{17:33,18:[1,34]},{6:35,11:[2,26],19:36,20:37,22:[2,26],26:[1,38],32:[2,26],35:[2,26],37:[2,26],40:[2,26],41:[2,26],45:[2,26],46:[2,26],47:[2,26],50:[2,26],51:[2,26],52:[2,26],54:[2,26],55:[2,26]},{5:[2,5]},{5:[2,6]},{5:[2,8],11:[2,8],12:[2,8],14:[2,8],16:[2,8]},{5:[2,29],11:[2,29],12:[2,29],14:[2,29],16:[2,29],22:[2,29],32:[1,39]},{5:[2,32],11:[2,32],12:[2,32],14:[2,32],16:[2,32],22:[2,32],32:[2,32],34:40,35:[1,15],36:[2,32],37:[1,16],40:[1,17],41:[1,18],42:19,44:20,45:[1,21],46:[1,22],47:[1,23],48:24,49:25,50:[1,26],51:[1,27],52:[1,30],54:[1,28],55:[1,29]},{5:[2,35],11:[2,35],12:[2,35],14:[2,35],16:[2,35],22:[2,35],29:[1,42],32:[2,35],35:[2,35],36:[2,35],37:[2,35],38:[1,41],39:[1,43],40:[2,35],41:[2,35],43:44,45:[2,35],46:[2,35],47:[2,35],50:[2,35],51:[2,35],52:[2,35],53:[1,45],54:[2,35],55:[2,35]},{31:46,32:[2,33],33:13,34:14,35:[1,15],36:[2,33],37:[1,16],40:[1,17],41:[1,18],42:19,44:20,45:[1,21],46:[1,22],47:[1,23],48:24,49:25,50:[1,26],51:[1,27],52:[1,30],54:[1,28],55:[1,29]},{31:47,32:[2,33],33:13,34:14,35:[1,15],36:[2,33],37:[1,16],40:[1,17],41:[1,18],42:19,44:20,45:[1,21],46:[1,22],47:[1,23],48:24,49:25,50:[1,26],51:[1,27],52:[1,30],54:[1,28],55:[1,29]},{34:48,35:[1,15],37:[1,16],40:[1,17],41:[1,18],42:19,44:20,45:[1,21],46:[1,22],47:[1,23],48:24,49:25,50:[1,26],51:[1,27],52:[1,30],54:[1,28],55:[1,29]},{34:49,35:[1,15],37:[1,16],40:[1,17],41:[1,18],42:19,44:20,45:[1,21],46:[1,22],47:[1,23],48:24,49:25,50:[1,26],51:[1,27],52:[1,30],54:[1,28],55:[1,29]},{5:[2,43],11:[2,43],12:[2,43],14:[2,43],16:[2,43],22:[2,43],29:[2,43],32:[2,43],35:[2,43],36:[2,43],37:[2,43],38:[2,43],39:[2,43],40:[2,43],41:[2,43],45:[2,43],46:[2,43],47:[2,43],50:[2,43],51:[2,43],52:[2,43],53:[2,43],54:[2,43],55:[2,43]},{5:[2,45],11:[2,45],12:[2,45],14:[2,45],16:[2,45],22:[2,45],29:[2,45],32:[2,45],35:[2,45],36:[2,45],37:[2,45],38:[2,45],39:[2,45],40:[2,45],41:[2,45],45:[2,45],46:[2,45],47:[2,45],50:[2,45],51:[2,45],52:[2,45],53:[2,45],54:[2,45],55:[2,45]},{5:[2,46],11:[2,46],12:[2,46],14:[2,46],16:[2,46],22:[2,46],29:[2,46],32:[2,46],35:[2,46],36:[2,46],37:[2,46],38:[2,46],39:[2,46],40:[2,46],41:[2,46],45:[2,46],46:[2,46],47:[2,46],50:[2,46],51:[2,46],52:[2,46],53:[2,46],54:[2,46],55:[2,46]},{5:[2,47],11:[2,47],12:[2,47],14:[2,47],16:[2,47],22:[2,47],29:[2,47],32:[2,47],35:[2,47],36:[2,47],37:[2,47],38:[2,47],39:[2,47],40:[2,47],41:[2,47],45:[2,47],46:[2,47],47:[2,47],50:[2,47],51:[2,47],52:[2,47],53:[2,47],54:[2,47],55:[2,47]},{5:[2,48],11:[2,48],12:[2,48],14:[2,48],16:[2,48],22:[2,48],29:[2,48],32:[2,48],35:[2,48],36:[2,48],37:[2,48],38:[2,48],39:[2,48],40:[2,48],41:[2,48],45:[2,48],46:[2,48],47:[2,48],50:[2,48],51:[2,48],52:[2,48],53:[2,48],54:[2,48],55:[2,48]},{5:[2,49],11:[2,49],12:[2,49],14:[2,49],16:[2,49],22:[2,49],29:[2,49],32:[2,49],35:[2,49],36:[2,49],37:[2,49],38:[2,49],39:[2,49],40:[2,49],41:[2,49],45:[2,49],46:[2,49],47:[2,49],50:[2,49],51:[2,49],52:[2,49],53:[2,49],54:[2,49],55:[2,49]},{5:[2,50],11:[2,50],12:[2,50],14:[2,50],16:[2,50],22:[2,50],29:[2,50],32:[2,50],35:[2,50],36:[2,50],37:[2,50],38:[2,50],39:[2,50],40:[2,50],41:[2,50],45:[2,50],46:[2,50],47:[2,50],50:[2,50],51:[2,50],52:[2,50],53:[2,50],54:[2,50],55:[2,50]},{5:[2,51],11:[2,51],12:[2,51],14:[2,51],16:[2,51],22:[2,51],29:[2,51],32:[2,51],35:[2,51],36:[2,51],37:[2,51],38:[2,51],39:[2,51],40:[2,51],41:[2,51],45:[2,51],46:[2,51],47:[2,51],50:[2,51],51:[2,51],52:[2,51],53:[2,51],54:[2,51],55:[2,51]},{5:[2,52],11:[2,52],12:[2,52],14:[2,52],16:[2,52],22:[2,52],29:[2,52],32:[2,52],35:[2,52],36:[2,52],37:[2,52],38:[2,52],39:[2,52],40:[2,52],41:[2,52],45:[2,52],46:[2,52],47:[2,52],50:[2,52],51:[2,52],52:[2,52],53:[2,52],54:[2,52],55:[2,52]},{5:[2,55],11:[2,55],12:[2,55],14:[2,55],16:[2,55],22:[2,55],29:[2,55],32:[2,55],35:[2,55],36:[2,55],37:[2,55],38:[2,55],39:[2,55],40:[2,55],41:[2,55],45:[2,55],46:[2,55],47:[2,55],50:[2,55],51:[2,55],52:[2,55],53:[2,55],54:[2,55],55:[2,55]},{5:[2,56],11:[2,56],12:[2,56],14:[2,56],16:[2,56],22:[2,56],29:[2,56],32:[2,56],35:[2,56],36:[2,56],37:[2,56],38:[2,56],39:[2,56],40:[2,56],41:[2,56],45:[2,56],46:[2,56],47:[2,56],50:[2,56],51:[2,56],52:[2,56],53:[2,56],54:[2,56],55:[2,56]},{5:[2,53],11:[2,53],12:[2,53],14:[2,53],16:[2,53],22:[2,53],29:[2,53],32:[2,53],35:[2,53],36:[2,53],37:[2,53],38:[2,53],39:[2,53],40:[2,53],41:[2,53],45:[2,53],46:[2,53],47:[2,53],50:[2,53],51:[2,53],52:[2,53],53:[2,53],54:[2,53],55:[2,53]},{5:[2,9],11:[2,9],12:[2,9],14:[2,9],16:[2,9],18:[1,50]},{5:[2,11],11:[2,11],12:[2,11],14:[2,11],16:[2,11],18:[2,11]},{5:[2,10],11:[2,10],12:[2,10],14:[2,10],16:[2,10],18:[1,51]},{5:[2,13],11:[2,13],12:[2,13],14:[2,13],16:[2,13],18:[2,13]},{5:[1,55],7:52,8:[1,54],11:[2,26],19:53,20:37,22:[2,26],26:[1,38],32:[2,26],35:[2,26],37:[2,26],40:[2,26],41:[2,26],45:[2,26],46:[2,26],47:[2,26],50:[2,26],51:[2,26],52:[2,26],54:[2,26],55:[2,26]},{5:[2,16],8:[2,16],11:[2,16],22:[2,16],26:[2,16],32:[2,16],35:[2,16],37:[2,16],40:[2,16],41:[2,16],45:[2,16],46:[2,16],47:[2,16],50:[2,16],51:[2,16],52:[2,16],54:[2,16],55:[2,16]},{11:[2,33],13:56,22:[2,33],31:12,32:[2,33],33:13,34:14,35:[1,15],37:[1,16],40:[1,17],41:[1,18],42:19,44:20,45:[1,21],46:[1,22],47:[1,23],48:24,49:25,50:[1,26],51:[1,27],52:[1,30],54:[1,28],55:[1,29]},{12:[1,59],27:57,29:[1,58]},{5:[2,31],11:[2,31],12:[2,31],14:[2,31],16:[2,31],22:[2,31],32:[2,31],33:60,34:14,35:[1,15],36:[2,31],37:[1,16],40:[1,17],41:[1,18],42:19,44:20,45:[1,21],46:[1,22],47:[1,23],48:24,49:25,50:[1,26],51:[1,27],52:[1,30],54:[1,28],55:[1,29]},{5:[2,34],11:[2,34],12:[2,34],14:[2,34],16:[2,34],22:[2,34],29:[1,42],32:[2,34],35:[2,34],36:[2,34],37:[2,34],38:[1,41],39:[1,43],40:[2,34],41:[2,34],43:44,45:[2,34],46:[2,34],47:[2,34],50:[2,34],51:[2,34],52:[2,34],53:[1,45],54:[2,34],55:[2,34]},{5:[2,38],11:[2,38],12:[2,38],14:[2,38],16:[2,38],22:[2,38],29:[2,38],32:[2,38],35:[2,38],36:[2,38],37:[2,38],38:[2,38],39:[2,38],40:[2,38],41:[2,38],45:[2,38],46:[2,38],47:[2,38],50:[2,38],51:[2,38],52:[2,38],53:[2,38],54:[2,38],55:[2,38]},{5:[2,39],11:[2,39],12:[2,39],14:[2,39],16:[2,39],22:[2,39],29:[2,39],32:[2,39],35:[2,39],36:[2,39],37:[2,39],38:[2,39],39:[2,39],40:[2,39],41:[2,39],45:[2,39],46:[2,39],47:[2,39],50:[2,39],51:[2,39],52:[2,39],53:[2,39],54:[2,39],55:[2,39]},{5:[2,40],11:[2,40],12:[2,40],14:[2,40],16:[2,40],22:[2,40],29:[2,40],32:[2,40],35:[2,40],36:[2,40],37:[2,40],38:[2,40],39:[2,40],40:[2,40],41:[2,40],45:[2,40],46:[2,40],47:[2,40],50:[2,40],51:[2,40],52:[2,40],53:[2,40],54:[2,40],55:[2,40]},{5:[2,44],11:[2,44],12:[2,44],14:[2,44],16:[2,44],22:[2,44],29:[2,44],32:[2,44],35:[2,44],36:[2,44],37:[2,44],38:[2,44],39:[2,44],40:[2,44],41:[2,44],45:[2,44],46:[2,44],47:[2,44],50:[2,44],51:[2,44],52:[2,44],53:[2,44],54:[2,44],55:[2,44]},{5:[2,54],11:[2,54],12:[2,54],14:[2,54],16:[2,54],22:[2,54],29:[2,54],32:[2,54],35:[2,54],36:[2,54],37:[2,54],38:[2,54],39:[2,54],40:[2,54],41:[2,54],45:[2,54],46:[2,54],47:[2,54],50:[2,54],51:[2,54],52:[2,54],53:[2,54],54:[2,54],55:[2,54]},{32:[1,39],36:[1,61]},{32:[1,39],36:[1,62]},{5:[2,41],11:[2,41],12:[2,41],14:[2,41],16:[2,41],22:[2,41],29:[1,42],32:[2,41],35:[2,41],36:[2,41],37:[2,41],38:[1,41],39:[1,43],40:[2,41],41:[2,41],43:44,45:[2,41],46:[2,41],47:[2,41],50:[2,41],51:[2,41],52:[2,41],53:[1,45],54:[2,41],55:[2,41]},{5:[2,42],11:[2,42],12:[2,42],14:[2,42],16:[2,42],22:[2,42],29:[1,42],32:[2,42],35:[2,42],36:[2,42],37:[2,42],38:[1,41],39:[1,43],40:[2,42],41:[2,42],43:44,45:[2,42],46:[2,42],47:[2,42],50:[2,42],51:[2,42],52:[2,42],53:[1,45],54:[2,42],55:[2,42]},{5:[2,12],11:[2,12],12:[2,12],14:[2,12],16:[2,12],18:[2,12]},{5:[2,14],11:[2,14],12:[2,14],14:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{5:[2,15],8:[2,15],11:[2,15],22:[2,15],26:[2,15],32:[2,15],35:[2,15],37:[2,15],40:[2,15],41:[2,15],45:[2,15],46:[2,15],47:[2,15],50:[2,15],51:[2,15],52:[2,15],54:[2,15],55:[2,15]},{1:[2,2]},{8:[1,63],9:[1,64]},{11:[1,67],21:65,22:[1,66]},{28:[1,68],30:[1,69]},{28:[1,70]},{28:[2,27],30:[2,27]},{5:[2,30],11:[2,30],12:[2,30],14:[2,30],16:[2,30],22:[2,30],32:[2,30],34:40,35:[1,15],36:[2,30],37:[1,16],40:[1,17],41:[1,18],42:19,44:20,45:[1,21],46:[1,22],47:[1,23],48:24,49:25,50:[1,26],51:[1,27],52:[1,30],54:[1,28],55:[1,29]},{5:[2,36],11:[2,36],12:[2,36],14:[2,36],16:[2,36],22:[2,36],29:[2,36],32:[2,36],35:[2,36],36:[2,36],37:[2,36],38:[2,36],39:[2,36],40:[2,36],41:[2,36],45:[2,36],46:[2,36],47:[2,36],50:[2,36],51:[2,36],52:[2,36],53:[2,36],54:[2,36],55:[2,36]},{5:[2,37],11:[2,37],12:[2,37],14:[2,37],16:[2,37],22:[2,37],29:[2,37],32:[2,37],35:[2,37],36:[2,37],37:[2,37],38:[2,37],39:[2,37],40:[2,37],41:[2,37],45:[2,37],46:[2,37],47:[2,37],50:[2,37],51:[2,37],52:[2,37],53:[2,37],54:[2,37],55:[2,37]},{1:[2,3]},{8:[1,71]},{5:[2,17],8:[2,17],11:[2,17],22:[2,17],26:[2,17],32:[2,17],35:[2,17],37:[2,17],40:[2,17],41:[2,17],45:[2,17],46:[2,17],47:[2,17],50:[2,17],51:[2,17],52:[2,17],54:[2,17],55:[2,17]},{22:[2,20],23:72,24:[2,20],25:[1,73]},{5:[2,19],8:[2,19],11:[2,19],22:[2,19],26:[2,19],32:[2,19],35:[2,19],37:[2,19],40:[2,19],41:[2,19],45:[2,19],46:[2,19],47:[2,19],50:[2,19],51:[2,19],52:[2,19],54:[2,19],55:[2,19]},{11:[2,24],22:[2,24],32:[2,24],35:[2,24],37:[2,24],40:[2,24],41:[2,24],45:[2,24],46:[2,24],47:[2,24],50:[2,24],51:[2,24],52:[2,24],54:[2,24],55:[2,24]},{12:[1,74]},{11:[2,25],22:[2,25],32:[2,25],35:[2,25],37:[2,25],40:[2,25],41:[2,25],45:[2,25],46:[2,25],47:[2,25],50:[2,25],51:[2,25],52:[2,25],54:[2,25],55:[2,25]},{1:[2,4]},{22:[1,76],24:[1,75]},{22:[2,21],24:[2,21]},{28:[2,28],30:[2,28]},{5:[2,18],8:[2,18],11:[2,18],22:[2,18],26:[2,18],32:[2,18],35:[2,18],37:[2,18],40:[2,18],41:[2,18],45:[2,18],46:[2,18],47:[2,18],50:[2,18],51:[2,18],52:[2,18],54:[2,18],55:[2,18]},{22:[2,20],23:77,24:[2,20],25:[1,73]},{22:[1,76],24:[1,78]},{22:[2,23],24:[2,23],25:[1,79]},{22:[2,22],24:[2,22]}],defaultActions:{9:[2,5],10:[2,6],52:[2,1],54:[2,2],63:[2,3],71:[2,4]},parseError:function(a){throw new Error(a)
},parse:function(a){function b(){var a;return a=c.lexer.lex()||1,"number"!=typeof a&&(a=c.symbols_[a]||a),a}var c=this,d=[0],e=[null],f=[],g=this.table,h="",i=0,j=0,k=0;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var l=this.lexer.yylloc;f.push(l);var m=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var n,o,p,q,r,s,t,u,v,w={};;){if(p=d[d.length-1],this.defaultActions[p]?q=this.defaultActions[p]:((null===n||"undefined"==typeof n)&&(n=b()),q=g[p]&&g[p][n]),"undefined"==typeof q||!q.length||!q[0]){var x="";if(!k){v=[];for(s in g[p])this.terminals_[s]&&s>2&&v.push("'"+this.terminals_[s]+"'");x=this.lexer.showPosition?"Parse error on line "+(i+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[n]||n)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==n?"end of input":"'"+(this.terminals_[n]||n)+"'"),this.parseError(x,{text:this.lexer.match,token:this.terminals_[n]||n,line:this.lexer.yylineno,loc:l,expected:v})}}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+n);switch(q[0]){case 1:d.push(n),e.push(this.lexer.yytext),f.push(this.lexer.yylloc),d.push(q[1]),n=null,o?(n=o,o=null):(j=this.lexer.yyleng,h=this.lexer.yytext,i=this.lexer.yylineno,l=this.lexer.yylloc,k>0&&k--);break;case 2:if(t=this.productions_[q[1]][1],w.$=e[e.length-t],w._$={first_line:f[f.length-(t||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(t||1)].first_column,last_column:f[f.length-1].last_column},m&&(w._$.range=[f[f.length-(t||1)].range[0],f[f.length-1].range[1]]),r=this.performAction.call(w,h,j,i,this.yy,q[1],e,f),"undefined"!=typeof r)return r;t&&(d=d.slice(0,-1*t*2),e=e.slice(0,-1*t),f=f.slice(0,-1*t)),d.push(this.productions_[q[1]][0]),e.push(w.$),f.push(w._$),u=g[d[d.length-2]][d[d.length-1]],d.push(u);break;case 3:return!0}}return!0}},c=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;g<f.length&&(c=this._input.match(this.rules[f[g]]),!c||b&&!(c[0].length>b[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\r\n?|\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,c,d){switch(c){case 0:return 25;case 1:return a.depth++,22;case 2:return 0==a.depth?this.begin("trail"):a.depth--,24;case 3:return 12;case 4:return this.popState(),28;case 5:return 30;case 6:return 29;case 7:break;case 8:this.begin("indented");break;case 9:return this.begin("code"),5;case 10:return 55;case 11:a.options[b.yytext]=!0;break;case 12:this.begin("INITIAL");break;case 13:this.begin("INITIAL");break;case 14:break;case 15:return 18;case 16:this.begin("INITIAL");break;case 17:this.begin("INITIAL");break;case 18:break;case 19:this.begin("rules");break;case 20:return a.depth=0,this.begin("action"),22;case 21:return this.begin("trail"),b.yytext=b.yytext.substr(2,b.yytext.length-4),11;case 22:return b.yytext=b.yytext.substr(2,b.yytext.length-4),11;case 23:return this.begin("rules"),11;case 24:break;case 25:break;case 26:break;case 27:break;case 28:return 12;case 29:return b.yytext=b.yytext.replace(/\\"/g,'"'),54;case 30:return b.yytext=b.yytext.replace(/\\'/g,"'"),54;case 31:return 32;case 32:return 51;case 33:return 37;case 34:return 37;case 35:return 37;case 36:return 35;case 37:return 36;case 38:return 38;case 39:return 29;case 40:return 39;case 41:return 46;case 42:return 30;case 43:return 47;case 44:return this.begin("conditions"),26;case 45:return 41;case 46:return 40;case 47:return 52;case 48:return b.yytext=b.yytext.replace(/^\\/g,""),52;case 49:return 47;case 50:return 45;case 51:a.options={},this.begin("options");break;case 52:return this.begin("start_condition"),14;case 53:return this.begin("start_condition"),16;case 54:return this.begin("rules"),5;case 55:return 53;case 56:return 50;case 57:return 22;case 58:return 24;case 59:break;case 60:return 8;case 61:return 9}},a.rules=[/^(?:[^{}]+)/,/^(?:\{)/,/^(?:\})/,/^(?:([a-zA-Z_][a-zA-Z0-9_-]*))/,/^(?:>)/,/^(?:,)/,/^(?:\*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:%%)/,/^(?:[a-zA-Z0-9_]+)/,/^(?:([a-zA-Z_][a-zA-Z0-9_-]*))/,/^(?:\n+)/,/^(?:\s+\n+)/,/^(?:\s+)/,/^(?:([a-zA-Z_][a-zA-Z0-9_-]*))/,/^(?:\n+)/,/^(?:\s+\n+)/,/^(?:\s+)/,/^(?:.*\n+)/,/^(?:\{)/,/^(?:%\{(.|\n)*?%\})/,/^(?:%\{(.|\n)*?%\})/,/^(?:.+)/,/^(?:\/\*(.|\n|\r)*?\*\/)/,/^(?:\/\/.*)/,/^(?:\n+)/,/^(?:\s+)/,/^(?:([a-zA-Z_][a-zA-Z0-9_-]*))/,/^(?:"(\\\\|\\"|[^"])*")/,/^(?:'(\\\\|\\'|[^'])*')/,/^(?:\|)/,/^(?:\[(\\\\|\\\]|[^\]])*\])/,/^(?:\(\?:)/,/^(?:\(\?=)/,/^(?:\(\?!)/,/^(?:\()/,/^(?:\))/,/^(?:\+)/,/^(?:\*)/,/^(?:\?)/,/^(?:\^)/,/^(?:,)/,/^(?:<<EOF>>)/,/^(?:<)/,/^(?:\/!)/,/^(?:\/)/,/^(?:\\([0-7]{1,3}|[rfntvsSbBwWdD\\*+()${}|[\]\/.^?]|c[A-Z]|x[0-9A-F]{2}|u[a-fA-F0-9]{4}))/,/^(?:\\.)/,/^(?:\$)/,/^(?:\.)/,/^(?:%options\b)/,/^(?:%s\b)/,/^(?:%x\b)/,/^(?:%%)/,/^(?:\{\d+(,\s?\d+|,)?\})/,/^(?:\{([a-zA-Z_][a-zA-Z0-9_-]*)\})/,/^(?:\{)/,/^(?:\})/,/^(?:.)/,/^(?:$)/,/^(?:(.|\n)+)/],a.conditions={code:{rules:[60,61],inclusive:!1},start_condition:{rules:[15,16,17,18,60],inclusive:!1},options:{rules:[11,12,13,14,60],inclusive:!1},conditions:{rules:[3,4,5,6,60],inclusive:!1},action:{rules:[0,1,2,60],inclusive:!1},indented:{rules:[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0},trail:{rules:[19,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0},rules:{rules:[7,8,9,10,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0},INITIAL:{rules:[22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],inclusive:!0}},a}();return b.lexer=c,a.prototype=b,b.Parser=a,new a}();"undefined"!=typeof a&&"undefined"!=typeof b&&(b.parser=d,b.Parser=d.Parser,b.parse=function(){return d.parse.apply(d,arguments)},b.main=function(c){if(!c[1])throw new Error("Usage: "+c[0]+" FILE");var d;return d="undefined"!=typeof process?a("fs").readFileSync(a("path").resolve(c[1]),"utf8"):a("file").path(a("file").cwd()).join(c[1]).read({charset:"utf-8"}),b.parser.parse(d)},"undefined"!=typeof c&&a.main===c&&b.main("undefined"!=typeof process?process.argv.slice(1):a("system").args))},requires:["fs","path","file","file","system"]}),a}();