text: !function(e){function t(n){if(r[n])return r[n].exports;var s=r[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,t),s.l=!0,s.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=25)}([function(e,t,r){"use strict";t.ast=r(27),t.circular=r(7),t.ids=r(1),t.parser=r(28),t.stats=r(29),t.trace=r(30),t.utils=r(2),t.emitcss=r(8),t.style=r(3)},function(e,t,r){"use strict";e.exports={ALT:1,CAT:2,REP:3,RNM:4,TRG:5,TBS:6,TLS:7,UDT:11,AND:12,NOT:13,BKR:14,BKA:15,BKN:16,ABG:17,AEN:18,ACTIVE:100,MATCH:101,EMPTY:102,NOMATCH:103,SEM_PRE:200,SEM_POST:201,SEM_OK:300,SEM_SKIP:301,ATTR_N:400,ATTR_R:401,ATTR_MR:402,ATTR_NMR:403,ATTR_RMR:404,LOOKAROUND_NONE:500,LOOKAROUND_AHEAD:501,LOOKAROUND_BEHIND:502,BKR_MODE_UM:601,BKR_MODE_PM:602,BKR_MODE_CS:603,BKR_MODE_CI:604}},function(e,t,r){"use strict";var n="utilities.js: ",s=r(3),i=r(5).converter,o=this,a=function(e,t,r){for(var n;;){if(e<=0){t=0,n=0;break}if("number"!=typeof t){t=0,n=e;break}if(t>=e){t=e,n=e;break}if("number"!=typeof r){n=e;break}if(n=t+r,n>e){n=e;break}break}return{beg:t,end:n}};t.htmlToPage=function(e,t){var n="utilities.js: ",s=r(8);if("string"!=typeof e)throw new Error(n+"htmlToPage: input HTML is not a string");"string"!=typeof t&&(t="htmlToPage");var i="";return i+="<!DOCTYPE html>\n",i+='<html lang="en">\n',i+="<head>\n",i+='<meta charset="utf-8">\n',i+="<title>"+t+"</title>\n",i+="<style>\n",i+=s(),i+="</style>\n",i+="</head>\n<body>\n",i+="<p>"+new Date+"</p>\n",i+=e,i+="</body>\n</html>\n"},t.parserResultToHtml=function(e,t){var n=r(1),i=null;"string"==typeof t&&""!==t&&(i=t);var o,a;o=e.success===!0?'<span class="'+s.CLASS_MATCH+'">true</span>':'<span class="'+s.CLASS_NOMATCH+'">false</span>',a=e.state===n.EMPTY?'<span class="'+s.CLASS_EMPTY+'">EMPTY</span>':e.state===n.MATCH?'<span class="'+s.CLASS_MATCH+'">MATCH</span>':e.state===n.NOMATCH?'<span class="'+s.CLASS_NOMATCH+'">NOMATCH</span>':'<span class="'+s.CLASS_NOMATCH+'">unrecognized</span>';var c="";return c+='<table class="'+s.CLASS_STATE+'">\n',i&&(c+="<caption>"+i+"</caption>\n"),c+="<tr><th>state item</th><th>value</th><th>description</th></tr>\n",c+="<tr><td>parser success</td><td>"+o+"</td>\n",c+='<td><span class="'+s.CLASS_MATCH+'">true</span> if the parse succeeded,\n',c+=' <span class="'+s.CLASS_NOMATCH+'">false</span> otherwise',c+="<br><i>NOTE: for success, entire string must be matched</i></td></tr>\n",c+="<tr><td>parser state</td><td>"+a+"</td>\n",c+='<td><span class="'+s.CLASS_EMPTY+'">EMPTY</span>, ',c+='<span class="'+s.CLASS_MATCH+'">MATCH</span> or \n',c+='<span class="'+s.CLASS_NOMATCH+'">NOMATCH</span></td></tr>\n',c+="<tr><td>string length</td><td>"+e.length+"</td><td>length of the input (sub)string</td></tr>\n",c+="<tr><td>matched length</td><td>"+e.matched+"</td><td>number of input string characters matched</td></tr>\n",c+="<tr><td>max matched</td><td>"+e.maxMatched+"</td><td>maximum number of input string characters matched</td></tr>\n",c+="<tr><td>max tree depth</td><td>"+e.maxTreeDepth+"</td><td>maximum depth of the parse tree reached</td></tr>\n",c+="<tr><td>node hits</td><td>"+e.nodeHits+"</td><td>number of parse tree node hits (opcode function calls)</td></tr>\n",c+="<tr><td>input length</td><td>"+e.inputLength+"</td><td>length of full input string</td></tr>\n",c+="<tr><td>sub-string begin</td><td>"+e.subBegin+"</td><td>sub-string first character index</td></tr>\n",c+="<tr><td>sub-string end</td><td>"+e.subEnd+"</td><td>sub-string end-of-string index</td></tr>\n",c+="<tr><td>sub-string length</td><td>"+e.subLength+"</td><td>sub-string length</td></tr>\n",c+="</table>\n"},t.charsToString=function(e,t,r){var n=e.slice(t,t+r),s=i.encode("UTF16LE",n);return s.toString("utf16le")},t.stringToChars=function(e){return i.decode("STRING",e)},t.opcodeToString=function(e){var t=r(1),n="unknown";switch(e){case t.ALT:n="ALT";break;case t.CAT:n="CAT";break;case t.RNM:n="RNM";break;case t.UDT:n="UDT";break;case t.AND:n="AND";break;case t.NOT:n="NOT";break;case t.REP:n="REP";break;case t.TRG:n="TRG";break;case t.TBS:n="TBS";break;case t.TLS:n="TLS";break;case t.BKR:n="BKR";break;case t.BKA:n="BKA";break;case t.BKN:n="BKN";break;case t.ABG:n="ABG";break;case t.AEN:n="AEN"}return n},t.asciiChars=["NUL","SOH","STX","ETX","EOT","ENQ","ACK","BEL","BS","TAB","LF","VT","FF","CR","SO","SI","DLE","DC1","DC2","DC3","DC4","NAK","SYN","ETB","CAN","EM","SUB","ESC","FS","GS","RS","US","&nbsp;","!","&#34;","#","$","%","&#38;","&#39;","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","&#60;","=","&#62;","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","&#92;","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","DEL"],t.charToHex=function(e){var t=e.toString(16).toUpperCase();switch(t.length){case 1:case 3:case 7:t="0"+t;break;case 6:t="00"+t;break;case 5:t="000"+t}return t},t.charsToDec=function(e,t,r){var s="";if(!Array.isArray(e))throw new Error(n+"charsToDec: input must be an array of integers");var i=a(e.length,t,r);if(i.end>i.beg){s+=e[i.beg];for(var o=i.beg+1;o<i.end;o+=1)s+=","+e[o]}return s},t.charsToHex=function(e,t,r){var s="";if(!Array.isArray(e))throw new Error(n+"charsToHex: input must be an array of integers");var i=a(e.length,t,r);if(i.end>i.beg){s+="\\x"+o.charToHex(e[i.beg]);for(var c=i.beg+1;c<i.end;c+=1)s+=",\\x"+o.charToHex(e[c])}return s},t.charsToUnicode=function(e,t,r){var s="";if(!Array.isArray(e))throw new Error(n+"charsToUnicode: input must be an array of integers");var i=a(e.length,t,r);if(i.end>i.beg){s+="U+"+o.charToHex(e[i.beg]);for(var c=i.beg+1;c<i.end;c+=1)s+=",U+"+o.charToHex(e[c])}return s},t.charsToJsUnicode=function(e,t,r){var s="";if(!Array.isArray(e))throw new Error(n+"charsToJsUnicode: input must be an array of integers");var i=a(e.length,t,r);if(i.end>i.beg){s+="\\u"+o.charToHex(e[i.beg]);for(var c=i.beg+1;c<i.end;c+=1)s+=",\\u"+o.charToHex(e[c])}return s},t.charsToAscii=function(e,t,r){var s="";if(!Array.isArray(e))throw new Error(n+"charsToAscii: input must be an array of integers");for(var i=a(e.length,t,r),c=i.beg;c<i.end;c+=1){var l=e[c];s+=l>=32&&l<=126?String.fromCharCode(l):"\\x"+o.charToHex(l)}return s},t.charsToAsciiHtml=function(e,t,r){if(!Array.isArray(e))throw new Error(n+"charsToAsciiHtml: input must be an array of integers");for(var i,c="",l=a(e.length,t,r),h=l.beg;h<l.end;h+=1)i=e[h],c+=i<32||127===i?'<span class="'+s.CLASS_CTRLCHAR+'">'+o.asciiChars[i]+"</span>":i>127?'<span class="'+s.CLASS_CTRLCHAR+'">U+'+o.charToHex(i)+"</span>":o.asciiChars[i];return c},t.stringToAsciiHtml=function(e){var t=i.decode("STRING",e);return this.charsToAsciiHtml(t)}},function(e,t){e.exports={CLASS_MONOSPACE:"apg-mono",CLASS_ACTIVE:"apg-active",CLASS_EMPTY:"apg-empty",CLASS_MATCH:"apg-match",CLASS_NOMATCH:"apg-nomatch",CLASS_LOOKAHEAD:"apg-lh-match",CLASS_LOOKBEHIND:"apg-lb-match",CLASS_REMAINDER:"apg-remainder",CLASS_CTRLCHAR:"apg-ctrl-char",CLASS_LINEEND:"apg-line-end",CLASS_ERROR:"apg-error",CLASS_PHRASE:"apg-phrase",CLASS_EMPTYPHRASE:"apg-empty-phrase",CLASS_STATE:"apg-state",CLASS_STATS:"apg-stats",CLASS_TRACE:"apg-trace",CLASS_GRAMMAR:"apg-grammar",CLASS_RULES:"apg-rules",CLASS_RULESLINK:"apg-rules-link",CLASS_ATTRIBUTES:"apg-attrs"}},function(e,t,r){"use strict";(function(e){function n(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}function s(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(e,t){if(s()<t)throw new RangeError("Invalid typed array length");return o.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=o.prototype):(null===e&&(e=new o(t)),e.length=t),e}function o(e,t,r){if(!(o.TYPED_ARRAY_SUPPORT||this instanceof o))return new o(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return a(this,e,t,r)}function a(e,t,r,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?d(e,t,r,n):"string"==typeof t?p(e,t,r):f(e,t)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function l(e,t,r,n){return c(t),t<=0?i(e,t):void 0!==r?"string"==typeof n?i(e,t).fill(r,n):i(e,t).fill(r):i(e,t)}function h(e,t){if(c(t),e=i(e,t<0?0:0|g(t)),!o.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function p(e,t,r){if("string"==typeof r&&""!==r||(r="utf8"),!o.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|b(t,r);e=i(e,n);var s=e.write(t,r);return s!==n&&(e=e.slice(0,s)),e}function u(e,t){var r=t.length<0?0:0|g(t.length);e=i(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function d(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n),o.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=o.prototype):e=u(e,t),e}function f(e,t){if(o.isBuffer(t)){var r=0|g(t.length);return e=i(e,r),0===e.length?e:(t.copy(e,0,0,r),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||$(t.length)?i(e,0):u(e,t);if("Buffer"===t.type&&Q(t.data))return u(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function g(e){if(e>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function m(e){return+e!=e&&(e=0),o.alloc(+e)}function b(e,t){if(o.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return j(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return J(e).length;default:if(n)return j(e).length;t=(""+t).toLowerCase(),n=!0}}function y(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return _(this,t,r);case"utf8":case"utf-8":return O(this,t,r);case"ascii":return L(this,t,r);case"latin1":case"binary":return B(this,t,r);case"base64":return M(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function E(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function T(e,t,r,n,s){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0){if(!s)return-1;r=0}if("string"==typeof t&&(t=o.from(t,n)),o.isBuffer(t))return 0===t.length?-1:x(e,t,r,n,s);if("number"==typeof t)return t=255&t,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):x(e,[t],r,n,s);throw new TypeError("val must be string, number or Buffer")}function x(e,t,r,n,s){function i(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}var o=1,a=e.length,c=t.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,a/=2,c/=2,r/=2}var l;if(s){var h=-1;for(l=r;l<a;l++)if(i(e,l)===i(t,h===-1?0:l-h)){if(h===-1&&(h=l),l-h+1===c)return h*o}else h!==-1&&(l-=l-h),h=-1}else for(r+c>a&&(r=a-c),l=r;l>=0;l--){for(var p=!0,u=0;u<c;u++)if(i(e,l+u)!==i(t,u)){p=!1;break}if(p)return l}return-1}function A(e,t,r,n){r=Number(r)||0;var s=e.length-r;n?(n=Number(n),n>s&&(n=s)):n=s;var i=t.length;if(i%2!==0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var o=0;o<n;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[r+o]=a}return o}function k(e,t,r,n){return X(j(t,e.length-r),e,r,n)}function w(e,t,r,n){return X(z(t),e,r,n)}function S(e,t,r,n){return w(e,t,r,n)}function v(e,t,r,n){return X(J(t),e,r,n)}function C(e,t,r,n){return X(q(t,e.length-r),e,r,n)}function M(e,t,r){return 0===t&&r===e.length?W.fromByteArray(e):W.fromByteArray(e.slice(t,r))}function O(e,t,r){r=Math.min(e.length,r);for(var n=[],s=t;s<r;){var i=e[s],o=null,a=i>239?4:i>223?3:i>191?2:1;if(s+a<=r){var c,l,h,p;switch(a){case 1:i<128&&(o=i);break;case 2:c=e[s+1],128===(192&c)&&(p=(31&i)<<6|63&c,p>127&&(o=p));break;case 3:c=e[s+1],l=e[s+2],128===(192&c)&&128===(192&l)&&(p=(15&i)<<12|(63&c)<<6|63&l,p>2047&&(p<55296||p>57343)&&(o=p));break;case 4:c=e[s+1],l=e[s+2],h=e[s+3],128===(192&c)&&128===(192&l)&&128===(192&h)&&(p=(15&i)<<18|(63&c)<<12|(63&l)<<6|63&h,p>65535&&p<1114112&&(o=p))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),s+=a}return R(n)}function R(e){var t=e.length;if(t<=ee)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=ee));return r}function L(e,t,r){var n="";r=Math.min(e.length,r);for(var s=t;s<r;++s)n+=String.fromCharCode(127&e[s]);return n}function B(e,t,r){var n="";r=Math.min(e.length,r);for(var s=t;s<r;++s)n+=String.fromCharCode(e[s]);return n}function _(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var s="",i=t;i<r;++i)s+=G(e[i]);return s}function N(e,t,r){for(var n=e.slice(t,r),s="",i=0;i<n.length;i+=2)s+=String.fromCharCode(n[i]+256*n[i+1]);return s}function P(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function H(e,t,r,n,s,i){if(!o.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function D(e,t,r,n){t<0&&(t=65535+t+1);for(var s=0,i=Math.min(e.length-r,2);s<i;++s)e[r+s]=(t&255<<8*(n?s:1-s))>>>8*(n?s:1-s)}function I(e,t,r,n){t<0&&(t=4294967295+t+1);for(var s=0,i=Math.min(e.length-r,4);s<i;++s)e[r+s]=t>>>8*(n?s:3-s)&255}function U(e,t,r,n,s,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function F(e,t,r,n,s){return s||U(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(e,t,r,n,23,4),r+4}function K(e,t,r,n,s){return s||U(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(e,t,r,n,52,8),r+8}function Y(e){if(e=V(e).replace(te,""),e.length<2)return"";for(;e.length%4!==0;)e+="=";return e}function V(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function G(e){return e<16?"0"+e.toString(16):e.toString(16)}function j(e,t){t=t||1/0;for(var r,n=e.length,s=null,i=[],o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!s){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}s=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),s=r;continue}r=(s-55296<<10|r-56320)+65536}else s&&(t-=3)>-1&&i.push(239,191,189);if(s=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function z(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function q(e,t){for(var r,n,s,i=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,s=r%256,i.push(s),i.push(n);return i}function J(e){return W.toByteArray(Y(e))}function X(e,t,r,n){for(var s=0;s<n&&!(s+r>=t.length||s>=e.length);++s)t[s+r]=e[s];return s}function $(e){return e!==e}var W=r(11),Z=r(12),Q=r(13);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:n(),t.kMaxLength=s(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,r){return a(null,e,t,r)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,r){return l(null,e,t,r)},o.allocUnsafe=function(e){return h(null,e)},o.allocUnsafeSlow=function(e){return h(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,s=0,i=Math.min(r,n);s<i;++s)if(e[s]!==t[s]){r=e[s],n=t[s];break}return r<n?-1:n<r?1:0},o.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(e,t){if(!Q(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=o.allocUnsafe(t),s=0;for(r=0;r<e.length;++r){var i=e[r];if(!o.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,s),s+=i.length}return n},o.byteLength=b,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)E(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)E(this,t,t+3),E(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)E(this,t,t+7),E(this,t+1,t+6),E(this,t+2,t+5),E(this,t+3,t+4);return this},o.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?O(this,0,e):y.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},o.prototype.compare=function(e,t,r,n,s){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===s&&(s=this.length),t<0||r>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&t>=r)return 0;if(n>=s)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,s>>>=0,this===e)return 0;for(var i=s-n,a=r-t,c=Math.min(i,a),l=this.slice(n,s),h=e.slice(t,r),p=0;p<c;++p)if(l[p]!==h[p]){i=l[p],a=h[p];break}return i<a?-1:a<i?1:0},o.prototype.includes=function(e,t,r){return this.indexOf(e,t,r)!==-1},o.prototype.indexOf=function(e,t,r){return T(this,e,t,r,!0)},o.prototype.lastIndexOf=function(e,t,r){return T(this,e,t,r,!1)},o.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t=0|t,isFinite(r)?(r=0|r,void 0===n&&(n="utf8")):(n=r,r=void 0)}var s=this.length-t;if((void 0===r||r>s)&&(r=s),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return A(this,e,t,r);case"utf8":case"utf-8":return k(this,e,t,r);case"ascii":return w(this,e,t,r);case"latin1":case"binary":return S(this,e,t,r);case"base64":return v(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;o.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),t<e&&(t=e);var n;if(o.TYPED_ARRAY_SUPPORT)n=this.subarray(e,t),n.__proto__=o.prototype;else{var s=t-e;n=new o(s,void 0);for(var i=0;i<s;++i)n[i]=this[i+e]}return n},o.prototype.readUIntLE=function(e,t,r){e=0|e,t=0|t,r||P(e,t,this.length);for(var n=this[e],s=1,i=0;++i<t&&(s*=256);)n+=this[e+i]*s;return n},o.prototype.readUIntBE=function(e,t,r){e=0|e,t=0|t,r||P(e,t,this.length);for(var n=this[e+--t],s=1;t>0&&(s*=256);)n+=this[e+--t]*s;return n},o.prototype.readUInt8=function(e,t){return t||P(e,1,this.length),this[e]},o.prototype.readUInt16LE=function(e,t){return t||P(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUInt16BE=function(e,t){return t||P(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUInt32LE=function(e,t){return t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},o.prototype.readUInt32BE=function(e,t){return t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readIntLE=function(e,t,r){e=0|e,t=0|t,r||P(e,t,this.length);for(var n=this[e],s=1,i=0;++i<t&&(s*=256);)n+=this[e+i]*s;return s*=128,n>=s&&(n-=Math.pow(2,8*t)),n},o.prototype.readIntBE=function(e,t,r){e=0|e,t=0|t,r||P(e,t,this.length);for(var n=t,s=1,i=this[e+--n];n>0&&(s*=256);)i+=this[e+--n]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*t)),i},o.prototype.readInt8=function(e,t){return t||P(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},o.prototype.readInt16LE=function(e,t){t||P(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt16BE=function(e,t){t||P(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt32LE=function(e,t){return t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readFloatLE=function(e,t){return t||P(e,4,this.length),Z.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return t||P(e,4,this.length),Z.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return t||P(e,8,this.length),Z.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return t||P(e,8,this.length),Z.read(this,e,!1,52,8)},o.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t=0|t,r=0|r,!n){var s=Math.pow(2,8*r)-1;H(this,e,t,r,s,0)}var i=1,o=0;for(this[t]=255&e;++o<r&&(i*=256);)this[t+o]=e/i&255;return t+r},o.prototype.writeUIntBE=function(e,t,r,n){if(e=+e,t=0|t,r=0|r,!n){var s=Math.pow(2,8*r)-1;H(this,e,t,r,s,0)}var i=r-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+r},o.prototype.writeUInt8=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,1,255,0),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},o.prototype.writeUInt16LE=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},o.prototype.writeUInt16BE=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},o.prototype.writeUInt32LE=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):I(this,e,t,!0),t+4},o.prototype.writeUInt32BE=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):I(this,e,t,!1),t+4},o.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t=0|t,!n){var s=Math.pow(2,8*r-1);H(this,e,t,r,s-1,-s)}var i=0,o=1,a=0;for(this[t]=255&e;++i<r&&(o*=256);)e<0&&0===a&&0!==this[t+i-1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+r},o.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t=0|t,!n){var s=Math.pow(2,8*r-1);H(this,e,t,r,s-1,-s)}var i=r-1,o=1,a=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/o>>0)-a&255;return t+r},o.prototype.writeInt8=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,1,127,-128),o.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},o.prototype.writeInt16BE=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},o.prototype.writeInt32LE=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):I(this,e,t,!0),t+4},o.prototype.writeInt32BE=function(e,t,r){return e=+e,t=0|t,r||H(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),o.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):I(this,e,t,!1),t+4},o.prototype.writeFloatLE=function(e,t,r){return F(this,e,t,!0,r)},o.prototype.writeFloatBE=function(e,t,r){return F(this,e,t,!1,r)},o.prototype.writeDoubleLE=function(e,t,r){return K(this,e,t,!0,r)},o.prototype.writeDoubleBE=function(e,t,r){return K(this,e,t,!1,r)},o.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var s,i=n-r;if(this===e&&r<t&&t<n)for(s=i-1;s>=0;--s)e[s+t]=this[s+r];else if(i<1e3||!o.TYPED_ARRAY_SUPPORT)for(s=0;s<i;++s)e[s+t]=this[s+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+i),t);return i},o.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===e.length){var s=e.charCodeAt(0);s<256&&(e=s)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!o.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e=255&e);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var i;if("number"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var a=o.isBuffer(e)?e:j(new o(e,n).toString()),c=a.length;for(i=0;i<r-t;++i)this[i+t]=a[i%c]}return this};var te=/[^+\/0-9A-Za-z-_]/g}).call(t,r(10))},function(e,t,r){"use strict";t.converter=r(26),t.transformers=r(6)},function(e,t,r){(function(e){"use strict;";var r=this,n=4294967292,s=4294967293,i=4294967294,o=4294967295,a=[0,1,3,7,15,31,63,127,255,511,1023],c=["00","01","02","03","04","05","06","07","08","09","0A","0B","0C","0D","0E","0F","10","11","12","13","14","15","16","17","18","19","1A","1B","1C","1D","1E","1F","20","21","22","23","24","25","26","27","28","29","2A","2B","2C","2D","2E","2F","30","31","32","33","34","35","36","37","38","39","3A","3B","3C","3D","3E","3F","40","41","42","43","44","45","46","47","48","49","4A","4B","4C","4D","4E","4F","50","51","52","53","54","55","56","57","58","59","5A","5B","5C","5D","5E","5F","60","61","62","63","64","65","66","67","68","69","6A","6B","6C","6D","6E","6F","70","71","72","73","74","75","76","77","78","79","7A","7B","7C","7D","7E","7F","80","81","82","83","84","85","86","87","88","89","8A","8B","8C","8D","8E","8F","90","91","92","93","94","95","96","97","98","99","9A","9B","9C","9D","9E","9F","A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","AA","AB","AC","AD","AE","AF","B0","B1","B2","B3","B4","B5","B6","B7","B8","B9","BA","BB","BC","BD","BE","BF","C0","C1","C2","C3","C4","C5","C6","C7","C8","C9","CA","CB","CC","CD","CE","CF","D0","D1","D2","D3","D4","D5","D6","D7","D8","D9","DA","DB","DC","DD","DE","DF","E0","E1","E2","E3","E4","E5","E6","E7","E8","E9","EA","EB","EC","ED","EE","EF","F0","F1","F2","F3","F4","F5","F6","F7","F8","F9","FA","FB","FC","FD","FE","FF"],l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".split(""),h=[];l.forEach(function(e){h.push(e.charCodeAt(0))}),t.utf8={encode:function(t){var r=[];return t.forEach(function(e){if(e>=0&&e<=127)r.push(e);else if(e<=2047)r.push(192+(e>>6&a[5])),r.push(128+(e&a[6]));else if(e<55296||e>57343&&e<=65535)r.push(224+(e>>12&a[4])),r.push(128+(e>>6&a[6])),r.push(128+(e&a[6]));else{if(!(e>=65536&&e<=1114111))throw new RangeError("utf8.encode: character out of range: char: "+e);var t=e>>16&a[5];r.push(240+(t>>2)),r.push(128+((t&a[2])<<4)+(e>>12&a[4])),r.push(128+(e>>6&a[6])),r.push(128+(e&a[6]))}}),e.from(r)},decode:function(e,t){function r(e,t){if(128!==(192&t))return s;var r=((e&a[5])<<6)+(t&a[6]);return r<128?n:r}function c(e,t,r){if(128!==(192&r)||128!==(192&t))return s;var o=((e&a[4])<<12)+((t&a[6])<<6)+(r&a[6]);return o<2048?n:o>=55296&&o<=57343?i:o}function l(e,t,r,o){if(128!==(192&o)||128!==(192&r)||128!==(192&t))return s;var c=(((e&a[3])<<2)+(t>>4&a[2])<<16)+((t&a[4])<<12)+((r&a[6])<<6)+(o&a[6]);return c<65536?n:c>1114111?i:c}for(var h,p,u,d,f,g,m=e.length,b=t?3:0,y=[];b<m;){for(p=e[b],h=o;;){if(p>=0&&p<=127){h=p,g=1;break}if(u=b+1,u<m&&p>=194&&p<=223){h=r(p,e[u]),g=2;break}if(d=b+2,d<m&&p>=224&&p<=239){h=c(p,e[u],e[d]),g=3;break}if(f=b+3,f<m&&p>=240&&p<=244){h=l(p,e[u],e[d],e[f]),g=4;break}break}if(h>1114111){var E="byte["+b+"]";if(h===o)throw new RangeError("utf8.decode: ill-formed UTF8 byte sequence found at: "+E);if(h===s)throw new RangeError("utf8.decode: illegal trailing byte found at: "+E);if(h===i)throw new RangeError("utf8.decode: code point out of range found at: "+E);if(h===n)throw new RangeError("utf8.decode: non-shortest form found at: "+E);throw new RangeError("utf8.decode: unrecognized error found at: "+E)}y.push(h),b+=g}return y}},t.utf16be={encode:function(t){for(var r,n,s,i=[],o=0;o<t.length;o+=1)if(r=t[o],r>=0&&r<=55295||r>=57344&&r<=65535)i.push(r>>8&a[8]),i.push(r&a[8]);else{if(!(r>=65536&&r<=1114111))throw new RangeError("utf16be.encode: UTF16BE value out of range: char["+o+"]: "+r);s=r-65536,n=55296+(s>>10),s=56320+(s&a[10]),i.push(n>>8&a[8]),i.push(n&a[8]),i.push(s>>8&a[8]),i.push(s&a[8])}return e.from(i)},decode:function(e,t){if(e.length%2>0)throw new RangeError("utf16be.decode: data length must be even multiple of 2: length: "+e.length);for(var r,n,s,i,o,a,c=[],l=e.length,h=t?2:0,p=0;h<l;){for(;;){if(s=h+1,s<l){if(o=(e[h]<<8)+e[s],o<55296||o>57343){r=o,n=2;break}if(i=h+3,i<l&&(a=(e[h+2]<<8)+e[i],o<=56319&&a>=56320&&a<=57343)){r=65536+(o-55296<<10)+(a-56320),n=4;break}}throw new RangeError("utf16be.decode: ill-formed UTF16BE byte sequence found: byte["+h+"]")}c[p++]=r,h+=n}return c}},t.utf16le={encode:function(t){for(var r,n,s,i=[],o=0;o<t.length;o+=1)if(r=t[o],r>=0&&r<=55295||r>=57344&&r<=65535)i.push(r&a[8]),i.push(r>>8&a[8]);else{if(!(r>=65536&&r<=1114111))throw new RangeError("utf16le.encode: UTF16LE value out of range: char["+o+"]: "+r);s=r-65536,n=55296+(s>>10),
  s=56320+(s&a[10]),i.push(n&a[8]),i.push(n>>8&a[8]),i.push(s&a[8]),i.push(s>>8&a[8])}return e.from(i)},decode:function(e,t){if(e.length%2>0)throw new RangeError("utf16le.decode: data length must be even multiple of 2: length: "+e.length);for(var r,n,s,i,o,a,c=[],l=e.length,h=t?2:0,p=0;h<l;){for(;;){if(s=h+1,s<l){if(o=(e[s]<<8)+e[h],o<55296||o>57343){r=o,n=2;break}if(i=h+3,i<l&&(a=(e[i]<<8)+e[h+2],o<=56319&&a>=56320&&a<=57343)){r=65536+(o-55296<<10)+(a-56320),n=4;break}}throw new RangeError("utf16le.decode: ill-formed UTF16LE byte sequence found: byte["+h+"]")}c[p++]=r,h+=n}return c}},t.utf32be={encode:function(t){var r=e.alloc(4*t.length),n=0;return t.forEach(function(e){if(e>=55296&&e<=57343||e>1114111)throw new RangeError("utf32be.encode: UTF32BE character code out of range: char["+n/4+"]: "+e);r[n++]=e>>24&a[8],r[n++]=e>>16&a[8],r[n++]=e>>8&a[8],r[n++]=e&a[8]}),r},decode:function(e,t){if(e.length%4>0)throw new RangeError("utf32be.decode: UTF32BE byte length must be even multiple of 4: length: "+e.length);for(var r=[],n=t?4:0;n<e.length;n+=4){var s=(e[n]<<24)+(e[n+1]<<16)+(e[n+2]<<8)+e[n+3];if(s>=55296&&s<=57343||s>1114111)throw new RangeError("utf32be.decode: UTF32BE character code out of range: char["+n/4+"]: "+s);r.push(s)}return r}},t.utf32le={encode:function(t){var r=e.alloc(4*t.length),n=0;return t.forEach(function(e){if(e>=55296&&e<=57343||e>1114111)throw new RangeError("utf32le.encode: UTF32LE character code out of range: char["+n/4+"]: "+e);r[n++]=e&a[8],r[n++]=e>>8&a[8],r[n++]=e>>16&a[8],r[n++]=e>>24&a[8]}),r},decode:function(e,t){if(e.length%4>0)throw new RangeError("utf32be.decode: UTF32LE byte length must be even multiple of 4: length: "+e.length);for(var r=[],n=t?4:0;n<e.length;n+=4){var s=(e[n+3]<<24)+(e[n+2]<<16)+(e[n+1]<<8)+e[n];if(s>=55296&&s<=57343||s>1114111)throw new RangeError("utf32le.encode: UTF32LE character code out of range: char["+n/4+"]: "+s);r.push(s)}return r}},t.uint7={encode:function(t){for(var r=e.alloc(t.length),n=0;n<t.length;n+=1){if(t[n]>127)throw new RangeError("uint7.encode: UINT7 character code out of range: char["+n+"]: "+t[n]);r[n]=t[n]}return r},decode:function(e){for(var t=[],r=0;r<e.length;r+=1){if(e[r]>127)throw new RangeError("uint7.decode: UINT7 character code out of range: byte["+r+"]: "+e[r]);t[r]=e[r]}return t}},t.uint8={encode:function(t){for(var r=e.alloc(t.length),n=0;n<t.length;n+=1){if(t[n]>255)throw new RangeError("uint8.encode: UINT8 character code out of range: char["+n+"]: "+t[n]);r[n]=t[n]}return r},decode:function(e){for(var t=[],r=0;r<e.length;r+=1)t[r]=e[r];return t}},t.uint16be={encode:function(t){var r=e.alloc(2*t.length),n=0;return t.forEach(function(e){if(e>65535)throw new RangeError("uint16be.encode: UINT16BE character code out of range: char["+n/2+"]: "+e);r[n++]=e>>8&a[8],r[n++]=e&a[8]}),r},decode:function(e){if(e.length%2>0)throw new RangeError("uint16be.decode: UINT16BE byte length must be even multiple of 2: length: "+e.length);for(var t=[],r=0;r<e.length;r+=2)t.push((e[r]<<8)+e[r+1]);return t}},t.uint16le={encode:function(t){var r=e.alloc(2*t.length),n=0;return t.forEach(function(e){if(e>65535)throw new RangeError("uint16le.encode: UINT16LE character code out of range: char["+n/2+"]: "+e);r[n++]=e&a[8],r[n++]=e>>8&a[8]}),r},decode:function(e){if(e.length%2>0)throw new RangeError("uint16le.decode: UINT16LE byte length must be even multiple of 2: length: "+e.length);for(var t=[],r=0;r<e.length;r+=2)t.push((e[r+1]<<8)+e[r]);return t}},t.uint32be={encode:function(t){var r=e.alloc(4*t.length),n=0;return t.forEach(function(e){r[n++]=e>>24&a[8],r[n++]=e>>16&a[8],r[n++]=e>>8&a[8],r[n++]=e&a[8]}),r},decode:function(e){if(e.length%4>0)throw new RangeError("uint32be.decode: UINT32BE byte length must be even multiple of 4: length: "+e.length);for(var t=[],r=0;r<e.length;r+=4)t.push((e[r]<<24)+(e[r+1]<<16)+(e[r+2]<<8)+e[r+3]);return t}},t.uint32le={encode:function(t){var r=e.alloc(4*t.length),n=0;return t.forEach(function(e){r[n++]=e&a[8],r[n++]=e>>8&a[8],r[n++]=e>>16&a[8],r[n++]=e>>24&a[8]}),r},decode:function(e){if(e.length%4>0)throw new RangeError("uint32le.decode: UINT32LE byte length must be even multiple of 4: length: "+e.length);for(var t=[],r=0;r<e.length;r+=4)t.push((e[r+3]<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]);return t}},t.string={encode:function(e){return r.utf16le.encode(e).toString("utf16le")},decode:function(t){return r.utf16le.decode(e.from(t,"utf16le"),0)}},t.escaped={encode:function(t){for(var r=[],n=0;n<t.length;n+=1){var s=t[n];if(96===s)r.push(s),r.push(s);else if(10===s)r.push(s);else if(s>=32&&s<=126)r.push(s);else{var i="";if(s>=0&&s<=31)i+="`x"+c[s];else if(s>=127&&s<=255)i+="`x"+c[s];else if(s>=256&&s<=65535)i+="`u"+c[s>>8&a[8]]+c[s&a[8]];else{if(!(s>=65536&&s<=4294967295))throw new Error("escape.encode(char): char > 0xffffffff not allowed");i+="`u{";var o=s>>24&a[8];o>0&&(i+=c[o]),i+=c[s>>16&a[8]]+c[s>>8&a[8]]+c[s&a[8]]+"}"}var l=e.from(i);l.forEach(function(e){r.push(e)})}}return e.from(r)},decode:function(e){function t(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function r(e,r,n){var s={char:null,nexti:e+2,error:!0};if(e+1<r&&t(n[e])&&t(n[e+1])){var i=String.fromCodePoint(n[e],n[e+1]);s.char=parseInt(i,16),isNaN(s.char)||(s.error=!1)}return s}function n(e,r,n){var s={char:null,nexti:e+4,error:!0};if(e+3<r&&t(n[e])&&t(n[e+1])&&t(n[e+2])&&t(n[e+3])){var i=String.fromCodePoint(n[e],n[e+1],n[e+2],n[e+3]);s.char=parseInt(i,16),isNaN(s.char)||(s.error=!1)}return s}function s(e,r,n){for(var s={char:null,nexti:e+4,error:!0},i="";e<r&&t(n[e]);)i+=String.fromCodePoint(n[e]),e+=1;return s.char=parseInt(i,16),125!==n[e]||isNaN(s.char)||(s.error=!1),s.nexti=e+1,s}for(var i,o,a,c=[],l=e.length,h=0;h<l;){for(;;){if(a=!0,96!==e[h]){c.push(e[h]),h+=1,a=!1;break}if(i=h+1,i>=l)break;if(96===e[i]){c.push(96),h+=2,a=!1;break}if(120===e[i]){if(o=r(i+1,l,e),o.error)break;c.push(o.char),h=o.nexti,a=!1;break}if(117===e[i]){if(123===e[i+1]){if(o=s(i+2,l,e),o.error)break;c.push(o.char),h=o.nexti,a=!1;break}if(o=n(i+1,l,e),o.error)break;c.push(o.char),h=o.nexti,a=!1;break}break}if(a)throw new Error("escaped.decode: ill-formed escape sequence at buf["+h+"]")}return c}};var p=13,u=10;t.lineEnds={crlf:function(e){for(var t=[],r=0;r<e.length;)switch(e[r]){case p:r+=r+1<e.length&&e[r+1]===u?2:1,t.push(p),t.push(u);break;case u:t.push(p),t.push(u),r+=1;break;default:t.push(e[r]),r+=1}return t.length>0&&t[t.length-1]!==u&&(t.push(p),t.push(u)),t},lf:function(e){for(var t=[],r=0;r<e.length;)switch(e[r]){case p:r+=r+1<e.length&&e[r+1]===u?2:1,t.push(u);break;case u:t.push(u),r+=1;break;default:t.push(e[r]),r+=1}return t.length>0&&t[t.length-1]!==u&&t.push(u),t}},t.base64={encode:function(t){if(0===t.length)return e.alloc(0);var r,n,s,i=t.length%3;i=i>0?3-i:0;var o=(t.length+i)/3,c=e.alloc(4*o);i>0&&(o-=1),r=0,n=0;for(var l=0;l<o;l+=1)s=t[r++]<<16,s+=t[r++]<<8,s+=t[r++],c[n++]=h[s>>18&a[6]],c[n++]=h[s>>12&a[6]],c[n++]=h[s>>6&a[6]],c[n++]=h[s&a[6]];return 0===i?c:1===i?(s=t[r++]<<16,s+=t[r]<<8,c[n++]=h[s>>18&a[6]],c[n++]=h[s>>12&a[6]],c[n++]=h[s>>6&a[6]],c[n]=h[64],c):2===i?(s=t[r]<<16,c[n++]=h[s>>18&a[6]],c[n++]=h[s>>12&a[6]],c[n++]=h[64],c[n]=h[64],c):void 0},decode:function(t){function r(t){for(var r=[],n=0,s=0;s<t.length;s+=1)for(var i=t[s];;){if(32===i||9===i||10===i||13===i)break;if(i>=65&&i<=90){r.push(i-65);break}if(i>=97&&i<=122){r.push(i-71);break}if(i>=48&&i<=57){r.push(i+4);break}if(43===i){r.push(62);break}if(47===i){r.push(63);break}if(61===i){r.push(64),n+=1;break}throw new RangeError("base64.decode: invalid character buf["+s+"]: "+i)}if(r.length%4>0)throw new RangeError("base64.decode: string length not integral multiple of 4: "+r.length);switch(n){case 0:break;case 1:if(64!==r[r.length-1])throw new RangeError("base64.decode: one tail character found: not last character");break;case 2:if(64!==r[r.length-1]||64!==r[r.length-2])throw new RangeError("base64.decode: two tail characters found: not last characters");break;default:throw new RangeError("base64.decode: more than two tail characters found: "+n)}return{tail:n,buf:e.from(r)}}if(0===t.length)return e.alloc(0);var n,s,i,o=r(t),c=o.tail,l=o.buf,h=l.length/4,p=e.alloc(3*h-c);c>0&&(h-=1),s=0,n=0;for(var u=0;u<h;u+=1)i=l[n++]<<18,i+=l[n++]<<12,i+=l[n++]<<6,i+=l[n++],p[s++]=i>>16&a[8],p[s++]=i>>8&a[8],p[s++]=i&a[8];return 1===c&&(i=l[n++]<<18,i+=l[n++]<<12,i+=l[n]<<6,p[s++]=i>>16&a[8],p[s]=i>>8&a[8]),2===c&&(i=l[n++]<<18,i+=l[n++]<<12,p[s]=i>>16&a[8]),p},toString:function(e){function t(e,t,r,i){switch(s){case 76:n+="\r\n"+e+t+r+i,s=4;break;case 75:n+=e+"\r\n"+t+r+i,s=3;break;case 74:n+=e+t+"\r\n"+r+i,s=2;break;case 73:n+=e+t+r+"\r\n"+i,s=1;break;default:n+=e+t+r+i,s+=4}}function r(e){return e>=65&&e<=90||(e>=97&&e<=122||(e>=48&&e<=57||(43===e||(47===e||61===e))))}if(e.length%4>0)throw new RangeError("base64.toString: input buffer length not multiple of 4: "+e.length);for(var n="",s=0,i=0;i<e.length;i+=4){for(var o=i;o<i+4;o+=1)if(!r(e[o]))throw new RangeError("base64.toString: buf["+o+"]: "+e[o]+" : not valid base64 character code");t(String.fromCharCode(e[i]),String.fromCharCode(e[i+1]),String.fromCharCode(e[i+2]),String.fromCharCode(e[i+3]))}return n}}}).call(t,r(4).Buffer)},function(e,t){e.exports=function(){"use strict;";var e="circular-buffer.js: ",t=-1,r=0;this.init=function(n){if("number"!=typeof n||n<=0)throw new Error(e+"init: circular buffer size must an integer > 0");r=Math.ceil(n),t=-1},this.increment=function(){return t+=1,(t+r)%r},this.maxSize=function(){return r},this.items=function(){return t+1},this.getListIndex=function(e){return t===-1?-1:e<0||e>t?-1:t-e>=r?-1:(e+r)%r},this.forEach=function(e){if(t!==-1)if(t<r)for(var n=0;n<=t;n+=1)e(n,n);else for(var n=t-r+1;n<=t;n+=1){var s=(n+r)%r;e(s,n)}}}},function(e,t){e.exports=function(){return"/* This file automatically generated by toless() and LESS. */\n.apg-mono {\n  font-family: monospace;\n}\n.apg-active {\n  font-weight: bold;\n  color: #000000;\n}\n.apg-match {\n  font-weight: bold;\n  color: #264BFF;\n}\n.apg-empty {\n  font-weight: bold;\n  color: #0fbd0f;\n}\n.apg-nomatch {\n  font-weight: bold;\n  color: #FF4000;\n}\n.apg-lh-match {\n  font-weight: bold;\n  color: #1A97BA;\n}\n.apg-lb-match {\n  font-weight: bold;\n  color: #5F1687;\n}\n.apg-remainder {\n  font-weight: bold;\n  color: #999999;\n}\n.apg-ctrl-char {\n  font-weight: bolder;\n  font-style: italic;\n  font-size: .6em;\n}\n.apg-line-end {\n  font-weight: bold;\n  color: #000000;\n}\n.apg-error {\n  font-weight: bold;\n  color: #FF4000;\n}\n.apg-phrase {\n  color: #000000;\n  background-color: #8caae6;\n}\n.apg-empty-phrase {\n  color: #0fbd0f;\n}\ntable.apg-state {\n  font-family: monospace;\n  margin-top: 5px;\n  font-size: 11px;\n  line-height: 130%;\n  text-align: left;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-state th,\ntable.apg-state td {\n  text-align: left;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-state th:nth-last-child(2),\ntable.apg-state td:nth-last-child(2) {\n  text-align: right;\n}\ntable.apg-state caption {\n  font-size: 125%;\n  line-height: 130%;\n  font-weight: bold;\n  text-align: left;\n}\ntable.apg-stats {\n  font-family: monospace;\n  margin-top: 5px;\n  font-size: 11px;\n  line-height: 130%;\n  text-align: right;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-stats th,\ntable.apg-stats td {\n  text-align: right;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-stats caption {\n  font-size: 125%;\n  line-height: 130%;\n  font-weight: bold;\n  text-align: left;\n}\ntable.apg-trace {\n  font-family: monospace;\n  margin-top: 5px;\n  font-size: 11px;\n  line-height: 130%;\n  text-align: right;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-trace caption {\n  font-size: 125%;\n  line-height: 130%;\n  font-weight: bold;\n  text-align: left;\n}\ntable.apg-trace th,\ntable.apg-trace td {\n  text-align: right;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-trace th:last-child,\ntable.apg-trace th:nth-last-child(2),\ntable.apg-trace td:last-child,\ntable.apg-trace td:nth-last-child(2) {\n  text-align: left;\n}\ntable.apg-grammar {\n  font-family: monospace;\n  margin-top: 5px;\n  font-size: 11px;\n  line-height: 130%;\n  text-align: right;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-grammar caption {\n  font-size: 125%;\n  line-height: 130%;\n  font-weight: bold;\n  text-align: left;\n}\ntable.apg-grammar th,\ntable.apg-grammar td {\n  text-align: right;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-grammar th:last-child,\ntable.apg-grammar td:last-child {\n  text-align: left;\n}\ntable.apg-rules {\n  font-family: monospace;\n  margin-top: 5px;\n  font-size: 11px;\n  line-height: 130%;\n  text-align: right;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-rules caption {\n  font-size: 125%;\n  line-height: 130%;\n  font-weight: bold;\n  text-align: left;\n}\ntable.apg-rules th,\ntable.apg-rules td {\n  text-align: right;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-rules a {\n  color: #003399 !important;\n}\ntable.apg-rules a:hover {\n  color: #8caae6 !important;\n}\ntable.apg-attrs {\n  font-family: monospace;\n  margin-top: 5px;\n  font-size: 11px;\n  line-height: 130%;\n  text-align: center;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-attrs caption {\n  font-size: 125%;\n  line-height: 130%;\n  font-weight: bold;\n  text-align: left;\n}\ntable.apg-attrs th,\ntable.apg-attrs td {\n  text-align: center;\n  border: 1px solid black;\n  border-collapse: collapse;\n}\ntable.apg-attrs th:nth-child(1),\ntable.apg-attrs th:nth-child(2),\ntable.apg-attrs th:nth-child(3) {\n  text-align: right;\n}\ntable.apg-attrs td:nth-child(1),\ntable.apg-attrs td:nth-child(2),\ntable.apg-attrs td:nth-child(3) {\n  text-align: right;\n}\ntable.apg-attrs a {\n  color: #003399 !important;\n}\ntable.apg-attrs a:hover {\n  color: #8caae6 !important;\n}\n"}},function(e,t,r){(function(t){e.exports=function(e){var n,s="api.js: ",i=this,o=r(0),a=r(22),c=new(r(18)),l=new(r(17)),h=r(5).converter;if(this.sabnf,this.chars,this.lines,this.rules,this.udts,this.errors=[],t.isBuffer(e))this.chars=h.decode("BINARY",e);else if(Array.isArray(e))this.chars=e.slice();else{if("string"!=typeof e)throw new TypeError(s+"input source is not a string, byte Buffer or character array");this.chars=h.decode("STRING",e)}this.sabnf=h.encode("STRING",this.chars),this.scan=function(e,t){this.lines=a(this.chars,this.errors,e,t)},this.parse=function(e,t){c.syntax(this.chars,this.lines,this.errors,e,t)},this.translate=function(){var e=c.semantic(this.chars,this.lines,this.errors);0===this.errors.length&&(this.rules=e.rules,this.udts=e.udts,n=e.lineMap)},this.attributes=function(){l.getAttributes(this.rules,this.udts,n,this.errors)},this.generate=function(e){if(this.lines=a(this.chars,this.errors,e),!this.errors.length&&(c.syntax(this.chars,this.lines,this.errors,e),!this.errors.length)){var t=c.semantic(this.chars,this.lines,this.errors);this.errors.length||(this.rules=t.rules,this.udts=t.udts,n=t.lineMap,l.getAttributes(this.rules,this.udts,n,this.errors))}},this.toSource=function(e){return c.generateSource(this.chars,this.lines,this.rules,this.udts,e)},this.toObject=function(){return c.generateObject(this.sabnf,this.rules,this.udts)},this.errorsToAscii=function(){return f(this.errors,this.lines,this.chars)},this.errorsToHtml=function(e){return d(this.errors,this.lines,this.chars,e)},this.linesToAscii=function(){return p(this.lines)},this.linesToHtml=function(){return u(this.lines)},this.getAttributesObject=function(){return l};var p=function(e){var t="";return t+="Annotated Input Grammar",e.forEach(function(e,r){t+="\n",t+="line no: "+e.lineNo,t+=" : char index: "+e.beginChar,t+=" : length: "+e.length,t+=" : abnf: "+m(i.chars,e.beginChar,e.length)}),t+="\n"},u=function(e){var t="";t+='<table class="'+o.style.CLASS_GRAMMAR+'">\n';var r="Annotated Input Grammar";return t+="<caption>"+r+"</caption>\n",t+="<tr>",t+="<th>line<br>no.</th><th>first<br>char</th><th><br>length</th><th><br>text</th>",t+="</tr>\n",e.forEach(function(e,r){t+="<tr>",t+="<td>"+e.lineNo,t+="</td><td>"+e.beginChar,t+="</td><td>"+e.length,t+="</td><td>"+g(i.chars,e.beginChar,e.length),t+="</td>",t+="</tr>\n"}),t+="</table>\n"},d=function(e,t,r,n){var s=o.style,i="",a='<span class="'+s.CLASS_NOMATCH+'">&raquo;</span>';return i+='<p><table class="'+s.CLASS_GRAMMAR+'">\n',n&&"string"==typeof n&&(i+="<caption>"+n+"</caption>\n"),i+="<tr><th>line<br>no.</th><th>line<br>offset</th><th>error<br>offset</th><th><br>text</th></tr>\n",e.forEach(function(e){var n,s,c,l,h,p="",u="";0===t.length?(h=a,s=0):(n=t[e.line],c=n.beginChar,e.char>c&&(p=g(r,c,e.char-c)),c=e.char,l=n.beginChar+n.length,c<l&&(u=g(r,c,l-c)),h=p+a+u,s=e.char-n.beginChar,i+="<tr>",i+="<td>"+e.line+"</td><td>"+n.beginChar+"</td><td>"+s+"</td><td>"+h+"</td>",i+="</tr>\n",i+="<tr>",i+='<td colspan="3"></td><td>&uarr;:&nbsp;'+o.utils.stringToAsciiHtml(e.msg)+"</td>",i+="</tr>\n")}),i+="</table></p>\n"},f=function(e,t,r){var n,s,i,o;return n="",e.forEach(function(e){s=t[e.line],n+=s.lineNo+": ",n+=s.beginChar+": ",n+=e.char-s.beginChar+": ",i=s.beginChar,o=e.char-s.beginChar,n+=m(r,i,o),n+=" >> ",i=e.char,o=s.beginChar+s.length-e.char,n+=m(r,i,o),n+="\n",n+=s.lineNo+": ",n+=s.beginChar+": ",n+=e.char-s.beginChar+": ",n+="error: ",n+=e.msg,n+="\n"}),n},g=function(e,t,r){for(var n,s=0,i=1,a=2,c='<span class="'+o.style.CLASS_CTRLCHAR+'">',l="</span>",h='<span class="'+o.style.CLASS_NOMATCH+'">',p="</span>",u="";;){if(!Array.isArray(e)||0===e.length)break;if("number"!=typeof t&&(t=0),t>=e.length)break;n="number"!=typeof r||t+r>=e.length?e.length:t+r;for(var d=s,f=t;f<n;f+=1){var g=e[f];if(g>=32&&g<=126)switch(d===i?(u+=l,d=s):d===a&&(u+=p,d=s),g){case 32:u+="&nbsp;";break;case 60:u+="&lt;";break;case 62:u+="&gt;";break;case 38:u+="&amp;";break;case 34:u+="&quot;";break;case 39:u+="&#039;";break;case 92:u+="&#092;";break;default:u+=String.fromCharCode(g)}else 9===g||10===g||13===g?(d===s?(u+=c,d=i):d===a&&(u+=p+c,d=i),9===g&&(u+="TAB"),10===g&&(u+="LF"),13===g&&(u+="CR")):(d===s?(u+=h,d=a):d===i&&(u+=l+h,d=a),u+="\\x"+o.utils.charToHex(g))}d===a&&(u+=p),d===i&&(u+=l);break}return u},m=function(e,t,r){for(var n="",s=t;s<t+r;s+=1){var i=e[s];if(i>=32&&i<=126)n+=String.fromCharCode(i);else switch(i){case 9:n+="\\t";break;case 10:n+="\\n";break;case 13:n+="\\r";break;default:n+="\\unknown"}}return n}}}).call(t,r(4).Buffer)},function(e,t){var r;r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";function n(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function s(e){return 3*e.length/4-n(e)}function i(e){var t,r,s,i,o,a,c=e.length;o=n(e),a=new p(3*c/4-o),s=o>0?c-4:c;var l=0;for(t=0,r=0;t<s;t+=4,r+=3)i=h[e.charCodeAt(t)]<<18|h[e.charCodeAt(t+1)]<<12|h[e.charCodeAt(t+2)]<<6|h[e.charCodeAt(t+3)],a[l++]=i>>16&255,a[l++]=i>>8&255,a[l++]=255&i;return 2===o?(i=h[e.charCodeAt(t)]<<2|h[e.charCodeAt(t+1)]>>4,a[l++]=255&i):1===o&&(i=h[e.charCodeAt(t)]<<10|h[e.charCodeAt(t+1)]<<4|h[e.charCodeAt(t+2)]>>2,a[l++]=i>>8&255,a[l++]=255&i),a}function o(e){return l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[63&e]}function a(e,t,r){for(var n,s=[],i=t;i<r;i+=3)n=(e[i]<<16)+(e[i+1]<<8)+e[i+2],s.push(o(n));return s.join("")}function c(e){for(var t,r=e.length,n=r%3,s="",i=[],o=16383,c=0,h=r-n;c<h;c+=o)i.push(a(e,c,c+o>h?h:c+o));return 1===n?(t=e[r-1],s+=l[t>>2],s+=l[t<<4&63],s+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],s+=l[t>>10],s+=l[t>>4&63],s+=l[t<<2&63],s+="="),i.push(s),i.join("")}t.byteLength=s,t.toByteArray=i,t.fromByteArray=c;for(var l=[],h=[],p="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0,f=u.length;d<f;++d)l[d]=u[d],h[u.charCodeAt(d)]=d;h["-".charCodeAt(0)]=62,h["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,s){var i,o,a=8*s-n-1,c=(1<<a)-1,l=c>>1,h=-7,p=r?s-1:0,u=r?-1:1,d=e[t+p];for(p+=u,i=d&(1<<-h)-1,d>>=-h,h+=a;h>0;i=256*i+e[t+p],p+=u,h-=8);for(o=i&(1<<-h)-1,i>>=-h,h+=n;h>0;o=256*o+e[t+p],p+=u,h-=8);if(0===i)i=1-l;else{if(i===c)return o?NaN:(d?-1:1)*(1/0);o+=Math.pow(2,n),i-=l}return(d?-1:1)*o*Math.pow(2,i-n)},t.write=function(e,t,r,n,s,i){var o,a,c,l=8*i-s-1,h=(1<<l)-1,p=h>>1,u=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,f=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=h):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),t+=o+p>=1?u/c:u*Math.pow(2,1-p),t*c>=2&&(o++,c/=2),o+p>=h?(a=0,o=h):o+p>=1?(a=(t*c-1)*Math.pow(2,s),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,s),o=0));s>=8;e[r+d]=255&a,d+=f,a/=256,s-=8);for(o=o<<s|a,l+=s;l>0;e[r+d]=255&o,d+=f,o/=256,l-=8);e[r+d-f]|=128*g}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){e.exports=function(e){"use strict";var t=r(0).ids,n=function(r,s){r.ctrl.isScanned[s]+=1,e[s].opcodes.forEach(function(e){e.type===t.RNM&&(r.ctrl.refCount[e.index]+=1,0===r.ctrl.isScanned[e.index]&&n(r,e.index)),e.type===t.UDT&&(r.ctrl.udtRefCount[e.index]+=1)})};e.forEach(function(e){n(e,e.index)});for(var s=0;s<e.length;s+=1)e[s].ctrl.refCount[s]>0&&(e[s].ctrl.type=t.ATTR_R);e.mrGroups=[];for(var s=0;s<e.length;s+=1){var i=e[s].ctrl;if(i.type===t.ATTR_R){for(var o=[],a=0;a<e.length;a+=1)if(s!==a){var c=e[a].ctrl;c.type===t.ATTR_R&&i.refCount[a]>0&&c.refCount[s]&&(0==o.length&&(o.push(s),i.type=t.ATTR_MR,i.mrGroupId=e.mrGroups.length),o.push(a),c.type=t.ATTR_MR,c.mrGroupId=e.mrGroups.length)}o.length>0&&e.mrGroups.push(o)}}for(var s=0;s<e.length;s+=1)for(var i=e[s].ctrl,a=0;a<e.length;a+=1){var c=e[a].ctrl;i.refCount[a]>0&&c.type===t.ATTR_MR&&(i.type===t.ATTR_N?i.type=t.ATTR_NMR:i.type===t.ATTR_R&&(i.type=t.ATTR_RMR))}}},function(e,t,r){e.exports=function(e,t,n){"use strict";var s=r(0).ids,i=function(e,t){for(;;){if(e.ctrl.isOpen===!0||e.ctrl.isComplete===!0){t.finite=e.attr.finite,t.empty=e.attr.empty,t.notEmpty=e.attr.notEmpty;break}e.ctrl.isOpen=!0,h(e,0,t),e.ctrl.isOpen=!1,e.ctrl.isComplete=!0,e.attr.finite=t.finite,e.attr.empty=t.empty,e.attr.notEmpty=t.notEmpty;break}},o=function(e,t){for(;;){var r=p[p.length-1]+e.lower;if(e.ctrl.isOpen===!0||e.ctrl.isComplete===!0){t.finite=e.attr.finite,t.empty=e.attr.empty,t.notEmpty=e.attr.notEmpty;break}var n=u.find(r);if(n!==-1){t.finite=n.finite,t.empty=n.empty,t.notEmpty=n.notEmpty;break}p.push(r),e.ctrl.isOpen=!0,h(e,0,t),e.ctrl.isOpen=!1,e.attr.finite=t.finite,e.attr.empty=t.empty,e.attr.notEmpty=t.notEmpty,u.add(r,t),p.pop();break}},a=function(e,r,n){for(var s=e.opcodes[r],i=[],o=0;o<s.children.length;o+=1){var a=new t;i.push(a),h(e,s.children[o],a)}n.finite=!1,n.empty=!1,n.notEmpty=!1;for(var o=0;o<i.length;o+=1){var c=i[o];c.finite===!0&&(n.finite=!0),c.empty===!0?n.empty=!0:n.notEmpty=!0}},c=function(e,r,n){for(var s=e.opcodes[r],i=[],o=0;o<s.children.length;o+=1){var a=new t;i.push(a),h(e,s.children[o],a)}n.finite=!0,n.empty=!0,n.notEmpty=!1;for(var o=0;o<i.length;o+=1){var c=i[o];c.finite===!1&&(n.finite=!1),c.empty===!1&&(n.empty=!1,n.notEmpty=!0)}},l=function(e,t,r){var n=e.opcodes[t];h(e,t+1,r),0===n.min&&(r.finite=!0,r.empty=!0)},h=function(t,r,n){var i=t.opcodes[r];switch(i.type){case s.ALT:a(t,r,n);break;case s.CAT:c(t,r,n);break;case s.REP:l(t,r,n);break;case s.RNM:d(e[i.index],n);break;case s.UDT:n.finite=!0,n.empty=i.empty,n.notEmpty=!0;break;case s.AND:case s.NOT:case s.BKA:case s.BKN:case s.ABG:case s.AEN:n.finite=!0,n.empty=!0,n.notEmpty=!1;break;case s.TLS:n.finite=!0,n.empty=!(i.string.length>0),n.notEmpty=!n.empty;break;case s.TBS:n.finite=!0,n.empty=!1,n.notEmpty=!0;break;case s.BKR:n.finite=!0,n.empty=!0,n.notEmpty=!0;break;case s.TRG:n.finite=!0,n.empty=!1,n.notEmpty=!0}},p=[],u=new n,d=i,f=new t;e.forEach(function(e){e.ctrl.isOpen=!1,e.ctrl.isComplete=!1}),e.forEach(function(e){e.ctrl.type!==s.ATTR_N&&e.ctrl.type!==s.ATTR_R||e.ctrl.isComplete===!1&&d(e,f)}),d=o,e.mrGroups.forEach(function(t){t.forEach(function(t){var r=e[t];u.clear(),p.length=0,p.push(""),d(r,f),r.ctrl.isComplete=!0})}),d=i;var f=new t;e.forEach(function(e){e.ctrl.type!==s.ATTR_NMR&&e.ctrl.type!==s.ATTR_RMR||e.ctrl.isComplete===!1&&d(e,f)})}},function(e,t,r){e.exports=function(e,t,n){"use strict";var s=r(0).ids,i=function(e,t,r){for(;;){if(t.index===e&&t.ctrl.isOpen===!0){r.left=t.attr.left,r.nested=t.attr.nested,r.right=t.attr.right,r.cyclic=t.attr.cyclic,r.finite=t.attr.finite,r.empty=t.attr.empty,r.notEmpty=t.attr.notEmpty;break}if(0===t.ctrl.refCount[e]){r.left=!1,r.nested=!1,r.right=!1,r.cyclic=!1,r.finite=t.attr.finite,r.empty=t.attr.empty,r.notEmpty=t.attr.notEmpty;break}if(t.ctrl.isOpen===!0){r.left=!1,r.nested=!1,r.right=!1,r.cyclic=!1,r.finite=t.attr.finite,r.empty=t.attr.empty,r.notEmpty=t.attr.notEmpty;break}var n=f[f.length-1]+t.lower,s=g.find(n);if(s!==-1){r.left=s.left,r.nested=s.nested,r.right=s.right,r.cyclic=s.cyclic,r.finite=s.finite,r.empty=s.empty,r.notEmpty=s.notEmpty;break}f.push(n),t.ctrl.isOpen=!0,d(e,t,0,r),t.ctrl.isOpen=!1,g.add(n,r),f.pop();break}},o=function(e,r,n,s){for(var i=r.opcodes[n],o=[],a=0;a<i.children.length;a+=1){var c=new t;o.push(c),d(e,r,i.children[a],c)}s.left=!1,s.nested=!1,s.right=!1,s.cyclic=!1,s.finite=!1,s.empty=!1,s.notEmpty=!1;for(var a=0;a<o.length;a+=1){var l=o[a];l.left===!0&&(s.left=!0),l.nested===!0&&(s.nested=!0),l.right===!0&&(s.right=!0),l.cyclic===!0&&(s.cyclic=!0),l.finite===!0&&(s.finite=!0),l.empty===!0?s.empty=!0:s.notEmpty=!0}},a=function(e){for(var t,r,n,s,i=0;i<e.length;i+=1){var t=e[i];if(t.nested===!0)return!0}s=!1;for(var i=0;i<e.length;i+=1){var t=e[i];if(s){if(t.notEmpty===!0)return!0}else t.right===!0&&t.left===!1&&t.notEmpty===!0&&(s=!0)}s=!1;for(var i=e.length-1;i>=0;i-=1){var t=e[i];if(s){if(t.notEmpty===!0)return!0}else t.left===!0&&t.right===!1&&t.notEmpty===!0&&(s=!0)}n=!1,s=!1,r=!1;for(var i=0;i<e.length;i+=1){var t=e[i];if(n===!1)t.notEmpty===!0&&(n=!0);else if(s===!1)t.left!==!0&&t.right!==!0&&t.cyclic!==!0||(s=!0);else if(t.notEmpty===!0)return!0}return!1},c=function(e){for(var t=!1,r=0;r<e.length;r+=1){if(e[r].left===!0){t=!0;break}if(e[r].empty===!1){t=!1;break}}return t},l=function(e){for(var t=!1,r=e.length-1;r>=0;r-=1){if(e[r].right===!0){t=!0;break}if(e[r].empty===!1){t=!1;break}}return t},h=function(e){for(var t=!0,r=0;r<e.length;r+=1)if(e[r].cyclic===!1){t=!1;break}return t},p=function(e,r,n,s){for(var i=r.opcodes[n],o=[],p=0;p<i.children.length;p+=1){var u=new t;o.push(u),d(e,r,i.children[p],u)}s.finite=!0,s.empty=!0,s.notEmpty=!1;for(var p=0;p<o.length;p+=1){var f=o[p];f.finite===!1&&(s.finite=!1),f.empty===!1&&(s.empty=!1,s.notEmpty=!0)}s.left=c(o),s.nested=a(o),s.right=l(o),s.cyclic=h(o)},u=function(e,t,r,n){d(e,t,r+1,n)},d=function(t,r,n,a){var c=r.opcodes[n];switch(a.left=!1,a.nested=!1,a.right=!1,a.cyclic=!1,c.type){case s.ALT:o(t,r,n,a);break;case s.CAT:p(t,r,n,a);break;case s.REP:u(t,r,n,a);break;case s.RNM:i(t,e[c.index],a);break;case s.UDT:a.finite=!0,a.empty=c.empty,a.notEmpty=!0;break;case s.AND:case s.NOT:case s.BKA:case s.BKN:case s.ABG:case s.AEN:a.finite=!0,a.empty=!0,a.notEmpty=!1;break;case s.TLS:a.finite=!0,a.empty=!(c.string.length>0),a.notEmpty=!a.empty;break;case s.TBS:a.finite=!0,a.empty=!1,a.notEmpty=!0;break;case s.BKR:a.finite=!0,a.empty=!0,a.notEmpty=!0;break;case s.TRG:a.finite=!0,a.empty=!1,a.notEmpty=!0}},f=[],g=new n,m=new t;e.forEach(function(e){e.ctrl.isOpen=!1,e.ctrl.isComplete=!1});for(var b=0;b<e.length;b+=1)if(e[b].ctrl.type===s.ATTR_R||e[b].ctrl.type===s.ATTR_MR||e[b].ctrl.type===s.ATTR_RMR){var y=e[b];g.clear(),f.length=0,f.push(""),i(b,e[b],m),y.attr.left=m.left,y.attr.nested=m.nested,y.attr.right=m.right,y.attr.cyclic=m.cyclic}}},function(e,t,r){e.exports=function(){"use strict";var e=r(0),t=e.ids,n=r(14),s=r(15),i=r(16),o=null,a=null,c=0,l=function(e){var r="unknown";switch(e.type){case t.ATTR_N:r="N";break;case t.ATTR_R:r="R";break;case t.ATTR_MR:r="MR("+e.mrGroupId+")";break;case t.ATTR_NMR:r="NMR";break;case t.ATTR_RMR:r="RMR"}return r},h=function(e,t){var r=e.attr.left===!0||e.attr.cyclic===!0||e.attr.finite===!1,n=t.attr.left===!0||t.attr.cyclic===!0||t.attr.finite===!1;return r===!1&&n===!0?1:r===!0&&n===!1?-1:0},p=function(e,t){return e.index<t.index?-1:e.index>t.index?1:0},u=function(e){var t,r,n="",s=!1;n+='<script type="text/javascript">\n',n+='var attrSortCol = "index"\n',n+="var attrSortErrors = true\n",n+="var attrSortDir = 0\n",n+="var attrDirs = {index: 0, rule: 0, type: 0, left: 0, nested: 0, right: 0, cyclic: 0, finite: 0, empty: 0, notempty: 0}\n",n+="var attrRows = [\n";var i=0;return e.forEach(function(e){0===i?i+=1:n+=",\n",r=e.attr,t=!1,r.left!==!0&&r.cyclic!==!0&&r.finite!==!1||(t=!0,s=!0),n+="{error: "+t+", index: "+e.index+', rule: "'+e.name+'", lower: "'+e.lower+'"',n+=", type: "+e.ctrl.type+', typename: "'+l(e.ctrl)+'"',n+=", left: "+r.left+", nested: "+r.nested+", right: "+r.right+", cyclic: "+r.cyclic,n+=", finite: "+r.finite+", empty: "+r.empty+", notempty: "+r.notEmpty,n+="}"}),n+="\n]\n",n+="var attrHasErrors = "+s+"\n",n+="</script>\n",n+='<div id="sort-links" >\n',n+="</div>\n"},d=function(e){var t,r,n=[];return e.forEach(function(e){r=e.attr,t=!1,r.left!==!0&&r.cyclic!==!0&&r.finite!==!1||(t=!0);var s={};s.error=t,s.index=e.index,s.name=e.name,s.lower=e.lower,s.type=e.ctrl.type,s.typename=l(e.ctrl),s.left=r.left,s.nested=r.nested,s.right=r.right,s.cyclic=r.cyclic,s.finite=r.finite,s.empty=r.empty,s.notempty=r.notEmpty,n.push(s)}),n},f=function(e,r){this.isOpen=!1,this.isComplete=!1,this.type=t.ATTR_N,this.mrGroupId=-1,this.refCount=e.slice(0),this.udtRefCount=r.slice(0),this.isScanned=e.slice(0)},g=function(e){e===!0?(this.left=!0,this.nested=!1,this.right=!0,this.cyclic=!0):(this.left=!1,this.nested=!1,this.right=!1,this.cyclic=!1),this.finite=!1,this.empty=!0,this.notEmpty=!1,this.error=!1,this.copy=function(e){e.left=this.left,e.nested=this.nested,e.right=this.right,e.cyclic=this.cyclic,e.finite=this.finite,e.empty=this.empty,e.notEmpty=this.notEmpty,e.error=this.error},this.copyNR=function(e){e.finite=this.finite,e.empty=this.empty},this.copyR=function(e){e.left=this.left,e.nested=this.nested,e.right=this.right,e.cyclic=this.cyclic}},m=function(){var e=[];this.add=function(t,r){var n=-1,s=this.find(t);return s===-1&&(n={name:t,left:r.left,nested:r.nested,right:r.right,cyclic:r.cyclic,finite:r.finite,empty:r.empty,notEmpty:r.notEmpty},e.push(n)),n},this.find=function(t){for(var r=-1,n=0;n<e.length;n+=1)if(e[n].name===t){r=e[n];break}return r},this.clear=function(){e.length=0}};this.ruleDependenciesToString=function(){var e="";return o.forEach(function(t){e+="\n",e+="\nRULE: "+t.name;for(var r=0;r<o.length;r+=1)t.attr.refCount[r]>0&&(e+="\n          "+o[r].name)}),e},this.rulesWithReferencesToHtml=function(){var e="";e+='<script type="text/javascript">\n',e+='var tableData= {indexSort: "up", nameSort: "up", rows: [\n';var t=0;return o.forEach(function(r){0===t?t+=1:e+=",",e+='{name: "'+r.name+'", lower: "'+r.lower+'", index: '+r.index,e+=', indexSort: "up", nameSort: "up", visible: true, dependents: [';for(var n=0,s=0;s<o.length;s+=1)r.ctrl.refCount[s]>0&&(0===n?(e+='{name: "'+o[s].name+'", index: '+s+"}",n+=1):(e+=",",e+='{name: "'+o[s].name+'", index: '+s+"}"));e+="]}\n"}),e+="]};\n",e+="</script>\n",e+='<div id="sort-links" >\n',e+="</div>\n"},this.rulesWithReferencesData=function(){var e={indexSort:"up",nameSort:"none",rows:[]};return o.forEach(function(t){var r={};r.name=t.name,r.lower=t.lower,r.index=t.index,r.show=!0,r.dependents=[];for(var n=0;n<o.length;n+=1)if(t.ctrl.refCount[n]>0){var s={};s.name=o[n].name,s.index=n,r.dependents.push(s)}for(var n=0;n<a.length;n+=1)if(t.ctrl.udtRefCount[n]>0){var s={};s.name=a[n].name,s.index=a[n].index,r.dependents.push(s);
  }e.rows.push(r)}),e},this.ruleAttrsToHtml=function(){var e="";return o.sort(p),c>0&&o.sort(h),e+=u(o,"Attributes by Rule Index"),o.sort(p),e},this.ruleAttrsData=function(){o.sort(p),c>0&&o.sort(h);var e=d(o);return o.sort(p),e},this.udtAttrsData=function(){return d(a)},this.getAttributes=function(e,r,l,h){o=e,a=r;var p=[],u=[];return o.forEach(function(){p.push(0)}),a.forEach(function(e){u.push(0)}),o.forEach(function(e){e.ctrl=new f(p,u)}),n(o),o.forEach(function(e){e.ctrl.type===t.ATTR_R||e.ctrl.type===t.ATTR_MR||e.ctrl.type===t.ATTR_RMR?e.attr=new g(!0):e.attr=new g}),a.forEach(function(e){e.ctrl={type:t.ATTR_N},e.attr={left:!1,nested:!1,right:!1,cyclic:!1,finite:!0,empty:e.empty,notEmpty:!0,error:!1}}),s(o,g,m),i(o,g,m),c=0,o.forEach(function(e){e.error=!1,e.attr.left===!0&&(e.error=!0,c+=1,h.push({line:l[e.index].line,char:l[e.index].char,msg:"left recursive"})),e.attr.finite===!1&&(e.error=!0,c+=1,h.push({line:l[e.index].line,char:l[e.index].char,msg:"infinite"})),e.attr.cyclic===!0&&(e.error=!0,c+=1,h.push({line:l[e.index].line,char:l[e.index].char,msg:"cyclic"}))}),h}}},function(e,t,r){e.exports=function(){"use strict";var e="parser.js: ",t=r(0),n=t.ids,s=new(r(24)),i=new(r(23)),o=new(r(19)),a=new t.parser;a.ast=new t.ast,a.callbacks=s.callbacks,a.ast.callbacks=i.callbacks;var c=function(e,t,r){if(t<0||t>=r)return-1;for(var n=0;n<e.length;n+=1)if(t>=e[n].beginChar&&t<e[n].beginChar+e[n].length)return n;return-1},l=function(e,t){var r=-1;if(t<e.length)for(var n=t;n<e.length;n+=1)if(null!==e[n]){r=e[n];break}return r},h=function(e){e.forEach(function(e,t){var r=[],s=[],i=0;e.opcodes.forEach(function(e,t){e.type===n.ALT&&1===e.children.length?s.push(null):e.type===n.CAT&&1===e.children.length?s.push(null):e.type===n.REP&&1===e.min&&1===e.max?s.push(null):(s.push(i),r.push(e),i+=1)}),s.push(i),r.forEach(function(e,t){if(e.type===n.ALT||e.type===n.CAT)for(var r=0;r<e.children.length;r+=1)e.children[r]=l(s,e.children[r])}),e.opcodes=r})};this.syntax=function(t,r,n,s,i){if(i){if("traceObject"!==i.traceObject)throw new TypError(e+"trace argument is not a trace object");a.trace=i}var l={};l.errors=n,l.strict=!!s,l.lines=r,l.findLine=c,l.charsLength=t.length,l.ruleCount=0;var h=a.parse(o,"file",t,l);h.success||n.push({line:0,char:0,msg:"syntax analysis of input grammar failed"})},this.semantic=function(e,t,r){var n={};return n.errors=r,n.lines=t,n.findLine=c,n.charsLength=e.length,a.ast.translate(n),r.length?null:(h(n.rules),{rules:n.rules,udts:n.udts,lineMap:n.rulesLineMap})},this.generateSource=function(e,t,r,s,i){var o,a,c,l="",h=0,p=1/0,u=0,d=[],f=[],g=0,m=0,b=0,y=0,E=0,T=0,x=0,A=0,k=0,w=0,S=0,v=0,C=0,M=0,O=0;r.forEach(function(e){d.push(e.lower),h+=e.opcodes.length,e.opcodes.forEach(function(e,t){switch(e.type){case n.ALT:g+=1;break;case n.CAT:m+=1;break;case n.RNM:b+=1;break;case n.UDT:y+=1;break;case n.REP:E+=1;break;case n.AND:T+=1;break;case n.NOT:x+=1;break;case n.BKA:v+=1;break;case n.BKN:C+=1;break;case n.BKR:S+=1;break;case n.ABG:M+=1;break;case n.AEN:O+=1;break;case n.TLS:for(A+=1,o=0;o<e.string.length;o+=1)e.string[o]<p&&(p=e.string[o]),e.string[o]>u&&(u=e.string[o]);break;case n.TBS:for(k+=1,o=0;o<e.string.length;o+=1)e.string[o]<p&&(p=e.string[o]),e.string[o]>u&&(u=e.string[o]);break;case n.TRG:w+=1,e.min<p&&(p=e.min),e.max>u&&(u=e.max)}})}),d.sort(),s.length>0&&(s.forEach(function(e){f.push(e.lower)}),f.sort());var R="module.exports";i&&"string"==typeof i&&(R="var "+i),l+="// Generated by JavaScript APG, Version [`apg-js2`](https://github.com/ldthomas/apg-js2)\n",l+=R+" = function(){\n",l+='"use strict";\n',l+="  //```\n",l+="  // SUMMARY\n",l+="  //      rules = "+r.length+"\n",l+="  //       udts = "+s.length+"\n",l+="  //    opcodes = "+h+"\n",l+="  //        ---   ABNF original opcodes\n",l+="  //        ALT = "+g+"\n",l+="  //        CAT = "+m+"\n",l+="  //        REP = "+E+"\n",l+="  //        RNM = "+b+"\n",l+="  //        TLS = "+A+"\n",l+="  //        TBS = "+k+"\n",l+="  //        TRG = "+w+"\n",l+="  //        ---   SABNF superset opcodes\n",l+="  //        UDT = "+y+"\n",l+="  //        AND = "+T+"\n",l+="  //        NOT = "+x+"\n",l+="  //        BKA = "+v+"\n",l+="  //        BKN = "+C+"\n",l+="  //        BKR = "+S+"\n",l+="  //        ABG = "+M+"\n",l+="  //        AEN = "+O+"\n",l+="  // characters = [",l+=A+k+w===0?" none defined ]":p+" - "+u+"]",y>0&&(l+=" + user defined"),l+="\n",l+="  //```\n",l+="  /* OBJECT IDENTIFIER (for internal parser use) */\n",l+="  this.grammarObject = 'grammarObject';\n",l+="\n",l+="  /* RULES */\n",l+="  this.rules = [];\n",r.forEach(function(e,t){var r="  this.rules[";r+=t,r+="] = {name: '",r+=e.name,r+="', lower: '",r+=e.lower,r+="', index: ",r+=e.index,r+=", isBkr: ",r+=e.isBkr,r+="};\n",l+=r}),l+="\n",l+="  /* UDTS */\n",l+="  this.udts = [];\n",s.length>0&&s.forEach(function(e,t){var r="  this.udts[";r+=t,r+="] = {name: '",r+=e.name,r+="', lower: '",r+=e.lower,r+="', index: ",r+=e.index,r+=", empty: ",r+=e.empty,r+=", isBkr: ",r+=e.isBkr,r+="};\n",l+=r}),l+="\n",l+="  /* OPCODES */\n",r.forEach(function(e,t){t>0&&(l+="\n"),l+="  /* "+e.name+" */\n",l+="  this.rules["+t+"].opcodes = [];\n",e.opcodes.forEach(function(e,i){switch(e.type){case n.ALT:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+", children: ["+e.children.toString()+"]};// ALT\n";break;case n.CAT:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+", children: ["+e.children.toString()+"]};// CAT\n";break;case n.RNM:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+", index: "+e.index+"};// RNM("+r[e.index].name+")\n";break;case n.BKR:e.index>=r.length?(a=s[e.index-r.length].name,c=s[e.index-r.length].lower):(a=r[e.index].name,c=r[e.index].lower);var o="%i";e.bkrCase===n.BKR_MODE_CS&&(o="%s"),o+=e.bkrMode===n.BKR_MODE_UM?"%u":"%p",a=o+a,l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+", index: "+e.index+", lower: '"+c+"', bkrCase: "+e.bkrCase+", bkrMode: "+e.bkrMode+"};// BKR(\\"+a+")\n";break;case n.UDT:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+", empty: "+e.empty+", index: "+e.index+"};// UDT("+s[e.index].name+")\n";break;case n.REP:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+", min: "+e.min+", max: "+e.max+"};// REP\n";break;case n.AND:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+"};// AND\n";break;case n.NOT:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+"};// NOT\n";break;case n.ABG:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+"};// ABG(%^)\n";break;case n.AEN:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+"};// AEN(%$)\n";break;case n.BKA:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+"};// BKA\n";break;case n.BKN:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+"};// BKN\n";break;case n.TLS:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+", string: ["+e.string.toString()+"]};// TLS\n";break;case n.TBS:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+", string: ["+e.string.toString()+"]};// TBS\n";break;case n.TRG:l+="  this.rules["+t+"].opcodes["+i+"] = {type: "+e.type+", min: "+e.min+", max: "+e.max+"};// TRG\n"}})}),l+="\n",l+="  // The `toString()` function will display the original grammar file(s) that produced these opcodes.\n",l+="  this.toString = function(){\n",l+='    var str = "";\n';var L;return t.forEach(function(t,r){var n=t.beginChar+t.length;L="",l+='    str += "';for(var s=t.beginChar;s<n;s+=1){switch(e[s]){case 9:L=" ";break;case 10:L="\\n";break;case 13:L="\\r";break;case 34:L='\\"';break;case 92:L="\\\\";break;default:L=String.fromCharCode(e[s])}l+=L}l+='";\n'}),l+="    return str;\n",l+="  }\n",l+="}\n"},this.generateObject=function(e,t,r){var n={},s=[],i=[],e=e.slice(0);return n.grammarObject="grammarObject",t.forEach(function(e){s.push(e.lower)}),s.sort(),r.length>0&&(r.forEach(function(e){i.push(e.lower)}),i.sort()),n.callbacks=[],s.forEach(function(e){n.callbacks[e]=!1}),r.length>0&&i.forEach(function(e){n.callbacks[e]=!1}),n.rules=t,n.udts=r,n.toString=function(){return e},n}}},function(e,t){e.exports=function(){"use strict";this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"File",lower:"file",index:0,isBkr:!1},this.rules[1]={name:"BlankLine",lower:"blankline",index:1,isBkr:!1},this.rules[2]={name:"Rule",lower:"rule",index:2,isBkr:!1},this.rules[3]={name:"RuleLookup",lower:"rulelookup",index:3,isBkr:!1},this.rules[4]={name:"RuleNameTest",lower:"rulenametest",index:4,isBkr:!1},this.rules[5]={name:"RuleName",lower:"rulename",index:5,isBkr:!1},this.rules[6]={name:"RuleNameError",lower:"rulenameerror",index:6,isBkr:!1},this.rules[7]={name:"DefinedAsTest",lower:"definedastest",index:7,isBkr:!1},this.rules[8]={name:"DefinedAsError",lower:"definedaserror",index:8,isBkr:!1},this.rules[9]={name:"DefinedAs",lower:"definedas",index:9,isBkr:!1},this.rules[10]={name:"Defined",lower:"defined",index:10,isBkr:!1},this.rules[11]={name:"IncAlt",lower:"incalt",index:11,isBkr:!1},this.rules[12]={name:"RuleError",lower:"ruleerror",index:12,isBkr:!1},this.rules[13]={name:"LineEndError",lower:"lineenderror",index:13,isBkr:!1},this.rules[14]={name:"Alternation",lower:"alternation",index:14,isBkr:!1},this.rules[15]={name:"Concatenation",lower:"concatenation",index:15,isBkr:!1},this.rules[16]={name:"Repetition",lower:"repetition",index:16,isBkr:!1},this.rules[17]={name:"Modifier",lower:"modifier",index:17,isBkr:!1},this.rules[18]={name:"Predicate",lower:"predicate",index:18,isBkr:!1},this.rules[19]={name:"BasicElement",lower:"basicelement",index:19,isBkr:!1},this.rules[20]={name:"BasicElementErr",lower:"basicelementerr",index:20,isBkr:!1},this.rules[21]={name:"Group",lower:"group",index:21,isBkr:!1},this.rules[22]={name:"GroupError",lower:"grouperror",index:22,isBkr:!1},this.rules[23]={name:"GroupOpen",lower:"groupopen",index:23,isBkr:!1},this.rules[24]={name:"GroupClose",lower:"groupclose",index:24,isBkr:!1},this.rules[25]={name:"Option",lower:"option",index:25,isBkr:!1},this.rules[26]={name:"OptionError",lower:"optionerror",index:26,isBkr:!1},this.rules[27]={name:"OptionOpen",lower:"optionopen",index:27,isBkr:!1},this.rules[28]={name:"OptionClose",lower:"optionclose",index:28,isBkr:!1},this.rules[29]={name:"RnmOp",lower:"rnmop",index:29,isBkr:!1},this.rules[30]={name:"BkrOp",lower:"bkrop",index:30,isBkr:!1},this.rules[31]={name:"bkrModifier",lower:"bkrmodifier",index:31,isBkr:!1},this.rules[32]={name:"cs",lower:"cs",index:32,isBkr:!1},this.rules[33]={name:"ci",lower:"ci",index:33,isBkr:!1},this.rules[34]={name:"um",lower:"um",index:34,isBkr:!1},this.rules[35]={name:"pm",lower:"pm",index:35,isBkr:!1},this.rules[36]={name:"bkr-name",lower:"bkr-name",index:36,isBkr:!1},this.rules[37]={name:"rname",lower:"rname",index:37,isBkr:!1},this.rules[38]={name:"uname",lower:"uname",index:38,isBkr:!1},this.rules[39]={name:"ename",lower:"ename",index:39,isBkr:!1},this.rules[40]={name:"UdtOp",lower:"udtop",index:40,isBkr:!1},this.rules[41]={name:"udt-non-empty",lower:"udt-non-empty",index:41,isBkr:!1},this.rules[42]={name:"udt-empty",lower:"udt-empty",index:42,isBkr:!1},this.rules[43]={name:"RepOp",lower:"repop",index:43,isBkr:!1},this.rules[44]={name:"AltOp",lower:"altop",index:44,isBkr:!1},this.rules[45]={name:"CatOp",lower:"catop",index:45,isBkr:!1},this.rules[46]={name:"StarOp",lower:"starop",index:46,isBkr:!1},this.rules[47]={name:"AndOp",lower:"andop",index:47,isBkr:!1},this.rules[48]={name:"NotOp",lower:"notop",index:48,isBkr:!1},this.rules[49]={name:"BkaOp",lower:"bkaop",index:49,isBkr:!1},this.rules[50]={name:"BknOp",lower:"bknop",index:50,isBkr:!1},this.rules[51]={name:"AbgOp",lower:"abgop",index:51,isBkr:!1},this.rules[52]={name:"AenOp",lower:"aenop",index:52,isBkr:!1},this.rules[53]={name:"TrgOp",lower:"trgop",index:53,isBkr:!1},this.rules[54]={name:"TbsOp",lower:"tbsop",index:54,isBkr:!1},this.rules[55]={name:"TlsOp",lower:"tlsop",index:55,isBkr:!1},this.rules[56]={name:"TlsCase",lower:"tlscase",index:56,isBkr:!1},this.rules[57]={name:"TlsOpen",lower:"tlsopen",index:57,isBkr:!1},this.rules[58]={name:"TlsClose",lower:"tlsclose",index:58,isBkr:!1},this.rules[59]={name:"TlsString",lower:"tlsstring",index:59,isBkr:!1},this.rules[60]={name:"StringTab",lower:"stringtab",index:60,isBkr:!1},this.rules[61]={name:"ClsOp",lower:"clsop",index:61,isBkr:!1},this.rules[62]={name:"ClsOpen",lower:"clsopen",index:62,isBkr:!1},this.rules[63]={name:"ClsClose",lower:"clsclose",index:63,isBkr:!1},this.rules[64]={name:"ClsString",lower:"clsstring",index:64,isBkr:!1},this.rules[65]={name:"ProsVal",lower:"prosval",index:65,isBkr:!1},this.rules[66]={name:"ProsValOpen",lower:"prosvalopen",index:66,isBkr:!1},this.rules[67]={name:"ProsValString",lower:"prosvalstring",index:67,isBkr:!1},this.rules[68]={name:"ProsValClose",lower:"prosvalclose",index:68,isBkr:!1},this.rules[69]={name:"rep-min",lower:"rep-min",index:69,isBkr:!1},this.rules[70]={name:"rep-min-max",lower:"rep-min-max",index:70,isBkr:!1},this.rules[71]={name:"rep-max",lower:"rep-max",index:71,isBkr:!1},this.rules[72]={name:"rep-num",lower:"rep-num",index:72,isBkr:!1},this.rules[73]={name:"dString",lower:"dstring",index:73,isBkr:!1},this.rules[74]={name:"xString",lower:"xstring",index:74,isBkr:!1},this.rules[75]={name:"bString",lower:"bstring",index:75,isBkr:!1},this.rules[76]={name:"Dec",lower:"dec",index:76,isBkr:!1},this.rules[77]={name:"Hex",lower:"hex",index:77,isBkr:!1},this.rules[78]={name:"Bin",lower:"bin",index:78,isBkr:!1},this.rules[79]={name:"dmin",lower:"dmin",index:79,isBkr:!1},this.rules[80]={name:"dmax",lower:"dmax",index:80,isBkr:!1},this.rules[81]={name:"bmin",lower:"bmin",index:81,isBkr:!1},this.rules[82]={name:"bmax",lower:"bmax",index:82,isBkr:!1},this.rules[83]={name:"xmin",lower:"xmin",index:83,isBkr:!1},this.rules[84]={name:"xmax",lower:"xmax",index:84,isBkr:!1},this.rules[85]={name:"dnum",lower:"dnum",index:85,isBkr:!1},this.rules[86]={name:"bnum",lower:"bnum",index:86,isBkr:!1},this.rules[87]={name:"xnum",lower:"xnum",index:87,isBkr:!1},this.rules[88]={name:"alphanum",lower:"alphanum",index:88,isBkr:!1},this.rules[89]={name:"owsp",lower:"owsp",index:89,isBkr:!1},this.rules[90]={name:"wsp",lower:"wsp",index:90,isBkr:!1},this.rules[91]={name:"space",lower:"space",index:91,isBkr:!1},this.rules[92]={name:"comment",lower:"comment",index:92,isBkr:!1},this.rules[93]={name:"LineEnd",lower:"lineend",index:93,isBkr:!1},this.rules[94]={name:"LineContinue",lower:"linecontinue",index:94,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:0,max:1/0},this.rules[0].opcodes[1]={type:1,children:[2,3,4]},this.rules[0].opcodes[2]={type:4,index:1},this.rules[0].opcodes[3]={type:4,index:2},this.rules[0].opcodes[4]={type:4,index:12},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:2,children:[1,5,7]},this.rules[1].opcodes[1]={type:3,min:0,max:1/0},this.rules[1].opcodes[2]={type:1,children:[3,4]},this.rules[1].opcodes[3]={type:6,string:[32]},this.rules[1].opcodes[4]={type:6,string:[9]},this.rules[1].opcodes[5]={type:3,min:0,max:1},this.rules[1].opcodes[6]={type:4,index:92},this.rules[1].opcodes[7]={type:4,index:93},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:2,children:[1,2,3,4]},this.rules[2].opcodes[1]={type:4,index:3},this.rules[2].opcodes[2]={type:4,index:89},this.rules[2].opcodes[3]={type:4,index:14},this.rules[2].opcodes[4]={type:1,children:[5,8]},this.rules[2].opcodes[5]={type:2,children:[6,7]},this.rules[2].opcodes[6]={type:4,index:89},this.rules[2].opcodes[7]={type:4,index:93},this.rules[2].opcodes[8]={type:2,children:[9,10]},this.rules[2].opcodes[9]={type:4,index:13},this.rules[2].opcodes[10]={type:4,index:93},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2,3]},this.rules[3].opcodes[1]={type:4,index:4},this.rules[3].opcodes[2]={type:4,index:89},this.rules[3].opcodes[3]={type:4,index:7},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:4,index:5},this.rules[4].opcodes[2]={type:4,index:6},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:4,index:88},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:3,min:1,max:1/0},this.rules[6].opcodes[1]={type:1,children:[2,3]},this.rules[6].opcodes[2]={type:5,min:33,max:60},this.rules[6].opcodes[3]={type:5,min:62,max:126},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:1,children:[1,2]},this.rules[7].opcodes[1]={type:4,index:9},this.rules[7].opcodes[2]={type:4,index:8},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:3,min:1,max:2},this.rules[8].opcodes[1]={type:5,min:33,max:126},this.rules[9].opcodes=[],this.rules[9].opcodes[0]={type:1,children:[1,2]},this.rules[9].opcodes[1]={type:4,index:11},this.rules[9].opcodes[2]={type:4,index:10},this.rules[10].opcodes=[],this.rules[10].opcodes[0]={type:6,string:[61]},this.rules[11].opcodes=[],this.rules[11].opcodes[0]={type:6,string:[61,47]},this.rules[12].opcodes=[],this.rules[12].opcodes[0]={type:2,children:[1,6]},this.rules[12].opcodes[1]={type:3,min:1,max:1/0},this.rules[12].opcodes[2]={type:1,children:[3,4,5]},this.rules[12].opcodes[3]={type:5,min:32,max:126},this.rules[12].opcodes[4]={type:6,string:[9]},this.rules[12].opcodes[5]={type:4,index:94},this.rules[12].opcodes[6]={type:4,index:93},this.rules[13].opcodes=[],this.rules[13].opcodes[0]={type:3,min:1,max:1/0},this.rules[13].opcodes[1]={type:1,children:[2,3,4]},this.rules[13].opcodes[2]={type:5,min:32,max:126},this.rules[13].opcodes[3]={type:6,string:[9]},this.rules[13].opcodes[4]={type:4,index:94},this.rules[14].opcodes=[],this.rules[14].opcodes[0]={type:2,children:[1,2]},this.rules[14].opcodes[1]={type:4,index:15},this.rules[14].opcodes[2]={type:3,min:0,max:1/0},this.rules[14].opcodes[3]={type:2,children:[4,5,6]},this.rules[14].opcodes[4]={type:4,index:89},this.rules[14].opcodes[5]={type:4,index:44},this.rules[14].opcodes[6]={type:4,index:15},this.rules[15].opcodes=[],this.rules[15].opcodes[0]={type:2,children:[1,2]},this.rules[15].opcodes[1]={type:4,index:16},this.rules[15].opcodes[2]={type:3,min:0,max:1/0},this.rules[15].opcodes[3]={type:2,children:[4,5]},this.rules[15].opcodes[4]={type:4,index:45},this.rules[15].opcodes[5]={type:4,index:16},this.rules[16].opcodes=[],this.rules[16].opcodes[0]={type:2,children:[1,3]},this.rules[16].opcodes[1]={type:3,min:0,max:1},this.rules[16].opcodes[2]={type:4,index:17},this.rules[16].opcodes[3]={type:1,children:[4,5,6,7]},this.rules[16].opcodes[4]={type:4,index:21},this.rules[16].opcodes[5]={type:4,index:25},this.rules[16].opcodes[6]={type:4,index:19},this.rules[16].opcodes[7]={type:4,index:20},this.rules[17].opcodes=[],this.rules[17].opcodes[0]={type:1,children:[1,5]},this.rules[17].opcodes[1]={type:2,children:[2,3]},this.rules[17].opcodes[2]={type:4,index:18},this.rules[17].opcodes[3]={type:3,min:0,max:1},this.rules[17].opcodes[4]={type:4,index:43};this.rules[17].opcodes[5]={type:4,index:43};this.rules[18].opcodes=[],this.rules[18].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[18].opcodes[1]={type:4,index:49},this.rules[18].opcodes[2]={type:4,index:50},this.rules[18].opcodes[3]={type:4,index:47},this.rules[18].opcodes[4]={type:4,index:48},this.rules[19].opcodes=[],this.rules[19].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8,9,10]},this.rules[19].opcodes[1]={type:4,index:40},this.rules[19].opcodes[2]={type:4,index:29},this.rules[19].opcodes[3]={type:4,index:53},this.rules[19].opcodes[4]={type:4,index:54},this.rules[19].opcodes[5]={type:4,index:55},this.rules[19].opcodes[6]={type:4,index:61},this.rules[19].opcodes[7]={type:4,index:30},this.rules[19].opcodes[8]={type:4,index:51},this.rules[19].opcodes[9]={type:4,index:52},this.rules[19].opcodes[10]={type:4,index:65},this.rules[20].opcodes=[],this.rules[20].opcodes[0]={type:3,min:1,max:1/0},this.rules[20].opcodes[1]={type:1,children:[2,3,4,5]},this.rules[20].opcodes[2]={type:5,min:33,max:40},this.rules[20].opcodes[3]={type:5,min:42,max:46},this.rules[20].opcodes[4]={type:5,min:48,max:92},this.rules[20].opcodes[5]={type:5,min:94,max:126},this.rules[21].opcodes=[],this.rules[21].opcodes[0]={type:2,children:[1,2,3]},this.rules[21].opcodes[1]={type:4,index:23},this.rules[21].opcodes[2]={type:4,index:14},this.rules[21].opcodes[3]={type:1,children:[4,5]},this.rules[21].opcodes[4]={type:4,index:24},this.rules[21].opcodes[5]={type:4,index:22},this.rules[22].opcodes=[],this.rules[22].opcodes[0]={type:3,min:1,max:1/0},this.rules[22].opcodes[1]={type:1,children:[2,3,4,5]},this.rules[22].opcodes[2]={type:5,min:33,max:40},this.rules[22].opcodes[3]={type:5,min:42,max:46},this.rules[22].opcodes[4]={type:5,min:48,max:92},this.rules[22].opcodes[5]={type:5,min:94,max:126},this.rules[23].opcodes=[],this.rules[23].opcodes[0]={type:2,children:[1,2]},this.rules[23].opcodes[1]={type:6,string:[40]},this.rules[23].opcodes[2]={type:4,index:89},this.rules[24].opcodes=[],this.rules[24].opcodes[0]={type:2,children:[1,2]},this.rules[24].opcodes[1]={type:4,index:89},this.rules[24].opcodes[2]={type:6,string:[41]},this.rules[25].opcodes=[],this.rules[25].opcodes[0]={type:2,children:[1,2,3]},this.rules[25].opcodes[1]={type:4,index:27},this.rules[25].opcodes[2]={type:4,index:14},this.rules[25].opcodes[3]={type:1,children:[4,5]},this.rules[25].opcodes[4]={type:4,index:28},this.rules[25].opcodes[5]={type:4,index:26},this.rules[26].opcodes=[],this.rules[26].opcodes[0]={type:3,min:1,max:1/0},this.rules[26].opcodes[1]={type:1,children:[2,3,4,5]},this.rules[26].opcodes[2]={type:5,min:33,max:40},this.rules[26].opcodes[3]={type:5,min:42,max:46},this.rules[26].opcodes[4]={type:5,min:48,max:92},this.rules[26].opcodes[5]={type:5,min:94,max:126},this.rules[27].opcodes=[],this.rules[27].opcodes[0]={type:2,children:[1,2]},this.rules[27].opcodes[1]={type:6,string:[91]},this.rules[27].opcodes[2]={type:4,index:89},this.rules[28].opcodes=[],this.rules[28].opcodes[0]={type:2,children:[1,2]},this.rules[28].opcodes[1]={type:4,index:89},this.rules[28].opcodes[2]={type:6,string:[93]},this.rules[29].opcodes=[],this.rules[29].opcodes[0]={type:4,index:88},this.rules[30].opcodes=[],this.rules[30].opcodes[0]={type:2,children:[1,2,4]},this.rules[30].opcodes[1]={type:6,string:[92]},this.rules[30].opcodes[2]={type:3,min:0,max:1},this.rules[30].opcodes[3]={type:4,index:31},this.rules[30].opcodes[4]={type:4,index:36},this.rules[31].opcodes=[],this.rules[31].opcodes[0]={type:1,children:[1,7,13,19]},this.rules[31].opcodes[1]={type:2,children:[2,3]},this.rules[31].opcodes[2]={type:4,index:32},this.rules[31].opcodes[3]={type:3,min:0,max:1},this.rules[31].opcodes[4]={type:1,children:[5,6]},this.rules[31].opcodes[5]={type:4,index:34},this.rules[31].opcodes[6]={type:4,index:35},this.rules[31].opcodes[7]={type:2,children:[8,9]},this.rules[31].opcodes[8]={type:4,index:33},this.rules[31].opcodes[9]={type:3,min:0,max:1},this.rules[31].opcodes[10]={type:1,children:[11,12]},this.rules[31].opcodes[11]={type:4,index:34},this.rules[31].opcodes[12]={type:4,index:35},this.rules[31].opcodes[13]={type:2,children:[14,15]},this.rules[31].opcodes[14]={type:4,index:34},this.rules[31].opcodes[15]={type:3,min:0,max:1},this.rules[31].opcodes[16]={type:1,children:[17,18]},this.rules[31].opcodes[17]={type:4,index:32},this.rules[31].opcodes[18]={type:4,index:33},this.rules[31].opcodes[19]={type:2,children:[20,21]},this.rules[31].opcodes[20]={type:4,index:35},this.rules[31].opcodes[21]={type:3,min:0,max:1},this.rules[31].opcodes[22]={type:1,children:[23,24]},this.rules[31].opcodes[23]={type:4,index:32},this.rules[31].opcodes[24]={type:4,index:33},this.rules[32].opcodes=[],this.rules[32].opcodes[0]={type:6,string:[37,115]},this.rules[33].opcodes=[],this.rules[33].opcodes[0]={type:6,string:[37,105]},this.rules[34].opcodes=[],this.rules[34].opcodes[0]={type:6,string:[37,117]},this.rules[35].opcodes=[],this.rules[35].opcodes[0]={type:6,string:[37,112]},this.rules[36].opcodes=[],this.rules[36].opcodes[0]={type:1,children:[1,2,3]},this.rules[36].opcodes[1]={type:4,index:38},this.rules[36].opcodes[2]={type:4,index:39},this.rules[36].opcodes[3]={type:4,index:37},this.rules[37].opcodes=[],this.rules[37].opcodes[0]={type:4,index:88},this.rules[38].opcodes=[],this.rules[38].opcodes[0]={type:2,children:[1,2]},this.rules[38].opcodes[1]={type:6,string:[117,95]},this.rules[38].opcodes[2]={type:4,index:88},this.rules[39].opcodes=[],this.rules[39].opcodes[0]={type:2,children:[1,2]},this.rules[39].opcodes[1]={type:6,string:[101,95]},this.rules[39].opcodes[2]={type:4,index:88},this.rules[40].opcodes=[],this.rules[40].opcodes[0]={type:1,children:[1,2]},this.rules[40].opcodes[1]={type:4,index:42},this.rules[40].opcodes[2]={type:4,index:41},this.rules[41].opcodes=[],this.rules[41].opcodes[0]={type:2,children:[1,2]},this.rules[41].opcodes[1]={type:6,string:[117,95]},this.rules[41].opcodes[2]={type:4,index:88},this.rules[42].opcodes=[],this.rules[42].opcodes[0]={type:2,children:[1,2]},this.rules[42].opcodes[1]={type:6,string:[101,95]},this.rules[42].opcodes[2]={type:4,index:88},this.rules[43].opcodes=[],this.rules[43].opcodes[0]={type:1,children:[1,5,8,11,12]},this.rules[43].opcodes[1]={type:2,children:[2,3,4]},this.rules[43].opcodes[2]={type:4,index:69},this.rules[43].opcodes[3]={type:4,index:46},this.rules[43].opcodes[4]={type:4,index:71},this.rules[43].opcodes[5]={type:2,children:[6,7]},this.rules[43].opcodes[6]={type:4,index:69},this.rules[43].opcodes[7]={type:4,index:46},this.rules[43].opcodes[8]={type:2,children:[9,10]},this.rules[43].opcodes[9]={type:4,index:46},this.rules[43].opcodes[10]={type:4,index:71},this.rules[43].opcodes[11]={type:4,index:46},this.rules[43].opcodes[12]={type:4,index:70},this.rules[44].opcodes=[],this.rules[44].opcodes[0]={type:2,children:[1,2]},this.rules[44].opcodes[1]={type:6,string:[47]},this.rules[44].opcodes[2]={type:4,index:89},this.rules[45].opcodes=[],this.rules[45].opcodes[0]={type:4,index:90},this.rules[46].opcodes=[],this.rules[46].opcodes[0]={type:6,string:[42]},this.rules[47].opcodes=[],this.rules[47].opcodes[0]={type:6,string:[38]},this.rules[48].opcodes=[],this.rules[48].opcodes[0]={type:6,string:[33]},this.rules[49].opcodes=[],this.rules[49].opcodes[0]={type:6,string:[38,38]},this.rules[50].opcodes=[],this.rules[50].opcodes[0]={type:6,string:[33,33]},this.rules[51].opcodes=[],this.rules[51].opcodes[0]={type:6,string:[37,94]},this.rules[52].opcodes=[],this.rules[52].opcodes[0]={type:6,string:[37,36]},this.rules[53].opcodes=[],this.rules[53].opcodes[0]={type:2,children:[1,2]},this.rules[53].opcodes[1]={type:6,string:[37]},this.rules[53].opcodes[2]={type:1,children:[3,8,13]},this.rules[53].opcodes[3]={type:2,children:[4,5,6,7]},this.rules[53].opcodes[4]={type:4,index:76},this.rules[53].opcodes[5]={type:4,index:79},this.rules[53].opcodes[6]={type:6,string:[45]},this.rules[53].opcodes[7]={type:4,index:80},this.rules[53].opcodes[8]={type:2,children:[9,10,11,12]},this.rules[53].opcodes[9]={type:4,index:77},this.rules[53].opcodes[10]={type:4,index:83},this.rules[53].opcodes[11]={type:6,string:[45]},this.rules[53].opcodes[12]={type:4,index:84},this.rules[53].opcodes[13]={type:2,children:[14,15,16,17]},this.rules[53].opcodes[14]={type:4,index:78},this.rules[53].opcodes[15]={type:4,index:81},this.rules[53].opcodes[16]={type:6,string:[45]},this.rules[53].opcodes[17]={type:4,index:82},this.rules[54].opcodes=[],this.rules[54].opcodes[0]={type:2,children:[1,2]},this.rules[54].opcodes[1]={type:6,string:[37]},this.rules[54].opcodes[2]={type:1,children:[3,10,17]},this.rules[54].opcodes[3]={type:2,children:[4,5,6]},this.rules[54].opcodes[4]={type:4,index:76},this.rules[54].opcodes[5]={type:4,index:73},this.rules[54].opcodes[6]={type:3,min:0,max:1/0},this.rules[54].opcodes[7]={type:2,children:[8,9]};this.rules[54].opcodes[8]={type:6,string:[46]};this.rules[54].opcodes[9]={type:4,index:73},this.rules[54].opcodes[10]={type:2,children:[11,12,13]},this.rules[54].opcodes[11]={type:4,index:77},this.rules[54].opcodes[12]={type:4,index:74},this.rules[54].opcodes[13]={type:3,min:0,max:1/0},this.rules[54].opcodes[14]={type:2,children:[15,16]},this.rules[54].opcodes[15]={type:6,string:[46]},this.rules[54].opcodes[16]={type:4,index:74},this.rules[54].opcodes[17]={type:2,children:[18,19,20]},this.rules[54].opcodes[18]={type:4,index:78},this.rules[54].opcodes[19]={type:4,index:75},this.rules[54].opcodes[20]={type:3,min:0,max:1/0},this.rules[54].opcodes[21]={type:2,children:[22,23]},this.rules[54].opcodes[22]={type:6,string:[46]},this.rules[54].opcodes[23]={type:4,index:75},this.rules[55].opcodes=[],this.rules[55].opcodes[0]={type:2,children:[1,2,3,4]},this.rules[55].opcodes[1]={type:4,index:56},this.rules[55].opcodes[2]={type:4,index:57},this.rules[55].opcodes[3]={type:4,index:59},this.rules[55].opcodes[4]={type:4,index:58},this.rules[56].opcodes=[],this.rules[56].opcodes[0]={type:3,min:0,max:1},this.rules[56].opcodes[1]={type:1,children:[2,3]},this.rules[56].opcodes[2]={type:7,string:[37,105]},this.rules[56].opcodes[3]={type:7,string:[37,115]},this.rules[57].opcodes=[],this.rules[57].opcodes[0]={type:6,string:[34]},this.rules[58].opcodes=[],this.rules[58].opcodes[0]={type:6,string:[34]},this.rules[59].opcodes=[],this.rules[59].opcodes[0]={type:3,min:0,max:1/0},this.rules[59].opcodes[1]={type:1,children:[2,3,4]},this.rules[59].opcodes[2]={type:5,min:32,max:33},this.rules[59].opcodes[3]={type:5,min:35,max:126},this.rules[59].opcodes[4]={type:4,index:60},this.rules[60].opcodes=[],this.rules[60].opcodes[0]={type:6,string:[9]},this.rules[61].opcodes=[],this.rules[61].opcodes[0]={type:2,children:[1,2,3]},this.rules[61].opcodes[1]={type:4,index:62},this.rules[61].opcodes[2]={type:4,index:64},this.rules[61].opcodes[3]={type:4,index:63},this.rules[62].opcodes=[],this.rules[62].opcodes[0]={type:6,string:[39]},this.rules[63].opcodes=[],this.rules[63].opcodes[0]={type:6,string:[39]},this.rules[64].opcodes=[],this.rules[64].opcodes[0]={type:3,min:0,max:1/0},this.rules[64].opcodes[1]={type:1,children:[2,3,4]},this.rules[64].opcodes[2]={type:5,min:32,max:38},this.rules[64].opcodes[3]={type:5,min:40,max:126},this.rules[64].opcodes[4]={type:4,index:60},this.rules[65].opcodes=[],this.rules[65].opcodes[0]={type:2,children:[1,2,3]},this.rules[65].opcodes[1]={type:4,index:66},this.rules[65].opcodes[2]={type:4,index:67},this.rules[65].opcodes[3]={type:4,index:68},this.rules[66].opcodes=[],this.rules[66].opcodes[0]={type:6,string:[60]},this.rules[67].opcodes=[],this.rules[67].opcodes[0]={type:3,min:0,max:1/0},this.rules[67].opcodes[1]={type:1,children:[2,3,4]},this.rules[67].opcodes[2]={type:5,min:32,max:61},this.rules[67].opcodes[3]={type:5,min:63,max:126},this.rules[67].opcodes[4]={type:4,index:60},this.rules[68].opcodes=[],this.rules[68].opcodes[0]={type:6,string:[62]},this.rules[69].opcodes=[],this.rules[69].opcodes[0]={type:4,index:72},this.rules[70].opcodes=[],this.rules[70].opcodes[0]={type:4,index:72},this.rules[71].opcodes=[],this.rules[71].opcodes[0]={type:4,index:72},this.rules[72].opcodes=[],this.rules[72].opcodes[0]={type:3,min:1,max:1/0},this.rules[72].opcodes[1]={type:5,min:48,max:57},this.rules[73].opcodes=[],this.rules[73].opcodes[0]={type:4,index:85},this.rules[74].opcodes=[],this.rules[74].opcodes[0]={type:4,index:87},this.rules[75].opcodes=[],this.rules[75].opcodes[0]={type:4,index:86},this.rules[76].opcodes=[],this.rules[76].opcodes[0]={type:1,children:[1,2]},this.rules[76].opcodes[1]={type:6,string:[68]},this.rules[76].opcodes[2]={type:6,string:[100]},this.rules[77].opcodes=[],this.rules[77].opcodes[0]={type:1,children:[1,2]},this.rules[77].opcodes[1]={type:6,string:[88]},this.rules[77].opcodes[2]={type:6,string:[120]},this.rules[78].opcodes=[],this.rules[78].opcodes[0]={type:1,children:[1,2]},this.rules[78].opcodes[1]={type:6,string:[66]},this.rules[78].opcodes[2]={type:6,string:[98]},this.rules[79].opcodes=[],this.rules[79].opcodes[0]={type:4,index:85},this.rules[80].opcodes=[],this.rules[80].opcodes[0]={type:4,index:85},this.rules[81].opcodes=[],this.rules[81].opcodes[0]={type:4,index:86},this.rules[82].opcodes=[],this.rules[82].opcodes[0]={type:4,index:86},this.rules[83].opcodes=[],this.rules[83].opcodes[0]={type:4,index:87},this.rules[84].opcodes=[],this.rules[84].opcodes[0]={
  type:4,index:87},this.rules[85].opcodes=[],this.rules[85].opcodes[0]={type:3,min:1,max:1/0},this.rules[85].opcodes[1]={type:5,min:48,max:57},this.rules[86].opcodes=[],this.rules[86].opcodes[0]={type:3,min:1,max:1/0},this.rules[86].opcodes[1]={type:5,min:48,max:49},this.rules[87].opcodes=[],this.rules[87].opcodes[0]={type:3,min:1,max:1/0},this.rules[87].opcodes[1]={type:1,children:[2,3,4]},this.rules[87].opcodes[2]={type:5,min:48,max:57},this.rules[87].opcodes[3]={type:5,min:65,max:70},this.rules[87].opcodes[4]={type:5,min:97,max:102},this.rules[88].opcodes=[],this.rules[88].opcodes[0]={type:2,children:[1,4]},this.rules[88].opcodes[1]={type:1,children:[2,3]},this.rules[88].opcodes[2]={type:5,min:97,max:122},this.rules[88].opcodes[3]={type:5,min:65,max:90},this.rules[88].opcodes[4]={type:3,min:0,max:1/0},this.rules[88].opcodes[5]={type:1,children:[6,7,8,9]},this.rules[88].opcodes[6]={type:5,min:97,max:122},this.rules[88].opcodes[7]={type:5,min:65,max:90},this.rules[88].opcodes[8]={type:5,min:48,max:57},this.rules[88].opcodes[9]={type:6,string:[45]},this.rules[89].opcodes=[],this.rules[89].opcodes[0]={type:3,min:0,max:1/0},this.rules[89].opcodes[1]={type:4,index:91},this.rules[90].opcodes=[],this.rules[90].opcodes[0]={type:3,min:1,max:1/0},this.rules[90].opcodes[1]={type:4,index:91},this.rules[91].opcodes=[],this.rules[91].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[91].opcodes[1]={type:6,string:[32]},this.rules[91].opcodes[2]={type:6,string:[9]},this.rules[91].opcodes[3]={type:4,index:92},this.rules[91].opcodes[4]={type:4,index:94},this.rules[92].opcodes=[],this.rules[92].opcodes[0]={type:2,children:[1,2]},this.rules[92].opcodes[1]={type:6,string:[59]},this.rules[92].opcodes[2]={type:3,min:0,max:1/0},this.rules[92].opcodes[3]={type:1,children:[4,5]},this.rules[92].opcodes[4]={type:5,min:32,max:126},this.rules[92].opcodes[5]={type:6,string:[9]},this.rules[93].opcodes=[],this.rules[93].opcodes[0]={type:1,children:[1,2,3]},this.rules[93].opcodes[1]={type:6,string:[13,10]},this.rules[93].opcodes[2]={type:6,string:[10]},this.rules[93].opcodes[3]={type:6,string:[13]},this.rules[94].opcodes=[],this.rules[94].opcodes[0]={type:2,children:[1,5]},this.rules[94].opcodes[1]={type:1,children:[2,3,4]},this.rules[94].opcodes[2]={type:6,string:[13,10]},this.rules[94].opcodes[3]={type:6,string:[10]},this.rules[94].opcodes[4]={type:6,string:[13]},this.rules[94].opcodes[5]={type:1,children:[6,7]},this.rules[94].opcodes[6]={type:6,string:[32]},this.rules[94].opcodes[7]={type:6,string:[9]},this.toString=function(){var e="";return e+=";\n",e+="; ABNF for JavaScript APG 2.0 SABNF\n",e+="; RFC 5234 with some restrictions and additions.\n",e+="; Updated 11/24/2015 for RFC 7405 case-sensitive literal string notation\n",e+=';  - accepts %s"string" as a case-sensitive string\n',e+=';  - accepts %i"string" as a case-insensitive string\n',e+=';  - accepts "string" as a case-insensitive string\n',e+=";\n",e+="; Some restrictions:\n",e+=";   1. Rules must begin at first character of each line.\n",e+=";      Indentations on first rule and rules thereafter are not allowed.\n",e+=";   2. Relaxed line endings. CRLF, LF or CR are accepted as valid line ending.\n",e+=";   3. Prose values, i.e. <prose value>, are accepted as valid grammar syntax.\n",e+=";      However, a working parser cannot be generated from them.\n",e+=";\n",e+="; Super set (SABNF) additions:\n",e+=";   1. Look-ahead (syntactic predicate) operators are accepted as element prefixes.\n",e+=";      & is the positive look-ahead operator, succeeds and backtracks if the look-ahead phrase is found\n",e+=";      ! is the negative look-ahead operator, succeeds and backtracks if the look-ahead phrase is NOT found\n",e+=";      e.g. &%d13 or &rule or !(A / B)\n",e+=";   2. User-Defined Terminals (UDT) of the form, u_name and e_name are accepted.\n",e+=";      'name' is alpha followed by alpha/num/hyphen just like a rule name.\n",e+=";      u_name may be used as an element but no rule definition is given.\n",e+=";      e.g. rule = A / u_myUdt\n",e+=';           A = "a"\n',e+=";      would be a valid grammar.\n",e+=";   3. Case-sensitive, single-quoted strings are accepted.\n",e+=";      e.g. 'abc' would be equivalent to %d97.98.99\n",e+=';      (kept for backward compatibility, but superseded by %s"abc")  \n',e+="; New 12/26/2015\n",e+=";   4. Look-behind operators are accepted as element prefixes.\n",e+=";      && is the positive look-behind operator, succeeds and backtracks if the look-behind phrase is found\n",e+=";      !! is the negative look-behind operator, succeeds and backtracks if the look-behind phrase is NOT found\n",e+=";      e.g. &&%d13 or &&rule or !!(A / B)\n",e+=";   5. Back reference operators, i.e. \\rulename, are accepted.\n",e+=";      A back reference operator acts like a TLS or TBS terminal except that the phrase it attempts\n",e+=";      to match is a phrase previously matched by the rule 'rulename'.\n",e+=";      There are two modes of previous phrase matching - the parent-frame mode and the universal mode.\n",e+=";      In universal mode, \\rulename matches the last match to 'rulename' regardless of where it was found.\n",e+=";      In parent-frame mode, \\rulename matches only the last match found on the parent's frame or parse tree level.\n",e+=";      Back reference modifiers can be used to specify case and mode.\n",e+=";      \\A defaults to case-insensitive and universal mode, e.g. \\A === \\%i%uA\n",e+=";      Modifiers %i and %s determine case-insensitive and case-sensitive mode, respectively.\n",e+=";      Modifiers %u and %p determine universal mode and parent frame mode, respectively.\n",e+=";      Case and mode modifiers can appear in any order, e.g. \\%s%pA === \\%p%sA. \n",e+=";   7. String begin anchor, ABG(%^) matches the beginning of the input string location.\n",e+=";      Returns EMPTY or NOMATCH. Never consumes any characters.\n",e+=";   8. String end anchor, AEN(%$) matches the end of the input string location.\n",e+=";      Returns EMPTY or NOMATCH. Never consumes any characters.\n",e+=";\n",e+="File            = *(BlankLine / Rule / RuleError)\n",e+="BlankLine       = *(%d32/%d9) [comment] LineEnd\n",e+="Rule            = RuleLookup owsp Alternation ((owsp LineEnd)\n",e+="                / (LineEndError LineEnd))\n",e+="RuleLookup      = RuleNameTest owsp DefinedAsTest\n",e+="RuleNameTest    = RuleName/RuleNameError\n",e+="RuleName        = alphanum\n",e+="RuleNameError   = 1*(%d33-60/%d62-126)\n",e+="DefinedAsTest   = DefinedAs / DefinedAsError\n",e+="DefinedAsError  = 1*2%d33-126\n",e+="DefinedAs       = IncAlt / Defined\n",e+="Defined         = %d61\n",e+="IncAlt          = %d61.47\n",e+="RuleError       = 1*(%d32-126 / %d9  / LineContinue) LineEnd\n",e+="LineEndError    = 1*(%d32-126 / %d9  / LineContinue)\n",e+="Alternation     = Concatenation *(owsp AltOp Concatenation)\n",e+="Concatenation   = Repetition *(CatOp Repetition)\n",e+="Repetition      = [Modifier] (Group / Option / BasicElement / BasicElementErr)\n",e+="Modifier        = (Predicate [RepOp])\n",e+="                / RepOp\n",e+="Predicate       = BkaOp\n",e+="                / BknOp\n",e+="                / AndOp\n",e+="                / NotOp\n",e+="BasicElement    = UdtOp\n",e+="                / RnmOp\n",e+="                / TrgOp\n",e+="                / TbsOp\n",e+="                / TlsOp\n",e+="                / ClsOp\n",e+="                / BkrOp\n",e+="                / AbgOp\n",e+="                / AenOp\n",e+="                / ProsVal\n",e+="BasicElementErr = 1*(%d33-40/%d42-46/%d48-92/%d94-126)\n",e+="Group           = GroupOpen  Alternation (GroupClose / GroupError)\n",e+="GroupError      = 1*(%d33-40/%d42-46/%d48-92/%d94-126) ; same as BasicElementErr\n",e+="GroupOpen       = %d40 owsp\n",e+="GroupClose      = owsp %d41\n",e+="Option          = OptionOpen Alternation (OptionClose / OptionError)\n",e+="OptionError     = 1*(%d33-40/%d42-46/%d48-92/%d94-126) ; same as BasicElementErr\n",e+="OptionOpen      = %d91 owsp\n",e+="OptionClose     = owsp %d93\n",e+="RnmOp           = alphanum\n",e+="BkrOp           = %d92 [bkrModifier] bkr-name\n",e+="bkrModifier     = (cs [um / pm]) / (ci [um / pm]) / (um [cs /ci]) / (pm [cs / ci])\n",e+="cs              = '%s'\n",e+="ci              = '%i'\n",e+="um              = '%u'\n",e+="pm              = '%p'\n",e+="bkr-name        = uname / ename / rname\n",e+="rname           = alphanum\n",e+="uname           = %d117.95 alphanum\n",e+="ename           = %d101.95 alphanum\n",e+="UdtOp           = udt-empty\n",e+="                / udt-non-empty\n",e+="udt-non-empty   = %d117.95 alphanum\n",e+="udt-empty       = %d101.95 alphanum\n",e+="RepOp           = (rep-min StarOp rep-max)\n",e+="                / (rep-min StarOp)\n",e+="                / (StarOp rep-max)\n",e+="                / StarOp\n",e+="                / rep-min-max\n",e+="AltOp           = %d47 owsp\n",e+="CatOp           = wsp\n",e+="StarOp          = %d42\n",e+="AndOp           = %d38\n",e+="NotOp           = %d33\n",e+="BkaOp           = %d38.38\n",e+="BknOp           = %d33.33\n",e+="AbgOp           = %d37.94\n",e+="AenOp           = %d37.36\n",e+="TrgOp           = %d37 ((Dec dmin %d45 dmax) / (Hex xmin %d45 xmax) / (Bin bmin %d45 bmax))\n",e+="TbsOp           = %d37 ((Dec dString *(%d46 dString)) / (Hex xString *(%d46 xString)) / (Bin bString *(%d46 bString)))\n",e+="TlsOp           = TlsCase TlsOpen TlsString TlsClose\n",e+='TlsCase         = ["%i" / "%s"]\n',e+="TlsOpen         = %d34\n",e+="TlsClose        = %d34\n",e+="TlsString       = *(%d32-33/%d35-126/StringTab)\n",e+="StringTab       = %d9\n",e+="ClsOp           = ClsOpen ClsString ClsClose\n",e+="ClsOpen         = %d39\n",e+="ClsClose        = %d39\n",e+="ClsString       = *(%d32-38/%d40-126/StringTab)\n",e+="ProsVal         = ProsValOpen ProsValString ProsValClose\n",e+="ProsValOpen     = %d60\n",e+="ProsValString   = *(%d32-61/%d63-126/StringTab)\n",e+="ProsValClose    = %d62\n",e+="rep-min         = rep-num\n",e+="rep-min-max     = rep-num\n",e+="rep-max         = rep-num\n",e+="rep-num         = 1*(%d48-57)\n",e+="dString         = dnum\n",e+="xString         = xnum\n",e+="bString         = bnum\n",e+="Dec             = (%d68/%d100)\n",e+="Hex             = (%d88/%d120)\n",e+="Bin             = (%d66/%d98)\n",e+="dmin            = dnum\n",e+="dmax            = dnum\n",e+="bmin            = bnum\n",e+="bmax            = bnum\n",e+="xmin            = xnum\n",e+="xmax            = xnum\n",e+="dnum            = 1*(%d48-57)\n",e+="bnum            = 1*%d48-49\n",e+="xnum            = 1*(%d48-57 / %d65-70 / %d97-102)\n",e+=";\n",e+="; Basics\n",e+="alphanum        = (%d97-122/%d65-90) *(%d97-122/%d65-90/%d48-57/%d45)\n",e+="owsp            = *space\n",e+="wsp             = 1*space\n",e+="space           = %d32\n",e+="                / %d9\n",e+="                / comment\n",e+="                / LineContinue\n",e+="comment         = %d59 *(%d32-126 / %d9)\n",e+="LineEnd         = %d13.10\n",e+="                / %d10\n",e+="                / %d13\n",e+="LineContinue    = (%d13.10 / %d10 / %d13) (%d32 / %d9)\n"}}},function(e,t,r){function n(e,t,r,n,s){return e==u.SEM_PRE?(s.endLength=0,s.textLength=0,s.invalidCount=0):s.lines.push({lineNo:s.lines.length,beginChar:r,length:n,textLength:s.textLength,endType:s.endType,invalidChars:s.invalidCount}),u.SEM_OK}function s(e,t,r,n,s){return e==u.SEM_PRE&&(s.textLength=n),u.SEM_OK}function i(e,t,r,n,s){return e==u.SEM_PRE?(s.endLength=0,s.textLength=0,s.invalidCount=0):s.strict?(s.lines.push({lineNo:s.lines.length,beginChar:r,length:n,textLength:n,endType:"none",invalidChars:s.invalidCount}),s.errors.push({line:s.lineNo,char:r+n,msg:"no line end on last line - strict ABNF specifies CRLF(\\r\\n, \\x0D\\x0A)"})):(t.push(10),s.lines.push({lineNo:s.lines.length,beginChar:r,length:n+1,textLength:n,endType:"LF",invalidChars:s.invalidCount})),u.SEM_OK}function o(e,t,r,n,s){return e==u.SEM_PRE&&s.errors.push({line:s.lineNo,char:r,msg:"invalid character found '\\x"+p.utils.charToHex(t[r])+"'"}),u.SEM_OK}function a(e,t,r,n,s){return e==u.SEM_POST&&(s.lineNo+=1),u.SEM_OK}function c(e,t,r,n,s){return e==u.SEM_PRE&&(s.endType="LF",s.strict&&s.errors.push({line:s.lineNo,char:r,msg:"line end character LF(\\n, \\x0A) - strict ABNF specifies CRLF(\\r\\n, \\x0D\\x0A)"})),u.SEM_OK}function l(e,t,r,n,s){return e==u.SEM_PRE&&(s.endType="CR",s.strict&&s.errors.push({line:s.lineNo,char:r,msg:"line end character CR(\\r, \\x0D) - strict ABNF specifies CRLF(\\r\\n, \\x0D\\x0A)"})),u.SEM_OK}function h(e,t,r,n,s){return e==u.SEM_PRE&&(s.endType="CRLF"),u.SEM_OK}var p=r(0),u=p.ids,d=[];d.line=n,d["line-text"]=s,d["last-line"]=i,d.invalid=o,d.end=a,d.lf=c,d.cr=l,d.crlf=h,t.callbacks=d},function(e,t){e.exports=function(){"use strict";this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"file",lower:"file",index:0,isBkr:!1},this.rules[1]={name:"line",lower:"line",index:1,isBkr:!1},this.rules[2]={name:"line-text",lower:"line-text",index:2,isBkr:!1},this.rules[3]={name:"last-line",lower:"last-line",index:3,isBkr:!1},this.rules[4]={name:"valid",lower:"valid",index:4,isBkr:!1},this.rules[5]={name:"invalid",lower:"invalid",index:5,isBkr:!1},this.rules[6]={name:"end",lower:"end",index:6,isBkr:!1},this.rules[7]={name:"CRLF",lower:"crlf",index:7,isBkr:!1},this.rules[8]={name:"LF",lower:"lf",index:8,isBkr:!1},this.rules[9]={name:"CR",lower:"cr",index:9,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:2,children:[1,3]},this.rules[0].opcodes[1]={type:3,min:0,max:1/0},this.rules[0].opcodes[2]={type:4,index:1},this.rules[0].opcodes[3]={type:3,min:0,max:1},this.rules[0].opcodes[4]={type:4,index:3},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:2,children:[1,2]},this.rules[1].opcodes[1]={type:4,index:2},this.rules[1].opcodes[2]={type:4,index:6},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:3,min:0,max:1/0},this.rules[2].opcodes[1]={type:1,children:[2,3]},this.rules[2].opcodes[2]={type:4,index:4},this.rules[2].opcodes[3]={type:4,index:5},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:3,min:1,max:1/0},this.rules[3].opcodes[1]={type:1,children:[2,3]},this.rules[3].opcodes[2]={type:4,index:4},this.rules[3].opcodes[3]={type:4,index:5},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:5,min:32,max:126},this.rules[4].opcodes[2]={type:6,string:[9]},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[5].opcodes[1]={type:5,min:0,max:8},this.rules[5].opcodes[2]={type:5,min:11,max:12},this.rules[5].opcodes[3]={type:5,min:14,max:31},this.rules[5].opcodes[4]={type:5,min:127,max:4294967295},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:1,children:[1,2,3]},this.rules[6].opcodes[1]={type:4,index:7},this.rules[6].opcodes[2]={type:4,index:8},this.rules[6].opcodes[3]={type:4,index:9},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:6,string:[13,10]},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:6,string:[10]},this.rules[9].opcodes=[],this.rules[9].opcodes[0]={type:6,string:[13]},this.toString=function(){var e="";return e+="file = *line [last-line]\n",e+="line = line-text end\n",e+="line-text = *(valid/invalid)\n",e+="last-line = 1*(valid/invalid)\n",e+="valid = %d32-126 / %d9\n",e+="invalid = %d0-8 / %d11-12 /%d14-31 / %x7f-ffffffff\n",e+="end = CRLF / LF / CR\n",e+="CRLF = %d13.10\n",e+="LF = %d10\n",e+="CR = %d13\n"}}},function(e,t,r){e.exports=function(e,t,n,s){"use strict";var i="scanner.js: ",o=r(0),a=new(r(21)),c=r(20).callbacks,l=[],h=new o.parser;if(h.ast=new o.ast,h.ast.callbacks=c,s){if("traceObject"!==s.traceObject)throw new TypError(i+"trace argument is not a trace object");h.trace=s}var p=h.parse(a,"file",e);if(p.success!==!0)return void t.push({line:0,char:0,msg:"syntax analysis error analyzing input SABNF grammar"});var u={lines:l,lineNo:0,errors:t,strict:!!n};return h.ast.translate(u),l}},function(e,t,r){e.exports=function(e){"use strict";function t(e,t,r,n,s){var i=q.SEM_OK;if(e==q.SEM_PRE)s.ruleNames=new J,s.udtNames=new J,s.rules=[],s.udts=[],s.rulesLineMap=[],s.opcodes=[],s.altStack=[],s.topStack=null,s.topRule=null;else if(e==q.SEM_POST){var o;s.rules.forEach(function(e,t){e.isBkr=!1,e.opcodes.forEach(function(e,t){e.type===q.RNM&&(o=s.ruleNames.get(e.index.name),o===-1?(s.errors.push({line:s.findLine(s.lines,e.index.phraseIndex,s.charsLength),char:e.index.phraseIndex,msg:"Rule name '"+e.index.name+"' used but not defined."}),e.index=-1):e.index=o.index)})}),s.udts.forEach(function(e){e.isBkr=!1}),s.rules.forEach(function(e,t){e.opcodes.forEach(function(t,r){t.type===q.BKR&&(e.hasBkr=!0,o=s.ruleNames.get(t.index.name),o!==-1?(s.rules[o.index].isBkr=!0,t.index=o.index):(o=s.udtNames.get(t.index.name),o!==-1?(s.udts[o.index].isBkr=!0,t.index=s.rules.length+o.index):(s.errors.push({line:s.findLine(s.lines,t.index.phraseIndex,s.charsLength),char:t.index.phraseIndex,msg:"Back reference name '"+t.index.name+"' refers to undefined rule or unamed UDT."}),t.index=-1)))})})}return i}function n(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE?(s.altStack.length=0,s.topStack=null,s.rulesLineMap.push({line:s.findLine(s.lines,r,s.charsLength),char:r})):e==q.SEM_POST,i}function s(e,t,r,n,s){var i=q.SEM_OK;if(e==q.SEM_PRE)s.ruleName="",s.definedas="";else if(e==q.SEM_POST){var o;"="===s.definedas?(o=s.ruleNames.add(s.ruleName),o===-1?(s.definedas=null,s.errors.push({line:s.findLine(s.lines,r,s.charsLength),char:r,msg:"Rule name '"+s.ruleName+"' previously defined."})):(s.topRule={name:o.name,lower:o.lower,opcodes:[],index:o.index},s.rules.push(s.topRule),s.opcodes=s.topRule.opcodes)):(o=s.ruleNames.get(s.ruleName),o===-1?(s.definedas=null,s.errors.push({line:s.findLine(s.lines,r,s.charsLength),char:r,msg:"Rule name '"+s.ruleName+"' for incremental alternate not previously defined."})):(s.topRule=s.rules[o.index],s.opcodes=s.topRule.opcodes))}return i}function i(e,t,r,n,s){var i=q.SEM_OK;if(e==q.SEM_PRE)for(;;){if(null===s.definedas){i=q.SEM_SKIP;break}if(null===s.topStack){if("="===s.definedas){s.topStack={alt:{type:q.ALT,children:[]},cat:null},s.altStack.push(s.topStack),s.opcodes.push(s.topStack.alt);break}s.topStack={alt:s.opcodes[0],cat:null},s.altStack.push(s.topStack);break}s.topStack={alt:{type:q.ALT,children:[]},cat:null},s.altStack.push(s.topStack),s.opcodes.push(s.topStack.alt);break}else e==q.SEM_POST&&(s.altStack.pop(),s.altStack.length>0?s.topStack=s.altStack[s.altStack.length-1]:s.topStack=null);return i}function o(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE?(s.topStack.alt.children.push(s.opcodes.length),s.topStack.cat={type:q.CAT,children:[]},s.opcodes.push(s.topStack.cat)):e==q.SEM_POST&&(s.topStack.cat=null),i}function a(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE?s.topStack.cat.children.push(s.opcodes.length):e==q.SEM_POST,i}function c(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.opcodes.push({type:q.REP,min:0,max:1,char:r}),i}function l(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE?s.ruleName=z.utils.charsToString(t,r,n):e==q.SEM_POST,i}function h(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.definedas="="),i}function p(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.definedas="=/"),i}function u(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE?(s.min=0,s.max=1/0,s.topRep={type:q.REP,min:0,max:1/0},s.opcodes.push(s.topRep)):e==q.SEM_POST&&(s.min>s.max&&s.errors.push({line:s.findLine(s.lines,r,s.charsLength),char:r,msg:"repetition min cannot be greater than max: min: "+s.min+": max: "+s.max}),s.topRep.min=s.min,s.topRep.max=s.max),i}function d(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.min=X(t,r,n)),i}function f(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.max=X(t,r,n)),i}function g(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.max=X(t,r,n),s.min=s.max),i}function m(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.opcodes.push({type:q.AND}),i}function b(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.opcodes.push({type:q.NOT}),i}function y(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.opcodes.push({type:q.RNM,index:{phraseIndex:r,name:z.utils.charsToString(t,r,n)}}),i}function E(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.opcodes.push({type:q.ABG}),i}function T(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.opcodes.push({type:q.AEN}),i}function x(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.opcodes.push({type:q.BKA}),i}function A(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.opcodes.push({type:q.BKN}),i}function k(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE?(s.ci=!0,s.cs=!1,s.um=!0,s.pm=!1):e==q.SEM_POST&&s.opcodes.push({type:q.BKR,bkrCase:s.cs===!0?q.BKR_MODE_CS:q.BKR_MODE_CI,bkrMode:s.pm===!0?q.BKR_MODE_PM:q.BKR_MODE_UM,index:{phraseIndex:s.bkrname.phraseIndex,name:z.utils.charsToString(t,s.bkrname.phraseIndex,s.bkrname.phraseLength)}}),i}function w(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.ci=!0),i}function S(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.cs=!0),i}function v(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.um=!0),i}function C(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.pm=!0),i}function M(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.bkrname={phraseIndex:r,phraseLength:n}),i}function O(e,t,r,n,s){var i=q.SEM_OK;if(e==q.SEM_PRE);else if(e==q.SEM_POST){var o=z.utils.charsToString(t,r,n),a=s.udtNames.add(o);if(a===-1){if(a=s.udtNames.get(o),a===-1)throw new Error("semUdtEmpty: name look up error")}else s.udts.push({name:a.name,lower:a.lower,index:a.index,empty:!0});s.opcodes.push({type:q.UDT,empty:!0,index:a.index})}return i}function R(e,t,r,n,s){var i=q.SEM_OK;if(e==q.SEM_PRE);else if(e==q.SEM_POST){var o=z.utils.charsToString(t,r,n),a=s.udtNames.add(o);if(a===-1){if(a=s.udtNames.get(o),a===-1)throw new Error("semUdtNonEmpty: name look up error")}else s.udts.push({name:a.name,lower:a.lower,index:a.index,empty:!1});s.opcodes.push({type:q.UDT,empty:!1,index:a.index,syntax:null,semantic:null})}return i}function L(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE?s.tlscase=!0:e==q.SEM_POST,i}function B(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&n>0&&(83===t[r+1]||115===t[r+1])&&(s.tlscase=!1),i}function _(e,t,r,n,s){var i=q.SEM_OK;if(e==q.SEM_PRE);else if(e==q.SEM_POST)if(s.tlscase){for(var o=t.slice(r,r+n),a=0;a<o.length;a+=1)o[a]>=65&&o[a]<=90&&(o[a]+=32);s.opcodes.push({type:q.TLS,string:o})}else s.opcodes.push({type:q.TBS,string:t.slice(r,r+n)});return i}function N(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(n<=2?s.opcodes.push({type:q.TLS,string:[]}):s.opcodes.push({type:q.TBS,string:t.slice(r+1,r+n-1)})),i}function P(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE?s.tbsstr=[]:e==q.SEM_POST&&s.opcodes.push({type:q.TBS,string:s.tbsstr}),i}function H(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE?(s.min=0,s.max=0):e==q.SEM_POST&&(s.min>s.max&&s.errors.push({line:s.findLine(s.lines,r,s.charsLength),char:r,msg:"TRG, (%dmin-max), min cannot be greater than max: min: "+s.min+": max: "+s.max}),s.opcodes.push({type:q.TRG,min:s.min,max:s.max})),i}function D(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.min=X(t,r,n)),i}function I(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.max=X(t,r,n)),i}function U(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.min=$(t,r,n)),i}function F(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.max=$(t,r,n)),i}function K(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.min=W(t,r,n)),i}function Y(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&(s.max=W(t,r,n)),i}function V(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.tbsstr.push(X(t,r,n)),i}function G(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.tbsstr.push($(t,r,n)),i}function j(e,t,r,n,s){var i=q.SEM_OK;return e==q.SEM_PRE||e==q.SEM_POST&&s.tbsstr.push(W(t,r,n)),i}var z=r(0),q=z.ids,J=function(){this.names=[],this.add=function(e){var t=-1,r=this.get(e);return r===-1&&(t={name:e,lower:e.toLowerCase(),index:this.names.length},this.names.push(t)),t},this.get=function(e){for(var t=-1,r=e.toLowerCase(),n=0;n<this.names.length;n+=1)if(this.names[n].lower===r){t=this.names[n];break}return t}},X=function(e,t,r){for(var n=0,s=t;s<t+r;s+=1)n=10*n+e[s]-48;return n},$=function(e,t,r){for(var n=0,s=t;s<t+r;s+=1)n=2*n+e[s]-48;return n},W=function(e,t,r){for(var n=0,s=t;s<t+r;s+=1){var i=e[s];if(i>=48&&i<=57)i-=48;else if(i>=65&&i<=70)i-=55;else{if(!(i>=97&&i<=102))throw"hexnum out of range";i-=87}n=16*n+i}return n};this.callbacks=[],this.callbacks.abgop=E,this.callbacks.aenop=T,this.callbacks.alternation=i,this.callbacks.andop=m,this.callbacks.bmax=F,this.callbacks.bmin=U,this.callbacks.bkaop=x,this.callbacks.bknop=A,this.callbacks.bkrop=k,this.callbacks["bkr-name"]=M,this.callbacks.bstring=G,this.callbacks.clsop=N,this.callbacks.ci=w,this.callbacks.cs=S,this.callbacks.um=v,this.callbacks.pm=C,this.callbacks.concatenation=o,this.callbacks.defined=h,this.callbacks.dmax=I,this.callbacks.dmin=D,this.callbacks.dstring=V,this.callbacks.file=t,this.callbacks.incalt=p,this.callbacks.notop=b,this.callbacks.optionopen=c,this.callbacks["rep-max"]=f,this.callbacks["rep-min"]=d,this.callbacks["rep-min-max"]=g,this.callbacks.repetition=a,this.callbacks.repop=u,this.callbacks.rnmop=y,this.callbacks.rule=n,this.callbacks.rulelookup=s,this.callbacks.rulename=l,this.callbacks.tbsop=P,this.callbacks.tlscase=B,this.callbacks.tlsstring=_,this.callbacks.tlsop=L,this.callbacks.trgop=H,this.callbacks["udt-empty"]=O,this.callbacks["udt-non-empty"]=R,this.callbacks.xmax=Y,this.callbacks.xmin=K,this.callbacks.xstring=j}},function(e,t,r){e.exports=function(){"use strict";var e,t="syntax-callbacks.js: ",n=r(0),s=n.ids,i=function(e,r,n,i){switch(e.state){case s.ACTIVE:i.altStack=[],i.repCount=0;break;case s.EMPTY:i.errors.push({line:0,char:0,msg:"grammar file is empty"});break;case s.MATCH:0===i.ruleCount&&i.errors.push({line:0,char:0,msg:"no rules defined"});break;case s.NOMATCH:throw new Error(t+"synFile: grammar file NOMATCH: design error: should never happen.")}},o=function(r,n,i,o){switch(r.state){case s.ACTIVE:o.altStack.length=0,e={groupOpen:null,groupError:!1,optionOpen:null,optionError:!1,tlsOpen:null,clsOpen:null,prosValOpen:null,basicError:!1},o.altStack.push(e);break;case s.EMPTY:throw new Error(t+"synRule: EMPTY: rule cannot be empty");case s.NOMATCH:break;case s.MATCH:o.ruleCount+=1}},a=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"Unrecognized SABNF line. Invalid rule, comment or blank line."})}},c=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"Rule names must be alphanum and begin with alphabetic character."})}},l=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"Expected '=' or '=/'. Not found."})}},h=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.strict&&n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"AND operator(&) found - strict ABNF specified."})}},p=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.strict&&n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"NOT operator(!) found - strict ABNF specified."})}},u=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.strict&&n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"Positive look-behind operator(&&) found - strict ABNF specified."})}},d=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.strict&&n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"Negative look-behind operator(!!) found - strict ABNF specified."})}},f=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.strict&&n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"Beginning of string anchor(%^) found - strict ABNF specified."})}},g=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.strict&&n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"End of string anchor(%$) found - strict ABNF specified."})}},m=function(e,t,r,i){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:if(i.strict){var o=n.utils.charsToString(t,r,e.phraseLength);i.errors.push({line:i.findLine(i.lines,r,i.charsLength),char:r,msg:"Back reference operator("+o+") found - strict ABNF specified."})}}},b=function(e,t,r,i){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:if(i.strict){var o=n.utils.charsToString(t,r,e.phraseLength);i.errors.push({line:i.findLine(i.lines,r,i.charsLength),char:r,msg:"UDT operator found("+o+") - strict ABNF specified."})}}},y=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:e.tlsOpen=n}},E=function(e,t,r,n){switch(e.state){case s.ACTIVE:n.stringTabChar=!1;break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.stringTabChar!==!1&&n.errors.push({line:n.findLine(n.lines,n.stringTabChar),char:n.stringTabChar,msg:"Tab character (\\t, x09) not allowed in literal string (see 'quoted-string' definition, RFC 7405.)"})}},T=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.stringTabChar=r}},x=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:i.errors.push({line:i.findLine(i.lines,e.tlsOpen),char:e.tlsOpen,msg:'Case-insensitive literal string("...") opened but not closed.'}),e.basicError=!0,e.tlsOpen=null;break;case s.MATCH:e.tlsOpen=null}},A=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:e.clsOpen=n}},k=function(e,t,r,n){switch(e.state){case s.ACTIVE:n.stringTabChar=!1;break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.stringTabChar!==!1&&n.errors.push({line:n.findLine(n.lines,n.stringTabChar),char:n.stringTabChar,msg:"Tab character (\\t, x09) not allowed in literal string."})}},w=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:i.errors.push({line:i.findLine(i.lines,e.clsOpen),char:e.clsOpen,msg:"Case-sensitive literal string('...') opened but not closed."}),e.clsOpen=null,e.basicError=!0;break;case s.MATCH:i.strict&&i.errors.push({line:i.findLine(i.lines,e.clsOpen),char:e.clsOpen,msg:"Case-sensitive string operator('...') found - strict ABNF specified."}),e.clsOpen=null}},S=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:e.prosValOpen=n}},v=function(e,t,r,n){switch(e.state){case s.ACTIVE:n.stringTabChar=!1;break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.stringTabChar!==!1&&n.errors.push({line:n.findLine(n.lines,n.stringTabChar),char:n.stringTabChar,msg:"Tab character (\\t, x09) not allowed in prose value string."})}},C=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:i.errors.push({line:i.findLine(i.lines,e.prosValOpen),char:e.prosValOpen,msg:"Prose value operator(<...>) opened but not closed."}),e.basicError=!0,e.prosValOpen=null;break;case s.MATCH:i.errors.push({
  line:i.findLine(i.lines,e.prosValOpen),char:e.prosValOpen,msg:"Prose value operator(<...>) found. The ABNF syntax is valid, but a parser cannot be generated from this grammar."}),e.prosValOpen=null}},M=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:e={groupOpen:n,groupError:!1,optionOpen:null,optionError:!1,tlsOpen:null,clsOpen:null,prosValOpen:null,basicError:!1},i.altStack.push(e)}},O=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:i.errors.push({line:i.findLine(i.lines,e.groupOpen),char:e.groupOpen,msg:'Group "(...)" opened but not closed.'}),e=i.altStack.pop(),e.groupError=!0;break;case s.MATCH:e=i.altStack.pop()}},R=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:e={groupOpen:null,groupError:!1,optionOpen:n,optionError:!1,tlsOpen:null,clsOpen:null,prosValOpen:null,basicError:!1},i.altStack.push(e)}},L=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:i.errors.push({line:i.findLine(i.lines,e.optionOpen),char:e.optionOpen,msg:'Option "[...]" opened but not closed.'}),e=i.altStack.pop(),e.optionError=!0;break;case s.MATCH:e=i.altStack.pop()}},B=function(t,r,n,i){switch(t.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:e.basicError===!1&&i.errors.push({line:i.findLine(i.lines,n,i.charsLength),char:n,msg:"Unrecognized SABNF element."})}},_=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:if(1===e.phraseLength&&n.strict){var i=13===t[r]?"CR":"LF";n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"Line end '"+i+"' found - strict ABNF specified, only CRLF allowed."})}}},N=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:break;case s.MATCH:n.errors.push({line:n.findLine(n.lines,r,n.charsLength),char:r,msg:"Unrecognized grammar element or characters."})}},P=function(e,t,r,n){switch(e.state){case s.ACTIVE:break;case s.EMPTY:break;case s.NOMATCH:n.repCount+=1;break;case s.MATCH:n.repCount+=1}};this.callbacks=[],this.callbacks.andop=h,this.callbacks.basicelementerr=B,this.callbacks.clsclose=w,this.callbacks.clsopen=A,this.callbacks.clsstring=k,this.callbacks.definedaserror=l,this.callbacks.file=i,this.callbacks.groupclose=O,this.callbacks.groupopen=M,this.callbacks.lineenderror=N,this.callbacks.lineend=_,this.callbacks.notop=p,this.callbacks.optionclose=L,this.callbacks.optionopen=R,this.callbacks.prosvalclose=C,this.callbacks.prosvalopen=S,this.callbacks.prosvalstring=v,this.callbacks.repetition=P,this.callbacks.rule=o,this.callbacks.ruleerror=a,this.callbacks.rulenameerror=c,this.callbacks.stringtab=T,this.callbacks.tlsclose=x,this.callbacks.tlsopen=y,this.callbacks.tlsstring=E,this.callbacks.udtop=b,this.callbacks.bkaop=u,this.callbacks.bknop=d,this.callbacks.bkrop=m,this.callbacks.abgop=f,this.callbacks.aenop=g}},function(e,t,r){!function(){this.ApgApi=r(9)}()},function(e,t,r){(function(e){"use strict;";var n=this,s=r(6),i="UTF8",o="UTF16",a="UTF16BE",c="UTF16LE",l="UTF32",h="UTF32BE",p="UTF32LE",u="UINT7",d="ASCII",f="BINARY",g="UINT8",m="UINT16",b="UINT16LE",y="UINT16BE",E="UINT32",T="UINT32LE",x="UINT32BE",A="ESCAPED",k="STRING",w=function(e){e.type=i;var t=e.data;e.bom=0,t.length>=3&&239===t[0]&&187===t[1]&&191===t[2]&&(e.bom=3)},S=function(e){var t=e.data;switch(e.bom=0,e.type){case o:e.type=a,t.length>=2&&(254===t[0]&&255===t[1]?e.bom=2:255===t[0]&&254===t[1]&&(e.type=c,e.bom=2));break;case a:if(e.type=a,t.length>=2)if(254===t[0]&&255===t[1])e.bom=2;else if(255===t[0]&&254===t[1])throw new TypeError('src type: "'+a+'" specified but BOM is for "'+c+'"');break;case c:if(e.type=c,t.length>=0){if(254===t[0]&&255===t[1])throw new TypeError('src type: "'+c+'" specified but BOM is for "'+a+'"');255===t[0]&&254===t[1]&&(e.bom=2)}break;default:throw new TypeError('UTF16 BOM: src type "'+e.type+'" unrecognized')}},v=function(e){var t=e.data;switch(e.bom=0,e.type){case l:e.type=h,t.length>=4&&(0===t[0]&&0===t[1]&&254===t[2]&&255===t[3]&&(e.bom=4),255===t[0]&&254===t[1]&&0===t[2]&&0===t[3]&&(e.type=p,e.bom=4));break;case h:if(e.type=h,t.length>=4&&(0===t[0]&&0===t[1]&&254===t[2]&&255===t[3]&&(e.bom=4),255===t[0]&&254===t[1]&&0===t[2]&&0===t[3]))throw new TypeError("src type: "+h+" specified but BOM is for "+p+'"');break;case p:if(e.type=p,t.length>=4){if(0===t[0]&&0===t[1]&&254===t[2]&&255===t[3])throw new TypeError('src type: "'+p+'" specified but BOM is for "'+h+'"');255===t[0]&&254===t[1]&&0===t[2]&&0===t[3]&&(e.bom=4)}break;default:throw new TypeError('UTF32 BOM: src type "'+e.type+'" unrecognized')}},C=function(t,r){function n(e){var t={type:"",base64:!1},r=/^(base64:)?([a-zA-Z0-9]+)$/i,n=r.exec(e);return n&&(n[2]&&(t.type=n[2].toUpperCase()),n[1]&&(t.base64=!0)),t}if("string"!=typeof t||""===t)throw new TypeError('type: "'+t+'" not recognized');var C=n(t.toUpperCase());if(C.base64){if(C.type===k)throw new TypeError('type: "'+t+' "BASE64:" prefix not allowed with type '+k);if(e.isBuffer(r))C.data=s.base64.decode(r);else{if("string"!=typeof r)throw new TypeError('type: "'+t+" unrecognized data type: typeof(data): "+typeof r);var M=e.from(r,"ascii");C.data=s.base64.decode(M)}}else C.data=r;switch(C.type){case i:w(C);break;case o:case a:case c:S(C);break;case l:case h:case p:v(C);break;case m:C.type=y;break;case E:C.type=x;break;case d:C.type=u;break;case f:C.type=g;break;case u:case g:case b:case y:case T:case x:case k:case A:break;default:throw new TypeError('type: "'+t+'" not recognized')}if(C.type===k){if("string"!=typeof C.data)throw new TypeError('type: "'+t+'" but data is not a string')}else if(!e.isBuffer(C.data))throw new TypeError('type: "'+t+'" but data is not a Buffer');return C},M=function(e,t){function r(e){for(var t,r,n={crlf:!1,lf:!1,base64:!1,type:""};;){if(r=e,t=e.slice(0,5),"CRLF:"===t){n.crlf=!0,r=e.slice(5);break}if(t=e.slice(0,3),"LF:"===t){n.lf=!0,r=e.slice(3);break}break}return t=r.split(":"),1===t.length?n.type=t[0]:2===t.length&&"BASE64"===t[1]&&(n.base64=!0,n.type=t[0]),n}if(!Array.isArray(t))throw new TypeError('dst chars: not array: "'+typeof t);if("string"!=typeof e)throw new TypeError('dst type: not string: "'+typeof e);switch(ret=r(e.toUpperCase()),ret.type){case i:case a:case c:case h:case p:case u:case g:case b:case y:case T:case x:case A:break;case k:if(ret.base64)throw new TypeError('":BASE64" suffix not allowed with type '+k);break;case d:ret.type=u;break;case f:ret.type=g;break;case o:ret.type=a;break;case l:ret.type=h;break;case m:ret.type=y;break;case E:ret.type=x;break;default:throw new TypeError('dst type unrecognized: "'+e+'" : must have form [crlf:|lf:]type[:base64]')}return ret},O=function(e,t){switch(e){case i:return s.utf8.encode(t);case a:return s.utf16be.encode(t);case c:return s.utf16le.encode(t);case h:return s.utf32be.encode(t);case p:return s.utf32le.encode(t);case u:return s.uint7.encode(t);case g:return s.uint8.encode(t);case y:return s.uint16be.encode(t);case b:return s.uint16le.encode(t);case x:return s.uint32be.encode(t);case T:return s.uint32le.encode(t);case k:return s.string.encode(t);case A:return s.escaped.encode(t);default:throw new TypeError('encode type "'+e+'" not recognized')}},R=function(e){switch(e.type){case i:return s.utf8.decode(e.data,e.bom);case c:return s.utf16le.decode(e.data,e.bom);case a:return s.utf16be.decode(e.data,e.bom);case h:return s.utf32be.decode(e.data,e.bom);case p:return s.utf32le.decode(e.data,e.bom);case u:return s.uint7.decode(e.data);case g:return s.uint8.decode(e.data);case y:return s.uint16be.decode(e.data);case b:return s.uint16le.decode(e.data);case x:return s.uint32be.decode(e.data);case T:return s.uint32le.decode(e.data);case k:return s.string.decode(e.data);case A:return s.escaped.decode(e.data);default:throw new TypeError('decode type "'+e.type+'" not recognized')}};t.decode=function(e,t){var r=C(e,t);return R(r)},t.encode=function(e,t){var r,n,i=M(e,t);return i.crlf?(r=s.lineEnds.crlf(t),n=O(i.type,r)):i.lf?(r=s.lineEnds.lf(t),n=O(i.type,r)):n=O(i.type,t),i.base64&&(n=s.base64.encode(n)),n},t.convert=function(e,t,r){return n.encode(r,n.decode(e,t))}}).call(t,r(4).Buffer)},function(e,t,r){e.exports=function(){"use strict";function e(e){for(var t="",r=0;r<e;r+=1)t+=" ";return t}var t="ast.js: ",n=r(1),s=r(2),i=this,o=null,a=null,c=null,l=0,h=[],p=[],u=[],d=[];this.callbacks=[],this.astObject="astObject",this.init=function(e,r,n){u.length=0,d.length=0,h.length=0,l=0,o=e,a=r,c=n;var s,f=[];for(s=0;s<o.length;s+=1)f.push(o[s].lower);for(s=0;s<a.length;s+=1)f.push(a[s].lower);for(l=o.length+a.length,s=0;s<l;s+=1)h[s]=!1,p[s]=null;for(var g in i.callbacks){var m=g.toLowerCase();if(s=f.indexOf(m),s<0)throw new Error(t+"init: node '"+g+"' not a rule or udt name");"function"==typeof i.callbacks[g]&&(h[s]=!0,p[s]=i.callbacks[g]),i.callbacks[g]===!0&&(h[s]=!0)}},this.ruleDefined=function(e){return h[e]!==!1},this.udtDefined=function(e){return h[o.length+e]!==!1},this.down=function(e,t){var r=d.length;return u.push(r),d.push({name:t,thisIndex:r,thatIndex:null,state:n.SEM_PRE,callbackIndex:e,phraseIndex:null,phraseLength:null,stack:u.length}),r},this.up=function(e,t,r,s){var i=d.length,o=u.pop();return d.push({name:t,thisIndex:i,thatIndex:o,state:n.SEM_POST,callbackIndex:e,phraseIndex:r,phraseLength:s,stack:u.length}),d[o].thatIndex=i,d[o].phraseIndex=r,d[o].phraseLength=s,i},this.translate=function(e){for(var t,r,s,i=0;i<d.length;i+=1)s=d[i],r=p[s.callbackIndex],s.state===n.SEM_PRE?null!==r&&(t=r(n.SEM_PRE,c,s.phraseIndex,s.phraseLength,e),t===n.SEM_SKIP&&(i=s.thatIndex)):null!==r&&r(n.SEM_POST,c,s.phraseIndex,s.phraseLength,e)},this.setLength=function(e){d.length=e,e>0?u.length=d[e-1].stack:u.length=0},this.getLength=function(){return d.length},this.toXml=function(t){var r=s.charsToDec,i="decimal integer character codes";"string"==typeof t&&t.length>=3&&(t=t.slice(0,3).toLowerCase(),"asc"===t?(r=s.charsToAscii,i="ASCII for printing characters, hex for non-printing"):"hex"===t?(r=s.charsToHex,i="hexidecimal integer character codes"):"uni"===t&&(r=s.charsToUnicode,i="Unicode UTF-32 integer character codes"));var o="",a=0;return o+='<?xml version="1.0" encoding="utf-8"?>\n',o+='<root nodes="'+d.length/2+'" characters="'+c.length+'">\n',o+="<!-- input string, "+i+" -->\n",o+=e(a+2),o+=r(c),o+="\n",d.forEach(function(t,s){t.state===n.SEM_PRE?(a+=1,o+=e(a),o+='<node name="'+t.name+'" index="'+t.phraseIndex+'" length="'+t.phraseLength+'">\n',o+=e(a+2),o+=r(c,t.phraseIndex,t.phraseLength),o+="\n"):(o+=e(a),o+='</node><!-- name="'+t.name+'" -->\n',a-=1)}),o+="</root>\n"},this.phrases=function(){var e,t,r={};for(e=0;e<d.length;e+=1)t=d[e],t.state===n.SEM_PRE&&(Array.isArray(r[t.name])||(r[t.name]=[]),r[t.name].push({index:t.phraseIndex,length:t.phraseLength}));return r}}},function(e,t,r){e.exports=function(){"use strict";var e="parser.js: ",t=this,n=r(1),s=r(2);this.ast=null,this.stats=null,this.trace=null,this.callbacks=[];var i,o,a,c,l=0,h=null,p=null,u=0,d=0,f=0,g=null,m=null,b=null,y=null,E=null,T=0,x=1/0,A=1/0,k=function(t,r,s){var i,o=e+"evaluateRule(): ";if(t>=b.length)throw new Error(o+"rule index: "+t+" out of range");if(r>=a)throw new Error(o+"phrase index: "+r+" out of range");i=h.length,h.push({type:n.RNM,index:t}),ce(i,r,s),h.pop()},w=function(t,r,s){var i,o=e+"evaluateUdt(): ";if(t>=y.length)throw new Error(o+"udt index: "+t+" out of range");if(r>=a)throw new Error(o+"phrase index: "+r+" out of range");i=h.length,h.push({type:n.UDT,empty:y[t].empty,index:t}),ce(i,r,s),h.pop()},S=function(){l=0,u=0,d=0,f=0,T=0,c=[{lookAround:n.LOOKAROUND_NONE,anchor:0,charsEnd:0,charsLength:0}],b=null,y=null,p=null,i=0,o=0,a=0,g=null,m=null,E=null,h=null},v=function(){var t=[],r=function(){var e={};b.forEach(function(t){t.isBkr&&(e[t.lower]=null)}),y.length>0&&y.forEach(function(t){t.isBkr&&(e[t.lower]=null)}),t.push(e)},n=function(){var e=t[t.length-1],r={};for(var n in e)r[n]=e[n];return r};this.push=function(){t.push(n())},this.pop=function(r){if(r||(r=t.length-1),r<1||r>t.length)throw new Error(e+"backRef.pop(): bad length: "+r);return t.length=r,t[t.length-1]},this.length=function(){return t.length},this.savePhrase=function(e,r,n){t[t.length-1][e]={phraseIndex:r,phraseLength:n}},this.getPhrase=function(e){return t[t.length-1][e]},r()},C=function(){var e=this;this.state=n.ACTIVE,this.phraseLength=0,this.lookAround=c[c.length-1],this.uFrame=new v,this.pFrame=new v,this.evaluateRule=k,this.evaluateUdt=w,this.refresh=function(){e.state=n.ACTIVE,e.phraseLength=0,e.lookAround=c[c.length-1]}},M=function(){return c[c.length-1]},O=function(){return c.length>1},R=function(){return c[c.length-1].lookAround===n.LOOKAROUND_BEHIND},L=function(){for(var r=e+"initializeAst(): ";;){if(void 0===t.ast){t.ast=null;break}if(null===t.ast)break;if("astObject"!==t.ast.astObject)throw new Error(r+"ast object not recognized");break}null!==t.ast&&t.ast.init(b,y,p)},B=function(){for(var r=e+"initializeTrace(): ";;){if(void 0===t.trace){t.trace=null;break}if(null===t.trace)break;if("traceObject"!==t.trace.traceObject)throw new Error(r+"trace object not recognized");break}null!==t.trace&&t.trace.init(b,y,p)},_=function(){for(var r=e+"initializeStats(): ";;){if(void 0===t.stats){t.stats=null;break}if(null===t.stats)break;if("statsObject"!==t.stats.statsObject)throw new Error(r+"stats object not recognized");break}null!==t.stats&&t.stats.init(b,y)},N=function(t){var r=e+"initializeGrammar(): ";if(!t)throw new Error(r+"grammar object undefined");if("grammarObject"!==t.grammarObject)throw new Error(r+"bad grammar object");b=t.rules,y=t.udts},P=function(t){var r=e+"initializeStartRule(): ",n=null;if("number"==typeof t){if(t>=b.length)throw new Error(r+"start rule index too large: max: "+b.length+": index: "+t);n=t}else{if("string"!=typeof t)throw new Error(r+"type of start rule '"+typeof t+"' not recognized");for(var s=t.toLowerCase(),i=0;i<b.length;i+=1)if(s===b[i].lower){n=b[i].index;break}if(null===n)throw new Error(r+"start rule name '"+t+"' not recognized")}return n},H=function(t,r,n){var c=e+"initializeInputChars(): ";if(void 0===t)throw new Error(c+"input string is undefined");if(null===t)throw new Error(c+"input string is null");if("string"==typeof t)t=s.stringToChars(t);else if(!Array.isArray(t))throw new Error(c+"input string is not a string or array");if(t.length>0&&"number"!=typeof t[0])throw new Error(c+"input string not an array of integers");if("number"!=typeof r)r=0;else if(r=Math.floor(r),r<0||r>t.length)throw new Error(c+"input beginning index out of range: "+r);if("number"!=typeof n)n=t.length-r;else if(n=Math.floor(n),n<0||n>t.length-r)throw new Error(c+"input length out of range: "+n);p=t,i=r,o=n,a=i+o},D=function(){var r,n=e+"initializeCallbacks(): ";for(g=[],m=[],r=0;r<b.length;r+=1)g[r]=null;for(r=0;r<y.length;r+=1)m[r]=null;var s,i=[];for(r=0;r<b.length;r+=1)i.push(b[r].lower);for(r=0;r<y.length;r+=1)i.push(y[r].lower);for(var o in t.callbacks){if(r=i.indexOf(o.toLowerCase()),r<0)throw new Error(n+"syntax callback '"+o+"' not a rule or udt name");if(s=t.callbacks[o],s||(s=null),"function"!=typeof s&&null!==s)throw new Error(n+"syntax callback["+o+"] must be function reference or 'false' (false/null/undefined/etc.)");r<b.length?g[r]=s:m[r-b.length]=s}for(r=0;r<y.length;r+=1)if(null===m[r])throw new Error(n+"all UDT callbacks must be defined. UDT callback["+y[r].lower+"] not a function reference")};this.setMaxTreeDepth=function(e){if("number"!=typeof e)throw new Error("parser: max tree depth must be integer > 0: "+e);if(x=Math.floor(e),x<=0)throw new Error("parser: max tree depth must be integer > 0: "+e)},this.setMaxNodeHits=function(e){if("number"!=typeof e)throw new Error("parser: max node hits must be integer > 0: "+e);if(A=Math.floor(e),A<=0)throw new Error("parser: max node hits must be integer > 0: "+e)},this.parse=function(e,t,r,n){return S(),H(r,0,r.length),I(e,t,n)},this.parseSubstring=function(e,t,r,n,s,i){return S(),H(r,n,s),I(e,t,i)};var I=function(t,r,s){var c,l,u;switch(c=e+"parse(): ",N(t),r=P(r),D(),B(),_(),L(),l=new C,void 0!==s&&null!==s&&(E=s),h=[{type:n.RNM,index:r}],ce(0,i,l),h=null,l.state){case n.ACTIVE:throw new Error(c+"final state should never be 'ACTIVE'");case n.NOMATCH:u=!1;break;case n.EMPTY:case n.MATCH:u=l.phraseLength===o}return{success:u,state:l.state,length:o,matched:l.phraseLength,maxMatched:T,maxTreeDepth:d,nodeHits:f,inputLength:p.length,subBegin:i,subEnd:a,subLength:o}},U=function(e,t,r){for(var s=h[e],i=0;i<s.children.length&&(ce(s.children[i],t,r),r.state===n.NOMATCH);i+=1);},F=function(e,r,s){var i,o,a,c,l;i=h[e];var p=s.uFrame.length(),u=s.pFrame.length();t.ast&&(a=t.ast.getLength()),o=!0,c=r,l=0;for(var d=0;d<i.children.length;d+=1){if(ce(i.children[d],c,s),s.state===n.NOMATCH){o=!1;break}c+=s.phraseLength,l+=s.phraseLength}o?(s.state=0===l?n.EMPTY:n.MATCH,s.phraseLength=l):(s.state=n.NOMATCH,s.phraseLength=0,s.uFrame.pop(p),s.pFrame.pop(u),t.ast&&t.ast.setLength(a))},K=function(e,r,s){var i,o,c,l,p;i=h[e],c=r,l=0,p=0;var u=s.uFrame.length(),d=s.pFrame.length();for(t.ast&&(o=t.ast.getLength());;){if(c>=a)break;if(ce(e+1,c,s),s.state===n.NOMATCH)break;if(s.state===n.EMPTY)break;if(p+=1,l+=s.phraseLength,c+=s.phraseLength,p===i.max)break}s.state===n.EMPTY?(s.state=0===l?n.EMPTY:n.MATCH,s.phraseLength=l):p>=i.min?(s.state=0===l?n.EMPTY:n.MATCH,s.phraseLength=l):(s.state=n.NOMATCH,s.phraseLength=0,s.uFrame.pop(u),s.pFrame.pop(d),t.ast&&t.ast.setLength(o))},Y=function(t,r,s,i){if(r.phraseLength>s){var o=e+"opRNM("+t.name+"): callback function error: ";throw o+="sysData.phraseLength: "+r.phraseLength,o+=" must be <= remaining chars: "+s,new Error(o)}switch(r.state){case n.ACTIVE:if(i!==!0)throw new Error(e+"opRNM("+t.name+"): callback function return error. ACTIVE state not allowed.");break;case n.EMPTY:r.phraseLength=0;break;case n.MATCH:0===r.phraseLength&&(r.state=n.EMPTY);break;case n.NOMATCH:r.phraseLength=0;break;default:throw new Error(e+"opRNM("+t.name+"): callback function return error. Unrecognized return state: "+r.state)}},V=function(e,r,s){var i,o,c,l,u,d,f,m,y,T;i=h[e],o=b[i.index],c=g[i.index];var x=!O();if(x&&(u=t.ast&&t.ast.ruleDefined(i.index),u&&(l=t.ast.getLength(),d=t.ast.down(i.index,b[i.index].name)),m=s.uFrame.length(),y=s.pFrame.length(),s.uFrame.push(),s.pFrame.push(),T=s.pFrame,s.pFrame=new v),null===c)f=h,h=o.opcodes,ce(0,r,s),h=f;else{var A=a-r;c(s,p,r,E),Y(o,s,A,!0),s.state===n.ACTIVE&&(f=h,h=o.opcodes,ce(0,r,s),h=f,c(s,p,r,E),Y(o,s,A,!1))}x&&(u&&(s.state===n.NOMATCH?t.ast.setLength(l):t.ast.up(i.index,b[i.index].name,r,s.phraseLength)),s.pFrame=T,s.state===n.NOMATCH?(s.uFrame.pop(m),s.pFrame.pop(y)):b[i.index].isBkr&&(s.pFrame.savePhrase(b[i.index].lower,r,s.phraseLength),s.uFrame.savePhrase(b[i.index].lower,r,s.phraseLength)))},G=function(t,r,s){if(r.phraseLength>s){var i=e+"opUDT("+t.name+"): callback function error: ";throw i+="sysData.phraseLength: "+r.phraseLength,i+=" must be <= remaining chars: "+s,new Error(i)}switch(r.state){case n.ACTIVE:throw new Error(e+"opUDT("+t.name+"): callback function return error. ACTIVE state not allowed.");case n.EMPTY:if(t.empty===!1)throw new Error(e+"opUDT("+t.name+"): callback function return error. May not return EMPTY.");r.phraseLength=0;break;case n.MATCH:if(0===r.phraseLength){if(t.empty===!1)throw new Error(e+"opUDT("+t.name+"): callback function return error. May not return EMPTY.");r.state=n.EMPTY}break;case n.NOMATCH:r.phraseLength=0;break;default:throw new Error(e+"opUDT("+t.name+"): callback function return error. Unrecognized return state: "+r.state)}},j=function(e,r,s){var i,o,c,l,u,d,f,g,T;l=h[e];var x=!O();x&&(d=t.ast&&t.ast.udtDefined(l.index),d&&(c=b.length+l.index,o=t.ast.getLength(),i=t.ast.down(c,y[l.index].name)),f=s.uFrame.length(),g=s.pFrame.length(),s.uFrame.push(),s.pFrame.push(),T=s.pFrame,s.pFrame=new v);var A=a-r;m[l.index](s,p,r,E),G(y[l.index],s,A),x&&(d&&(s.state===n.NOMATCH?t.ast.setLength(o):t.ast.up(c,y[l.index].name,r,s.phraseLength)),s.pFrame=T,s.state===n.NOMATCH?(s.uFrame.pop(f),s.pFrame.pop(g)):y[l.index].isBkr&&(s.pFrame.savePhrase(u[l.index].lower,r,s.phraseLength),s.uFrame.savePhrase(u[l.index].lower,r,s.phraseLength)))},z=function(e,t,r){c.push({lookAround:n.LOOKAROUND_AHEAD,anchor:t,charsEnd:a,charsLength:o}),a=p.length,o=p.length-i,ce(e+1,t,r);var s=c.pop();switch(a=s.charsEnd,o=s.charsLength,r.phraseLength=0,r.state){case n.EMPTY:r.state=n.EMPTY;break;case n.MATCH:r.state=n.EMPTY;break;case n.NOMATCH:r.state=n.NOMATCH;break;default:throw new Error("opAND: invalid state "+r.state)}},q=function(e,t,r){c.push({lookAround:n.LOOKAROUND_AHEAD,anchor:t,charsEnd:a,charsLength:o}),a=p.length,o=p.length-i,ce(e+1,t,r);var s=c.pop();switch(a=s.charsEnd,o=s.charsLength,r.phraseLength=0,r.state){case n.EMPTY:case n.MATCH:r.state=n.NOMATCH;break;case n.NOMATCH:r.state=n.EMPTY;break;default:throw new Error("opNOT: invalid state "+r.state)}},J=function(e,t,r){var s=h[e];r.state=n.NOMATCH,t<a&&s.min<=p[t]&&p[t]<=s.max&&(r.state=n.MATCH,r.phraseLength=1)},X=function(e,t,r){var s,i,o;if(i=h[e],o=i.string.length,r.state=n.NOMATCH,t+o<=a){for(s=0;s<o;s+=1)if(p[t+s]!==i.string[s])return;r.state=n.MATCH,r.phraseLength=o}},$=function(e,t,r){var s,i,o,c;if(c=h[e],r.state=n.NOMATCH,o=c.string.length,0===o)return void(r.state=n.EMPTY);if(t+o<=a){for(s=0;s<o;s+=1)if(i=p[t+s],i>=65&&i<=90&&(i+=32),i!==c.string[s])return;r.state=n.MATCH,r.phraseLength=o}},W=function(e,t,r){r.state=n.NOMATCH,r.phraseLength=0,r.state=0===t?n.EMPTY:n.NOMATCH},Z=function(e,t,r){r.state=n.NOMATCH,r.phraseLength=0,r.state=t===p.length?n.EMPTY:n.NOMATCH},Q=function(e,t,r){var s,i,o,c,l,u,d,f,g;if(c=h[e],r.state=n.NOMATCH,d=c.index<b.length?b[c.index].lower:y[c.index-b.length].lower,f=c.bkrMode===n.BKR_MODE_PM?r.pFrame.getPhrase(d):r.uFrame.getPhrase(d),g=c.bkrCase===n.BKR_MODE_CI,null!==f){if(l=f.phraseIndex,o=f.phraseLength,0===o)return void(r.state=n.EMPTY);if(t+o<=a){if(g){for(s=0;s<o;s+=1)if(i=p[t+s],u=p[l+s],i>=65&&i<=90&&(i+=32),u>=65&&u<=90&&(u+=32),i!==u)return;r.state=n.MATCH,r.phraseLength=o}else for(s=0;s<o;s+=1)if(i=p[t+s],u=p[l+s],i!==u)return;r.state=n.MATCH,r.phraseLength=o}}},ee=function(e,t,r){var s;switch(s=h[e],c.push({lookAround:n.LOOKAROUND_BEHIND,anchor:t}),ce(e+1,t,r),c.pop(),r.phraseLength=0,r.state){case n.EMPTY:r.state=n.EMPTY;break;case n.MATCH:r.state=n.EMPTY;break;case n.NOMATCH:r.state=n.NOMATCH;break;default:throw new Error("opBKA: invalid state "+r.state)}},te=function(e,t,r){var s;switch(s=h[e],c.push({lookAround:n.LOOKAROUND_BEHIND,anchor:t}),ce(e+1,t,r),c.pop(),r.phraseLength=0,r.state){case n.EMPTY:case n.MATCH:r.state=n.NOMATCH;break;case n.NOMATCH:r.state=n.EMPTY;break;default:throw new Error("opBKN: invalid state "+r.state)}},re=function(e,r,s){var i,o,a,c,l,p,u,d;i=h[e],u=s.uFrame.length(),d=s.pFrame.length(),t.ast&&(a=t.ast.getLength()),o=!0,c=r,p=0,l=0;for(var f=i.children.length-1;f>=0;f-=1)if(ce(i.children[f],c,s),c-=s.phraseLength,p+=s.phraseLength,l+=s.phraseLength,s.state===n.NOMATCH){o=!1;break}o?(s.state=0===p?n.EMPTY:n.MATCH,s.phraseLength=p):(s.state=n.NOMATCH,s.phraseLength=0,s.uFrame.pop(u),s.pFrame.pop(d),t.ast&&t.ast.setLength(a))},ne=function(e,r,s){var i,o,a,c,l,p,u;for(i=h[e],a=r,c=0,l=0,p=s.uFrame.length(),u=s.pFrame.length(),t.ast&&(o=t.ast.getLength());;){if(a<=0)break;if(ce(e+1,a,s),s.state===n.NOMATCH)break;if(s.state===n.EMPTY)break;if(l+=1,c+=s.phraseLength,a-=s.phraseLength,l===i.max)break}s.state===n.EMPTY?(s.state=0===c?n.EMPTY:n.MATCH,s.phraseLength=c):l>=i.min?(s.state=0===c?n.EMPTY:n.MATCH,s.phraseLength=c):(s.state=n.NOMATCH,s.phraseLength=0,s.uFrame.pop(p),s.pFrame.pop(u),t.ast&&t.ast.setLength(o))},se=function(e,t,r){var s=h[e];if(r.state=n.NOMATCH,r.phraseLength=0,t>0){var i=p[t-1];s.min<=i&&i<=s.max&&(r.state=n.MATCH,r.phraseLength=1)}},ie=function(e,t,r){var s,i,o,a;if(i=h[e],r.state=n.NOMATCH,o=i.string.length,a=t-o,a>=0){for(s=0;s<o;s+=1)if(p[a+s]!==i.string[s])return;r.state=n.MATCH,r.phraseLength=o}},oe=function(e,t,r){var s,i,o,a;if(s=h[e],r.state=n.NOMATCH,a=s.string.length,0===a)return void(r.state=n.EMPTY);if(o=t-a,o>=0){for(var c=0;c<a;c+=1)if(i=p[o+c],i>=65&&i<=90&&(i+=32),i!==s.string[c])return;r.state=n.MATCH,r.phraseLength=a}},ae=function(e,t,r){var s,i,o,a,c,l,u,d,f,g;if(a=h[e],r.state=n.NOMATCH,r.phraseLength=0,u=a.index<b.length?b[a.index].lower:y[a.index-b.length].lower,f=a.bkrMode===n.BKR_MODE_PM?r.pFrame.getPhrase(u):r.uFrame.getPhrase(u),g=a.bkrCase===n.BKR_MODE_CI,null!==f){if(c=f.phraseIndex,o=f.phraseLength,0===o)return r.state=n.EMPTY,void(r.phraseLength=0);if(d=t-o,d>=0){if(g){for(s=0;s<o;s+=1)if(i=p[d+s],l=p[c+s],i>=65&&i<=90&&(i+=32),l>=65&&l<=90&&(l+=32),i!==l)return;r.state=n.MATCH,r.phraseLength=o}else for(s=0;s<o;s+=1)if(i=p[d+s],l=p[c+s],i!==l)return;r.state=n.MATCH,r.phraseLength=o}}},ce=function(e,r,s){var i,o=!0;if(i=h[e],f+=1,f>A)throw new Error("parser: maximum number of node hits exceeded: "+A);if(u+=1,u>d&&(d=u,d>x))throw new Error("parser: maximum parse tree depth exceeded: "+x);if(s.refresh(),null!==t.trace){var a=M();t.trace.down(i,s.state,r,s.phraseLength,a.anchor,a.lookAround)}if(R())switch(i.type){case n.ALT:U(e,r,s);break;case n.CAT:re(e,r,s);break;case n.REP:ne(e,r,s);break;case n.RNM:V(e,r,s);break;case n.UDT:j(e,r,s);break;case n.AND:z(e,r,s);break;case n.NOT:q(e,r,s);break;case n.TRG:se(e,r,s);break;case n.TBS:ie(e,r,s);break;case n.TLS:oe(e,r,s);break;case n.BKR:ae(e,r,s);break;case n.BKA:ee(e,r,s);break;case n.BKN:te(e,r,s);break;case n.ABG:W(e,r,s);break;case n.AEN:Z(e,r,s);break;default:o=!1}else switch(i.type){case n.ALT:U(e,r,s);break;case n.CAT:F(e,r,s);break;case n.REP:K(e,r,s);break;case n.RNM:V(e,r,s);break;case n.UDT:j(e,r,s);break;case n.AND:z(e,r,s);break;case n.NOT:q(e,r,s);break;case n.TRG:J(e,r,s);break;case n.TBS:X(e,r,s);break;case n.TLS:$(e,r,s);break;case n.BKR:Q(e,r,s);break;case n.BKA:ee(e,r,s);break;case n.BKN:te(e,r,s);break;case n.ABG:W(e,r,s);break;case n.AEN:Z(e,r,s);break;default:o=!1}if(!O()&&r+s.phraseLength>T&&(T=r+s.phraseLength),null!==t.stats&&t.stats.collect(i,s),null!==t.trace){var a=M();t.trace.up(i,s.state,r,s.phraseLength,a.anchor,a.lookAround)}return u-=1,o}}},function(e,t,r){e.exports=function(){"use strict";var e,t="stats.js: ",n=r(1),s=r(2),i=r(3),o=[],a=[],c=[],l=[],h=[];this.statsObject="statsObject";var p="stats",u=function(e,t){return e.lower<t.lower?-1:e.lower>t.lower?1:0},d=function(e,t){return e.total<t.total?1:e.total>t.total?-1:u(e,t)},f=function(e,t){return e.index<t.index?-1:e.index>t.index?1:0},g=function(){this.empty=0,this.match=0,this.nomatch=0,this.total=0},m=function(){c.length=0,e=new g,c[n.ALT]=new g,c[n.CAT]=new g,c[n.REP]=new g,c[n.RNM]=new g,c[n.TRG]=new g,c[n.TBS]=new g,c[n.TLS]=new g,c[n.UDT]=new g,c[n.AND]=new g,c[n.NOT]=new g,c[n.BKR]=new g,c[n.BKA]=new g,c[n.BKN]=new g,c[n.ABG]=new g,c[n.AEN]=new g,l.length=0;for(var t=0;t<o.length;t+=1)l.push({empty:0,match:0,nomatch:0,total:0,name:o[t].name,lower:o[t].lower,index:o[t].index});if(a.length>0){h.length=0;for(var t=0;t<a.length;t+=1)h.push({empty:0,match:0,nomatch:0,total:0,name:a[t].name,lower:a[t].lower,index:a[t].index})}},b=function(e,r,s){switch(e.total+=1,r){case n.EMPTY:e.empty+=1;break;case n.MATCH:e.match+=1;break;case n.NOMATCH:e.nomatch+=1;break;default:throw t+"collect(): incStat(): unrecognized state: "+r}},y=function(e,t){var r="";return r+="<tr>",r+='<td class="'+i.CLASS_ACTIVE+'">'+e+"</td>",r+='<td class="'+i.CLASS_EMPTY+'">'+t.empty+"</td>",r+='<td class="'+i.CLASS_MATCH+'">'+t.match+"</td>",r+='<td class="'+i.CLASS_NOMATCH+'">'+t.nomatch+"</td>",r+='<td class="'+i.CLASS_ACTIVE+'">'+t.total+"</td>",r+="</tr>\n"},E=function(){var t="";return t+=y("ALT",c[n.ALT]),t+=y("CAT",c[n.CAT]),t+=y("REP",c[n.REP]),t+=y("RNM",c[n.RNM]),t+=y("TRG",c[n.TRG]),t+=y("TBS",c[n.TBS]),t+=y("TLS",c[n.TLS]),t+=y("UDT",c[n.UDT]),t+=y("AND",c[n.AND]),t+=y("NOT",c[n.NOT]),t+=y("BKR",c[n.BKR]),t+=y("BKA",c[n.BKA]),t+=y("BKN",c[n.BKN]),t+=y("ABG",c[n.ABG]),t+=y("AEN",c[n.AEN]),t+=y("totals",e)},T=function(){var e="";e+="<tr><th></th><th></th><th></th><th></th><th></th></tr>\n",e+="<tr><th>rules</th><th></th><th></th><th></th><th></th></tr>\n";for(var t=0;t<o.length;t+=1)l[t].total>0&&(e+="<tr>",e+='<td class="'+i.CLASS_ACTIVE+'">'+l[t].name+"</td>",e+='<td class="'+i.CLASS_EMPTY+'">'+l[t].empty+"</td>",e+='<td class="'+i.CLASS_MATCH+'">'+l[t].match+"</td>",e+='<td class="'+i.CLASS_NOMATCH+'">'+l[t].nomatch+"</td>",e+='<td class="'+i.CLASS_ACTIVE+'">'+l[t].total+"</td>",e+="</tr>\n");if(a.length>0){e+="<tr><th></th><th></th><th></th><th></th><th></th></tr>\n",e+="<tr><th>udts</th><th></th><th></th><th></th><th></th></tr>\n";for(var t=0;t<a.length;t+=1)h[t].total>0&&(e+="<tr>",e+='<td class="'+i.CLASS_ACTIVE+'">'+h[t].name+"</td>",e+='<td class="'+i.CLASS_EMPTY+'">'+h[t].empty+"</td>",e+='<td class="'+i.CLASS_MATCH+'">'+h[t].match+"</td>",e+='<td class="'+i.CLASS_NOMATCH+'">'+h[t].nomatch+"</td>",e+='<td class="'+i.CLASS_ACTIVE+'">'+h[t].total+"</td>",e+="</tr>\n")}return e};this.validate=function(e){var t=!1;return"string"==typeof e&&p===e&&(t=!0),t},this.init=function(e,t){o=e,a=t,m()},this.collect=function(t,r){b(e,r.state,r.phraseLength),b(c[t.type],r.state,r.phraseLength),t.type===n.RNM&&b(l[t.index],r.state,r.phraseLength),t.type===n.UDT&&b(h[t.index],r.state,r.phraseLength)},this.toHtml=function(e,t){var r="";for(r+='<table class="'+i.CLASS_STATS+'">\n',"string"==typeof t&&(r+="<caption>"+t+"</caption>\n"),r+='<tr><th class="'+i.CLASS_ACTIVE+'">ops</th>\n',r+='<th class="'+i.CLASS_EMPTY+'">EMPTY</th>\n',r+='<th class="'+i.CLASS_MATCH+'">MATCH</th>\n',r+='<th class="'+i.CLASS_NOMATCH+'">NOMATCH</th>\n',r+='<th class="'+i.CLASS_ACTIVE+'">totals</th></tr>\n';;){if(void 0===e){r+=E();break}if(null===e){r+=E();break}if("ops"===e){r+=E();break}if("index"===e){l.sort(f),h.length>0&&h.sort(f),r+=E(),r+=T();break}if("hits"===e){l.sort(d),h.length>0&&h.sort(f),r+=E(),r+=T();break}if("alpha"===e){l.sort(u),h.length>0&&h.sort(u),r+=E(),r+=T();break}break}return r+="</table>\n"},this.toHtmlPage=function(e,t,r){return s.htmlToPage(this.toHtml(e,t),r)}}},function(e,t,r){e.exports=function(){"use strict";var e="trace.js: ",t=this,n=16,s=10,i=8,o=32,a=80,c=5,l=r(2),h=r(3),p=new(r(7)),u=r(1),d=[],f=5e3,g=-1,m=0,b=0,y=[],E=null,T=null,x=null,A=[],k=[],w='<span class="'+h.CLASS_LINEEND+'">&bull;</span>',S='<span class="'+h.CLASS_LINEEND+'">&hellip;</span>',v='<span class="'+h.CLASS_EMPTY+'">&#120634;</span>',C=function(){var r=function(e){A[u.ALT]=e,A[u.CAT]=e,A[u.REP]=e,A[u.TLS]=e,A[u.TBS]=e,A[u.TRG]=e,A[u.AND]=e,A[u.NOT]=e,A[u.BKR]=e,A[u.BKA]=e,A[u.BKN]=e,A[u.ABG]=e,A[u.AEN]=e},n=0;for(var s in t.filter.operators)n+=1;if(0===n)return void r(!1);for(var s in t.filter.operators){var i=s.toUpperCase();if("<ALL>"===i)return void r(!0);if("<NONE>"===i)return void r(!1)}r(!1);for(var s in t.filter.operators){var i=s.toUpperCase();if("ALT"===i)A[u.ALT]=t.filter.operators[s]===!0;else if("CAT"===i)A[u.CAT]=t.filter.operators[s]===!0;else if("REP"===i)A[u.REP]=t.filter.operators[s]===!0;else if("AND"===i)A[u.AND]=t.filter.operators[s]===!0;else if("NOT"===i)A[u.NOT]=t.filter.operators[s]===!0;else if("TLS"===i)A[u.TLS]=t.filter.operators[s]===!0;else if("TBS"===i)A[u.TBS]=t.filter.operators[s]===!0;else if("TRG"===i)A[u.TRG]=t.filter.operators[s]===!0;else if("BKR"===i)A[u.BKR]=t.filter.operators[s]===!0;else if("BKA"===i)A[u.BKA]=t.filter.operators[s]===!0;else if("BKN"===i)A[u.BKN]=t.filter.operators[s]===!0;else if("ABG"===i)A[u.ABG]=t.filter.operators[s]===!0;else{if("AEN"!==i)throw new Error(e+"initOpratorFilter: '"+s+"' not a valid operator name. Must be <all>, <none>, alt, cat, rep, tls, tbs, trg, and, not, bkr, bka or bkn");A[u.AEN]=t.filter.operators[s]===!0}}},M=function(){var r,n,s=function(e){A[u.RNM]=e,A[u.UDT]=e;var t=T.length+x.length;k.length=0;for(var r=0;r<t;r+=1)k.push(e)},i=[];for(n=0;n<T.length;n+=1)i.push(T[n].lower);for(n=0;n<x.length;n+=1)i.push(x[n].lower);
  k.length=0,r=0;for(var o in t.filter.rules)r+=1;if(0===r)return void s(!0);for(var o in t.filter.rules){var a=o.toLowerCase();if("<all>"===a)return void s(!0);if("<none>"===a)return void s(!1)}s(!1),A[u.RNM]=!0,A[u.UDT]=!0;for(var o in t.filter.rules){var a=o.toLowerCase();if(n=i.indexOf(a),n<0)throw new Error(e+"initRuleFilter: '"+o+"' not a valid rule or udt name");k[n]=t.filter.rules[o]===!0}};this.traceObject="traceObject",this.filter={operators:[],rules:[]},this.setMaxRecords=function(e,t){"number"==typeof e&&e>0&&(f=Math.ceil(e)),"number"==typeof t&&(g=Math.floor(t),g<0?g=-1:g<f&&(g=f))},this.getMaxRecords=function(){return f},this.init=function(e,t,r){d.length=0,y.length=0,m=0,b=0,E=r,T=e,x=t,C(),M(),p.init(f)};var O=function(e){var t=!1;return t=e.type===u.RNM?!(!A[e.type]||!k[e.index]):e.type===u.UDT?!(!A[e.type]||!k[T.length+e.index]):A[e.type]},R=function(e){return g===-1||e<=g};this.down=function(e,t,r,n,s,i){R(m)&&O(e)&&(y.push(m),d[p.increment()]={dirUp:!1,depth:b,thisLine:m,thatLine:void 0,opcode:e,state:t,phraseIndex:r,phraseLength:n,lookAnchor:s,lookAround:i},m+=1,b+=1)},this.up=function(e,t,r,n,s,i){if(R(m)&&O(e)){var o=m,a=y.pop(),c=p.getListIndex(a);c!==-1&&(d[c].thatLine=o),b-=1,d[p.increment()]={dirUp:!0,depth:b,thisLine:o,thatLine:a,opcode:e,state:t,phraseIndex:r,phraseLength:n,lookAnchor:s,lookAround:i},m+=1}},this.toHtml=function(e,t){var r=i;if("string"==typeof e&&e.length>=3){var a=e.toLowerCase().slice(0,3);"hex"===a?r=n:"dec"===a?r=s:"uni"===a&&(r=o)}var c="";return c+=L(r,t),c+=_(r),c+=B()},this.toHtmlPage=function(e,t,r){return l.htmlToPage(this.toHtml(e,t),r)};var L=function(t,r){var a;switch(t){case n:a="hexidecimal";break;case s:a="decimal";break;case i:a="ASCII";break;case o:a="UNICODE";break;default:throw new Error(e+"htmlHeader: unrecognized mode: "+t)}var c="";return c+="<p>display mode: "+a+"</p>\n",c+='<table class="'+h.CLASS_TRACE+'">\n',"string"==typeof r&&(c+="<caption>"+r+"</caption>"),c},B=function(){var e="";return e+="</table>\n",e+='<p class="'+h.CLASS_MONOSPACE+'">legend:<br>\n',e+="(a)&nbsp;-&nbsp;line number<br>\n",e+="(b)&nbsp;-&nbsp;matching line number<br>\n",e+="(c)&nbsp;-&nbsp;phrase offset<br>\n",e+="(d)&nbsp;-&nbsp;phrase length<br>\n",e+="(e)&nbsp;-&nbsp;tree depth<br>\n",e+="(f)&nbsp;-&nbsp;operator state<br>\n",e+='&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="'+h.CLASS_ACTIVE+'">&darr;</span>&nbsp;&nbsp;phrase opened<br>\n',e+='&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="'+h.CLASS_MATCH+'">&uarr;M</span> phrase matched<br>\n',e+='&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="'+h.CLASS_EMPTY+'">&uarr;E</span> empty phrase matched<br>\n',e+='&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="'+h.CLASS_NOMATCH+'">&uarr;N</span> phrase not matched<br>\n',e+="operator&nbsp;-&nbsp;ALT, CAT, REP, RNM, TRG, TLS, TBS<sup>&dagger;</sup>, UDT, AND, NOT, BKA, BKN, BKR, ABG, AEN<sup>&Dagger;</sup><br>\n",e+="phrase&nbsp;&nbsp;&nbsp;-&nbsp;up to "+a+" characters of the phrase being matched<br>\n",e+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="'+h.CLASS_MATCH+'">matched characters</span><br>\n',e+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="'+h.CLASS_LOOKAHEAD+'">matched characters in look ahead mode</span><br>\n',e+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="'+h.CLASS_LOOKBEHIND+'">matched characters in look behind mode</span><br>\n',e+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="'+h.CLASS_REMAINDER+'">remainder characters(not yet examined by parser)</span><br>\n',e+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;<span class="'+h.CLASS_CTRLCHAR+'">control characters, TAB, LF, CR, etc. (ASCII mode only)</span><br>\n',e+="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;"+v+" empty string<br>\n",e+="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;"+w+" end of input string<br>\n",e+="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;"+S+" input string display truncated<br>\n",e+="</p>\n",e+='<p class="'+h.CLASS_MONOSPACE+'">\n',e+="<sup>&dagger;</sup>original ABNF operators:<br>\n",e+="ALT - alternation<br>\n",e+="CAT - concatenation<br>\n",e+="REP - repetition<br>\n",e+="RNM - rule name<br>\n",e+="TRG - terminal range<br>\n",e+="TLS - terminal literal string (case insensitive)<br>\n",e+="TBS - terminal binary string (case sensitive)<br>\n",e+="<br>\n",e+="<sup>&Dagger;</sup>super set SABNF operators:<br>\n",e+="UDT - user-defined terminal<br>\n",e+="AND - positive look ahead<br>\n",e+="NOT - negative look ahead<br>\n",e+="BKA - positive look behind<br>\n",e+="BKN - negative look behind<br>\n",e+="BKR - back reference<br>\n",e+="ABG - anchor - begin of input string<br>\n",e+="AEN - anchor - end of input string<br>\n",e+="</p>\n"},_=function(e){if(null===T)return"";var r,n,s,i,o,a,c="";return c+="<tr><th>(a)</th><th>(b)</th><th>(c)</th><th>(d)</th><th>(e)</th><th>(f)</th>",c+="<th>operator</th><th>phrase</th></tr>\n",p.forEach(function(p,f){var g=d[p];switch(r=g.thisLine,n=void 0!==g.thatLine?g.thatLine:"--",s=!1,i=!1,o=!1,g.lookAround===u.LOOKAROUND_AHEAD&&(s=!0,o=!0,a=g.lookAnchor),g.opcode.type!==u.AND&&g.opcode.type!==u.NOT||(s=!0,o=!0,a=g.phraseIndex),g.lookAround===u.LOOKAROUND_BEHIND&&(i=!0,o=!0,a=g.lookAnchor),g.opcode.type!==u.BKA&&g.opcode.type!==u.BKN||(i=!0,o=!0,a=g.phraseIndex),c+="<tr>",c+="<td>"+r+"</td><td>"+n+"</td>",c+="<td>"+g.phraseIndex+"</td>",c+="<td>"+g.phraseLength+"</td>",c+="<td>"+g.depth+"</td>",c+="<td>",g.state){case u.ACTIVE:c+='<span class="'+h.CLASS_ACTIVE+'">&darr;&nbsp;</span>';break;case u.MATCH:c+='<span class="'+h.CLASS_MATCH+'">&uarr;M</span>';break;case u.NOMATCH:c+='<span class="'+h.CLASS_NOMATCH+'">&uarr;N</span>';break;case u.EMPTY:c+='<span class="'+h.CLASS_EMPTY+'">&uarr;E</span>';break;default:c+='<span class="'+h.CLASS_ACTIVE+'">--</span>'}if(c+="</td>",c+="<td>",c+=t.indent(g.depth),s?c+='<span class="'+h.CLASS_LOOKAHEAD+'">':i&&(c+='<span class="'+h.CLASS_LOOKBEHIND+'">'),c+=l.opcodeToString(g.opcode.type),g.opcode.type===u.RNM&&(c+="("+T[g.opcode.index].name+") "),g.opcode.type===u.BKR){var m=g.opcode.bkrCase===u.BKR_MODE_CI?"%i":"%s",b=g.opcode.bkrMode===u.BKR_MODE_UM?"%u":"%p";c+="(\\"+m+b+T[g.opcode.index].name+") "}g.opcode.type===u.UDT&&(c+="("+x[g.opcode.index].name+") "),g.opcode.type===u.TRG&&(c+="("+N(e,g.opcode)+") "),g.opcode.type===u.TBS&&(c+="("+H(e,g.opcode)+") "),g.opcode.type===u.TLS&&(c+="("+D(e,g.opcode)+") "),g.opcode.type===u.REP&&(c+="("+P(e,g.opcode)+") "),o&&(c+="</span>"),c+="</td>",c+="<td>",c+=i?I(e,E,g.state,g.phraseIndex,g.phraseLength,a):s?U(e,E,g.state,g.phraseIndex,g.phraseLength):F(e,E,g.state,g.phraseIndex,g.phraseLength),c+="</td></tr>\n"}),c+="<tr><th>(a)</th><th>(b)</th><th>(c)</th><th>(d)</th><th>(e)</th><th>(f)</th>",c+="<th>operator</th><th>phrase</th></tr>\n",c+="</table>\n"};this.indent=function(e){for(var t="",r=0;r<e;r+=1)t+=".";return t};var N=function(e,t){var r="";if(t.type===u.TRG)if(e===n||e===o){var s=t.min.toString(16).toUpperCase();s.length%2!==0&&(s="0"+s),r+=e===n?"%x":"U+",r+=s,s=t.max.toString(16).toUpperCase(),s.length%2!==0&&(s="0"+s),r+="&ndash;"+s}else r="%d"+t.min.toString(10)+"&ndash;"+t.max.toString(10);return r},P=function(e,t){var r="";if(t.type===u.REP)if(e===n){var s=t.min.toString(16).toUpperCase();s.length%2!==0&&(s="0"+s),r="x"+s,t.max<1/0?(s=t.max.toString(16).toUpperCase(),s.length%2!==0&&(s="0"+s)):s="inf",r+="&ndash;"+s}else r=t.max<1/0?t.min.toString(10)+"&ndash;"+t.max.toString(10):t.min.toString(10)+"&ndash;inf";return r},H=function(e,t){var r="";if(t.type===u.TBS){var s=Math.min(t.string.length,2*c);if(e===n||e===o){r+=e===n?"%x":"U+";for(var i=0;i<s;i+=1){var a;i>0&&(r+="."),a=t.string[i].toString(16).toUpperCase(),a.length%2!==0&&(a="0"+a),r+=a}}else{r="%d";for(var i=0;i<s;i+=1)i>0&&(r+="."),r+=t.string[i].toString(10)}s<t.string.length&&(r+=S)}return r},D=function(e,t){var r="";if(t.type===u.TLS){var i=Math.min(t.string.length,c);if(e===n||e===s){var o,a,h;e===n?(r="%x",h=16):(r="%d",h=10);for(var p=0;p<i;p+=1)p>0&&(r+="."),a=t.string[p],a>=97&&a<=122?(o=a-32,r+=(o.toString(h)+"/"+a.toString(h)).toUpperCase()):a>=65&&a<=90?(o=a,a+=32,r+=(o.toString(h)+"/"+a.toString(h)).toUpperCase()):r+=a.toString(h).toUpperCase();i<t.string.length&&(r+=S)}else{r='"';for(var p=0;p<i;p+=1)r+=l.asciiChars[t.string[p]];i<t.string.length&&(r+=S),r+='"'}}return r},I=function(e,t,r,n,s,i){var o,c,l,p,d="",f=w,g='<span class="'+h.CLASS_LOOKBEHIND+'">',m='<span class="'+h.CLASS_REMAINDER+'">',b="</span>",y=!1;switch(r){case u.EMPTY:d+=v;case u.NOMATCH:case u.MATCH:case u.ACTIVE:o=n-s,c=i-o,l=i,p=t.length-l}return f=w,c>a?(c=a,f=S,p=0):c+p>a&&(f=S,p=a-c),c>0&&(d+=g,d+=Y(e,t,o,c,y),d+=b,y=!0),p>0&&(d+=m,d+=Y(e,t,l,p,y),d+=b),d+f},U=function(e,t,r,n,s){var i='<span class="'+h.CLASS_LOOKAHEAD+'">';return K(e,t,r,n,s,i)},F=function(e,t,r,n,s){var i='<span class="'+h.CLASS_MATCH+'">';return K(e,t,r,n,s,i)},K=function(e,t,r,n,s,i){var o,c,l,p,d="",f=w,g='<span class="'+h.CLASS_REMAINDER+'">',m="</span>",b=!1;switch(r){case u.EMPTY:d+=v;case u.NOMATCH:case u.ACTIVE:o=n,c=0,l=n,p=t.length-l;break;case u.MATCH:o=n,c=s,l=n+c,p=t.length-l}return f=w,c>a?(c=a,f=S,p=0):c+p>a&&(f=S,p=a-c),c>0&&(d+=i,d+=Y(e,t,o,c,b),d+=m,b=!0),p>0&&(d+=g,d+=Y(e,t,l,p,b),d+=m),d+f},Y=function(e,t,r,a,c){if(0===a)return"";var h="",p=c?",":"";switch(e){case n:h=p+l.charsToHex(t,r,a);break;case s:if(c)return","+l.charsToDec(t,r,a);h=p+l.charsToDec(t,r,a);break;case o:h=p+l.charsToUnicode(t,r,a);break;case i:default:h=l.charsToAsciiHtml(t,r,a)}return h}}}]);
  