diff --git a/build/ace_grammar.js b/build/ace_grammar.js index a7b67e6..3a6619e 100644 --- a/build/ace_grammar.js +++ b/build/ace_grammar.js @@ -1245,7 +1245,7 @@ function generate_autocompletion( token, follows ) { follows.push.apply( follows, tok.autocompletions ); } - else if ( (T_STR === tok.token.ptype) && (tok.token.pattern.length > 1) ) + else if ( (T_STR === tok.token.ptype) && (T_STR&get_type(tok.token.pattern)) && (tok.token.pattern.length > 1) ) { follows.push( {word:''+tok.token.pattern, meta:tok.name, ci:!!tok.ci} ); } diff --git a/build/ace_grammar.min.js b/build/ace_grammar.min.js index 507b507..7ea1b6e 100644 --- a/build/ace_grammar.min.js +++ b/build/ace_grammar.min.js @@ -7,5 +7,5 @@ * https://github.com/foo123/ace-grammar * https://github.com/foo123/editor-grammar * -**/!function(e,t,n){"use strict";var o;"object"==typeof module&&module.exports?module.exports=n.call(e,{}):"undefined"!=typeof System&&"function"==typeof System.register&&"function"==typeof System["import"]?System.register(t,[],function(o){o(t,n.call(e,{}))}):"function"==typeof define&&define.amd&&"function"==typeof require&&"function"==typeof require.specified&&require.specified(t)?define(t,["require","exports","module"],function(){return n.call(e,{})}):t in e||(e[t]=o=n.call(e,{}))&&"function"==typeof define&&define.amd&&define(function(){return o})}(this,"AceGrammar",function(e){"use strict";function t(e){var t=0;return null===e?t=bn:!0===e||!1===e||e instanceof Boolean?t=_n:ln===e?t=yn:(t=An[pn.call(e)]||$n,t=vn===t||e instanceof Number?isNaN(e)?wn:isFinite(e)?vn:xn:On===t||e instanceof String?1===e.length?Sn:On:En===t||e instanceof Array?En:Fn===t||e instanceof RegExp?Fn:Rn===t||e instanceof Date?Rn:Mn===t||e instanceof Function?Mn:Ln===t?Ln:$n),t}function n(e,t,n,o){var r,i,l,s,a,u,c=e.length;if(arguments.length<4&&(o=c-1),0>o&&(o+=c),arguments.length<3&&(n=0),n>o)return[];if(n===o)return[t(e[n],n,n,o)];for(l=o-n+1,s=15&l,a=1&s,u=new Array(l),a&&(u[0]=t(e[n],n,n,o)),r=a;s>r;r+=2)i=n+r,u[r]=t(e[i],i,n,o),u[r+1]=t(e[i+1],i+1,n,o);for(r=s;l>r;r+=16)i=n+r,u[r]=t(e[i],i,n,o),u[r+1]=t(e[i+1],i+1,n,o),u[r+2]=t(e[i+2],i+2,n,o),u[r+3]=t(e[i+3],i+3,n,o),u[r+4]=t(e[i+4],i+4,n,o),u[r+5]=t(e[i+5],i+5,n,o),u[r+6]=t(e[i+6],i+6,n,o),u[r+7]=t(e[i+7],i+7,n,o),u[r+8]=t(e[i+8],i+8,n,o),u[r+9]=t(e[i+9],i+9,n,o),u[r+10]=t(e[i+10],i+10,n,o),u[r+11]=t(e[i+11],i+11,n,o),u[r+12]=t(e[i+12],i+12,n,o),u[r+13]=t(e[i+13],i+13,n,o),u[r+14]=t(e[i+14],i+14,n,o),u[r+15]=t(e[i+15],i+15,n,o);return u}function o(e,t,n,o,r){var i,l,s,a,u,c=e.length,p=n;if(arguments.length<5&&(r=c-1),0>r&&(r+=c),arguments.length<4&&(o=0),o>r)return p;if(o===r)return t(p,e[o],o);for(s=r-o+1,a=15&s,u=1&a,u&&(p=t(p,e[o],o)),i=u;a>i;i+=2)l=o+i,p=t(t(p,e[l],l),e[l+1],l+1);for(i=a;s>i;i+=16)l=o+i,p=t(t(t(t(t(t(t(t(t(t(t(t(t(t(t(t(p,e[l],l),e[l+1],l+1),e[l+2],l+2),e[l+3],l+3),e[l+4],l+4),e[l+5],l+5),e[l+6],l+6),e[l+7],l+7),e[l+8],l+8),e[l+9],l+9),e[l+10],l+10),e[l+11],l+11),e[l+12],l+12),e[l+13],l+13),e[l+14],l+14),e[l+15],l+15);return p}function r(e,t,n,o){if(t>n)return o;if(t===n)return e(t,o,t,n),o;var r,i,l=n-t+1,s=15&l,a=1&s;for(a&&e(t,o,t,n),r=a;s>r;r+=2)i=t+r,e(i,o,t,n),e(++i,o,t,n);for(r=s;l>r;r+=16)i=t+r,e(i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n);return o}function i(e,n){var o,r,l,s,a=t(e),u=0;if(vn===t(n)?n>0?(u=n,n=!0):n=!1:n=!1!==n,Ln===a){r={};for(l in e)e[an](l)&&e[un](l)&&(o=t(e[l]),r[l]=Ln===o?n?i(e[l],u>0?u-1:n):e[l]:En===o?n?i(e[l],u>0?u-1:n):e[l].slice():Rn===o?new Date(e[l]):On&o?e[l].slice():vn&o?0+e[l]:e[l])}else if(En===a)for(s=e.length,r=new Array(s),l=0;s>l;l++)o=t(e[l]),r[l]=Ln===o?n?i(e[l],u>0?u-1:n):e[l]:En===o?n?i(e[l],u>0?u-1:n):e[l].slice():Rn===o?new Date(e[l]):On&o?e[l].slice():vn&o?0+e[l]:e[l];else r=Rn===a?new Date(e):On&a?e.slice():vn&a?0+e:e;return r}function l(){var e,n,o,r,s,a,u,c,p,f,m=arguments,h=m.length;if(1>h)return null;for(n=i(m[0]),o=1;h>o;o++)if(e=m[o])for(r in e)if(e[an](r)&&e[un](r))if(n[an](r)&&n[un](r)){if(p=t(n[r]),f=t(e[r]),Ln===p&&Ln===f)n[r]=l(n[r],e[r]);else if(En===p&&En===f){if(u=n[r],c=e[r],a=c.length,!a)continue;if(u.length)for(s=0;a>s;s++)0>u.indexOf(c[s])&&u.push(c[s]);else n[r]=c.slice()}}else n[r]=i(e[r]);return n}function s(){return!0}function a(e,n){return n||En!==t(e)?[e]:e}function u(e,n){return e=a(e),(n||En!==t(e[0]))&&(e=[e]),e}function c(e,n){return On&t(n)&&On&t(e)&&n.length&&n.length<=e.length&&n===e.substr(0,n.length)}function p(e,t,n){return tn&&e[o-n-1].$id===t;)n++;n&&(e.length=o-n)}return e}function m(e,t,n){return n?e[t]=ln:delete e[t],e}function h(e){return(e||"id_")+ ++Gn}function g(e){return(e||"uuid")+"_"+ ++Gn+"_"+(new Date).getTime()}function d(){var e,n,o,r,i,l,s=arguments,a=s.length;for(e=s[0]||{},i=1;a>i;i++)if(n=s[i],Ln===t(n))for(r in n)n[an](r)&&n[un](r)&&(o=n[r],l=t(o),e[r]=vn&l?0+o:Rn&l?new Date(o):Tn&l?o.slice():o);return e}function k(e,t){var n,o=arguments.length,r="constructor";return 0===o?(e=Object,t={}):1===o?(t=e||{},e=Object):(e=e||Object,t=t||{}),t[an](r)||(t[r]=function(){}),n=t[r],delete t[r],n[sn]=d(fn(e[sn]),t),n[sn][r]=n,n}function $(e){return e.replace(Wn,"\\$1")}function y(e,t){return new RegExp(e,t||"")}function b(e,t,n,o){var r,i,l,s,a=e.pos,u=e.length,c="",p=!!n;if(p){for(o=!!o,i=!1,s=0;u>a&&(r=e[dn](a++),t!==r||i);)l=n===r,i=!i&&l,o?(l&&s++,(!l||2&s)&&(c+=r,s=0)):c+=r;2&s&&(c+=n)}else for(;u>a&&(r=e[dn](a++),t!==r);)c+=r;return e.pos=a,c}function v(e,n,o){var r,i,l,s,a,u=!0===o?0:1;for(On&t(n)&&(n=[n,n,n],u=0),i=e.length,a="",r=0;i>r;)l=e[dn](r),i>r+1&&"$"===l?(s=e.charCodeAt(r+1),36===s?(a+="$",r+=2):s>=48&&57>=s?(a+=n[u+s-48]||"",r+=2):(a+=l,r+=1)):(a+=l,r+=1);return a}function x(e,n,o,r){if(!e||(vn|Fn)&t(e))return e;var i,l=n?n.length||0:0,s="";if(On&t(r)?s=r:r&&(s=Yn),l&&n===e.substr(0,l)){var a,u,c,i,p,f=e.substr(l),m=f[dn](0),h="";for(i=f.length;i--&&(p=f[dn](i),m!==p);)"i"===p.toLowerCase()&&(h="i");return a=f.substring(1,i),u="^("+a+")",o[u]||(c=y(u,h),o[u]=c),o[u]}return s?(u="^("+$(e)+")"+s,o[u]||(c=y(u,h),o[u]=c),o[u]):e}function w(e,o,r){var i,l="";return On&t(o)?l=o:o&&(l=Yn),i=n(e.sort(Pn),$).join("|"),[y("^("+i+")"+l,r?"i":""),1]}function _(e,n,o,r){var i=t(n);if(vn===i)return n;if(r[e])return r[e];o=o||0;var l,s=0;return n&&n.isCharList&&(s=1,m(n,"isCharList")),l=bn===i?new N(St,e,n,bn,o):Sn===i?new N(St,e,n,Sn,o):Dn&i?new N(St,e,n,Fn,o):On&i?new N(St,e,n,s?qn:On,o):n,r[e]=l}function O(e,n,o,r,i,l,s){if(s[e])return s[e];var u,p,f,m,h,g,d,k=0,$=0,y=1,b=On&t(r)?!0:!!r;if(u=a(n),f=u.length,1===f)d=_(e,x(u[0],o,l,r),0,s);else if(f>1){for(m=(f>>>1)+1,p=0;m>=p;p++)h=t(u[p]),g=t(u[f-1-p]),(Sn!==h||Sn!==g)&&(y=0),En&h||En&g?k=1:(Fn&h||Fn&g||c(u[p],o)||c(u[f-1-p],o))&&($=1);if(y&&!b)u=u.slice().join(""),u.isCharList=1,d=_(e,u,0,s);else if(!b||k||$)if(k||$){for(p=0;f>p;p++)u[p]=En&t(u[p])?O(e+"_"+p,u[p],o,r,i,l,s):_(e+"_"+p,x(u[p],o,l),p,s);d=f>1?new N(qt,e,u):u[0]}else{for(u=u.sort(Pn),p=0;f>p;p++)u[p]=_(e+"_"+p,x(u[p],o,l),p,s);d=f>1?new N(qt,e,u):u[0]}else d=_(e,w(u,r,i),0,s)}return s[e]=d}function S(e,n,o,i,l){if(l[e])return l[e];var s=u(n),a=[],p=[];return r(function(n){var r,u;r=_(e+"_0_"+n,x(s[n][0],o,i),n,l),u=s[n].length>1?Fn!==r.ptype||On!==t(s[n][1])||c(s[n][1],o)?_(e+"_1_"+n,x(s[n][1],o,i),n,l):s[n][1]:r,a.push(r),p.push(u)},0,s.length-1),l[e]=new N(Et,e,[a,p])}function q(e,t){var n=u(e.tokens.slice());r(function(e){var o=n[e][0],r=n[e].length>1?n[e][1]:n[e][0],i=n[e].length>2?n[e][2]:"";null===r?(t.line=t.line||[],t.line.push(o)):(t.block=t.block||[],t.block.push([o,r,i]))},0,n.length-1)}function E(e,t,o,r){var i=e.meta||o,l=!(!e.caseInsesitive&&!e.ci),s=n(t,function(e){return{word:e,meta:i,ci:l}});return r.autocomplete=(r.autocomplete||[]).concat(s),s}function L(e){e.Lex||(e.Lex={}),e.Syntax||(e.Syntax={});var n,o,r,i,s,a,u,c,p,f,h,g=e.Lex,d=e.Syntax,k=[g,d],$=k.length;for(h=0;$>h;){f=k[h++];for(r in f)f[an](r)&&(n=r.split(":"),o=n[1]&&zn(n[1]).length?zn(n[1]):null,n=zn(n[0]),n.length||(n=r,o=null),n!==r&&(f[n]=f[r],m(f,r),o&&(o=o[gn](),i=f[n],s=t(i),Ln===s?f[n].type||(f[n].type=o):(f[n]={type:o},"error"===o?(f[n].type="action",f[n].error=i):"nop"===o?(f[n].type="action",f[n].nop=!0):"group"===o?(f[n].type="sequence",f[n].tokens=i):"action"===o&&On===s?f[n][i]=!0:f[n].tokens=i))),g===f&&(Cn&t(f[n])&&(f[n]={type:"simple",tokens:f[n]}),i=f[n],i.type&&(c=i.type=i.type[gn](),"line-block"===c?(i.type="block",i.multiline=!1,i.escape=!1):"escaped-line-block"===c?(i.type="block",i.multiline=!1,i.escape="\\"):"escaped-block"===c&&(i.type="block",i.multiline=!0,i.escape="\\"))))}f=g;for(n in f)if(f[an](n))for(i=f[n];i.extend;)a=i.extend,m(i,"extend"),u=g[a],u&&(Cn&t(u)&&(u=g[a]={type:"simple",tokens:u}),i=l(u,i));f=g;for(n in f)f[an](n)&&(i=f[n],i.type?(c=i.type=i.type[gn](),"line-block"===c?(i.type="block",i.multiline=!1,i.escape=!1):"escaped-line-block"===c?(i.type="block",i.multiline=!1,i.escape="\\"):"escaped-block"===c&&(i.type="block",i.multiline=!0,i.escape="\\")):i["escaped-line-block"]?(i.type="block",i.multiline=!1,i.escape||(i.escape="\\"),i.tokens=i["escaped-line-block"],m(i,"escaped-line-block")):i["escaped-block"]?(i.type="block",i.multiline=!0,i.escape||(i.escape="\\"),i.tokens=i["escaped-block"],m(i,"escaped-block")):i["line-block"]?(i.type="block",i.multiline=!1,i.escape=!1,i.tokens=i["line-block"],m(i,"line-block")):i.comment?(i.type="comment",i.escape=!1,i.tokens=i.comment,m(i,"comment")):i.block?(i.type="block",i.tokens=i.block,m(i,"block")):i.simple?(i.type="simple",i.tokens=i.simple,m(i,"simple")):i.nop?(i.type="action",i.action=["nop",i.nop,!1],i.nop=!0):i.error?(i.type="action",i.action=["error",i.error,!!i["in-context"]],m(i,"error")):i[an]("context")?(i.type="action",i.action=[i.context?"context-start":"context-end",i.context,!!i["in-context"]],m(i,"context")):i.indent?(i.type="action",i.action=["indent",i.indent,!!i["in-context"]],m(i,"indent")):i.outdent?(i.type="action",i.action=["outdent",i.outdent,!!i["in-context"]],m(i,"outdent")):i.unique?(i.type="action",i.action=["unique",On&t(i.unique)?["_DEFAULT_",i.unique]:i.unique,!!i["in-context"]],m(i,"unique")):i.push?(i.type="action",i.action=["push",i.push,!!i["in-context"]],m(i,"push")):i[an]("pop")?(i.type="action",i.action=["pop",i.pop,!!i["in-context"]],m(i,"pop")):i.type="simple","action"===i.type?i.ci=!(!i.caseInsesitive&&!i.ci):"block"===i.type||"comment"===i.type?(i.multiline=i[an]("multiline")?!!i.multiline:!0,On&t(i.escape)||(i.escape=!1)):"simple"===i.type&&(i.meta=i.autocomplete&&On&t(i.meta)?i.meta:null,i.ci=!(!i.caseInsesitive&&!i.ci)));f=d;for(n in f)f[an](n)&&(i=f[n],Ln!==t(i)||i.type?i.type&&(c=i.type=i.type[gn](),"group"===c&&i.match?(s=t(i.match),On&s?(p=i.match[gn](),"alternation"===p||"either"===p?(i.type="alternation",m(i,"match")):"sequence"===p||"all"===p?(i.type="sequence",m(i,"match")):"zeroorone"===p?(i.type="zeroOrOne",m(i,"match")):"zeroormore"===p?(i.type="zeroOrMore",m(i,"match")):"oneormore"===p?(i.type="oneOrMore",m(i,"match")):(i.type="sequence",m(i,"match"))):En&s&&(i.type="repeat",i.repeat=i.match,m(i,"match"))):"either"===c?i.type="alternation":"all"===c?i.type="sequence":"lookahead"===c&&(i.type="positiveLookahead")):i.ngram||i["n-gram"]?(i.type="ngram",i.tokens=i.ngram||i["n-gram"],i["n-gram"]?m(i,"n-gram"):m(i,"ngram")):i.sequence||i.all?(i.type="sequence",i.tokens=i.sequence||i.all,i.all?m(i,"all"):m(i,"sequence")):i.alternation||i.either?(i.type="alternation",i.tokens=i.alternation||i.either,i.either?m(i,"either"):m(i,"alternation")):i.zeroOrOne?(i.type="zeroOrOne",i.tokens=i.zeroOrOne,m(i,"zeroOrOne")):i.zeroOrMore?(i.type="zeroOrMore",i.tokens=i.zeroOrMore,m(i,"zeroOrMore")):i.oneOrMore?(i.type="oneOrMore",i.tokens=i.oneOrMore,m(i,"oneOrMore")):i.positiveLookahead||i.lookahead?(i.type="positiveLookahead",i.tokens=i.positiveLookahead||i.lookahead,i.lookahead?m(i,"lookahead"):m(i,"positiveLookahead")):i.negativeLookahead&&(i.type="negativeLookahead",i.tokens=i.negativeLookahead,m(i,"negativeLookahead")));return e}function M(e,t){if(t=t||[],!e||!e.length)return t;var n,o,r,i,l,s;for(n=0,o=e.length;o>n;n++)if(l=e[n])if(Ct===l.type)l.autocompletions?t.push.apply(t,l.autocompletions):On===l.token.ptype&&l.token.pattern.length>1&&t.push({word:""+l.token.pattern,meta:l.name,ci:!!l.ci});else if(zt===l.type)M(l.token,t);else if(Vt&l.type){r=0,i=l.token.length;do M([s=l.token[r++]],t);while(i>r&&(It&s.type&&0===s.min||Lt===s.type))}else It&l.type&&M([l.token[0]],t);return t}function F(e,n,o,r){for(var i;On&t(i=n[e]||o[e]);)e=i;return r?e:n[e]||o[e]||e}function R(e,t){return e.length>1?r(t?function(t,n){var o=n[n.length-1],r=e[t];o===r||n.push(r)}:function(t,n){var o=n[n.length-1],r=e[t];Kn.test(r)&&Kn.test(o)&&o===r||n.push(r)},1,e.length-1,[e[0]]):e}function j(e,o,r){var l,s,a,u,c,p,f,m,h,g,d,k,v,x,w,_=!1;if(w=e.modifier?e.modifier:null,m=new String(zn(e)),m.pos=0,1===m.length)k=""+e,o[k]||r[k]||(o[k]={type:"simple",tokens:e}),e=k;else{for(l=[],s=[],a="",v=[];m.posc[0]&&(c[0]=0),2>c.length?c.push(c[0]):c[1]=c[1].length?parseInt(c[1],10)||kn:kn,0>c[1]&&(c[1]=0),d=s[s.length-1],k=""+d+["{",c[0],",",isFinite(c[1])?c[1]:"","}"].join(""),r[k]||(r[k]={type:"repeat",repeat:[c[0],c[1]],tokens:[d]}),s[s.length-1]=k):a+=h;else{if("}"===h){a+=h;continue}"&"===h||"!"===h?a+=h:"|"===h?(_=!1,s=R(s),s.length>1?(k=""+s.join(" "),r[k]||(r[k]={type:"sequence",tokens:s}),l.push(k)):s.length?l.push(s[0]):a+=h,s=[]):"("===h?(v.push([s,l,a]),s=[],l=[],a=""):")"===h&&(s=R(s),s.length>1?(k=""+s.join(" "),r[k]||(r[k]={type:"sequence",tokens:s}),l.push(k)):s.length&&l.push(s[0]),s=[],l=R(l,1),l.length>1?(k=""+l.join(" | "),r[k]||(r[k]={type:"alternation",tokens:l})):l.length&&(k=l[0]),l=[],x=v.pop(),s=x[0],l=x[1],a=x[2],d=k,k="("+d+")",r[k]||(r[k]=i(F(d,o,r))),s.push(k))}}else a+=h;a.length&&(_?(s.length&&(d=s[s.length-1],k=d+"."+a,p=o[k]||r[k],p||(f=F(d,o,r),r[k]=On&t(f)?new String(f):i(f),r[k].modifier=a),s[s.length-1]=k),_=!1):"0"===a?(o[on]||(o[on]={type:"simple",tokens:0}),s.push(on)):"^^"===a?(o[Jt]||(o[Jt]={type:"simple",tokens:Mt}),s.push(Jt)):"^^1"===a?(o[Xt]||(o[Xt]={type:"simple",tokens:Ft}),s.push(Xt)):"^"===a?(o[en]||(o[en]={type:"simple",tokens:jt}),s.push(en)):"$"===a?(o[tn]||(o[tn]={type:"simple",tokens:Rt}),s.push(tn)):(o[a]||r[a]||(o[a]={type:"simple",tokens:a}),s.push(a))),a="",s=R(s),s.length>1?(k=""+s.join(" "),r[k]||(r[k]={type:"sequence",tokens:s}),l.push(k)):s.length&&l.push(s[0]),s=[],l=R(l,1),l.length>1?(k=""+l.join(" | "),r[k]||(r[k]={type:"alternation",tokens:l}),e=k):l.length&&(e=l[0]),l=[]}return w&&(o[e]||r[e])&&((o[e]||r[e]).modifier=w),e}function T(e,i,l,s,c,p,f,m,h,g,d){var k,$,y,b,v,x,w,_=null,L=null,M=null;if(Mt===e||Ft===e||jt===e||Rt===e)return new P(e,Mt===e?Jt:Ft===e?$T_FBNL$:jt===e?en:tn,e,L);if(!1===e||0===e)return new P(Tt,on,0,L);if(""===e)return new P(Dt,rn,"",L);if(null===e)return new P(Ct,nn,bn,L,M);if(En&t(e)&&(y=e,e="NGRAM_"+y.join("_"),s[e]||(s[e]={type:"ngram",tokens:y})),e=""+e,m[e])return m[e];if(v=F(e,l,s),On&t(v)&&(v=j(v,l,s),v=l[v]||s[v]||null),!v)return null;if(k=v.type?Ht[v.type[gn]().replace(Un,"")]||Ct:Ct,L=v.msg||null,M=v.modifier||null,$=v.tokens,Ct&k){if(Mt===$||Ft===$||jt===$||Rt===$||!1===$||0===$)return _=new P($||Tt,e,$||0,L),m[e]=_,_;if(""===$)return _=new P(Dt,e,"",L),m[e]=_,_;if(null===$)return _=new P(Ct,e,bn,L,M),m[e]=_,_;if(!$)return null}if(Lt&k)v[an]("action")?"nop"===v.action[0]?v.action[0]=kt:"error"===v.action[0]?v.action[0]=$t:"context-start"===v.action[0]?v.action[0]=bt:"context-end"===v.action[0]?v.action[0]=vt:"push"===v.action[0]?v.action[0]=xt:"pop"===v.action[0]?v.action[0]=wt:"unique"===v.action[0]?v.action[0]=yt:"indent"===v.action[0]?v.action[0]=_t:"outdent"===v.action[0]&&(v.action[0]=Ot):v[an]("nop")?v.action=[kt,v.nop,!!v["in-context"]]:v[an]("error")?v.action=[$t,v.error,!!v["in-context"]]:v[an]("context")?v.action=[v.context?bt:vt,v.context,!!v["in-context"]]:v[an]("context-start")?v.action=[bt,v["context-start"],!!v["in-context"]]:v[an]("context-end")?v.action=[vt,v["context-end"],!!v["in-context"]]:v[an]("push")?v.action=[xt,v.push,!!v["in-context"]]:v[an]("pop")?v.action=[wt,v.pop,!!v["in-context"]]:v[an]("unique")?v.action=[yt,On&t(v.unique)?["_DEFAULT_",v.unique]:v.unique,!!v["in-context"]]:v[an]("indent")?v.action=[_t,v.indent,!!v["in-context"]]:v[an]("outdent")&&(v.action=[Ot,v.outdent,!!v["in-context"]]),v.nop&&(v.action[0]=kt),_=new P(Lt,e,v.action.slice(),L,M),_.ci=!!v.caseInsensitive||v.ci,m[e]=_;else if($=a($),Ct&k){if(w=v.autocomplete?E(v,a(Tn&t(v.autocomplete)?v.autocomplete:v.tokens),e,d):null,x="undefined"!=typeof v.combine?v.combine:En&t(v.tokens)?!0:!1,_=new P(Ct,e,O(e,$.slice(),i,x,!(!v.caseInsensitive&&!v.ci),p,f),L,M,null,w),m[e]=_,null!=v.except){var R,D,C=a(v.except),A=C.length,N=[];for(R=0;A>R;R++)C[R]&&(D=T(C[R],i,l,s,c,p,f,m,h,g,d),D&&N.push(D));N.length&&(_.except=N)}}else At&k?(Nt===k&&q(v,g),_=new P(k,e,S(e,$.slice(),i,p,f),L),_.mline=v[an]("multiline")?!!v.multiline:!0,_.esc=v[an]("escape")?v.escape:!1,_.inter=!!c[e+".inside"],Nt===k&&v.interleave&&h.push(U(_)),M&&(_.modifier=M),m[e]=_):Zt&k&&(Qt===k?(b=u($),_=n(b,function(t,n){return new P(Qt,e+"_NGRAM_"+n,null,L,M)}),m[e]=_,r(function(e){_[e].token=a(o(b[e],function(e,t){return e.concat(T(t,i,l,s,c,p,f,m,h,g,d))},[]))},0,b.length-1)):(Yt===k||Kt===k?_=new P(k,e,null,L,M):It&k&&En&t(v.repeat)?(_=new P(It,e,null,L,M),_.min=v.repeat[0],_.max=v.repeat[1]):Ut===k?(_=new P(Ut,e,null,L,M),_.min=0,_.max=1):Gt===k?(_=new P(Gt,e,null,L,M),_.min=0,_.max=kn):Wt===k?(_=new P(Wt,e,null,L,M),_.min=1,_.max=kn):_=zt===k?new P(zt,e,null,L,M):new P(Pt,e,null,L,M),m[e]=_,_.token=a(o($,function(e,t){return e.concat(T(t,i,l,s,c,p,f,m,h,g,d))},[]))));return m[e]}function D(e,t){var n,o,r=e.Style,i=e.Lex,l=e.Syntax,s=[],a={};for(n in r)r[an](n)&&(o=i[n]||l[n],!o||"block"!=o.type&&"comment"!==o.type||(t&&(r[n+".inside"]||r[n])?(n=r[n+".inside"]||r[n],a[an](n)||(s.push(n),a[n]=1)):t||a[an](n)||(s.push(n),a[n]=1)));return s}function C(e){var n={};return e.Lex=e.Lex||{},e.Syntax=e.Syntax||{},e=L(e),e.Parser&&e.Parser.length&&r(function o(i,l){var s,a,u,c=l[i];n[c]||(En&t(c)&&(s=c,c="NGRAM_"+s.join("_"),e.Syntax[c]||(e.Syntax[c]={type:"ngram",tokens:s})),a=F(c,e.Lex,e.Syntax),On&t(a)&&(a=j(a,e.Lex,e.Syntax),a=e.Lex[a]||e.Syntax[a]||null),a&&(n[c]=a,u=a.type?Ht[a.type[gn]().replace(Un,"")]||Ct:Ct,Zt&u&&r(o,0,a.tokens.length-1,a.tokens)))},0,e.Parser.length-1,e.Parser),e}function A(e){var n,r,l,s,a,u,c,p,f,m,h,g,d;return e.__parsed?e:(n=e.RegExpID||null,l=e.Extra?i(e.Extra):{},s=e.Style?i(e.Style):{},a=null,u=e.Lex?i(e.Lex):{},c=e.Syntax?i(e.Syntax):{},p={},f={},m={},g={},d={},h=[],r=e.Parser?i(e.Parser):[],e=L({Style:s,Fold:a,Lex:u,Syntax:c,$parser:null,$interleaved:null,$comments:null,$autocomplete:null,$extra:l,__parsed:0}),e.$parser=o(r,function(e,o){var r=T(o,n,u,c,s,p,f,m,h,g,d)||null;return r&&(En&t(r)?e=e.concat(r):e.push(r)),e},[]),e.$interleaved=h&&h.length?h:null,e.$comments=g,e.$autocomplete=d&&d.autocomplete&&d.autocomplete.length?d.autocomplete:null,e.__parsed=1,e)}function N(e,n,o,r,i){var l,s,a=this;l=a.type=e,a.name=n,a.pattern=o,s=a.ptype=r||On,a.key=i||0,qt===l?a.key=!1!==i:Et===l?a.pattern[0]=new N(qt,n+"_Start",o[0],null,!1):bn===s?a.pattern=null:Fn===s&&(a.pattern=Fn&t(o)?[o,0]:[o[0],o[1]||0])}function z(e,n,o,r){var i,l,s,a,u,c,p,f,m,h,g,d=e,k=d.type,$=d.pattern,y=d.key;if(Et===k){if(i=d.name,s=$[0],a=$[1],c=z(s,n,o,r))return u=a[c[0]],f=t(u),m=s.pattern[c[0]].ptype,Fn===m&&jn&f&&(p=vn&f?c[1][u+1]:v(u,c[1]),u=new N(St,i+"_End",p,p.length>1?On:Sn)),u}else if(qt===k){for(h=0,g=$.length;g>h;h++)if(p=z($[h],n,o,r))return y?[h,p[1]]:p}else{if(l=d.ptype,bn===l)return!1!==o&&n.end(),[y,""];if(Fn===l){if(p=n.slice(n.pos).match($[0]),p&&0===p.index)return!1!==o&&n.mov(p[$[1]||0].length),[y,$[1]>0?p[$[1]]:p]}else if(qn===l){if(!0===r){p=-1;var b,x;for(g=$.length-1;g>=0;g--)b=n.indexOf($[dn](g),n.pos),b>-1&&(-1===p||p>b)&&(p=b,x=$[dn](g));if(p>-1)return!1!==o&&(n.pos=p+1),[y,x]}else if(p=n[dn](n.pos)||null,p&&-1<$.indexOf(p))return!1!==o&&n.mov(1),[y,p]}else if(Sn===l){if(!0===r){if(p=n.indexOf($,n.pos),p>-1)return!1!==o&&(n.pos=p+1),[y,$]}else if(p=n[dn](n.pos)||null,$===p)return!1!==o&&n.mov(1),[y,p]}else if(On===l)if(g=$.length,!0===r){if(p=n.indexOf($,n.pos),p>-1)return!1!==o&&(n.pos=p+g),[y,$]}else if($===n.substr(n.pos,g))return!1!==o&&n.mov(g),[y,$]}return!1}function P(e,t,n,o,r,i,l){var s=this;s.type=e,s.name=t,s.token=n,s.modifier=r||null,s.except=i||null,s.autocompletions=l||null,s.pos=null,s.msg=o||null,s.$msg=null,s.status=0,s.ci=!1,s.mline=!0,s.esc=!1,s.inter=!1,s.found=0,s.min=0,s.max=1,s.$id=null}function I(){var e=this;e.T=0,e.id=null,e.type=null,e.match=null,e.str="",e.pos=null,e.block=null}function U(e,t,n,o){var r=new P(e.type,e.name,e.token,e.msg,e.modifier,e.except,e.autocompletions);return r.ci=e.ci,r.mline=e.mline,r.esc=e.esc,r.inter=e.inter,r.found=e.found,r.min=e.min,r.max=e.max,t&&(r.status|=ft),n&&(r.modifier=n),o&&(r.$id=o),r}function G(e){var t=e.name;return e.$msg?e.$msg:e.status&ft?'Token "'+t+'" Expected':'Syntax Error: "'+t+'"'}function W(e,t,n,o,r,i,l){e.err[t+"_"+n+"_"+o+"_"+r+"_"+(i?i.name:"ERROR")]=[t,n,o,r,l||G(i)]}function B(e,t,n,o){if(!e)return!1;var r=e.type,i=Zt&r?V:At&r?Q:Lt&r?Y:K;return i(e,t,n,o)}function Y(e,n,o,r){var i,l,s,a,u,c,p,f,m,h,g,d,k,$,y,b,x=e,w=x.token||null,_=x.ci,O=x.name,S=!(o.status&ct);if(x.status=0,x.$msg=null,S||!w||!r||!r.pos)return!0;if(b=!!(At&r.T),kt===w[0]||b&&!r.block)return!0;if(i=w[0],l=w[1],k=w[2],u=x.msg,c=o.queu,p=o.symb,f=o.ctx,b?(y=r.block.match||r.block.str,m=r.block.pos[0][0],h=r.block.pos[0][1],g=r.block.pos[0][2],d=r.block.pos[0][3]):(y=r.match||r.str,m=r.pos[0],h=r.pos[1],g=r.pos[2],d=r.pos[3]),$t===i)return!u&&On&t(l)&&(u=l),x.$msg=u?v(u,y,!0):'Error "'+O+'"',W(o,m,h,g,d,x,G(x)),x.status|=mt,!1;if(vt===i)f.length&&f.shift();else if(bt===i)f.unshift({symb:{},queu:[]});else if(wt===i){if(k){if(!f.length)return!0;c=f[0].queu}if(l){if(l=v(l,y),_&&(l=l[gn]()),!c.length||l!==c[0][0])return c.length?(x.$msg=u?v(u,[c[0][0],l],!0):'Tokens do not match "'+c[0][0]+'","'+l+'"',$=G(x),W(o,c[0][1],c[0][2],c[0][3],c[0][4],x,$),W(o,m,h,g,d,x,$),c.shift()):(x.$msg=u?v(u,["",l],!0):'Token does not match "'+l+'"',$=G(x),W(o,m,h,g,d,x,$)),x.status|=mt,!1;c.shift()}else c.shift()}else if(xt===i&&l){if(k){if(!f.length)return!0;c=f[0].queu}l=v(l,y),_&&(l=l[gn]()),x.$msg=u?v(u,l,!0):'Token does not match "'+l+'"',c.unshift([l,m,h,g,d,G(x)])}else if(yt===i){if(k){if(!f.length)return!0;p=f[0].symb}if(s=l[1],a=l[0],s=v(s,y,!0),_&&(s=s[gn]()),p[an](a)||(p[a]={}),p[a][an](s))return x.$msg=u?v(u,s,!0):'Duplicate "'+s+'"',$=G(x),W(o,p[a][s][0],p[a][s][1],p[a][s][2],p[a][s][3],x,$),W(o,m,h,g,d,x,$),x.status|=mt,!1;p[a][s]=[m,h,g,d]}return!0}function K(e,t,n,o,r){var i,l=e,s=l.token,a=l.modifier,u=l.type,c=l.name,p=l.except,f=n.line,m=t.pos,h=null,g=!1;if(l.status&=gt,l.$msg=r?null:l.msg||null,p)for(var d=0,k=p.length;k>d;d++)if(i=p[d],l!==i&&Ct===i.type&&K(i,t,n,o,1))return t.bck(m),!1;return Mt===u?g=0===n.line:Ft===u?g=n.bline+1===n.line:jt===u?g=t.sol():Rt===u?(t.spc(),t.eol()?g=c:t.bck(m)):Tt===u?(l.status=0,g=!0):Dt===u?(l.status&ft&&t.spc()&&!t.eol()?(t.bck(m),l.status|=mt):g=!0,l.status&=ht):bn===s?(t.end(),g=a||c):(h=z(s,t))&&(h=h[1],g=a||c),r?g:(!1!==g&&(o.T=u,o.id=c,o.type=g,o.str=t.sel(m,t.pos),o.match=h,o.pos=[f,m,f,t.pos]),!g&&l.status&&l.$msg&&(l.$msg=v(l.$msg,c,!0)),g)}function Q(e,t,n,o){var r,i,l,s,a,u,c,f,m,h,g,d,k,$,y,b,x,w,_,O,S,q=e,E=q.name,L=q.type,M=q.modifier,F=q.token,R=q.mline,j=q.inter,T=j?E+".inside":E,D=q.esc,C=!!D,A="",N="",P="",I="",G=q.$id||E,W=n.stack;if(q.status&=gt,q.$msg=q.msg||null,_=n.line,O=t.pos,Nt===L&&(q.status&=ht),y=q.status&ft,l=0,s=0,n.block&&n.block.name===E?(s=1,l=1,$=T,r=n.block.end,f=n.block.sp,h=n.block.ip,m=n.block.ep,A=n.block.s,N=n.block.i):!n.block&&(r=z(F,t))&&(s=1,$=E,b=t.pos,f=[_,O],h=[[_,b],[_,b]],m=[_,b],A=t.sel(O,b),N="",I="",n.block={name:E,end:r,sp:f,ip:h,ep:m,s:A,i:N,e:I}),s){if(w=W.length,i=bn===r.type,j){if(i&&l&&t.sol())return q.status&=ht,n.block=null,!1;if(!l)return b=t.pos,o.T=L,o.id=E,o.type=M||$,o.str=t.sel(O,b),o.match=null,o.pos=[_,O,_,b],p(W,w,U(q,y,0,G)),M||$}if(b=t.pos,a=z(r,t),c=R,u=0,a)$=i?T:E,I=t.sel(b,t.pos);else if(x=t.pos,d=!1,C||qn!==r.ptype&&Sn!==r.ptype&&On!==r.ptype)for(;!t.eol();){if(b=t.pos,!d&&z(r,t)){j&&t.pos>b&&b>x?($=T,t.bck(b),u=1):($=E,a=1),I=t.sel(b,t.pos);break}k=t.nxt(1),P+=k,d=C&&!d&&D===k,b=t.pos}else(S=z(r,t,!0,!0))?(j&&t.pos>b+S[1].length?($=T,t.mov(-S[1].length),u=1):($=E,a=1),I=t.sel(b,t.pos)):(t.end(),$=T,u=1,P=t.sel(b,t.pos));return c=R||C&&d,N+=P,h[1]=[_,b],m=[_,t.pos],a||!c&&!u?n.block=null:(n.block.ip=h,n.block.ep=m,n.block.i=N,n.block.e=I,p(W,w,U(q,y,0,G))),o.T=L,o.id=E,o.type=M||$,o.str=t.sel(O,t.pos),o.match=null,o.pos=[_,O,m[0],m[1]],n.block||(g=A+N+I,o.block={str:g,match:[g,N,A,I],part:[g,A,N,I],pos:[[f[0],f[1],m[0],m[1]],[f[0],f[1],h[0][0],h[0][1]],[h[0][0],h[0][1],h[1][0],h[1][1]],[h[1][0],h[1][1],m[0],m[1]]]}),M||$}return q.status&&q.$msg&&(q.$msg=v(q.$msg,E,!0)),!1}function V(e,t,n,o){var r,i,l,s,a,u,c,f,m,g,d,k,$,y,b,v=e,x=v.type,w=(v.name,v.token),_=w.length,O=v.modifier;if(v.status&=gt,v.$msg=v.msg||null,k=n.stack,f=t.pos,m=k.length,u=0,c=0,y=v.$id||h(),zt===x){for(v.status|=ft,$=[],g=0;_>g;g++){if(r=U(w[g],1,O,y),i=B(r,t,n,o),r.status&ft&&(u++,$.push(G(r))),!1!==i)return i;r.status&mt&&(c++,t.pos>f&&t.bck(f),k.length>m&&(k.length=m))}return u>0?v.status|=ft:v.status&=ht,_===c&&u>0?v.status|=mt:v.status&=gt,v.status&&!v.$msg&&$.length&&(v.$msg=$.join(" | ")),!1}if(Vt&x){b=!!(x&Pt),b?v.status|=ft:v.status&=ht,d=0;do r=U(w[d++],b,O,y),i=B(r,t,n,o);while(_>d&&!1===i&&!(r.status&ft));if(!1!==i){if(!0!==i||Tt!==r.type)for(g=_-1;g>=d;g--)p(k,m+_-g-1,U(w[g],1,O,y));return i}return r.status&mt?(b?v.status|=mt:v.status&=gt,t.pos>f&&t.bck(f),k.length>m&&(k.length=m)):b&&r.status&ft&&(v.status|=mt),v.status&&!v.$msg&&(v.$msg=G(r)),!1}if(Yt===x)return v.status=0,!1;if(Kt===x)return v.status=0,!1;for(l=v.found,s=v.min,a=v.max,v.status=0,$=[],g=0;_>g;g++){if(r=U(w[g],1,O,y),i=B(r,t,n,o),!1!==i){if(++l,a>=l)return v.found=l,p(k,m,U(v,0,0,y)),v.found=0,i;break}r.status&ft&&(u++,$.push(G(r))),r.status&mt&&(t.pos>f&&t.bck(f),k.length>m&&(k.length=m))}return s>l&&(v.status|=ft),(l>a||s>l&&u>0)&&(v.status|=mt),v.status&&!v.$msg&&$.length&&(v.$msg=$.join(" | ")),!1}function Z(e,t){var n=this;n.id=e?g("state"):"state",t instanceof Z?(n.line=t.line,n.bline=t.bline,n.status=t.status,n.stack=t.stack.slice(),n.block=t.block,n.token=t.token,n.status&ct?(n.queu=t.queu,n.symb=t.symb,n.ctx=t.ctx,n.err=t.err):(n.queu=null,n.symb=null,n.ctx=null,n.err=null),n.$eol$=t.$eol$,n.$blank$=t.$blank$):(n.line=-1,n.bline=-1,n.status=t||0,n.stack=[],n.block=null,n.token=null,n.status&ct?(n.queu=[],n.symb={},n.ctx=[],n.err={}):(n.queu=null,n.symb=null,n.ctx=null,n.err=null),n.$eol$=!0,n.$blank$=!0),n.toString=function(){return n.id+"_"+n.line+"_"+n.bline+"_"+(n.block?n.block.name:"0")}}function H(e){e.id=null,e.line=null,e.bline=null,e.status=null,e.stack=null,e.block=null,e.token=null,e.queu=null,e.symb=null,e.ctx=null,e.err=null}function J(e,t,n){var o=new String(e);return o.start=t||0,o.pos=n||0,o.sol=function(){return 0===o.pos},o.eol=function(){return o.pos>=o.length},o.end=function(){return o.pos=o.length,o},o.mov=function(e){return o.pos=0>e?mn(0,o.pos+e):hn(o.length,o.pos+e),o},o.bck=function(e){return o.pos=mn(0,e),o},o.sft=function(){return o.start=o.pos,o},o.nxt=function(e,t){var n,r,i="";if(!0===e){for(t=t||J.$NONSPC$;o.poss||s>=t)return l+(t-i);l+=s-i,l+=n-l%n,i=s+1}}function et(e,o){return Tn&t(e)&&(e=y("\\b("+n(a(e).sort(Pn),$).join("|")+")\\b")),!1===o?function(t){return!t||!e.test(t)}:function(t){return!!t&&e.test(t)}}function tt(e,t,n){for(;;){n.lastIndex=e.col;var o=n.exec(e.text);if(!o){if(e.next()){e.text=e.line(e.row);continue}return}{if(t(e.token(e.row,o.index+1)))return e.col=o.index+o[0].length,o;e.col=o.index+1}}}function nt(e,t,n,o,r,i){for(var l,s,a;;){if(l=e.text.indexOf(r,e.col),-1===l){if(e.next()){e.text=e.line(e.row);continue}return}if(t(e.token(e.row,l+1)))return s=e.text.lastIndexOf(i,l),a=s>-1&&!J.$NOTEMPTY$.test(e.text.slice(s+1,l)),e.col=l+1,a?"autoclosed":"regular";e.col=l+1}}function ot(e){var t=e?e.data:null;t&&t.load&&t.ace_worker_base&&(importScripts(t.ace_worker_base),ace.define("ace/grammar_worker",["require","exports","module","ace/worker/mirror"],function(e,t){var n=e("./worker/mirror").Mirror;t.AceGrammarWorker=k(n,{constructor:function(e){var t=this;n.call(t,e),t.setTimeout(300)},$parser:null,init_parser:function(e,t){var n=this;n.$parser=new no(A(e),null,!1),n.sender.callback(1,t)},onUpdate:function(){var e,t,n,o,r,i=this,l=i.sender,s=i.$parser;if(!s)return void l.emit("ace_grammar_worker_ok",null);if(e=i.doc.getValue(),!e||!e.length)return void l.emit("ace_grammar_worker_ok",null);if(t=s.parse(e,ct),!t)return void l.emit("ace_grammar_worker_ok",null);r=[];for(n in t)t[an](n)&&(o=t[n],r.push({row:o[0],column:o[1],text:o[4]||"Syntax Error",type:"error",raw:o[4]||"Syntax Error",range:[o[0],o[1],o[2],o[3]]}));r.length?l.emit("ace_grammar_worker_error",r):l.emit("ace_grammar_worker_ok",null)}})}))}function rt(e,t){e[t]||(e[t]=[]);var n,o=e[t];if(o&&o.length)for(n=0;nr;r++)i=t[r],i.range&&(l.push(e.addMarker(new o(i.range[0],i.range[1],i.range[2],i.range[3]),"ace_error-marker","text",0)),m(i,"range"))}function lt(e,t){rt(e,t),e.clearAnnotations()}function st(e,t,n,o){it(e,t,n,o),e.setAnnotations(t)}function at(e,t,n){n=n||to;var o=i(e),r=n.require("ace/range").Range,l=n.require("ace/worker/worker_client").WorkerClient,s=k(l,{constructor:function(e,t,o,r){var i=this,l=n.require,s=n.config;if(i.$sendDeltaQueue=i.$sendDeltaQueue.bind(i),i.changeListener=i.changeListener.bind(i),i.onMessage=i.onMessage.bind(i),l.nameToUrl&&!l.toUrl&&(l.toUrl=l.nameToUrl),!r)if(s.get("packaged")||!l.toUrl)r=r||s.moduleUrl(t,"worker");else{var a=i.$normalizePath;r=r||a(l.toUrl("ace/worker/worker.js",null,"_"));var u={};e.forEach(function(e){u[e]=a(l.toUrl(e,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{i.$worker=new Worker(r)}catch(c){if(!(c instanceof window.DOMException))throw c;var p=i.$workerBlob(r),f=window.URL||window.webkitURL,m=f.createObjectURL(p);i.$worker=new Worker(m),f.revokeObjectURL(m)}i.$worker.postMessage({load:!0,ace_worker_base:Xn.base+"/"+s.moduleUrl("ace/worker/json")+eo}),i.$worker.postMessage({init:!0,tlns:u,module:t,classname:o}),i.callbackId=1,i.callbacks={},i.$worker.onmessage=i.onMessage}}),a=n.require("ace/mode/folding/fold_mode").FoldMode,u=k(a,{constructor:function(e){var t=this;a.call(t),t.$findFold=e,t.$lastFold=null},getFoldWidget:function(e,t,n){var o=this.$lastFold=this.$findFold(e,t,n); -return o?"markbeginend"===t&&o.end?"end":"start":""},getFoldWidgetRange:function(){var e=this.$lastFold;return e?new r(e[0],e[1],e[2],e[3]):void 0}}),c=n.require("ace/mode/text").Mode,p=k(c,{constructor:function f(){var e=this;c.call(e),e.$id=f.$id,e.$tokenizer=f.$parser,e.lineCommentStart=f.$parser.LC,e.blockComment=f.$parser.BC,e.foldingRules=new u(e.folder.bind(e))},supportGrammarAnnotations:!1,createWorker:function(e){if(!this.supportGrammarAnnotations)return lt(e,p.$markers),null;var t=new s(["ace"],"ace/grammar_worker","AceGrammarWorker",Xn.file+eo);return t.attachToDocument(e.getDocument()),t.call("init_parser",[o],function(){t.on("ace_grammar_worker_error",function(t){var n=t.data;st(e,n,p.$markers,r)}),t.on("ace_grammar_worker_ok",function(){lt(e,p.$markers)})}),t.on("terminate",function(){lt(e,p.$markers)}),t},supportCodeFolding:!0,folder:function m(e,t,n){return this.supportCodeFolding?p.$folder(e,t,n,m.options||{}):null},supportAutoCompletion:!0,autocompleter:function h(e,t,n,o){return this.supportAutoCompletion?p.$autocompleter(e,t,n,o,h.options||{}):[]},getKeywords:function(){return[]},getCompletions:function(e,t,n,o){return this.autocompleter(e,t,n,o)},dispose:function(){var e=this;e.$tokenizer=e.foldingRules=e.autocompleter=null,p.dispose()}});return p.$id=g("ace_grammar_mode"),p.$markers=p.$id+"$markers",p.$parser=new oo.Parser(A(e),t),p.$folder=function d(e,t,o){var r,i,d=p.$parser,l=d.fold(e,o,n);if("markbeginend"===t){if(l)return l.start=!0,l.end=!1,l;for(i=o,r=mn(0,o-200);o>r&&(!l||i!==l[2]);)l=d.fold(e,--o,n);if(l&&i===l[2])return l.start=!1,l.end=!0,l}else if(l)return l.start=!0,l.end=!1,l},p.$autocompleter=function(e,t,o,r,i){return p.$parser.autocomplete(e,t,o,r,i,n)},p.dispose=function(){p.$parser&&p.$parser.dispose(),p.$parser=p.$folder=p.$autocompleter=p.autocompleter=null},new p}var ut=1,ct=2,pt=32,ft=4,mt=8,ht=~ft,gt=~mt,dt=ft|mt,kt=0,$t=4,yt=8,bt=16,vt=17,xt=32,wt=33,_t=128,Ot=129,St=2,qt=4,Et=8,Lt=4,Mt=8,Ft=9,Rt=16,jt=32,Tt=128,Dt=256,Ct=512,At=1024,Nt=1025,zt=2048,Pt=4096,It=8192,Ut=8193,Gt=8194,Wt=8195,Bt=16384,Yt=Bt,Kt=16385,Qt=32768,Vt=Pt|Qt,Zt=zt|Pt|It|Bt|Qt,Ht={action:Lt,simple:Ct,block:At,comment:Nt,alternation:zt,sequence:Pt,repeat:It,zeroorone:Ut,zeroormore:Gt,oneormore:Wt,positivelookahead:Yt,negativelookahead:Kt,ngram:Qt},Jt="$|SOF|$",Xt="$|NONBLANK|$",en="$|SOL|$",tn="$|EOL|$",nn="$|ENDLINE|$",on="$|EMPTY|$",rn="$|NONSPACE|$",ln=void 0,sn="prototype",an="hasOwnProperty",un="propertyIsEnumerable",cn=Object[sn],pn=cn.toString,fn=Object.create,mn=Math.max,hn=Math.min,gn="toLowerCase",dn="charAt",kn=1/0,$n=4,yn=8,bn=16,vn=32,xn=33,wn=34,_n=64,On=128,Sn=129,qn=130,En=256,Ln=512,Mn=1024,Fn=2048,Rn=4096,jn=On|vn,Tn=On|En,Dn=Fn|En,Cn=On|En|Fn,An={"[object Number]":vn,"[object String]":On,"[object Array]":En,"[object RegExp]":Fn,"[object Date]":Rn,"[object Function]":Mn,"[object Object]":Ln},Nn=/^\s+|\s+$/g,zn=String[sn].trim?function(e){return e.trim()}:function(e){return e.replace(Nn,"")},Pn=function(e,t){return t.length-e.length},In=/\r\n|\r|\n/g,Un=/[\-_]/g,Gn=0,Wn=/([.*+?^${}()|[\]\/\\\-])/g,Bn=/^([.!&\[\]{}()*+?\/|'"]|\s)/,Yn="(\\s|\\W|$)",Kn=/[*+]$/;J.$SPC$=/^[\s\u00a0]+/,J.$NONSPC$=/[^\s\u00a0]/,J.$NOTEMPTY$=/\S/,J.$SPACE$=/^\s*/;var Qn=k({constructor:function(e,t,n){var o=this;o.$grammar=e,o.$DEF=t||null,o.$ERR=n||null,o.DEF=o.$DEF,o.ERR=o.$ERR,o.$folders=[]},$grammar:null,$folders:null,$n$:"name",$t$:"type",$v$:"token",$DEF:null,$ERR:null,DEF:null,ERR:null,dispose:function(){var e=this;return e.$grammar=null,e.$folders=null,e.$n$=e.$t$=e.$v$=null,e.$DEF=e.$ERR=e.DEF=e.ERR=null,e},token:function(e,t){var n,o,r,i,l,s,a,u,c,p,m,h,g,d,k,$=this,y=$.$grammar,b=y.Style,v=$.DEF,x=$.ERR,w={},_=$.$n$,O=$.$t$,S=$.$v$,q=y.$interleaved,E=y.$parser,L=E.length,M=q?q.length:0;if(e.sol()&&(t.$eol$&&(t.$blank$&&(t.bline=t.line),t.$eol$=!1,t.line++),t.$blank$=t.bline+1===t.line),t.$actionerr$=!1,i=t.stack,l=t.line,s=e.pos,m=!1,g=!0,h=!1,d=!1,k=t.block?t.block.name:ln,i.length&&Rt===i[i.length-1].type&&e.sol()&&i.pop(),(!i.length||Dt!==i[i.length-1].type&&k!==i[i.length-1].name)&&e.spc()&&(g=!1,d=!0),w[_]=null,w[O]=v,w[S]=null,g)for(r=new I,a=0;g&&(i.length||L>a)&&!e.eol();){if(c=e.pos,p=i.length,M&&!t.block){for(u=0;M>u;u++)if(n=q[u],m=B(n,e,t,r),!1!==m){g=!1,t.token=n;break}if(!g)break}if(!i.length&&a>=L)break;if(n=i.length?i.pop():E[a++],m=B(n,e,t,r),!1===m){if(n.status&dt){f(i,n.$id),e.nxt(!0)||(e.spc(),d=!0),h=!0,g=!1,t.token=n;break}}else{if(i.length&&Lt===i[i.length-1].type)for(;i.length&&Lt===i[i.length-1].type;)o=i.pop(),Y(o,e,t,r),o.status&mt&&(t.$actionerr$=!0);else if(i.length>1&&e.eol()&&At&i[i.length-1].type&&t.block&&t.block.name===i[i.length-1].name)for(u=i.length-2;u>=0&&Lt===i[u].type;)o=i[u--],Y(o,e,t,r),o.status&mt&&(t.$actionerr$=!0);if(!0!==m){g=!1,t.token=n;break}}}return g&&e.nxt(1),w[S]=e.cur(1),!1!==m?(m=b[m]||v,w[_]=n.name):h?(m=x,t.status&ct&&W(t,l,s,l,e.pos,n)):m=v,w[O]=m,t.$eol$=e.eol(),t.$blank$=t.$blank$&&(d||t.$eol$),w},autocompletion:function(e,t){return M(e,t||[])},tokenize:function(e,t){var n=this,o=[];if(e.eol())t.line++,t.$blank$&&t.bline++;else for(;!e.eol();)o.push(n.token(e,t));return o},parse:function(e,t){var n,o,i,l,s,a=this,u=(e||"").split(In),c=u.length,p=null;if(t=t||ut,o=!!(t&ct),i=!!(t&ut),n=new Z(0,t),n.$full_parse$=!0,r(function(e){u[e]+="\n"},0,c-2),i?p=r(t&pt?function(e,t){t._=t._.concat(a.tokenize(J(u[e]),n,e))}:function(e,t){t._.push(a.tokenize(J(u[e]),n,e))},0,c-1,{_:[]})._:r(function(e){var t=J(u[e]);if(t.eol())n.line++,n.$blank$&&n.bline++;else for(;!t.eol();)a.token(t,n)},0,c-1),o&&n.queu&&n.queu.length)for(;n.queu.length;)l=n.queu.shift(),W(n,l[1],l[2],l[3],l[4],null,l[5]);return s=i&&o?{tokens:p,errors:n.err}:i?p:n.err,H(n),s},iterator:function(){},validate:function(){},autocomplete:function(){},indent:function(){},fold:function(){}}),Vn={Pattern:function(){return function(){}},Indented:function(e){return e=e||J.$NOTEMPTY$,function(t){var n,o,r,i,l,s,a,u,c,p=t.row;if(n=t.line(p),e.test(n)){for(o=t.indentation(n),s=null,l=n.length,u=p+1,c=t.last();c>=u;++u)if(r=t.line(u),i=t.indentation(r),i>o)s=u,a=r.length;else if(e.test(r))break;return s?[p,l,s,a]:void 0}}},Delimited:function(e,t,n){return e&&t?(n=n||s,function(o){var r,i,l,s,a,u,c,p,f,m,h,g,d,k,$,y=o.row,b=o.col;for(r=o.line(y),l=b,s=0;;){var a=0>=l?-1:r.lastIndexOf(e,l-1);if(-1!==a){if(1===s&&b>a)return;if(n(u=o.token(y,a+1))){i=a+e.length;break}l=a-1}else{if(1===s)return;s=1,l=r.length}}c=1,p=o.last();e:for(h=y;p>=h;++h)for(g=o.line(h),d=h===y?i:0;k=g.indexOf(e,d),$=g.indexOf(t,d),0>k&&(k=g.length),0>$&&($=g.length),d=hn(k,$),!(d>=g.length);){if(o.token(h,d+1)==u)if(d===k)++c;else if(!--c){f=h,m=d;break e}++d}return null==f||y===f&&m===i?void 0:[y,i,f,m]}):function(){}},MarkedUp:function(e,t,n,o,r){return e=e||s,t=t||"<",n=n||">",o=o||"/",r=r||y($(t)+"("+$(o)+"?)([a-zA-Z_\\-][a-zA-Z0-9_\\-:]*)","g"),function(i){i.col=0,i.min=i.first(),i.max=i.last(),i.text=i.line(i.row);for(var l,s,a,u,c,p,f,m,h,g=i.row;;){if(l=tt(i,e,r,t,n,o),!l||i.row!==g||!(s=nt(i,e,r,t,n,o)))return;if(!l[1]&&"autoclosed"!==s)for(a=[i.row,i.col],c=l[2],u=null,p=[];;){if(f=tt(i,e,r,t,n,o),g=i.row,m=i.col-(f?f[0].length:0),!f||!(s=nt(i,e,r,t,n,o)))return;if("autoclosed"!==s)if(f[1]){for(h=p.length-1;h>=0;--h)if(p[h]===f[2]){p.length=h;break}if(0>h&&(!c||c===f[2]))return[a[0],a[1],g,m]}else p.push(f[2])}}}}},Zn=!("undefined"==typeof global||"[object global]"!==pn.call(global)),Hn=!(Zn||"undefined"==typeof navigator),Jn=!!(Hn&&"function"==typeof importScripts&&navigator instanceof WorkerNavigator),Xn=function(e,t,n){var o,r=null,i=null,l=null;return e?(r=__filename,i=__dirname,l=__dirname):n?(r=self.location.href,i=r.split("/").slice(0,-1).join("/")):t&&(l=document.location.href.split("#")[0].split("?")[0].split("/").slice(0,-1).join("/"),(o=document.getElementsByTagName("script"))&&o.length&&(r=o[o.length-1].src,i=r.split("/").slice(0,-1).join("/"))),{path:i,file:r,base:l}}(Zn,Hn,Jn),eo="?nocache="+g("nonce")+"_"+~~(1e3*Math.random()),to="undefined"!=typeof ace?ace:{require:function(){return{}},config:{}},no=k(Qn,{constructor:function ro(e,n,o){var i,l=this,a=null;if(Qn.call(l,e,"text","invalid"),l.$v$="value",l.DEF=n||l.$DEF,l.ERR=e.Style.error||l.$ERR,l.LC=e.$comments.line||null,l.BC=e.$comments.block?{start:e.$comments.block[0][0],end:e.$comments.block[0][1]}:null,!1!==o){if(e.$comments.block&&e.$comments.block.length){i=ro.Type("comment");for(var u=0,c=e.$comments.block.length;c>u;u++)l.$folders.push(ro.Fold.Delimited(e.$comments.block[u][0],e.$comments.block[u][1],i))}e.Fold&&On&t(e.Fold)?a=e.Fold[gn]():e.$extra.fold&&(a=e.$extra.fold[gn]()),a&&(a=a.split("+"),r(function(t,n){var o=zn(n[t]);if("brace"===o||"cstyle"===o){var r=D(e,1);i=r.length?ro.Type(r,!1):s,l.$folders.push(ro.Fold.Delimited("{","}",i)),l.$folders.push(ro.Fold.Delimited("[","]",i))}else"indent"===o||"indentation"===o?l.$folders.push(ro.Fold.Indented()):("markup"===o||"html"===o||"xml"===o)&&(l.$folders.push(ro.Fold.Delimited("",ro.Type(["comment","tag"],!1))),l.$folders.push(ro.Fold.MarkedUp(ro.Type("tag"),"<",">","/")))},0,a.length-1,a))}},LC:null,BC:null,dispose:function(){var e=this;return e.LC=e.BC=null,Qn[sn].dispose.call(e)},getLineTokens:function(e,t,n){var o=this;return t=new Z(1,t),{tokens:o.tokenize(J(e),t,n),state:t}},autocomplete:function(e,t,n,r,i){var l=this;if(l.$grammar.$autocomplete){i=i||{};var s,a=i[an]("caseInsesitiveMatch")?!!i.caseInsesitiveMatch:!1,u=i[an]("prefixMatch")?!!i.prefixMatch:!0,c=i[an]("inContext")?!!i.inContext:!1,p=r,f=p[gn](),m=p.length;return s=c?l.autocompletion(e.stack.length?[e.token,e.stack[e.stack.length-1]]:[e.token]):l.$grammar.$autocomplete,s.length||(s=l.$grammar.$autocomplete),o(s,function(e,t){var n,o,r,i,l,s,c,h=t.word,g=h.length;return m?g>=m&&(n=t.meta,o=!!h.ci,c=a||o,c?(l=h[gn](),s=f):(l=h,s=p),(i=l.indexOf(s))>=0&&(!u||0===i)&&(r=c?h.indexOf(p):i,e.push({name:h,value:h,meta:n,score:1e3-10*(g-m)-5*(0>r?i+3:r)}))):e.push({name:h,value:h,meta:t.meta,score:1e3-10*g}),e},[])}return[]},iterator:function(e){var t=e.getTabSize();return{row:0,col:0,min:0,max:0,line:function(t){return e.getLine(t)},first:function(){return 0},last:function(){return e.getLength()-1},next:function(){var e=this;if(!(e.row>=e.max))return e.col=0,e.row++,!0},prev:function(){var e=this;if(!(e.row<=e.min))return e.col=0,e.row--,!0},indentation:function(e){return X(e,null,t)},token:function(t,n){return e.getTokenAt(t,n).type}}},fold:function(e,t,n){var o,r,i,l=this,s=l.$folders,a=s.length;if(a)for(r=l.iterator(e,n),r.row=t,r.col=0,o=0;a>o;o++)if(i=s[o](r))return i}});no.Type=et,no.Fold=Vn,Jn&&(onmessage=ot);var oo=e.AceGrammar={VERSION:"3.0.0",clone:i,extend:l,pre_process:C,parse:A,getMode:at,Parser:no};return e.AceGrammar}); \ No newline at end of file +**/!function(e,t,n){"use strict";var o;"object"==typeof module&&module.exports?module.exports=n.call(e,{}):"undefined"!=typeof System&&"function"==typeof System.register&&"function"==typeof System["import"]?System.register(t,[],function(o){o(t,n.call(e,{}))}):"function"==typeof define&&define.amd&&"function"==typeof require&&"function"==typeof require.specified&&require.specified(t)?define(t,["require","exports","module"],function(){return n.call(e,{})}):t in e||(e[t]=o=n.call(e,{}))&&"function"==typeof define&&define.amd&&define(function(){return o})}(this,"AceGrammar",function(e){"use strict";function t(e){var t=0;return null===e?t=bn:!0===e||!1===e||e instanceof Boolean?t=_n:ln===e?t=yn:(t=An[pn.call(e)]||$n,t=vn===t||e instanceof Number?isNaN(e)?wn:isFinite(e)?vn:xn:On===t||e instanceof String?1===e.length?Sn:On:En===t||e instanceof Array?En:Fn===t||e instanceof RegExp?Fn:Rn===t||e instanceof Date?Rn:Mn===t||e instanceof Function?Mn:Ln===t?Ln:$n),t}function n(e,t,n,o){var r,i,l,s,a,u,c=e.length;if(arguments.length<4&&(o=c-1),0>o&&(o+=c),arguments.length<3&&(n=0),n>o)return[];if(n===o)return[t(e[n],n,n,o)];for(l=o-n+1,s=15&l,a=1&s,u=new Array(l),a&&(u[0]=t(e[n],n,n,o)),r=a;s>r;r+=2)i=n+r,u[r]=t(e[i],i,n,o),u[r+1]=t(e[i+1],i+1,n,o);for(r=s;l>r;r+=16)i=n+r,u[r]=t(e[i],i,n,o),u[r+1]=t(e[i+1],i+1,n,o),u[r+2]=t(e[i+2],i+2,n,o),u[r+3]=t(e[i+3],i+3,n,o),u[r+4]=t(e[i+4],i+4,n,o),u[r+5]=t(e[i+5],i+5,n,o),u[r+6]=t(e[i+6],i+6,n,o),u[r+7]=t(e[i+7],i+7,n,o),u[r+8]=t(e[i+8],i+8,n,o),u[r+9]=t(e[i+9],i+9,n,o),u[r+10]=t(e[i+10],i+10,n,o),u[r+11]=t(e[i+11],i+11,n,o),u[r+12]=t(e[i+12],i+12,n,o),u[r+13]=t(e[i+13],i+13,n,o),u[r+14]=t(e[i+14],i+14,n,o),u[r+15]=t(e[i+15],i+15,n,o);return u}function o(e,t,n,o,r){var i,l,s,a,u,c=e.length,p=n;if(arguments.length<5&&(r=c-1),0>r&&(r+=c),arguments.length<4&&(o=0),o>r)return p;if(o===r)return t(p,e[o],o);for(s=r-o+1,a=15&s,u=1&a,u&&(p=t(p,e[o],o)),i=u;a>i;i+=2)l=o+i,p=t(t(p,e[l],l),e[l+1],l+1);for(i=a;s>i;i+=16)l=o+i,p=t(t(t(t(t(t(t(t(t(t(t(t(t(t(t(t(p,e[l],l),e[l+1],l+1),e[l+2],l+2),e[l+3],l+3),e[l+4],l+4),e[l+5],l+5),e[l+6],l+6),e[l+7],l+7),e[l+8],l+8),e[l+9],l+9),e[l+10],l+10),e[l+11],l+11),e[l+12],l+12),e[l+13],l+13),e[l+14],l+14),e[l+15],l+15);return p}function r(e,t,n,o){if(t>n)return o;if(t===n)return e(t,o,t,n),o;var r,i,l=n-t+1,s=15&l,a=1&s;for(a&&e(t,o,t,n),r=a;s>r;r+=2)i=t+r,e(i,o,t,n),e(++i,o,t,n);for(r=s;l>r;r+=16)i=t+r,e(i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n),e(++i,o,t,n);return o}function i(e,n){var o,r,l,s,a=t(e),u=0;if(vn===t(n)?n>0?(u=n,n=!0):n=!1:n=!1!==n,Ln===a){r={};for(l in e)e[an](l)&&e[un](l)&&(o=t(e[l]),r[l]=Ln===o?n?i(e[l],u>0?u-1:n):e[l]:En===o?n?i(e[l],u>0?u-1:n):e[l].slice():Rn===o?new Date(e[l]):On&o?e[l].slice():vn&o?0+e[l]:e[l])}else if(En===a)for(s=e.length,r=new Array(s),l=0;s>l;l++)o=t(e[l]),r[l]=Ln===o?n?i(e[l],u>0?u-1:n):e[l]:En===o?n?i(e[l],u>0?u-1:n):e[l].slice():Rn===o?new Date(e[l]):On&o?e[l].slice():vn&o?0+e[l]:e[l];else r=Rn===a?new Date(e):On&a?e.slice():vn&a?0+e:e;return r}function l(){var e,n,o,r,s,a,u,c,p,f,m=arguments,h=m.length;if(1>h)return null;for(n=i(m[0]),o=1;h>o;o++)if(e=m[o])for(r in e)if(e[an](r)&&e[un](r))if(n[an](r)&&n[un](r)){if(p=t(n[r]),f=t(e[r]),Ln===p&&Ln===f)n[r]=l(n[r],e[r]);else if(En===p&&En===f){if(u=n[r],c=e[r],a=c.length,!a)continue;if(u.length)for(s=0;a>s;s++)0>u.indexOf(c[s])&&u.push(c[s]);else n[r]=c.slice()}}else n[r]=i(e[r]);return n}function s(){return!0}function a(e,n){return n||En!==t(e)?[e]:e}function u(e,n){return e=a(e),(n||En!==t(e[0]))&&(e=[e]),e}function c(e,n){return On&t(n)&&On&t(e)&&n.length&&n.length<=e.length&&n===e.substr(0,n.length)}function p(e,t,n){return tn&&e[o-n-1].$id===t;)n++;n&&(e.length=o-n)}return e}function m(e,t,n){return n?e[t]=ln:delete e[t],e}function h(e){return(e||"id_")+ ++Gn}function g(e){return(e||"uuid")+"_"+ ++Gn+"_"+(new Date).getTime()}function d(){var e,n,o,r,i,l,s=arguments,a=s.length;for(e=s[0]||{},i=1;a>i;i++)if(n=s[i],Ln===t(n))for(r in n)n[an](r)&&n[un](r)&&(o=n[r],l=t(o),e[r]=vn&l?0+o:Rn&l?new Date(o):Tn&l?o.slice():o);return e}function k(e,t){var n,o=arguments.length,r="constructor";return 0===o?(e=Object,t={}):1===o?(t=e||{},e=Object):(e=e||Object,t=t||{}),t[an](r)||(t[r]=function(){}),n=t[r],delete t[r],n[sn]=d(fn(e[sn]),t),n[sn][r]=n,n}function $(e){return e.replace(Wn,"\\$1")}function y(e,t){return new RegExp(e,t||"")}function b(e,t,n,o){var r,i,l,s,a=e.pos,u=e.length,c="",p=!!n;if(p){for(o=!!o,i=!1,s=0;u>a&&(r=e[dn](a++),t!==r||i);)l=n===r,i=!i&&l,o?(l&&s++,(!l||2&s)&&(c+=r,s=0)):c+=r;2&s&&(c+=n)}else for(;u>a&&(r=e[dn](a++),t!==r);)c+=r;return e.pos=a,c}function v(e,n,o){var r,i,l,s,a,u=!0===o?0:1;for(On&t(n)&&(n=[n,n,n],u=0),i=e.length,a="",r=0;i>r;)l=e[dn](r),i>r+1&&"$"===l?(s=e.charCodeAt(r+1),36===s?(a+="$",r+=2):s>=48&&57>=s?(a+=n[u+s-48]||"",r+=2):(a+=l,r+=1)):(a+=l,r+=1);return a}function x(e,n,o,r){if(!e||(vn|Fn)&t(e))return e;var i,l=n?n.length||0:0,s="";if(On&t(r)?s=r:r&&(s=Yn),l&&n===e.substr(0,l)){var a,u,c,i,p,f=e.substr(l),m=f[dn](0),h="";for(i=f.length;i--&&(p=f[dn](i),m!==p);)"i"===p.toLowerCase()&&(h="i");return a=f.substring(1,i),u="^("+a+")",o[u]||(c=y(u,h),o[u]=c),o[u]}return s?(u="^("+$(e)+")"+s,o[u]||(c=y(u,h),o[u]=c),o[u]):e}function w(e,o,r){var i,l="";return On&t(o)?l=o:o&&(l=Yn),i=n(e.sort(Pn),$).join("|"),[y("^("+i+")"+l,r?"i":""),1]}function _(e,n,o,r){var i=t(n);if(vn===i)return n;if(r[e])return r[e];o=o||0;var l,s=0;return n&&n.isCharList&&(s=1,m(n,"isCharList")),l=bn===i?new N(St,e,n,bn,o):Sn===i?new N(St,e,n,Sn,o):Dn&i?new N(St,e,n,Fn,o):On&i?new N(St,e,n,s?qn:On,o):n,r[e]=l}function O(e,n,o,r,i,l,s){if(s[e])return s[e];var u,p,f,m,h,g,d,k=0,$=0,y=1,b=On&t(r)?!0:!!r;if(u=a(n),f=u.length,1===f)d=_(e,x(u[0],o,l,r),0,s);else if(f>1){for(m=(f>>>1)+1,p=0;m>=p;p++)h=t(u[p]),g=t(u[f-1-p]),(Sn!==h||Sn!==g)&&(y=0),En&h||En&g?k=1:(Fn&h||Fn&g||c(u[p],o)||c(u[f-1-p],o))&&($=1);if(y&&!b)u=u.slice().join(""),u.isCharList=1,d=_(e,u,0,s);else if(!b||k||$)if(k||$){for(p=0;f>p;p++)u[p]=En&t(u[p])?O(e+"_"+p,u[p],o,r,i,l,s):_(e+"_"+p,x(u[p],o,l),p,s);d=f>1?new N(qt,e,u):u[0]}else{for(u=u.sort(Pn),p=0;f>p;p++)u[p]=_(e+"_"+p,x(u[p],o,l),p,s);d=f>1?new N(qt,e,u):u[0]}else d=_(e,w(u,r,i),0,s)}return s[e]=d}function S(e,n,o,i,l){if(l[e])return l[e];var s=u(n),a=[],p=[];return r(function(n){var r,u;r=_(e+"_0_"+n,x(s[n][0],o,i),n,l),u=s[n].length>1?Fn!==r.ptype||On!==t(s[n][1])||c(s[n][1],o)?_(e+"_1_"+n,x(s[n][1],o,i),n,l):s[n][1]:r,a.push(r),p.push(u)},0,s.length-1),l[e]=new N(Et,e,[a,p])}function q(e,t){var n=u(e.tokens.slice());r(function(e){var o=n[e][0],r=n[e].length>1?n[e][1]:n[e][0],i=n[e].length>2?n[e][2]:"";null===r?(t.line=t.line||[],t.line.push(o)):(t.block=t.block||[],t.block.push([o,r,i]))},0,n.length-1)}function E(e,t,o,r){var i=e.meta||o,l=!(!e.caseInsesitive&&!e.ci),s=n(t,function(e){return{word:e,meta:i,ci:l}});return r.autocomplete=(r.autocomplete||[]).concat(s),s}function L(e){e.Lex||(e.Lex={}),e.Syntax||(e.Syntax={});var n,o,r,i,s,a,u,c,p,f,h,g=e.Lex,d=e.Syntax,k=[g,d],$=k.length;for(h=0;$>h;){f=k[h++];for(r in f)f[an](r)&&(n=r.split(":"),o=n[1]&&zn(n[1]).length?zn(n[1]):null,n=zn(n[0]),n.length||(n=r,o=null),n!==r&&(f[n]=f[r],m(f,r),o&&(o=o[gn](),i=f[n],s=t(i),Ln===s?f[n].type||(f[n].type=o):(f[n]={type:o},"error"===o?(f[n].type="action",f[n].error=i):"nop"===o?(f[n].type="action",f[n].nop=!0):"group"===o?(f[n].type="sequence",f[n].tokens=i):"action"===o&&On===s?f[n][i]=!0:f[n].tokens=i))),g===f&&(Cn&t(f[n])&&(f[n]={type:"simple",tokens:f[n]}),i=f[n],i.type&&(c=i.type=i.type[gn](),"line-block"===c?(i.type="block",i.multiline=!1,i.escape=!1):"escaped-line-block"===c?(i.type="block",i.multiline=!1,i.escape="\\"):"escaped-block"===c&&(i.type="block",i.multiline=!0,i.escape="\\"))))}f=g;for(n in f)if(f[an](n))for(i=f[n];i.extend;)a=i.extend,m(i,"extend"),u=g[a],u&&(Cn&t(u)&&(u=g[a]={type:"simple",tokens:u}),i=l(u,i));f=g;for(n in f)f[an](n)&&(i=f[n],i.type?(c=i.type=i.type[gn](),"line-block"===c?(i.type="block",i.multiline=!1,i.escape=!1):"escaped-line-block"===c?(i.type="block",i.multiline=!1,i.escape="\\"):"escaped-block"===c&&(i.type="block",i.multiline=!0,i.escape="\\")):i["escaped-line-block"]?(i.type="block",i.multiline=!1,i.escape||(i.escape="\\"),i.tokens=i["escaped-line-block"],m(i,"escaped-line-block")):i["escaped-block"]?(i.type="block",i.multiline=!0,i.escape||(i.escape="\\"),i.tokens=i["escaped-block"],m(i,"escaped-block")):i["line-block"]?(i.type="block",i.multiline=!1,i.escape=!1,i.tokens=i["line-block"],m(i,"line-block")):i.comment?(i.type="comment",i.escape=!1,i.tokens=i.comment,m(i,"comment")):i.block?(i.type="block",i.tokens=i.block,m(i,"block")):i.simple?(i.type="simple",i.tokens=i.simple,m(i,"simple")):i.nop?(i.type="action",i.action=["nop",i.nop,!1],i.nop=!0):i.error?(i.type="action",i.action=["error",i.error,!!i["in-context"]],m(i,"error")):i[an]("context")?(i.type="action",i.action=[i.context?"context-start":"context-end",i.context,!!i["in-context"]],m(i,"context")):i.indent?(i.type="action",i.action=["indent",i.indent,!!i["in-context"]],m(i,"indent")):i.outdent?(i.type="action",i.action=["outdent",i.outdent,!!i["in-context"]],m(i,"outdent")):i.unique?(i.type="action",i.action=["unique",On&t(i.unique)?["_DEFAULT_",i.unique]:i.unique,!!i["in-context"]],m(i,"unique")):i.push?(i.type="action",i.action=["push",i.push,!!i["in-context"]],m(i,"push")):i[an]("pop")?(i.type="action",i.action=["pop",i.pop,!!i["in-context"]],m(i,"pop")):i.type="simple","action"===i.type?i.ci=!(!i.caseInsesitive&&!i.ci):"block"===i.type||"comment"===i.type?(i.multiline=i[an]("multiline")?!!i.multiline:!0,On&t(i.escape)||(i.escape=!1)):"simple"===i.type&&(i.meta=i.autocomplete&&On&t(i.meta)?i.meta:null,i.ci=!(!i.caseInsesitive&&!i.ci)));f=d;for(n in f)f[an](n)&&(i=f[n],Ln!==t(i)||i.type?i.type&&(c=i.type=i.type[gn](),"group"===c&&i.match?(s=t(i.match),On&s?(p=i.match[gn](),"alternation"===p||"either"===p?(i.type="alternation",m(i,"match")):"sequence"===p||"all"===p?(i.type="sequence",m(i,"match")):"zeroorone"===p?(i.type="zeroOrOne",m(i,"match")):"zeroormore"===p?(i.type="zeroOrMore",m(i,"match")):"oneormore"===p?(i.type="oneOrMore",m(i,"match")):(i.type="sequence",m(i,"match"))):En&s&&(i.type="repeat",i.repeat=i.match,m(i,"match"))):"either"===c?i.type="alternation":"all"===c?i.type="sequence":"lookahead"===c&&(i.type="positiveLookahead")):i.ngram||i["n-gram"]?(i.type="ngram",i.tokens=i.ngram||i["n-gram"],i["n-gram"]?m(i,"n-gram"):m(i,"ngram")):i.sequence||i.all?(i.type="sequence",i.tokens=i.sequence||i.all,i.all?m(i,"all"):m(i,"sequence")):i.alternation||i.either?(i.type="alternation",i.tokens=i.alternation||i.either,i.either?m(i,"either"):m(i,"alternation")):i.zeroOrOne?(i.type="zeroOrOne",i.tokens=i.zeroOrOne,m(i,"zeroOrOne")):i.zeroOrMore?(i.type="zeroOrMore",i.tokens=i.zeroOrMore,m(i,"zeroOrMore")):i.oneOrMore?(i.type="oneOrMore",i.tokens=i.oneOrMore,m(i,"oneOrMore")):i.positiveLookahead||i.lookahead?(i.type="positiveLookahead",i.tokens=i.positiveLookahead||i.lookahead,i.lookahead?m(i,"lookahead"):m(i,"positiveLookahead")):i.negativeLookahead&&(i.type="negativeLookahead",i.tokens=i.negativeLookahead,m(i,"negativeLookahead")));return e}function M(e,n){if(n=n||[],!e||!e.length)return n;var o,r,i,l,s,a;for(o=0,r=e.length;r>o;o++)if(s=e[o])if(Ct===s.type)s.autocompletions?n.push.apply(n,s.autocompletions):On===s.token.ptype&&On&t(s.token.pattern)&&s.token.pattern.length>1&&n.push({word:""+s.token.pattern,meta:s.name,ci:!!s.ci});else if(zt===s.type)M(s.token,n);else if(Vt&s.type){i=0,l=s.token.length;do M([a=s.token[i++]],n);while(l>i&&(It&a.type&&0===a.min||Lt===a.type))}else It&s.type&&M([s.token[0]],n);return n}function F(e,n,o,r){for(var i;On&t(i=n[e]||o[e]);)e=i;return r?e:n[e]||o[e]||e}function R(e,t){return e.length>1?r(t?function(t,n){var o=n[n.length-1],r=e[t];o===r||n.push(r)}:function(t,n){var o=n[n.length-1],r=e[t];Kn.test(r)&&Kn.test(o)&&o===r||n.push(r)},1,e.length-1,[e[0]]):e}function j(e,o,r){var l,s,a,u,c,p,f,m,h,g,d,k,v,x,w,_=!1;if(w=e.modifier?e.modifier:null,m=new String(zn(e)),m.pos=0,1===m.length)k=""+e,o[k]||r[k]||(o[k]={type:"simple",tokens:e}),e=k;else{for(l=[],s=[],a="",v=[];m.posc[0]&&(c[0]=0),2>c.length?c.push(c[0]):c[1]=c[1].length?parseInt(c[1],10)||kn:kn,0>c[1]&&(c[1]=0),d=s[s.length-1],k=""+d+["{",c[0],",",isFinite(c[1])?c[1]:"","}"].join(""),r[k]||(r[k]={type:"repeat",repeat:[c[0],c[1]],tokens:[d]}),s[s.length-1]=k):a+=h;else{if("}"===h){a+=h;continue}"&"===h||"!"===h?a+=h:"|"===h?(_=!1,s=R(s),s.length>1?(k=""+s.join(" "),r[k]||(r[k]={type:"sequence",tokens:s}),l.push(k)):s.length?l.push(s[0]):a+=h,s=[]):"("===h?(v.push([s,l,a]),s=[],l=[],a=""):")"===h&&(s=R(s),s.length>1?(k=""+s.join(" "),r[k]||(r[k]={type:"sequence",tokens:s}),l.push(k)):s.length&&l.push(s[0]),s=[],l=R(l,1),l.length>1?(k=""+l.join(" | "),r[k]||(r[k]={type:"alternation",tokens:l})):l.length&&(k=l[0]),l=[],x=v.pop(),s=x[0],l=x[1],a=x[2],d=k,k="("+d+")",r[k]||(r[k]=i(F(d,o,r))),s.push(k))}}else a+=h;a.length&&(_?(s.length&&(d=s[s.length-1],k=d+"."+a,p=o[k]||r[k],p||(f=F(d,o,r),r[k]=On&t(f)?new String(f):i(f),r[k].modifier=a),s[s.length-1]=k),_=!1):"0"===a?(o[on]||(o[on]={type:"simple",tokens:0}),s.push(on)):"^^"===a?(o[Jt]||(o[Jt]={type:"simple",tokens:Mt}),s.push(Jt)):"^^1"===a?(o[Xt]||(o[Xt]={type:"simple",tokens:Ft}),s.push(Xt)):"^"===a?(o[en]||(o[en]={type:"simple",tokens:jt}),s.push(en)):"$"===a?(o[tn]||(o[tn]={type:"simple",tokens:Rt}),s.push(tn)):(o[a]||r[a]||(o[a]={type:"simple",tokens:a}),s.push(a))),a="",s=R(s),s.length>1?(k=""+s.join(" "),r[k]||(r[k]={type:"sequence",tokens:s}),l.push(k)):s.length&&l.push(s[0]),s=[],l=R(l,1),l.length>1?(k=""+l.join(" | "),r[k]||(r[k]={type:"alternation",tokens:l}),e=k):l.length&&(e=l[0]),l=[]}return w&&(o[e]||r[e])&&((o[e]||r[e]).modifier=w),e}function T(e,i,l,s,c,p,f,m,h,g,d){var k,$,y,b,v,x,w,_=null,L=null,M=null;if(Mt===e||Ft===e||jt===e||Rt===e)return new P(e,Mt===e?Jt:Ft===e?$T_FBNL$:jt===e?en:tn,e,L);if(!1===e||0===e)return new P(Tt,on,0,L);if(""===e)return new P(Dt,rn,"",L);if(null===e)return new P(Ct,nn,bn,L,M);if(En&t(e)&&(y=e,e="NGRAM_"+y.join("_"),s[e]||(s[e]={type:"ngram",tokens:y})),e=""+e,m[e])return m[e];if(v=F(e,l,s),On&t(v)&&(v=j(v,l,s),v=l[v]||s[v]||null),!v)return null;if(k=v.type?Ht[v.type[gn]().replace(Un,"")]||Ct:Ct,L=v.msg||null,M=v.modifier||null,$=v.tokens,Ct&k){if(Mt===$||Ft===$||jt===$||Rt===$||!1===$||0===$)return _=new P($||Tt,e,$||0,L),m[e]=_,_;if(""===$)return _=new P(Dt,e,"",L),m[e]=_,_;if(null===$)return _=new P(Ct,e,bn,L,M),m[e]=_,_;if(!$)return null}if(Lt&k)v[an]("action")?"nop"===v.action[0]?v.action[0]=kt:"error"===v.action[0]?v.action[0]=$t:"context-start"===v.action[0]?v.action[0]=bt:"context-end"===v.action[0]?v.action[0]=vt:"push"===v.action[0]?v.action[0]=xt:"pop"===v.action[0]?v.action[0]=wt:"unique"===v.action[0]?v.action[0]=yt:"indent"===v.action[0]?v.action[0]=_t:"outdent"===v.action[0]&&(v.action[0]=Ot):v[an]("nop")?v.action=[kt,v.nop,!!v["in-context"]]:v[an]("error")?v.action=[$t,v.error,!!v["in-context"]]:v[an]("context")?v.action=[v.context?bt:vt,v.context,!!v["in-context"]]:v[an]("context-start")?v.action=[bt,v["context-start"],!!v["in-context"]]:v[an]("context-end")?v.action=[vt,v["context-end"],!!v["in-context"]]:v[an]("push")?v.action=[xt,v.push,!!v["in-context"]]:v[an]("pop")?v.action=[wt,v.pop,!!v["in-context"]]:v[an]("unique")?v.action=[yt,On&t(v.unique)?["_DEFAULT_",v.unique]:v.unique,!!v["in-context"]]:v[an]("indent")?v.action=[_t,v.indent,!!v["in-context"]]:v[an]("outdent")&&(v.action=[Ot,v.outdent,!!v["in-context"]]),v.nop&&(v.action[0]=kt),_=new P(Lt,e,v.action.slice(),L,M),_.ci=!!v.caseInsensitive||v.ci,m[e]=_;else if($=a($),Ct&k){if(w=v.autocomplete?E(v,a(Tn&t(v.autocomplete)?v.autocomplete:v.tokens),e,d):null,x="undefined"!=typeof v.combine?v.combine:En&t(v.tokens)?!0:!1,_=new P(Ct,e,O(e,$.slice(),i,x,!(!v.caseInsensitive&&!v.ci),p,f),L,M,null,w),m[e]=_,null!=v.except){var R,D,C=a(v.except),A=C.length,N=[];for(R=0;A>R;R++)C[R]&&(D=T(C[R],i,l,s,c,p,f,m,h,g,d),D&&N.push(D));N.length&&(_.except=N)}}else At&k?(Nt===k&&q(v,g),_=new P(k,e,S(e,$.slice(),i,p,f),L),_.mline=v[an]("multiline")?!!v.multiline:!0,_.esc=v[an]("escape")?v.escape:!1,_.inter=!!c[e+".inside"],Nt===k&&v.interleave&&h.push(U(_)),M&&(_.modifier=M),m[e]=_):Zt&k&&(Qt===k?(b=u($),_=n(b,function(t,n){return new P(Qt,e+"_NGRAM_"+n,null,L,M)}),m[e]=_,r(function(e){_[e].token=a(o(b[e],function(e,t){return e.concat(T(t,i,l,s,c,p,f,m,h,g,d))},[]))},0,b.length-1)):(Yt===k||Kt===k?_=new P(k,e,null,L,M):It&k&&En&t(v.repeat)?(_=new P(It,e,null,L,M),_.min=v.repeat[0],_.max=v.repeat[1]):Ut===k?(_=new P(Ut,e,null,L,M),_.min=0,_.max=1):Gt===k?(_=new P(Gt,e,null,L,M),_.min=0,_.max=kn):Wt===k?(_=new P(Wt,e,null,L,M),_.min=1,_.max=kn):_=zt===k?new P(zt,e,null,L,M):new P(Pt,e,null,L,M),m[e]=_,_.token=a(o($,function(e,t){return e.concat(T(t,i,l,s,c,p,f,m,h,g,d))},[]))));return m[e]}function D(e,t){var n,o,r=e.Style,i=e.Lex,l=e.Syntax,s=[],a={};for(n in r)r[an](n)&&(o=i[n]||l[n],!o||"block"!=o.type&&"comment"!==o.type||(t&&(r[n+".inside"]||r[n])?(n=r[n+".inside"]||r[n],a[an](n)||(s.push(n),a[n]=1)):t||a[an](n)||(s.push(n),a[n]=1)));return s}function C(e){var n={};return e.Lex=e.Lex||{},e.Syntax=e.Syntax||{},e=L(e),e.Parser&&e.Parser.length&&r(function o(i,l){var s,a,u,c=l[i];n[c]||(En&t(c)&&(s=c,c="NGRAM_"+s.join("_"),e.Syntax[c]||(e.Syntax[c]={type:"ngram",tokens:s})),a=F(c,e.Lex,e.Syntax),On&t(a)&&(a=j(a,e.Lex,e.Syntax),a=e.Lex[a]||e.Syntax[a]||null),a&&(n[c]=a,u=a.type?Ht[a.type[gn]().replace(Un,"")]||Ct:Ct,Zt&u&&r(o,0,a.tokens.length-1,a.tokens)))},0,e.Parser.length-1,e.Parser),e}function A(e){var n,r,l,s,a,u,c,p,f,m,h,g,d;return e.__parsed?e:(n=e.RegExpID||null,l=e.Extra?i(e.Extra):{},s=e.Style?i(e.Style):{},a=null,u=e.Lex?i(e.Lex):{},c=e.Syntax?i(e.Syntax):{},p={},f={},m={},g={},d={},h=[],r=e.Parser?i(e.Parser):[],e=L({Style:s,Fold:a,Lex:u,Syntax:c,$parser:null,$interleaved:null,$comments:null,$autocomplete:null,$extra:l,__parsed:0}),e.$parser=o(r,function(e,o){var r=T(o,n,u,c,s,p,f,m,h,g,d)||null;return r&&(En&t(r)?e=e.concat(r):e.push(r)),e},[]),e.$interleaved=h&&h.length?h:null,e.$comments=g,e.$autocomplete=d&&d.autocomplete&&d.autocomplete.length?d.autocomplete:null,e.__parsed=1,e)}function N(e,n,o,r,i){var l,s,a=this;l=a.type=e,a.name=n,a.pattern=o,s=a.ptype=r||On,a.key=i||0,qt===l?a.key=!1!==i:Et===l?a.pattern[0]=new N(qt,n+"_Start",o[0],null,!1):bn===s?a.pattern=null:Fn===s&&(a.pattern=Fn&t(o)?[o,0]:[o[0],o[1]||0])}function z(e,n,o,r){var i,l,s,a,u,c,p,f,m,h,g,d=e,k=d.type,$=d.pattern,y=d.key;if(Et===k){if(i=d.name,s=$[0],a=$[1],c=z(s,n,o,r))return u=a[c[0]],f=t(u),m=s.pattern[c[0]].ptype,Fn===m&&jn&f&&(p=vn&f?c[1][u+1]:v(u,c[1]),u=new N(St,i+"_End",p,p.length>1?On:Sn)),u}else if(qt===k){for(h=0,g=$.length;g>h;h++)if(p=z($[h],n,o,r))return y?[h,p[1]]:p}else{if(l=d.ptype,bn===l)return!1!==o&&n.end(),[y,""];if(Fn===l){if(p=n.slice(n.pos).match($[0]),p&&0===p.index)return!1!==o&&n.mov(p[$[1]||0].length),[y,$[1]>0?p[$[1]]:p]}else if(qn===l){if(!0===r){p=-1;var b,x;for(g=$.length-1;g>=0;g--)b=n.indexOf($[dn](g),n.pos),b>-1&&(-1===p||p>b)&&(p=b,x=$[dn](g));if(p>-1)return!1!==o&&(n.pos=p+1),[y,x]}else if(p=n[dn](n.pos)||null,p&&-1<$.indexOf(p))return!1!==o&&n.mov(1),[y,p]}else if(Sn===l){if(!0===r){if(p=n.indexOf($,n.pos),p>-1)return!1!==o&&(n.pos=p+1),[y,$]}else if(p=n[dn](n.pos)||null,$===p)return!1!==o&&n.mov(1),[y,p]}else if(On===l)if(g=$.length,!0===r){if(p=n.indexOf($,n.pos),p>-1)return!1!==o&&(n.pos=p+g),[y,$]}else if($===n.substr(n.pos,g))return!1!==o&&n.mov(g),[y,$]}return!1}function P(e,t,n,o,r,i,l){var s=this;s.type=e,s.name=t,s.token=n,s.modifier=r||null,s.except=i||null,s.autocompletions=l||null,s.pos=null,s.msg=o||null,s.$msg=null,s.status=0,s.ci=!1,s.mline=!0,s.esc=!1,s.inter=!1,s.found=0,s.min=0,s.max=1,s.$id=null}function I(){var e=this;e.T=0,e.id=null,e.type=null,e.match=null,e.str="",e.pos=null,e.block=null}function U(e,t,n,o){var r=new P(e.type,e.name,e.token,e.msg,e.modifier,e.except,e.autocompletions);return r.ci=e.ci,r.mline=e.mline,r.esc=e.esc,r.inter=e.inter,r.found=e.found,r.min=e.min,r.max=e.max,t&&(r.status|=ft),n&&(r.modifier=n),o&&(r.$id=o),r}function G(e){var t=e.name;return e.$msg?e.$msg:e.status&ft?'Token "'+t+'" Expected':'Syntax Error: "'+t+'"'}function W(e,t,n,o,r,i,l){e.err[t+"_"+n+"_"+o+"_"+r+"_"+(i?i.name:"ERROR")]=[t,n,o,r,l||G(i)]}function B(e,t,n,o){if(!e)return!1;var r=e.type,i=Zt&r?V:At&r?Q:Lt&r?Y:K;return i(e,t,n,o)}function Y(e,n,o,r){var i,l,s,a,u,c,p,f,m,h,g,d,k,$,y,b,x=e,w=x.token||null,_=x.ci,O=x.name,S=!(o.status&ct);if(x.status=0,x.$msg=null,S||!w||!r||!r.pos)return!0;if(b=!!(At&r.T),kt===w[0]||b&&!r.block)return!0;if(i=w[0],l=w[1],k=w[2],u=x.msg,c=o.queu,p=o.symb,f=o.ctx,b?(y=r.block.match||r.block.str,m=r.block.pos[0][0],h=r.block.pos[0][1],g=r.block.pos[0][2],d=r.block.pos[0][3]):(y=r.match||r.str,m=r.pos[0],h=r.pos[1],g=r.pos[2],d=r.pos[3]),$t===i)return!u&&On&t(l)&&(u=l),x.$msg=u?v(u,y,!0):'Error "'+O+'"',W(o,m,h,g,d,x,G(x)),x.status|=mt,!1;if(vt===i)f.length&&f.shift();else if(bt===i)f.unshift({symb:{},queu:[]});else if(wt===i){if(k){if(!f.length)return!0;c=f[0].queu}if(l){if(l=v(l,y),_&&(l=l[gn]()),!c.length||l!==c[0][0])return c.length?(x.$msg=u?v(u,[c[0][0],l],!0):'Tokens do not match "'+c[0][0]+'","'+l+'"',$=G(x),W(o,c[0][1],c[0][2],c[0][3],c[0][4],x,$),W(o,m,h,g,d,x,$),c.shift()):(x.$msg=u?v(u,["",l],!0):'Token does not match "'+l+'"',$=G(x),W(o,m,h,g,d,x,$)),x.status|=mt,!1;c.shift()}else c.shift()}else if(xt===i&&l){if(k){if(!f.length)return!0;c=f[0].queu}l=v(l,y),_&&(l=l[gn]()),x.$msg=u?v(u,l,!0):'Token does not match "'+l+'"',c.unshift([l,m,h,g,d,G(x)])}else if(yt===i){if(k){if(!f.length)return!0;p=f[0].symb}if(s=l[1],a=l[0],s=v(s,y,!0),_&&(s=s[gn]()),p[an](a)||(p[a]={}),p[a][an](s))return x.$msg=u?v(u,s,!0):'Duplicate "'+s+'"',$=G(x),W(o,p[a][s][0],p[a][s][1],p[a][s][2],p[a][s][3],x,$),W(o,m,h,g,d,x,$),x.status|=mt,!1;p[a][s]=[m,h,g,d]}return!0}function K(e,t,n,o,r){var i,l=e,s=l.token,a=l.modifier,u=l.type,c=l.name,p=l.except,f=n.line,m=t.pos,h=null,g=!1;if(l.status&=gt,l.$msg=r?null:l.msg||null,p)for(var d=0,k=p.length;k>d;d++)if(i=p[d],l!==i&&Ct===i.type&&K(i,t,n,o,1))return t.bck(m),!1;return Mt===u?g=0===n.line:Ft===u?g=n.bline+1===n.line:jt===u?g=t.sol():Rt===u?(t.spc(),t.eol()?g=c:t.bck(m)):Tt===u?(l.status=0,g=!0):Dt===u?(l.status&ft&&t.spc()&&!t.eol()?(t.bck(m),l.status|=mt):g=!0,l.status&=ht):bn===s?(t.end(),g=a||c):(h=z(s,t))&&(h=h[1],g=a||c),r?g:(!1!==g&&(o.T=u,o.id=c,o.type=g,o.str=t.sel(m,t.pos),o.match=h,o.pos=[f,m,f,t.pos]),!g&&l.status&&l.$msg&&(l.$msg=v(l.$msg,c,!0)),g)}function Q(e,t,n,o){var r,i,l,s,a,u,c,f,m,h,g,d,k,$,y,b,x,w,_,O,S,q=e,E=q.name,L=q.type,M=q.modifier,F=q.token,R=q.mline,j=q.inter,T=j?E+".inside":E,D=q.esc,C=!!D,A="",N="",P="",I="",G=q.$id||E,W=n.stack;if(q.status&=gt,q.$msg=q.msg||null,_=n.line,O=t.pos,Nt===L&&(q.status&=ht),y=q.status&ft,l=0,s=0,n.block&&n.block.name===E?(s=1,l=1,$=T,r=n.block.end,f=n.block.sp,h=n.block.ip,m=n.block.ep,A=n.block.s,N=n.block.i):!n.block&&(r=z(F,t))&&(s=1,$=E,b=t.pos,f=[_,O],h=[[_,b],[_,b]],m=[_,b],A=t.sel(O,b),N="",I="",n.block={name:E,end:r,sp:f,ip:h,ep:m,s:A,i:N,e:I}),s){if(w=W.length,i=bn===r.type,j){if(i&&l&&t.sol())return q.status&=ht,n.block=null,!1;if(!l)return b=t.pos,o.T=L,o.id=E,o.type=M||$,o.str=t.sel(O,b),o.match=null,o.pos=[_,O,_,b],p(W,w,U(q,y,0,G)),M||$}if(b=t.pos,a=z(r,t),c=R,u=0,a)$=i?T:E,I=t.sel(b,t.pos);else if(x=t.pos,d=!1,C||qn!==r.ptype&&Sn!==r.ptype&&On!==r.ptype)for(;!t.eol();){if(b=t.pos,!d&&z(r,t)){j&&t.pos>b&&b>x?($=T,t.bck(b),u=1):($=E,a=1),I=t.sel(b,t.pos);break}k=t.nxt(1),P+=k,d=C&&!d&&D===k,b=t.pos}else(S=z(r,t,!0,!0))?(j&&t.pos>b+S[1].length?($=T,t.mov(-S[1].length),u=1):($=E,a=1),I=t.sel(b,t.pos)):(t.end(),$=T,u=1,P=t.sel(b,t.pos));return c=R||C&&d,N+=P,h[1]=[_,b],m=[_,t.pos],a||!c&&!u?n.block=null:(n.block.ip=h,n.block.ep=m,n.block.i=N,n.block.e=I,p(W,w,U(q,y,0,G))),o.T=L,o.id=E,o.type=M||$,o.str=t.sel(O,t.pos),o.match=null,o.pos=[_,O,m[0],m[1]],n.block||(g=A+N+I,o.block={str:g,match:[g,N,A,I],part:[g,A,N,I],pos:[[f[0],f[1],m[0],m[1]],[f[0],f[1],h[0][0],h[0][1]],[h[0][0],h[0][1],h[1][0],h[1][1]],[h[1][0],h[1][1],m[0],m[1]]]}),M||$}return q.status&&q.$msg&&(q.$msg=v(q.$msg,E,!0)),!1}function V(e,t,n,o){var r,i,l,s,a,u,c,f,m,g,d,k,$,y,b,v=e,x=v.type,w=(v.name,v.token),_=w.length,O=v.modifier;if(v.status&=gt,v.$msg=v.msg||null,k=n.stack,f=t.pos,m=k.length,u=0,c=0,y=v.$id||h(),zt===x){for(v.status|=ft,$=[],g=0;_>g;g++){if(r=U(w[g],1,O,y),i=B(r,t,n,o),r.status&ft&&(u++,$.push(G(r))),!1!==i)return i;r.status&mt&&(c++,t.pos>f&&t.bck(f),k.length>m&&(k.length=m))}return u>0?v.status|=ft:v.status&=ht,_===c&&u>0?v.status|=mt:v.status&=gt,v.status&&!v.$msg&&$.length&&(v.$msg=$.join(" | ")),!1}if(Vt&x){b=!!(x&Pt),b?v.status|=ft:v.status&=ht,d=0;do r=U(w[d++],b,O,y),i=B(r,t,n,o);while(_>d&&!1===i&&!(r.status&ft));if(!1!==i){if(!0!==i||Tt!==r.type)for(g=_-1;g>=d;g--)p(k,m+_-g-1,U(w[g],1,O,y));return i}return r.status&mt?(b?v.status|=mt:v.status&=gt,t.pos>f&&t.bck(f),k.length>m&&(k.length=m)):b&&r.status&ft&&(v.status|=mt),v.status&&!v.$msg&&(v.$msg=G(r)),!1}if(Yt===x)return v.status=0,!1;if(Kt===x)return v.status=0,!1;for(l=v.found,s=v.min,a=v.max,v.status=0,$=[],g=0;_>g;g++){if(r=U(w[g],1,O,y),i=B(r,t,n,o),!1!==i){if(++l,a>=l)return v.found=l,p(k,m,U(v,0,0,y)),v.found=0,i;break}r.status&ft&&(u++,$.push(G(r))),r.status&mt&&(t.pos>f&&t.bck(f),k.length>m&&(k.length=m))}return s>l&&(v.status|=ft),(l>a||s>l&&u>0)&&(v.status|=mt),v.status&&!v.$msg&&$.length&&(v.$msg=$.join(" | ")),!1}function Z(e,t){var n=this;n.id=e?g("state"):"state",t instanceof Z?(n.line=t.line,n.bline=t.bline,n.status=t.status,n.stack=t.stack.slice(),n.block=t.block,n.token=t.token,n.status&ct?(n.queu=t.queu,n.symb=t.symb,n.ctx=t.ctx,n.err=t.err):(n.queu=null,n.symb=null,n.ctx=null,n.err=null),n.$eol$=t.$eol$,n.$blank$=t.$blank$):(n.line=-1,n.bline=-1,n.status=t||0,n.stack=[],n.block=null,n.token=null,n.status&ct?(n.queu=[],n.symb={},n.ctx=[],n.err={}):(n.queu=null,n.symb=null,n.ctx=null,n.err=null),n.$eol$=!0,n.$blank$=!0),n.toString=function(){return n.id+"_"+n.line+"_"+n.bline+"_"+(n.block?n.block.name:"0")}}function H(e){e.id=null,e.line=null,e.bline=null,e.status=null,e.stack=null,e.block=null,e.token=null,e.queu=null,e.symb=null,e.ctx=null,e.err=null}function J(e,t,n){var o=new String(e);return o.start=t||0,o.pos=n||0,o.sol=function(){return 0===o.pos},o.eol=function(){return o.pos>=o.length},o.end=function(){return o.pos=o.length,o},o.mov=function(e){return o.pos=0>e?mn(0,o.pos+e):hn(o.length,o.pos+e),o},o.bck=function(e){return o.pos=mn(0,e),o},o.sft=function(){return o.start=o.pos,o},o.nxt=function(e,t){var n,r,i="";if(!0===e){for(t=t||J.$NONSPC$;o.poss||s>=t)return l+(t-i);l+=s-i,l+=n-l%n,i=s+1}}function et(e,o){return Tn&t(e)&&(e=y("\\b("+n(a(e).sort(Pn),$).join("|")+")\\b")),!1===o?function(t){return!t||!e.test(t)}:function(t){return!!t&&e.test(t)}}function tt(e,t,n){for(;;){n.lastIndex=e.col;var o=n.exec(e.text);if(!o){if(e.next()){e.text=e.line(e.row);continue}return}{if(t(e.token(e.row,o.index+1)))return e.col=o.index+o[0].length,o;e.col=o.index+1}}}function nt(e,t,n,o,r,i){for(var l,s,a;;){if(l=e.text.indexOf(r,e.col),-1===l){if(e.next()){e.text=e.line(e.row);continue}return}if(t(e.token(e.row,l+1)))return s=e.text.lastIndexOf(i,l),a=s>-1&&!J.$NOTEMPTY$.test(e.text.slice(s+1,l)),e.col=l+1,a?"autoclosed":"regular";e.col=l+1}}function ot(e){var t=e?e.data:null;t&&t.load&&t.ace_worker_base&&(importScripts(t.ace_worker_base),ace.define("ace/grammar_worker",["require","exports","module","ace/worker/mirror"],function(e,t){var n=e("./worker/mirror").Mirror;t.AceGrammarWorker=k(n,{constructor:function(e){var t=this;n.call(t,e),t.setTimeout(300)},$parser:null,init_parser:function(e,t){var n=this;n.$parser=new no(A(e),null,!1),n.sender.callback(1,t)},onUpdate:function(){var e,t,n,o,r,i=this,l=i.sender,s=i.$parser;if(!s)return void l.emit("ace_grammar_worker_ok",null);if(e=i.doc.getValue(),!e||!e.length)return void l.emit("ace_grammar_worker_ok",null);if(t=s.parse(e,ct),!t)return void l.emit("ace_grammar_worker_ok",null);r=[];for(n in t)t[an](n)&&(o=t[n],r.push({row:o[0],column:o[1],text:o[4]||"Syntax Error",type:"error",raw:o[4]||"Syntax Error",range:[o[0],o[1],o[2],o[3]]}));r.length?l.emit("ace_grammar_worker_error",r):l.emit("ace_grammar_worker_ok",null)}})}))}function rt(e,t){e[t]||(e[t]=[]);var n,o=e[t];if(o&&o.length)for(n=0;nr;r++)i=t[r],i.range&&(l.push(e.addMarker(new o(i.range[0],i.range[1],i.range[2],i.range[3]),"ace_error-marker","text",0)),m(i,"range"))}function lt(e,t){rt(e,t),e.clearAnnotations()}function st(e,t,n,o){it(e,t,n,o),e.setAnnotations(t)}function at(e,t,n){n=n||to;var o=i(e),r=n.require("ace/range").Range,l=n.require("ace/worker/worker_client").WorkerClient,s=k(l,{constructor:function(e,t,o,r){var i=this,l=n.require,s=n.config;if(i.$sendDeltaQueue=i.$sendDeltaQueue.bind(i),i.changeListener=i.changeListener.bind(i),i.onMessage=i.onMessage.bind(i),l.nameToUrl&&!l.toUrl&&(l.toUrl=l.nameToUrl),!r)if(s.get("packaged")||!l.toUrl)r=r||s.moduleUrl(t,"worker");else{var a=i.$normalizePath;r=r||a(l.toUrl("ace/worker/worker.js",null,"_"));var u={};e.forEach(function(e){u[e]=a(l.toUrl(e,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{i.$worker=new Worker(r)}catch(c){if(!(c instanceof window.DOMException))throw c;var p=i.$workerBlob(r),f=window.URL||window.webkitURL,m=f.createObjectURL(p);i.$worker=new Worker(m),f.revokeObjectURL(m)}i.$worker.postMessage({load:!0,ace_worker_base:Xn.base+"/"+s.moduleUrl("ace/worker/json")+eo}),i.$worker.postMessage({init:!0,tlns:u,module:t,classname:o}),i.callbackId=1,i.callbacks={},i.$worker.onmessage=i.onMessage}}),a=n.require("ace/mode/folding/fold_mode").FoldMode,u=k(a,{constructor:function(e){var t=this;a.call(t),t.$findFold=e,t.$lastFold=null +},getFoldWidget:function(e,t,n){var o=this.$lastFold=this.$findFold(e,t,n);return o?"markbeginend"===t&&o.end?"end":"start":""},getFoldWidgetRange:function(){var e=this.$lastFold;return e?new r(e[0],e[1],e[2],e[3]):void 0}}),c=n.require("ace/mode/text").Mode,p=k(c,{constructor:function f(){var e=this;c.call(e),e.$id=f.$id,e.$tokenizer=f.$parser,e.lineCommentStart=f.$parser.LC,e.blockComment=f.$parser.BC,e.foldingRules=new u(e.folder.bind(e))},supportGrammarAnnotations:!1,createWorker:function(e){if(!this.supportGrammarAnnotations)return lt(e,p.$markers),null;var t=new s(["ace"],"ace/grammar_worker","AceGrammarWorker",Xn.file+eo);return t.attachToDocument(e.getDocument()),t.call("init_parser",[o],function(){t.on("ace_grammar_worker_error",function(t){var n=t.data;st(e,n,p.$markers,r)}),t.on("ace_grammar_worker_ok",function(){lt(e,p.$markers)})}),t.on("terminate",function(){lt(e,p.$markers)}),t},supportCodeFolding:!0,folder:function m(e,t,n){return this.supportCodeFolding?p.$folder(e,t,n,m.options||{}):null},supportAutoCompletion:!0,autocompleter:function h(e,t,n,o){return this.supportAutoCompletion?p.$autocompleter(e,t,n,o,h.options||{}):[]},getKeywords:function(){return[]},getCompletions:function(e,t,n,o){return this.autocompleter(e,t,n,o)},dispose:function(){var e=this;e.$tokenizer=e.foldingRules=e.autocompleter=null,p.dispose()}});return p.$id=g("ace_grammar_mode"),p.$markers=p.$id+"$markers",p.$parser=new oo.Parser(A(e),t),p.$folder=function d(e,t,o){var r,i,d=p.$parser,l=d.fold(e,o,n);if("markbeginend"===t){if(l)return l.start=!0,l.end=!1,l;for(i=o,r=mn(0,o-200);o>r&&(!l||i!==l[2]);)l=d.fold(e,--o,n);if(l&&i===l[2])return l.start=!1,l.end=!0,l}else if(l)return l.start=!0,l.end=!1,l},p.$autocompleter=function(e,t,o,r,i){return p.$parser.autocomplete(e,t,o,r,i,n)},p.dispose=function(){p.$parser&&p.$parser.dispose(),p.$parser=p.$folder=p.$autocompleter=p.autocompleter=null},new p}var ut=1,ct=2,pt=32,ft=4,mt=8,ht=~ft,gt=~mt,dt=ft|mt,kt=0,$t=4,yt=8,bt=16,vt=17,xt=32,wt=33,_t=128,Ot=129,St=2,qt=4,Et=8,Lt=4,Mt=8,Ft=9,Rt=16,jt=32,Tt=128,Dt=256,Ct=512,At=1024,Nt=1025,zt=2048,Pt=4096,It=8192,Ut=8193,Gt=8194,Wt=8195,Bt=16384,Yt=Bt,Kt=16385,Qt=32768,Vt=Pt|Qt,Zt=zt|Pt|It|Bt|Qt,Ht={action:Lt,simple:Ct,block:At,comment:Nt,alternation:zt,sequence:Pt,repeat:It,zeroorone:Ut,zeroormore:Gt,oneormore:Wt,positivelookahead:Yt,negativelookahead:Kt,ngram:Qt},Jt="$|SOF|$",Xt="$|NONBLANK|$",en="$|SOL|$",tn="$|EOL|$",nn="$|ENDLINE|$",on="$|EMPTY|$",rn="$|NONSPACE|$",ln=void 0,sn="prototype",an="hasOwnProperty",un="propertyIsEnumerable",cn=Object[sn],pn=cn.toString,fn=Object.create,mn=Math.max,hn=Math.min,gn="toLowerCase",dn="charAt",kn=1/0,$n=4,yn=8,bn=16,vn=32,xn=33,wn=34,_n=64,On=128,Sn=129,qn=130,En=256,Ln=512,Mn=1024,Fn=2048,Rn=4096,jn=On|vn,Tn=On|En,Dn=Fn|En,Cn=On|En|Fn,An={"[object Number]":vn,"[object String]":On,"[object Array]":En,"[object RegExp]":Fn,"[object Date]":Rn,"[object Function]":Mn,"[object Object]":Ln},Nn=/^\s+|\s+$/g,zn=String[sn].trim?function(e){return e.trim()}:function(e){return e.replace(Nn,"")},Pn=function(e,t){return t.length-e.length},In=/\r\n|\r|\n/g,Un=/[\-_]/g,Gn=0,Wn=/([.*+?^${}()|[\]\/\\\-])/g,Bn=/^([.!&\[\]{}()*+?\/|'"]|\s)/,Yn="(\\s|\\W|$)",Kn=/[*+]$/;J.$SPC$=/^[\s\u00a0]+/,J.$NONSPC$=/[^\s\u00a0]/,J.$NOTEMPTY$=/\S/,J.$SPACE$=/^\s*/;var Qn=k({constructor:function(e,t,n){var o=this;o.$grammar=e,o.$DEF=t||null,o.$ERR=n||null,o.DEF=o.$DEF,o.ERR=o.$ERR,o.$folders=[]},$grammar:null,$folders:null,$n$:"name",$t$:"type",$v$:"token",$DEF:null,$ERR:null,DEF:null,ERR:null,dispose:function(){var e=this;return e.$grammar=null,e.$folders=null,e.$n$=e.$t$=e.$v$=null,e.$DEF=e.$ERR=e.DEF=e.ERR=null,e},token:function(e,t){var n,o,r,i,l,s,a,u,c,p,m,h,g,d,k,$=this,y=$.$grammar,b=y.Style,v=$.DEF,x=$.ERR,w={},_=$.$n$,O=$.$t$,S=$.$v$,q=y.$interleaved,E=y.$parser,L=E.length,M=q?q.length:0;if(e.sol()&&(t.$eol$&&(t.$blank$&&(t.bline=t.line),t.$eol$=!1,t.line++),t.$blank$=t.bline+1===t.line),t.$actionerr$=!1,i=t.stack,l=t.line,s=e.pos,m=!1,g=!0,h=!1,d=!1,k=t.block?t.block.name:ln,i.length&&Rt===i[i.length-1].type&&e.sol()&&i.pop(),(!i.length||Dt!==i[i.length-1].type&&k!==i[i.length-1].name)&&e.spc()&&(g=!1,d=!0),w[_]=null,w[O]=v,w[S]=null,g)for(r=new I,a=0;g&&(i.length||L>a)&&!e.eol();){if(c=e.pos,p=i.length,M&&!t.block){for(u=0;M>u;u++)if(n=q[u],m=B(n,e,t,r),!1!==m){g=!1,t.token=n;break}if(!g)break}if(!i.length&&a>=L)break;if(n=i.length?i.pop():E[a++],m=B(n,e,t,r),!1===m){if(n.status&dt){f(i,n.$id),e.nxt(!0)||(e.spc(),d=!0),h=!0,g=!1,t.token=n;break}}else{if(i.length&&Lt===i[i.length-1].type)for(;i.length&&Lt===i[i.length-1].type;)o=i.pop(),Y(o,e,t,r),o.status&mt&&(t.$actionerr$=!0);else if(i.length>1&&e.eol()&&At&i[i.length-1].type&&t.block&&t.block.name===i[i.length-1].name)for(u=i.length-2;u>=0&&Lt===i[u].type;)o=i[u--],Y(o,e,t,r),o.status&mt&&(t.$actionerr$=!0);if(!0!==m){g=!1,t.token=n;break}}}return g&&e.nxt(1),w[S]=e.cur(1),!1!==m?(m=b[m]||v,w[_]=n.name):h?(m=x,t.status&ct&&W(t,l,s,l,e.pos,n)):m=v,w[O]=m,t.$eol$=e.eol(),t.$blank$=t.$blank$&&(d||t.$eol$),w},autocompletion:function(e,t){return M(e,t||[])},tokenize:function(e,t){var n=this,o=[];if(e.eol())t.line++,t.$blank$&&t.bline++;else for(;!e.eol();)o.push(n.token(e,t));return o},parse:function(e,t){var n,o,i,l,s,a=this,u=(e||"").split(In),c=u.length,p=null;if(t=t||ut,o=!!(t&ct),i=!!(t&ut),n=new Z(0,t),n.$full_parse$=!0,r(function(e){u[e]+="\n"},0,c-2),i?p=r(t&pt?function(e,t){t._=t._.concat(a.tokenize(J(u[e]),n,e))}:function(e,t){t._.push(a.tokenize(J(u[e]),n,e))},0,c-1,{_:[]})._:r(function(e){var t=J(u[e]);if(t.eol())n.line++,n.$blank$&&n.bline++;else for(;!t.eol();)a.token(t,n)},0,c-1),o&&n.queu&&n.queu.length)for(;n.queu.length;)l=n.queu.shift(),W(n,l[1],l[2],l[3],l[4],null,l[5]);return s=i&&o?{tokens:p,errors:n.err}:i?p:n.err,H(n),s},iterator:function(){},validate:function(){},autocomplete:function(){},indent:function(){},fold:function(){}}),Vn={Pattern:function(){return function(){}},Indented:function(e){return e=e||J.$NOTEMPTY$,function(t){var n,o,r,i,l,s,a,u,c,p=t.row;if(n=t.line(p),e.test(n)){for(o=t.indentation(n),s=null,l=n.length,u=p+1,c=t.last();c>=u;++u)if(r=t.line(u),i=t.indentation(r),i>o)s=u,a=r.length;else if(e.test(r))break;return s?[p,l,s,a]:void 0}}},Delimited:function(e,t,n){return e&&t?(n=n||s,function(o){var r,i,l,s,a,u,c,p,f,m,h,g,d,k,$,y=o.row,b=o.col;for(r=o.line(y),l=b,s=0;;){var a=0>=l?-1:r.lastIndexOf(e,l-1);if(-1!==a){if(1===s&&b>a)return;if(n(u=o.token(y,a+1))){i=a+e.length;break}l=a-1}else{if(1===s)return;s=1,l=r.length}}c=1,p=o.last();e:for(h=y;p>=h;++h)for(g=o.line(h),d=h===y?i:0;k=g.indexOf(e,d),$=g.indexOf(t,d),0>k&&(k=g.length),0>$&&($=g.length),d=hn(k,$),!(d>=g.length);){if(o.token(h,d+1)==u)if(d===k)++c;else if(!--c){f=h,m=d;break e}++d}return null==f||y===f&&m===i?void 0:[y,i,f,m]}):function(){}},MarkedUp:function(e,t,n,o,r){return e=e||s,t=t||"<",n=n||">",o=o||"/",r=r||y($(t)+"("+$(o)+"?)([a-zA-Z_\\-][a-zA-Z0-9_\\-:]*)","g"),function(i){i.col=0,i.min=i.first(),i.max=i.last(),i.text=i.line(i.row);for(var l,s,a,u,c,p,f,m,h,g=i.row;;){if(l=tt(i,e,r,t,n,o),!l||i.row!==g||!(s=nt(i,e,r,t,n,o)))return;if(!l[1]&&"autoclosed"!==s)for(a=[i.row,i.col],c=l[2],u=null,p=[];;){if(f=tt(i,e,r,t,n,o),g=i.row,m=i.col-(f?f[0].length:0),!f||!(s=nt(i,e,r,t,n,o)))return;if("autoclosed"!==s)if(f[1]){for(h=p.length-1;h>=0;--h)if(p[h]===f[2]){p.length=h;break}if(0>h&&(!c||c===f[2]))return[a[0],a[1],g,m]}else p.push(f[2])}}}}},Zn=!("undefined"==typeof global||"[object global]"!==pn.call(global)),Hn=!(Zn||"undefined"==typeof navigator),Jn=!!(Hn&&"function"==typeof importScripts&&navigator instanceof WorkerNavigator),Xn=function(e,t,n){var o,r=null,i=null,l=null;return e?(r=__filename,i=__dirname,l=__dirname):n?(r=self.location.href,i=r.split("/").slice(0,-1).join("/")):t&&(l=document.location.href.split("#")[0].split("?")[0].split("/").slice(0,-1).join("/"),(o=document.getElementsByTagName("script"))&&o.length&&(r=o[o.length-1].src,i=r.split("/").slice(0,-1).join("/"))),{path:i,file:r,base:l}}(Zn,Hn,Jn),eo="?nocache="+g("nonce")+"_"+~~(1e3*Math.random()),to="undefined"!=typeof ace?ace:{require:function(){return{}},config:{}},no=k(Qn,{constructor:function ro(e,n,o){var i,l=this,a=null;if(Qn.call(l,e,"text","invalid"),l.$v$="value",l.DEF=n||l.$DEF,l.ERR=e.Style.error||l.$ERR,l.LC=e.$comments.line||null,l.BC=e.$comments.block?{start:e.$comments.block[0][0],end:e.$comments.block[0][1]}:null,!1!==o){if(e.$comments.block&&e.$comments.block.length){i=ro.Type("comment");for(var u=0,c=e.$comments.block.length;c>u;u++)l.$folders.push(ro.Fold.Delimited(e.$comments.block[u][0],e.$comments.block[u][1],i))}e.Fold&&On&t(e.Fold)?a=e.Fold[gn]():e.$extra.fold&&(a=e.$extra.fold[gn]()),a&&(a=a.split("+"),r(function(t,n){var o=zn(n[t]);if("brace"===o||"cstyle"===o){var r=D(e,1);i=r.length?ro.Type(r,!1):s,l.$folders.push(ro.Fold.Delimited("{","}",i)),l.$folders.push(ro.Fold.Delimited("[","]",i))}else"indent"===o||"indentation"===o?l.$folders.push(ro.Fold.Indented()):("markup"===o||"html"===o||"xml"===o)&&(l.$folders.push(ro.Fold.Delimited("",ro.Type(["comment","tag"],!1))),l.$folders.push(ro.Fold.MarkedUp(ro.Type("tag"),"<",">","/")))},0,a.length-1,a))}},LC:null,BC:null,dispose:function(){var e=this;return e.LC=e.BC=null,Qn[sn].dispose.call(e)},getLineTokens:function(e,t,n){var o=this;return t=new Z(1,t),{tokens:o.tokenize(J(e),t,n),state:t}},autocomplete:function(e,t,n,r,i){var l=this;if(l.$grammar.$autocomplete){i=i||{};var s,a=i[an]("caseInsesitiveMatch")?!!i.caseInsesitiveMatch:!1,u=i[an]("prefixMatch")?!!i.prefixMatch:!0,c=i[an]("inContext")?!!i.inContext:!1,p=r,f=p[gn](),m=p.length;return s=c?l.autocompletion(e.stack.length?[e.token,e.stack[e.stack.length-1]]:[e.token]):l.$grammar.$autocomplete,s.length||(s=l.$grammar.$autocomplete),o(s,function(e,t){var n,o,r,i,l,s,c,h=t.word,g=h.length;return m?g>=m&&(n=t.meta,o=!!h.ci,c=a||o,c?(l=h[gn](),s=f):(l=h,s=p),(i=l.indexOf(s))>=0&&(!u||0===i)&&(r=c?h.indexOf(p):i,e.push({name:h,value:h,meta:n,score:1e3-10*(g-m)-5*(0>r?i+3:r)}))):e.push({name:h,value:h,meta:t.meta,score:1e3-10*g}),e},[])}return[]},iterator:function(e){var t=e.getTabSize();return{row:0,col:0,min:0,max:0,line:function(t){return e.getLine(t)},first:function(){return 0},last:function(){return e.getLength()-1},next:function(){var e=this;if(!(e.row>=e.max))return e.col=0,e.row++,!0},prev:function(){var e=this;if(!(e.row<=e.min))return e.col=0,e.row--,!0},indentation:function(e){return X(e,null,t)},token:function(t,n){return e.getTokenAt(t,n).type}}},fold:function(e,t,n){var o,r,i,l=this,s=l.$folders,a=s.length;if(a)for(r=l.iterator(e,n),r.row=t,r.col=0,o=0;a>o;o++)if(i=s[o](r))return i}});no.Type=et,no.Fold=Vn,Jn&&(onmessage=ot);var oo=e.AceGrammar={VERSION:"3.0.0",clone:i,extend:l,pre_process:C,parse:A,getMode:at,Parser:no};return e.AceGrammar}); \ No newline at end of file diff --git a/editor-grammar b/editor-grammar index 322c5a2..6226bd4 160000 --- a/editor-grammar +++ b/editor-grammar @@ -1 +1 @@ -Subproject commit 322c5a2ec0584811bcecbec6b18ad9f328f05689 +Subproject commit 6226bd48aebc498dbb31c821646573fb2a7ff3eb