chevrotain
Version:
Chevrotain is a high performance fault tolerant javascript parsing DSL for building recursive decent parsers
18 lines • 140 kB
JavaScript
var jr="11.0.3";var Of=typeof global=="object"&&global&&global.Object===Object&&global,$r=Of;var _f=typeof self=="object"&&self&&self.Object===Object&&self,Nf=$r||_f||Function("return this")(),Z=Nf;var Cf=Z.Symbol,nt=Cf;var ai=Object.prototype,vf=ai.hasOwnProperty,Lf=ai.toString,Tr=nt?nt.toStringTag:void 0;function bf(e){var t=vf.call(e,Tr),r=e[Tr];try{e[Tr]=void 0;var n=!0}catch{}var o=Lf.call(e);return n&&(t?e[Tr]=r:delete e[Tr]),o}var si=bf;var Pf=Object.prototype,kf=Pf.toString;function Mf(e){return kf.call(e)}var li=Mf;var wf="[object Null]",Ff="[object Undefined]",fi=nt?nt.toStringTag:void 0;function Uf(e){return e==null?e===void 0?Ff:wf:fi&&fi in Object(e)?si(e):li(e)}var pt=Uf;function Df(e){return e!=null&&typeof e=="object"}var V=Df;var Bf="[object Symbol]";function Gf(e){return typeof e=="symbol"||V(e)&&pt(e)==Bf}var ee=Gf;function Wf(e,t){for(var r=-1,n=e==null?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}var Pt=Wf;var Kf=Array.isArray,E=Kf;var jf=1/0,ci=nt?nt.prototype:void 0,ui=ci?ci.toString:void 0;function pi(e){if(typeof e=="string")return e;if(E(e))return Pt(e,pi)+"";if(ee(e))return ui?ui.call(e):"";var t=e+"";return t=="0"&&1/e==-jf?"-0":t}var hi=pi;var $f=/\s/;function Hf(e){for(var t=e.length;t--&&$f.test(e.charAt(t)););return t}var di=Hf;var zf=/^\s+/;function Vf(e){return e&&e.slice(0,di(e)+1).replace(zf,"")}var mi=Vf;function Xf(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var W=Xf;var xi=0/0,Yf=/^[-+]0x[0-9a-f]+$/i,qf=/^0b[01]+$/i,Zf=/^0o[0-7]+$/i,Jf=parseInt;function Qf(e){if(typeof e=="number")return e;if(ee(e))return xi;if(W(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=W(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=mi(e);var r=qf.test(e);return r||Zf.test(e)?Jf(e.slice(2),r?2:8):Yf.test(e)?xi:+e}var gi=Qf;var Ti=1/0,tc=17976931348623157e292;function ec(e){if(!e)return e===0?e:0;if(e=gi(e),e===Ti||e===-Ti){var t=e<0?-1:1;return t*tc}return e===e?e:0}var Ei=ec;function rc(e){var t=Ei(e),r=t%1;return t===t?r?t-r:t:0}var kt=rc;function nc(e){return e}var St=nc;var oc="[object AsyncFunction]",ic="[object Function]",ac="[object GeneratorFunction]",sc="[object Proxy]";function lc(e){if(!W(e))return!1;var t=pt(e);return t==ic||t==ac||t==oc||t==sc}var ht=lc;var fc=Z["__core-js_shared__"],Hr=fc;var Ai=function(){var e=/[^.]+$/.exec(Hr&&Hr.keys&&Hr.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function cc(e){return!!Ai&&Ai in e}var Ii=cc;var uc=Function.prototype,pc=uc.toString;function hc(e){if(e!=null){try{return pc.call(e)}catch{}try{return e+""}catch{}}return""}var Ht=hc;var dc=/[\\^$.*+?()[\]{}|]/g,mc=/^\[object .+?Constructor\]$/,xc=Function.prototype,gc=Object.prototype,Tc=xc.toString,Ec=gc.hasOwnProperty,Ac=RegExp("^"+Tc.call(Ec).replace(dc,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ic(e){if(!W(e)||Ii(e))return!1;var t=ht(e)?Ac:mc;return t.test(Ht(e))}var Ri=Ic;function Rc(e,t){return e?.[t]}var yi=Rc;function yc(e,t){var r=yi(e,t);return Ri(r)?r:void 0}var xt=yc;var Sc=xt(Z,"WeakMap"),zr=Sc;var Si=Object.create,Oc=function(){function e(){}return function(t){if(!W(t))return{};if(Si)return Si(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),Oi=Oc;function _c(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var _i=_c;function Nc(){}var K=Nc;function Cc(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}var Ni=Cc;var vc=800,Lc=16,bc=Date.now;function Pc(e){var t=0,r=0;return function(){var n=bc(),o=Lc-(n-r);if(r=n,o>0){if(++t>=vc)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Ci=Pc;function kc(e){return function(){return e}}var vi=kc;var Mc=function(){try{var e=xt(Object,"defineProperty");return e({},"",{}),e}catch{}}(),be=Mc;var wc=be?function(e,t){return be(e,"toString",{configurable:!0,enumerable:!1,value:vi(t),writable:!0})}:St,Li=wc;var Fc=Ci(Li),bi=Fc;function Uc(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}var Vr=Uc;function Dc(e,t,r,n){for(var o=e.length,i=r+(n?1:-1);n?i--:++i<o;)if(t(e[i],i,e))return i;return-1}var Xr=Dc;function Bc(e){return e!==e}var Pi=Bc;function Gc(e,t,r){for(var n=r-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1}var ki=Gc;function Wc(e,t,r){return t===t?ki(e,t,r):Xr(e,Pi,r)}var Pe=Wc;function Kc(e,t){var r=e==null?0:e.length;return!!r&&Pe(e,t,0)>-1}var Yr=Kc;var jc=9007199254740991,$c=/^(?:0|[1-9]\d*)$/;function Hc(e,t){var r=typeof e;return t=t??jc,!!t&&(r=="number"||r!="symbol"&&$c.test(e))&&e>-1&&e%1==0&&e<t}var re=Hc;function zc(e,t,r){t=="__proto__"&&be?be(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var ke=zc;function Vc(e,t){return e===t||e!==e&&t!==t}var Mt=Vc;var Xc=Object.prototype,Yc=Xc.hasOwnProperty;function qc(e,t,r){var n=e[t];(!(Yc.call(e,t)&&Mt(n,r))||r===void 0&&!(t in e))&&ke(e,t,r)}var ne=qc;function Zc(e,t,r,n){var o=!r;r||(r={});for(var i=-1,a=t.length;++i<a;){var s=t[i],l=n?n(r[s],e[s],s,r,e):void 0;l===void 0&&(l=e[s]),o?ke(r,s,l):ne(r,s,l)}return r}var wt=Zc;var Mi=Math.max;function Jc(e,t,r){return t=Mi(t===void 0?e.length-1:t,0),function(){for(var n=arguments,o=-1,i=Mi(n.length-t,0),a=Array(i);++o<i;)a[o]=n[t+o];o=-1;for(var s=Array(t+1);++o<t;)s[o]=n[o];return s[t]=r(a),_i(e,this,s)}}var wi=Jc;function Qc(e,t){return bi(wi(e,t,St),e+"")}var Me=Qc;var tu=9007199254740991;function eu(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=tu}var we=eu;function ru(e){return e!=null&&we(e.length)&&!ht(e)}var J=ru;function nu(e,t,r){if(!W(r))return!1;var n=typeof t;return(n=="number"?J(r)&&re(t,r.length):n=="string"&&t in r)?Mt(r[t],e):!1}var oe=nu;function ou(e){return Me(function(t,r){var n=-1,o=r.length,i=o>1?r[o-1]:void 0,a=o>2?r[2]:void 0;for(i=e.length>3&&typeof i=="function"?(o--,i):void 0,a&&oe(r[0],r[1],a)&&(i=o<3?void 0:i,o=1),t=Object(t);++n<o;){var s=r[n];s&&e(t,s,n,i)}return t})}var Fi=ou;var iu=Object.prototype;function au(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||iu;return e===r}var Ft=au;function su(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var Ui=su;var lu="[object Arguments]";function fu(e){return V(e)&&pt(e)==lu}var fo=fu;var Di=Object.prototype,cu=Di.hasOwnProperty,uu=Di.propertyIsEnumerable,pu=fo(function(){return arguments}())?fo:function(e){return V(e)&&cu.call(e,"callee")&&!uu.call(e,"callee")},ie=pu;function hu(){return!1}var Bi=hu;var Ki=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Gi=Ki&&typeof module=="object"&&module&&!module.nodeType&&module,du=Gi&&Gi.exports===Ki,Wi=du?Z.Buffer:void 0,mu=Wi?Wi.isBuffer:void 0,xu=mu||Bi,zt=xu;var gu="[object Arguments]",Tu="[object Array]",Eu="[object Boolean]",Au="[object Date]",Iu="[object Error]",Ru="[object Function]",yu="[object Map]",Su="[object Number]",Ou="[object Object]",_u="[object RegExp]",Nu="[object Set]",Cu="[object String]",vu="[object WeakMap]",Lu="[object ArrayBuffer]",bu="[object DataView]",Pu="[object Float32Array]",ku="[object Float64Array]",Mu="[object Int8Array]",wu="[object Int16Array]",Fu="[object Int32Array]",Uu="[object Uint8Array]",Du="[object Uint8ClampedArray]",Bu="[object Uint16Array]",Gu="[object Uint32Array]",F={};F[Pu]=F[ku]=F[Mu]=F[wu]=F[Fu]=F[Uu]=F[Du]=F[Bu]=F[Gu]=!0;F[gu]=F[Tu]=F[Lu]=F[Eu]=F[bu]=F[Au]=F[Iu]=F[Ru]=F[yu]=F[Su]=F[Ou]=F[_u]=F[Nu]=F[Cu]=F[vu]=!1;function Wu(e){return V(e)&&we(e.length)&&!!F[pt(e)]}var ji=Wu;function Ku(e){return function(t){return e(t)}}var Ut=Ku;var $i=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Er=$i&&typeof module=="object"&&module&&!module.nodeType&&module,ju=Er&&Er.exports===$i,co=ju&&$r.process,$u=function(){try{var e=Er&&Er.require&&Er.require("util").types;return e||co&&co.binding&&co.binding("util")}catch{}}(),Ot=$u;var Hi=Ot&&Ot.isTypedArray,Hu=Hi?Ut(Hi):ji,Fe=Hu;var zu=Object.prototype,Vu=zu.hasOwnProperty;function Xu(e,t){var r=E(e),n=!r&&ie(e),o=!r&&!n&&zt(e),i=!r&&!n&&!o&&Fe(e),a=r||n||o||i,s=a?Ui(e.length,String):[],l=s.length;for(var f in e)(t||Vu.call(e,f))&&!(a&&(f=="length"||o&&(f=="offset"||f=="parent")||i&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||re(f,l)))&&s.push(f);return s}var qr=Xu;function Yu(e,t){return function(r){return e(t(r))}}var Zr=Yu;var qu=Zr(Object.keys,Object),zi=qu;var Zu=Object.prototype,Ju=Zu.hasOwnProperty;function Qu(e){if(!Ft(e))return zi(e);var t=[];for(var r in Object(e))Ju.call(e,r)&&r!="constructor"&&t.push(r);return t}var Jr=Qu;function tp(e){return J(e)?qr(e):Jr(e)}var k=tp;var ep=Object.prototype,rp=ep.hasOwnProperty,np=Fi(function(e,t){if(Ft(t)||J(t)){wt(t,k(t),e);return}for(var r in t)rp.call(t,r)&&ne(e,r,t[r])}),tt=np;function op(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}var Vi=op;var ip=Object.prototype,ap=ip.hasOwnProperty;function sp(e){if(!W(e))return Vi(e);var t=Ft(e),r=[];for(var n in e)n=="constructor"&&(t||!ap.call(e,n))||r.push(n);return r}var Xi=sp;function lp(e){return J(e)?qr(e,!0):Xi(e)}var ae=lp;var fp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,cp=/^\w*$/;function up(e,t){if(E(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||ee(e)?!0:cp.test(e)||!fp.test(e)||t!=null&&e in Object(t)}var Ue=up;var pp=xt(Object,"create"),Vt=pp;function hp(){this.__data__=Vt?Vt(null):{},this.size=0}var Yi=hp;function dp(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var qi=dp;var mp="__lodash_hash_undefined__",xp=Object.prototype,gp=xp.hasOwnProperty;function Tp(e){var t=this.__data__;if(Vt){var r=t[e];return r===mp?void 0:r}return gp.call(t,e)?t[e]:void 0}var Zi=Tp;var Ep=Object.prototype,Ap=Ep.hasOwnProperty;function Ip(e){var t=this.__data__;return Vt?t[e]!==void 0:Ap.call(t,e)}var Ji=Ip;var Rp="__lodash_hash_undefined__";function yp(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Vt&&t===void 0?Rp:t,this}var Qi=yp;function De(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}De.prototype.clear=Yi;De.prototype.delete=qi;De.prototype.get=Zi;De.prototype.has=Ji;De.prototype.set=Qi;var uo=De;function Sp(){this.__data__=[],this.size=0}var ta=Sp;function Op(e,t){for(var r=e.length;r--;)if(Mt(e[r][0],t))return r;return-1}var se=Op;var _p=Array.prototype,Np=_p.splice;function Cp(e){var t=this.__data__,r=se(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():Np.call(t,r,1),--this.size,!0}var ea=Cp;function vp(e){var t=this.__data__,r=se(t,e);return r<0?void 0:t[r][1]}var ra=vp;function Lp(e){return se(this.__data__,e)>-1}var na=Lp;function bp(e,t){var r=this.__data__,n=se(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var oa=bp;function Be(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Be.prototype.clear=ta;Be.prototype.delete=ea;Be.prototype.get=ra;Be.prototype.has=na;Be.prototype.set=oa;var le=Be;var Pp=xt(Z,"Map"),fe=Pp;function kp(){this.size=0,this.__data__={hash:new uo,map:new(fe||le),string:new uo}}var ia=kp;function Mp(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var aa=Mp;function wp(e,t){var r=e.__data__;return aa(t)?r[typeof t=="string"?"string":"hash"]:r.map}var ce=wp;function Fp(e){var t=ce(this,e).delete(e);return this.size-=t?1:0,t}var sa=Fp;function Up(e){return ce(this,e).get(e)}var la=Up;function Dp(e){return ce(this,e).has(e)}var fa=Dp;function Bp(e,t){var r=ce(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var ca=Bp;function Ge(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Ge.prototype.clear=ia;Ge.prototype.delete=sa;Ge.prototype.get=la;Ge.prototype.has=fa;Ge.prototype.set=ca;var Ae=Ge;var Gp="Expected a function";function po(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Gp);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=e.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(po.Cache||Ae),r}po.Cache=Ae;var ua=po;var Wp=500;function Kp(e){var t=ua(e,function(n){return r.size===Wp&&r.clear(),n}),r=t.cache;return t}var pa=Kp;var jp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$p=/\\(\\)?/g,Hp=pa(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(jp,function(r,n,o,i){t.push(o?i.replace($p,"$1"):n||r)}),t}),ha=Hp;function zp(e){return e==null?"":hi(e)}var Qr=zp;function Vp(e,t){return E(e)?e:Ue(e,t)?[e]:ha(Qr(e))}var ue=Vp;var Xp=1/0;function Yp(e){if(typeof e=="string"||ee(e))return e;var t=e+"";return t=="0"&&1/e==-Xp?"-0":t}var Dt=Yp;function qp(e,t){t=ue(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[Dt(t[r++])];return r&&r==n?e:void 0}var We=qp;function Zp(e,t,r){var n=e==null?void 0:We(e,t);return n===void 0?r:n}var da=Zp;function Jp(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}var Ke=Jp;var ma=nt?nt.isConcatSpreadable:void 0;function Qp(e){return E(e)||ie(e)||!!(ma&&e&&e[ma])}var xa=Qp;function ga(e,t,r,n,o){var i=-1,a=e.length;for(r||(r=xa),o||(o=[]);++i<a;){var s=e[i];t>0&&r(s)?t>1?ga(s,t-1,r,n,o):Ke(o,s):n||(o[o.length]=s)}return o}var je=ga;function th(e){var t=e==null?0:e.length;return t?je(e,1):[]}var j=th;var eh=Zr(Object.getPrototypeOf,Object),tn=eh;function rh(e,t,r){var n=-1,o=e.length;t<0&&(t=-t>o?0:o+t),r=r>o?o:r,r<0&&(r+=o),o=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(o);++n<o;)i[n]=e[n+t];return i}var $e=rh;function nh(e,t,r){var n=e.length;return r=r===void 0?n:r,!t&&r>=n?e:$e(e,t,r)}var Ta=nh;var oh="\\ud800-\\udfff",ih="\\u0300-\\u036f",ah="\\ufe20-\\ufe2f",sh="\\u20d0-\\u20ff",lh=ih+ah+sh,fh="\\ufe0e\\ufe0f",ch="\\u200d",uh=RegExp("["+ch+oh+lh+fh+"]");function ph(e){return uh.test(e)}var en=ph;function hh(e){return e.split("")}var Ea=hh;var Aa="\\ud800-\\udfff",dh="\\u0300-\\u036f",mh="\\ufe20-\\ufe2f",xh="\\u20d0-\\u20ff",gh=dh+mh+xh,Th="\\ufe0e\\ufe0f",Eh="["+Aa+"]",ho="["+gh+"]",mo="\\ud83c[\\udffb-\\udfff]",Ah="(?:"+ho+"|"+mo+")",Ia="[^"+Aa+"]",Ra="(?:\\ud83c[\\udde6-\\uddff]){2}",ya="[\\ud800-\\udbff][\\udc00-\\udfff]",Ih="\\u200d",Sa=Ah+"?",Oa="["+Th+"]?",Rh="(?:"+Ih+"(?:"+[Ia,Ra,ya].join("|")+")"+Oa+Sa+")*",yh=Oa+Sa+Rh,Sh="(?:"+[Ia+ho+"?",ho,Ra,ya,Eh].join("|")+")",Oh=RegExp(mo+"(?="+mo+")|"+Sh+yh,"g");function _h(e){return e.match(Oh)||[]}var _a=_h;function Nh(e){return en(e)?_a(e):Ea(e)}var Na=Nh;function Ch(e){return function(t){t=Qr(t);var r=en(t)?Na(t):void 0,n=r?r[0]:t.charAt(0),o=r?Ta(r,1).join(""):t.slice(1);return n[e]()+o}}var Ca=Ch;var vh=Ca("toUpperCase"),rn=vh;function Lh(e,t,r,n){var o=-1,i=e==null?0:e.length;for(n&&i&&(r=e[++o]);++o<i;)r=t(r,e[o],o,e);return r}var va=Lh;function bh(){this.__data__=new le,this.size=0}var La=bh;function Ph(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var ba=Ph;function kh(e){return this.__data__.get(e)}var Pa=kh;function Mh(e){return this.__data__.has(e)}var ka=Mh;var wh=200;function Fh(e,t){var r=this.__data__;if(r instanceof le){var n=r.__data__;if(!fe||n.length<wh-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new Ae(n)}return r.set(e,t),this.size=r.size,this}var Ma=Fh;function He(e){var t=this.__data__=new le(e);this.size=t.size}He.prototype.clear=La;He.prototype.delete=ba;He.prototype.get=Pa;He.prototype.has=ka;He.prototype.set=Ma;var pe=He;function Uh(e,t){return e&&wt(t,k(t),e)}var wa=Uh;function Dh(e,t){return e&&wt(t,ae(t),e)}var Fa=Dh;var Ga=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ua=Ga&&typeof module=="object"&&module&&!module.nodeType&&module,Bh=Ua&&Ua.exports===Ga,Da=Bh?Z.Buffer:void 0,Ba=Da?Da.allocUnsafe:void 0;function Gh(e,t){if(t)return e.slice();var r=e.length,n=Ba?Ba(r):new e.constructor(r);return e.copy(n),n}var Wa=Gh;function Wh(e,t){for(var r=-1,n=e==null?0:e.length,o=0,i=[];++r<n;){var a=e[r];t(a,r,e)&&(i[o++]=a)}return i}var ze=Wh;function Kh(){return[]}var nn=Kh;var jh=Object.prototype,$h=jh.propertyIsEnumerable,Ka=Object.getOwnPropertySymbols,Hh=Ka?function(e){return e==null?[]:(e=Object(e),ze(Ka(e),function(t){return $h.call(e,t)}))}:nn,Ve=Hh;function zh(e,t){return wt(e,Ve(e),t)}var ja=zh;var Vh=Object.getOwnPropertySymbols,Xh=Vh?function(e){for(var t=[];e;)Ke(t,Ve(e)),e=tn(e);return t}:nn,on=Xh;function Yh(e,t){return wt(e,on(e),t)}var $a=Yh;function qh(e,t,r){var n=t(e);return E(e)?n:Ke(n,r(e))}var an=qh;function Zh(e){return an(e,k,Ve)}var Ar=Zh;function Jh(e){return an(e,ae,on)}var sn=Jh;var Qh=xt(Z,"DataView"),ln=Qh;var td=xt(Z,"Promise"),fn=td;var ed=xt(Z,"Set"),he=ed;var Ha="[object Map]",rd="[object Object]",za="[object Promise]",Va="[object Set]",Xa="[object WeakMap]",Ya="[object DataView]",nd=Ht(ln),od=Ht(fe),id=Ht(fn),ad=Ht(he),sd=Ht(zr),Ie=pt;(ln&&Ie(new ln(new ArrayBuffer(1)))!=Ya||fe&&Ie(new fe)!=Ha||fn&&Ie(fn.resolve())!=za||he&&Ie(new he)!=Va||zr&&Ie(new zr)!=Xa)&&(Ie=function(e){var t=pt(e),r=t==rd?e.constructor:void 0,n=r?Ht(r):"";if(n)switch(n){case nd:return Ya;case od:return Ha;case id:return za;case ad:return Va;case sd:return Xa}return t});var Ct=Ie;var ld=Object.prototype,fd=ld.hasOwnProperty;function cd(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&fd.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var qa=cd;var ud=Z.Uint8Array,Xe=ud;function pd(e){var t=new e.constructor(e.byteLength);return new Xe(t).set(new Xe(e)),t}var Ye=pd;function hd(e,t){var r=t?Ye(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var Za=hd;var dd=/\w*$/;function md(e){var t=new e.constructor(e.source,dd.exec(e));return t.lastIndex=e.lastIndex,t}var Ja=md;var Qa=nt?nt.prototype:void 0,ts=Qa?Qa.valueOf:void 0;function xd(e){return ts?Object(ts.call(e)):{}}var es=xd;function gd(e,t){var r=t?Ye(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var rs=gd;var Td="[object Boolean]",Ed="[object Date]",Ad="[object Map]",Id="[object Number]",Rd="[object RegExp]",yd="[object Set]",Sd="[object String]",Od="[object Symbol]",_d="[object ArrayBuffer]",Nd="[object DataView]",Cd="[object Float32Array]",vd="[object Float64Array]",Ld="[object Int8Array]",bd="[object Int16Array]",Pd="[object Int32Array]",kd="[object Uint8Array]",Md="[object Uint8ClampedArray]",wd="[object Uint16Array]",Fd="[object Uint32Array]";function Ud(e,t,r){var n=e.constructor;switch(t){case _d:return Ye(e);case Td:case Ed:return new n(+e);case Nd:return Za(e,r);case Cd:case vd:case Ld:case bd:case Pd:case kd:case Md:case wd:case Fd:return rs(e,r);case Ad:return new n;case Id:case Sd:return new n(e);case Rd:return Ja(e);case yd:return new n;case Od:return es(e)}}var ns=Ud;function Dd(e){return typeof e.constructor=="function"&&!Ft(e)?Oi(tn(e)):{}}var os=Dd;var Bd="[object Map]";function Gd(e){return V(e)&&Ct(e)==Bd}var is=Gd;var as=Ot&&Ot.isMap,Wd=as?Ut(as):is,ss=Wd;var Kd="[object Set]";function jd(e){return V(e)&&Ct(e)==Kd}var ls=jd;var fs=Ot&&Ot.isSet,$d=fs?Ut(fs):ls,cs=$d;var Hd=1,zd=2,Vd=4,us="[object Arguments]",Xd="[object Array]",Yd="[object Boolean]",qd="[object Date]",Zd="[object Error]",ps="[object Function]",Jd="[object GeneratorFunction]",Qd="[object Map]",tm="[object Number]",hs="[object Object]",em="[object RegExp]",rm="[object Set]",nm="[object String]",om="[object Symbol]",im="[object WeakMap]",am="[object ArrayBuffer]",sm="[object DataView]",lm="[object Float32Array]",fm="[object Float64Array]",cm="[object Int8Array]",um="[object Int16Array]",pm="[object Int32Array]",hm="[object Uint8Array]",dm="[object Uint8ClampedArray]",mm="[object Uint16Array]",xm="[object Uint32Array]",M={};M[us]=M[Xd]=M[am]=M[sm]=M[Yd]=M[qd]=M[lm]=M[fm]=M[cm]=M[um]=M[pm]=M[Qd]=M[tm]=M[hs]=M[em]=M[rm]=M[nm]=M[om]=M[hm]=M[dm]=M[mm]=M[xm]=!0;M[Zd]=M[ps]=M[im]=!1;function cn(e,t,r,n,o,i){var a,s=t&Hd,l=t&zd,f=t&Vd;if(r&&(a=o?r(e,n,o,i):r(e)),a!==void 0)return a;if(!W(e))return e;var c=E(e);if(c){if(a=qa(e),!s)return Ni(e,a)}else{var u=Ct(e),p=u==ps||u==Jd;if(zt(e))return Wa(e,s);if(u==hs||u==us||p&&!o){if(a=l||p?{}:os(e),!s)return l?$a(e,Fa(a,e)):ja(e,wa(a,e))}else{if(!M[u])return o?e:{};a=ns(e,u,s)}}i||(i=new pe);var g=i.get(e);if(g)return g;i.set(e,a),cs(e)?e.forEach(function(S){a.add(cn(S,t,r,S,e,i))}):ss(e)&&e.forEach(function(S,A){a.set(A,cn(S,t,r,A,e,i))});var I=f?l?sn:Ar:l?ae:k,R=c?void 0:I(e);return Vr(R||e,function(S,A){R&&(A=S,S=e[A]),ne(a,A,cn(S,t,r,A,e,i))}),a}var ds=cn;var gm=4;function Tm(e){return ds(e,gm)}var b=Tm;function Em(e){for(var t=-1,r=e==null?0:e.length,n=0,o=[];++t<r;){var i=e[t];i&&(o[n++]=i)}return o}var Bt=Em;var Am="__lodash_hash_undefined__";function Im(e){return this.__data__.set(e,Am),this}var ms=Im;function Rm(e){return this.__data__.has(e)}var xs=Rm;function un(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new Ae;++t<r;)this.add(e[t])}un.prototype.add=un.prototype.push=ms;un.prototype.has=xs;var qe=un;function ym(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}var pn=ym;function Sm(e,t){return e.has(t)}var Ze=Sm;var Om=1,_m=2;function Nm(e,t,r,n,o,i){var a=r&Om,s=e.length,l=t.length;if(s!=l&&!(a&&l>s))return!1;var f=i.get(e),c=i.get(t);if(f&&c)return f==t&&c==e;var u=-1,p=!0,g=r&_m?new qe:void 0;for(i.set(e,t),i.set(t,e);++u<s;){var I=e[u],R=t[u];if(n)var S=a?n(R,I,u,t,e,i):n(I,R,u,e,t,i);if(S!==void 0){if(S)continue;p=!1;break}if(g){if(!pn(t,function(A,m){if(!Ze(g,m)&&(I===A||o(I,A,r,n,i)))return g.push(m)})){p=!1;break}}else if(!(I===R||o(I,R,r,n,i))){p=!1;break}}return i.delete(e),i.delete(t),p}var hn=Nm;function Cm(e){var t=-1,r=Array(e.size);return e.forEach(function(n,o){r[++t]=[o,n]}),r}var gs=Cm;function vm(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}var Je=vm;var Lm=1,bm=2,Pm="[object Boolean]",km="[object Date]",Mm="[object Error]",wm="[object Map]",Fm="[object Number]",Um="[object RegExp]",Dm="[object Set]",Bm="[object String]",Gm="[object Symbol]",Wm="[object ArrayBuffer]",Km="[object DataView]",Ts=nt?nt.prototype:void 0,xo=Ts?Ts.valueOf:void 0;function jm(e,t,r,n,o,i,a){switch(r){case Km:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Wm:return!(e.byteLength!=t.byteLength||!i(new Xe(e),new Xe(t)));case Pm:case km:case Fm:return Mt(+e,+t);case Mm:return e.name==t.name&&e.message==t.message;case Um:case Bm:return e==t+"";case wm:var s=gs;case Dm:var l=n&Lm;if(s||(s=Je),e.size!=t.size&&!l)return!1;var f=a.get(e);if(f)return f==t;n|=bm,a.set(e,t);var c=hn(s(e),s(t),n,o,i,a);return a.delete(e),c;case Gm:if(xo)return xo.call(e)==xo.call(t)}return!1}var Es=jm;var $m=1,Hm=Object.prototype,zm=Hm.hasOwnProperty;function Vm(e,t,r,n,o,i){var a=r&$m,s=Ar(e),l=s.length,f=Ar(t),c=f.length;if(l!=c&&!a)return!1;for(var u=l;u--;){var p=s[u];if(!(a?p in t:zm.call(t,p)))return!1}var g=i.get(e),I=i.get(t);if(g&&I)return g==t&&I==e;var R=!0;i.set(e,t),i.set(t,e);for(var S=a;++u<l;){p=s[u];var A=e[p],m=t[p];if(n)var h=a?n(m,A,p,t,e,i):n(A,m,p,e,t,i);if(!(h===void 0?A===m||o(A,m,r,n,i):h)){R=!1;break}S||(S=p=="constructor")}if(R&&!S){var O=e.constructor,_=t.constructor;O!=_&&"constructor"in e&&"constructor"in t&&!(typeof O=="function"&&O instanceof O&&typeof _=="function"&&_ instanceof _)&&(R=!1)}return i.delete(e),i.delete(t),R}var As=Vm;var Xm=1,Is="[object Arguments]",Rs="[object Array]",dn="[object Object]",Ym=Object.prototype,ys=Ym.hasOwnProperty;function qm(e,t,r,n,o,i){var a=E(e),s=E(t),l=a?Rs:Ct(e),f=s?Rs:Ct(t);l=l==Is?dn:l,f=f==Is?dn:f;var c=l==dn,u=f==dn,p=l==f;if(p&&zt(e)){if(!zt(t))return!1;a=!0,c=!1}if(p&&!c)return i||(i=new pe),a||Fe(e)?hn(e,t,r,n,o,i):Es(e,t,l,r,n,o,i);if(!(r&Xm)){var g=c&&ys.call(e,"__wrapped__"),I=u&&ys.call(t,"__wrapped__");if(g||I){var R=g?e.value():e,S=I?t.value():t;return i||(i=new pe),o(R,S,r,n,i)}}return p?(i||(i=new pe),As(e,t,r,n,o,i)):!1}var Ss=qm;function Os(e,t,r,n,o){return e===t?!0:e==null||t==null||!V(e)&&!V(t)?e!==e&&t!==t:Ss(e,t,r,n,Os,o)}var mn=Os;var Zm=1,Jm=2;function Qm(e,t,r,n){var o=r.length,i=o,a=!n;if(e==null)return!i;for(e=Object(e);o--;){var s=r[o];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<i;){s=r[o];var l=s[0],f=e[l],c=s[1];if(a&&s[2]){if(f===void 0&&!(l in e))return!1}else{var u=new pe;if(n)var p=n(f,c,l,e,t,u);if(!(p===void 0?mn(c,f,Zm|Jm,n,u):p))return!1}}return!0}var _s=Qm;function tx(e){return e===e&&!W(e)}var xn=tx;function ex(e){for(var t=k(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,xn(o)]}return t}var Ns=ex;function rx(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}var gn=rx;function nx(e){var t=Ns(e);return t.length==1&&t[0][2]?gn(t[0][0],t[0][1]):function(r){return r===e||_s(r,e,t)}}var Cs=nx;function ox(e,t){return e!=null&&t in Object(e)}var vs=ox;function ix(e,t,r){t=ue(t,e);for(var n=-1,o=t.length,i=!1;++n<o;){var a=Dt(t[n]);if(!(i=e!=null&&r(e,a)))break;e=e[a]}return i||++n!=o?i:(o=e==null?0:e.length,!!o&&we(o)&&re(a,o)&&(E(e)||ie(e)))}var Tn=ix;function ax(e,t){return e!=null&&Tn(e,t,vs)}var Ls=ax;var sx=1,lx=2;function fx(e,t){return Ue(e)&&xn(t)?gn(Dt(e),t):function(r){var n=da(r,e);return n===void 0&&n===t?Ls(r,e):mn(t,n,sx|lx)}}var bs=fx;function cx(e){return function(t){return t?.[e]}}var Ps=cx;function ux(e){return function(t){return We(t,e)}}var ks=ux;function px(e){return Ue(e)?Ps(Dt(e)):ks(e)}var Ms=px;function hx(e){return typeof e=="function"?e:e==null?St:typeof e=="object"?E(e)?bs(e[0],e[1]):Cs(e):Ms(e)}var Q=hx;function dx(e,t,r,n){for(var o=-1,i=e==null?0:e.length;++o<i;){var a=e[o];t(n,a,r(a),e)}return n}var ws=dx;function mx(e){return function(t,r,n){for(var o=-1,i=Object(t),a=n(t),s=a.length;s--;){var l=a[e?s:++o];if(r(i[l],l,i)===!1)break}return t}}var Fs=mx;var xx=Fs(),Us=xx;function gx(e,t){return e&&Us(e,t,k)}var Ds=gx;function Tx(e,t){return function(r,n){if(r==null)return r;if(!J(r))return e(r,n);for(var o=r.length,i=t?o:-1,a=Object(r);(t?i--:++i<o)&&n(a[i],i,a)!==!1;);return r}}var Bs=Tx;var Ex=Bs(Ds),gt=Ex;function Ax(e,t,r,n){return gt(e,function(o,i,a){t(n,o,r(o),a)}),n}var Gs=Ax;function Ix(e,t){return function(r,n){var o=E(r)?ws:Gs,i=t?t():{};return o(r,e,Q(n,2),i)}}var Ws=Ix;var Ks=Object.prototype,Rx=Ks.hasOwnProperty,yx=Me(function(e,t){e=Object(e);var r=-1,n=t.length,o=n>2?t[2]:void 0;for(o&&oe(t[0],t[1],o)&&(n=1);++r<n;)for(var i=t[r],a=ae(i),s=-1,l=a.length;++s<l;){var f=a[s],c=e[f];(c===void 0||Mt(c,Ks[f])&&!Rx.call(e,f))&&(e[f]=i[f])}return e}),Qe=yx;function Sx(e){return V(e)&&J(e)}var go=Sx;function Ox(e,t,r){for(var n=-1,o=e==null?0:e.length;++n<o;)if(r(t,e[n]))return!0;return!1}var En=Ox;var _x=200;function Nx(e,t,r,n){var o=-1,i=Yr,a=!0,s=e.length,l=[],f=t.length;if(!s)return l;r&&(t=Pt(t,Ut(r))),n?(i=En,a=!1):t.length>=_x&&(i=Ze,a=!1,t=new qe(t));t:for(;++o<s;){var c=e[o],u=r==null?c:r(c);if(c=n||c!==0?c:0,a&&u===u){for(var p=f;p--;)if(t[p]===u)continue t;l.push(c)}else i(t,u,n)||l.push(c)}return l}var js=Nx;var Cx=Me(function(e,t){return go(e)?js(e,je(t,1,go,!0)):[]}),de=Cx;function vx(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var Gt=vx;function Lx(e,t,r){var n=e==null?0:e.length;return n?(t=r||t===void 0?1:kt(t),$e(e,t<0?0:t,n)):[]}var X=Lx;function bx(e,t,r){var n=e==null?0:e.length;return n?(t=r||t===void 0?1:kt(t),t=n-t,$e(e,0,t<0?0:t)):[]}var Xt=bx;function Px(e){return typeof e=="function"?e:St}var $s=Px;function kx(e,t){var r=E(e)?Vr:gt;return r(e,$s(t))}var x=kx;function Mx(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}var Hs=Mx;function wx(e,t){var r=!0;return gt(e,function(n,o,i){return r=!!t(n,o,i),r}),r}var zs=wx;function Fx(e,t,r){var n=E(e)?Hs:zs;return r&&oe(e,t,r)&&(t=void 0),n(e,Q(t,3))}var st=Fx;function Ux(e,t){var r=[];return gt(e,function(n,o,i){t(n,o,i)&&r.push(n)}),r}var An=Ux;function Dx(e,t){var r=E(e)?ze:An;return r(e,Q(t,3))}var lt=Dx;function Bx(e){return function(t,r,n){var o=Object(t);if(!J(t)){var i=Q(r,3);t=k(t),r=function(s){return i(o[s],s,o)}}var a=e(t,r,n);return a>-1?o[i?t[a]:a]:void 0}}var Vs=Bx;var Gx=Math.max;function Wx(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var o=r==null?0:kt(r);return o<0&&(o=Gx(n+o,0)),Xr(e,Q(t,3),o)}var Xs=Wx;var Kx=Vs(Xs),Wt=Kx;function jx(e){return e&&e.length?e[0]:void 0}var ot=jx;function $x(e,t){var r=-1,n=J(e)?Array(e.length):[];return gt(e,function(o,i,a){n[++r]=t(o,i,a)}),n}var Ys=$x;function Hx(e,t){var r=E(e)?Pt:Ys;return r(e,Q(t,3))}var d=Hx;function zx(e,t){return je(d(e,t),1)}var dt=zx;var Vx=Object.prototype,Xx=Vx.hasOwnProperty,Yx=Ws(function(e,t,r){Xx.call(e,r)?e[r].push(t):ke(e,r,[t])}),Ir=Yx;var qx=Object.prototype,Zx=qx.hasOwnProperty;function Jx(e,t){return e!=null&&Zx.call(e,t)}var qs=Jx;function Qx(e,t){return e!=null&&Tn(e,t,qs)}var T=Qx;var tg="[object String]";function eg(e){return typeof e=="string"||!E(e)&&V(e)&&pt(e)==tg}var et=eg;function rg(e,t){return Pt(t,function(r){return e[r]})}var Zs=rg;function ng(e){return e==null?[]:Zs(e,k(e))}var v=ng;var og=Math.max;function ig(e,t,r,n){e=J(e)?e:v(e),r=r&&!n?kt(r):0;var o=e.length;return r<0&&(r=og(o+r,0)),et(e)?r<=o&&e.indexOf(t,r)>-1:!!o&&Pe(e,t,r)>-1}var D=ig;var ag=Math.max;function sg(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var o=r==null?0:kt(r);return o<0&&(o=ag(n+o,0)),Pe(e,t,o)}var In=sg;var lg="[object Map]",fg="[object Set]",cg=Object.prototype,ug=cg.hasOwnProperty;function pg(e){if(e==null)return!0;if(J(e)&&(E(e)||typeof e=="string"||typeof e.splice=="function"||zt(e)||Fe(e)||ie(e)))return!e.length;var t=Ct(e);if(t==lg||t==fg)return!e.size;if(Ft(e))return!Jr(e).length;for(var r in e)if(ug.call(e,r))return!1;return!0}var N=pg;var hg="[object RegExp]";function dg(e){return V(e)&&pt(e)==hg}var Js=dg;var Qs=Ot&&Ot.isRegExp,mg=Qs?Ut(Qs):Js,_t=mg;function xg(e){return e===void 0}var ft=xg;var gg="Expected a function";function Tg(e){if(typeof e!="function")throw new TypeError(gg);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}var tl=Tg;function Eg(e,t,r,n){if(!W(e))return e;t=ue(t,e);for(var o=-1,i=t.length,a=i-1,s=e;s!=null&&++o<i;){var l=Dt(t[o]),f=r;if(l==="__proto__"||l==="constructor"||l==="prototype")return e;if(o!=a){var c=s[l];f=n?n(c,l,s):void 0,f===void 0&&(f=W(c)?c:re(t[o+1])?[]:{})}ne(s,l,f),s=s[l]}return e}var el=Eg;function Ag(e,t,r){for(var n=-1,o=t.length,i={};++n<o;){var a=t[n],s=We(e,a);r(s,a)&&el(i,ue(a,e),s)}return i}var rl=Ag;function Ig(e,t){if(e==null)return{};var r=Pt(sn(e),function(n){return[n]});return t=Q(t),rl(e,r,function(n,o){return t(n,o[0])})}var Tt=Ig;function Rg(e,t,r,n,o){return o(e,function(i,a,s){r=n?(n=!1,i):t(r,i,a,s)}),r}var nl=Rg;function yg(e,t,r){var n=E(e)?va:nl,o=arguments.length<3;return n(e,Q(t,4),r,o,gt)}var $=yg;function Sg(e,t){var r=E(e)?ze:An;return r(e,tl(Q(t,3)))}var me=Sg;function Og(e,t){var r;return gt(e,function(n,o,i){return r=t(n,o,i),!r}),!!r}var ol=Og;function _g(e,t,r){var n=E(e)?pn:ol;return r&&oe(e,t,r)&&(t=void 0),n(e,Q(t,3))}var Re=_g;var Ng=1/0,Cg=he&&1/Je(new he([,-0]))[1]==Ng?function(e){return new he(e)}:K,il=Cg;var vg=200;function Lg(e,t,r){var n=-1,o=Yr,i=e.length,a=!0,s=[],l=s;if(r)a=!1,o=En;else if(i>=vg){var f=t?null:il(e);if(f)return Je(f);a=!1,o=Ze,l=new qe}else l=t?[]:s;t:for(;++n<i;){var c=e[n],u=t?t(c):c;if(c=r||c!==0?c:0,a&&u===u){for(var p=l.length;p--;)if(l[p]===u)continue t;t&&l.push(u),s.push(c)}else o(l,u,r)||(l!==s&&l.push(u),s.push(c))}return s}var al=Lg;function bg(e){return e&&e.length?al(e):[]}var xe=bg;function tr(e){console&&console.error&&console.error(`Error: ${e}`)}function Rr(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function yr(e){let t=new Date().getTime(),r=e();return{time:new Date().getTime()-t,value:r}}function Sr(e){function t(){}t.prototype=e;let r=new t;function n(){return typeof r.bar}return n(),n(),e;(0,eval)(e)}function Pg(e){return kg(e)?e.LABEL:e.name}function kg(e){return et(e.LABEL)&&e.LABEL!==""}var Rt=class{get definition(){return this._definition}set definition(t){this._definition=t}constructor(t){this._definition=t}accept(t){t.visit(this),x(this.definition,r=>{r.accept(t)})}},P=class extends Rt{constructor(t){super([]),this.idx=1,tt(this,Tt(t,r=>r!==void 0))}set definition(t){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(t){t.visit(this)}},mt=class extends Rt{constructor(t){super(t.definition),this.orgText="",tt(this,Tt(t,r=>r!==void 0))}},w=class extends Rt{constructor(t){super(t.definition),this.ignoreAmbiguities=!1,tt(this,Tt(t,r=>r!==void 0))}},U=class extends Rt{constructor(t){super(t.definition),this.idx=1,tt(this,Tt(t,r=>r!==void 0))}},Y=class extends Rt{constructor(t){super(t.definition),this.idx=1,tt(this,Tt(t,r=>r!==void 0))}},q=class extends Rt{constructor(t){super(t.definition),this.idx=1,tt(this,Tt(t,r=>r!==void 0))}},L=class extends Rt{constructor(t){super(t.definition),this.idx=1,tt(this,Tt(t,r=>r!==void 0))}},H=class extends Rt{constructor(t){super(t.definition),this.idx=1,tt(this,Tt(t,r=>r!==void 0))}},z=class extends Rt{get definition(){return this._definition}set definition(t){this._definition=t}constructor(t){super(t.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,tt(this,Tt(t,r=>r!==void 0))}},C=class{constructor(t){this.idx=1,tt(this,Tt(t,r=>r!==void 0))}accept(t){t.visit(this)}};function Rn(e){return d(e,er)}function er(e){function t(r){return d(r,er)}if(e instanceof P){let r={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return et(e.label)&&(r.label=e.label),r}else{if(e instanceof w)return{type:"Alternative",definition:t(e.definition)};if(e instanceof U)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof Y)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof q)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:er(new C({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof H)return{type:"RepetitionWithSeparator",idx:e.idx,separator:er(new C({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof L)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof z)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof C){let r={type:"Terminal",name:e.terminalType.name,label:Pg(e.terminalType),idx:e.idx};et(e.label)&&(r.terminalLabel=e.label);let n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(r.pattern=_t(n)?n.source:n),r}else{if(e instanceof mt)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}}}var ct=class{visit(t){let r=t;switch(r.constructor){case P:return this.visitNonTerminal(r);case w:return this.visitAlternative(r);case U:return this.visitOption(r);case Y:return this.visitRepetitionMandatory(r);case q:return this.visitRepetitionMandatoryWithSeparator(r);case H:return this.visitRepetitionWithSeparator(r);case L:return this.visitRepetition(r);case z:return this.visitAlternation(r);case C:return this.visitTerminal(r);case mt:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(t){}visitAlternative(t){}visitOption(t){}visitRepetition(t){}visitRepetitionMandatory(t){}visitRepetitionMandatoryWithSeparator(t){}visitRepetitionWithSeparator(t){}visitAlternation(t){}visitTerminal(t){}visitRule(t){}};function To(e){return e instanceof w||e instanceof U||e instanceof L||e instanceof Y||e instanceof q||e instanceof H||e instanceof C||e instanceof mt}function ye(e,t=[]){return e instanceof U||e instanceof L||e instanceof H?!0:e instanceof z?Re(e.definition,n=>ye(n,t)):e instanceof P&&D(t,e)?!1:e instanceof Rt?(e instanceof P&&t.push(e),st(e.definition,n=>ye(n,t))):!1}function Eo(e){return e instanceof z}function Et(e){if(e instanceof P)return"SUBRULE";if(e instanceof U)return"OPTION";if(e instanceof z)return"OR";if(e instanceof Y)return"AT_LEAST_ONE";if(e instanceof q)return"AT_LEAST_ONE_SEP";if(e instanceof H)return"MANY_SEP";if(e instanceof L)return"MANY";if(e instanceof C)return"CONSUME";throw Error("non exhaustive match")}var Yt=class{walk(t,r=[]){x(t.definition,(n,o)=>{let i=X(t.definition,o+1);if(n instanceof P)this.walkProdRef(n,i,r);else if(n instanceof C)this.walkTerminal(n,i,r);else if(n instanceof w)this.walkFlat(n,i,r);else if(n instanceof U)this.walkOption(n,i,r);else if(n instanceof Y)this.walkAtLeastOne(n,i,r);else if(n instanceof q)this.walkAtLeastOneSep(n,i,r);else if(n instanceof H)this.walkManySep(n,i,r);else if(n instanceof L)this.walkMany(n,i,r);else if(n instanceof z)this.walkOr(n,i,r);else throw Error("non exhaustive match")})}walkTerminal(t,r,n){}walkProdRef(t,r,n){}walkFlat(t,r,n){let o=r.concat(n);this.walk(t,o)}walkOption(t,r,n){let o=r.concat(n);this.walk(t,o)}walkAtLeastOne(t,r,n){let o=[new U({definition:t.definition})].concat(r,n);this.walk(t,o)}walkAtLeastOneSep(t,r,n){let o=sl(t,r,n);this.walk(t,o)}walkMany(t,r,n){let o=[new U({definition:t.definition})].concat(r,n);this.walk(t,o)}walkManySep(t,r,n){let o=sl(t,r,n);this.walk(t,o)}walkOr(t,r,n){let o=r.concat(n);x(t.definition,i=>{let a=new w({definition:[i]});this.walk(a,o)})}};function sl(e,t,r){return[new U({definition:[new C({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function Se(e){if(e instanceof P)return Se(e.referencedRule);if(e instanceof C)return Fg(e);if(To(e))return Mg(e);if(Eo(e))return wg(e);throw Error("non exhaustive match")}function Mg(e){let t=[],r=e.definition,n=0,o=r.length>n,i,a=!0;for(;o&&a;)i=r[n],a=ye(i),t=t.concat(Se(i)),n=n+1,o=r.length>n;return xe(t)}function wg(e){let t=d(e.definition,r=>Se(r));return xe(j(t))}function Fg(e){return[e.terminalType]}var yn="_~IN~_";var Ao=class extends Yt{constructor(t){super(),this.topProd=t,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(t,r,n){}walkProdRef(t,r,n){let o=Ug(t.referencedRule,t.idx)+this.topProd.name,i=r.concat(n),a=new w({definition:i}),s=Se(a);this.follows[o]=s}};function ll(e){let t={};return x(e,r=>{let n=new Ao(r).startWalking();tt(t,n)}),t}function Ug(e,t){return e.name+t+yn}function y(e){return e.charCodeAt(0)}function Sn(e,t){Array.isArray(e)?e.forEach(function(r){t.push(r)}):t.push(e)}function rr(e,t){if(e[t]===!0)throw"duplicate flag "+t;let r=e[t];e[t]=!0}function Oe(e){if(e===void 0)throw Error("Internal Error - Should never get here!");return!0}function Or(){throw Error("Internal Error - Should never get here!")}function Io(e){return e.type==="Character"}var _r=[];for(let e=y("0");e<=y("9");e++)_r.push(e);var Nr=[y("_")].concat(_r);for(let e=y("a");e<=y("z");e++)Nr.push(e);for(let e=y("A");e<=y("Z");e++)Nr.push(e);var Ro=[y(" "),y("\f"),y(`
`),y("\r"),y(" "),y("\v"),y(" "),y("\xA0"),y("\u1680"),y("\u2000"),y("\u2001"),y("\u2002"),y("\u2003"),y("\u2004"),y("\u2005"),y("\u2006"),y("\u2007"),y("\u2008"),y("\u2009"),y("\u200A"),y("\u2028"),y("\u2029"),y("\u202F"),y("\u205F"),y("\u3000"),y("\uFEFF")];var Dg=/[0-9a-fA-F]/,On=/[0-9]/,Bg=/[1-9]/,Cr=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(t){this.idx=t.idx,this.input=t.input,this.groupIdx=t.groupIdx}pattern(t){this.idx=0,this.input=t,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:t.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":rr(n,"global");break;case"i":rr(n,"ignoreCase");break;case"m":rr(n,"multiLine");break;case"u":rr(n,"unicode");break;case"y":rr(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let t=[],r=this.idx;for(t.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),t.push(this.alternative());return{type:"Disjunction",value:t,loc:this.loc(r)}}alternative(){let t=[],r=this.idx;for(;this.isTerm();)t.push(this.term());return{type:"Alternative",value:t,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let t=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(t)};case"$":return{type:"EndAnchor",loc:this.loc(t)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(t)};case"B":return{type:"NonWordBoundary",loc:this.loc(t)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}Oe(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(t)}}return Or()}quantifier(t=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let o=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:o,atMost:o};break;case",":let i;this.isDigit()?(i=this.integerIncludingZero(),r={atLeast:o,atMost:i}):r={atLeast:o,atMost:1/0},this.consumeChar("}");break}if(t===!0&&r===void 0)return;Oe(r);break}if(!(t===!0&&r===void 0)&&Oe(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let t,r=this.idx;switch(this.peekChar()){case".":t=this.dotAll();break;case"\\":t=this.atomEscape();break;case"[":t=this.characterClass();break;case"(":t=this.group();break}return t===void 0&&this.isPatternCharacter()&&(t=this.patternCharacter()),Oe(t)?(t.loc=this.loc(r),this.isQuantifier()&&(t.quantifier=this.quantifier()),t):Or()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[y(`
`),y("\r"),y("\u2028"),y("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let t,r=!1;switch(this.popChar()){case"d":t=_r;break;case"D":t=_r,r=!0;break;case"s":t=Ro;break;case"S":t=Ro,r=!0;break;case"w":t=Nr;break;case"W":t=Nr,r=!0;break}return Oe(t)?{type:"Set",value:t,complement:r}:Or()}controlEscapeAtom(){let t;switch(this.popChar()){case"f":t=y("\f");break;case"n":t=y(`
`);break;case"r":t=y("\r");break;case"t":t=y(" ");break;case"v":t=y("\v");break}return Oe(t)?{type:"Character",value:t}:Or()}controlLetterEscapeAtom(){this.consumeChar("c");let t=this.popChar();if(/[a-zA-Z]/.test(t)===!1)throw Error("Invalid ");return{type:"Character",value:t.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:y("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let t=this.popChar();return{type:"Character",value:y(t)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let t=this.popChar();return{type:"Character",value:y(t)}}}characterClass(){let t=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),o=n.type==="Character";if(Io(n)&&this.isRangeDash()){this.consumeChar("-");let i=this.classAtom(),a=i.type==="Character";if(Io(i)){if(i.value<n.value)throw Error("Range out of order in character class");t.push({from:n.value,to:i.value})}else Sn(n.value,t),t.push(y("-")),Sn(i.value,t)}else Sn(n.value,t)}return this.consumeChar("]"),{type:"Set",complement:r,value:t}}classAtom(){switch(this.peekChar()){case"]":case`
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:y("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let t=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),t=!1;break;default:this.groupIdx++;break}let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:t,value:r};return t&&(n.idx=this.groupIdx),n}positiveInteger(){let t=this.popChar();if(Bg.test(t)===!1)throw Error("Expecting a positive integer");for(;On.test(this.peekChar(0));)t+=this.popChar();return parseInt(t,10)}integerIncludingZero(){let t=this.popChar();if(On.test(t)===!1)throw Error("Expecting an integer");for(;On.test(this.peekChar(0));)t+=this.popChar();return parseInt(t,10)}patternCharacter(){let t=this.popChar();switch(t){case`
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:y(t)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return On.test(this.peekChar(0))}isClassAtom(t=0){switch(this.peekChar(t)){case"]":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){let t=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(t)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(t){let r="";for(let o=0;o<t;o++){let i=this.popChar();if(Dg.test(i)===!1)throw Error("Expecting a HexDecimal digits");r+=i}return{type:"Character",value:parseInt(r,16)}}peekChar(t=0){return this.input[this.idx+t]}popChar(){let t=this.peekChar(0);return this.consumeChar(void 0),t}consumeChar(t){if(t!==void 0&&this.input[this.idx]!==t)throw Error("Expected: '"+t+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(t){return{begin:t,end:this.idx}}};var ge=class{visitChildren(t){for(let r in t){let n=t[r];t.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(o=>{this.visit(o)},this))}}visit(t){switch(t.type){case"Pattern":this.visitPattern(t);break;case"Flags":this.visitFlags(t);break;case"Disjunction":this.visitDisjunction(t);break;case"Alternative":this.visitAlternative(t);break;case"StartAnchor":this.visitStartAnchor(t);break;case"EndAnchor":this.visitEndAnchor(t);break;case"WordBoundary":this.visitWordBoundary(t);break;case"NonWordBoundary":this.visitNonWordBoundary(t);break;case"Lookahead":this.visitLookahead(t);break;case"NegativeLookahead":this.visitNegativeLookahead(t);break;case"Character":this.visitCharacter(t);break;case"Set":this.visitSet(t);break;case"Group":this.visitGroup(t);break;case"GroupBackReference":this.visitGroupBackReference(t);break;case"Quantifier":this.visitQuantifier(t);break}this.visitChildren(t)}visitPattern(t){}visitFlags(t){}visitDisjunction(t){}visitAlternative(t){}visitStartAnchor(t){}visitEndAnchor(t){}visitWordBoundary(t){}visitNonWordBoundary(t){}visitLookahead(t){}visitNegativeLookahead(t){}visitCharacter(t){}visitSet(t){}visitGroup(t){}visitGroupBackReference(t){}visitQuantifier(t){}};var _n={},Gg=new Cr;function nr(e){let t=e.toString();if(_n.hasOwnProperty(t))return _n[t];{let r=Gg.pattern(t);return _n[t]=r,r}}function fl(){_n={}}var ul="Complement Sets are not supported for first char optimization",vr=`Unable to use "first char" lexer optimizations:
`;function pl(e,t=!1){try{let r=nr(e);return yo(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===ul)t&&Rr(`${vr} Unable to optimize: < ${e.toString()} >
Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";t&&(n=`
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),tr(`${vr}
Failed parsing: < ${e.toString()} >
Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function yo(e,t,r){switch(e.type){case"Disjunction":for(let o=0;o<e.value.length;o++)yo(e.value[o],t,r);break;case"Alternative":let n=e.value;for(let o=0;o<n.length;o++){let i=n[o];switch(i.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let a=i;switch(a.type){case"Character":Nn(a.value,t,r);break;case"Set":if(a.complement===!0)throw Error(ul);x(a.value,l=>{if(typeof l=="number"