@markw65/monkeyc-optimizer 1.0.43 → 1.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -0
- package/build/api.cjs +1241 -739
- package/build/optimizer.cjs +665 -251
- package/build/sdk-util.cjs +400 -1
- package/build/src/api.d.ts +3 -2
- package/build/src/ast.d.ts +30 -1
- package/build/src/data-flow.d.ts +45 -0
- package/build/src/function-info.d.ts +2 -0
- package/build/src/inliner.d.ts +2 -2
- package/build/src/interp-binary.d.ts +4 -0
- package/build/src/interp-call.d.ts +3 -0
- package/build/src/interp.d.ts +23 -0
- package/build/src/jungles.d.ts +2 -1
- package/build/src/manifest.d.ts +1 -0
- package/build/src/mc-types.d.ts +166 -0
- package/build/src/optimizer-types.d.ts +12 -3
- package/build/src/pre.d.ts +1 -1
- package/build/src/projects.d.ts +2 -1
- package/build/src/resources.d.ts +3 -4
- package/build/src/type-flow.d.ts +4 -0
- package/build/src/util.d.ts +6 -1
- package/build/src/worker-pool.d.ts +4 -0
- package/build/src/worker-task.d.ts +29 -0
- package/build/src/xml-util.d.ts +19 -7
- package/build/util.cjs +58 -2
- package/package.json +4 -3
- package/build/src/estree-types.d.ts +0 -324
package/build/sdk-util.cjs
CHANGED
|
@@ -62,6 +62,7 @@ __webpack_require__.d(xml_util_namespaceObject, {
|
|
|
62
62
|
"elementKids": () => (elementKids),
|
|
63
63
|
"makeAttribute": () => (makeAttribute),
|
|
64
64
|
"parseXml": () => (parseXml),
|
|
65
|
+
"visit_xml": () => (visit_xml),
|
|
65
66
|
"writeXml": () => (writeXml)
|
|
66
67
|
});
|
|
67
68
|
|
|
@@ -72,21 +73,407 @@ const external_path_namespaceObject = require("path");
|
|
|
72
73
|
;// CONCATENATED MODULE: external "./util.cjs"
|
|
73
74
|
const external_util_cjs_namespaceObject = require("./util.cjs");
|
|
74
75
|
;// CONCATENATED MODULE: ./build/xml.js
|
|
75
|
-
function peg$subclass(t,u){function r(){this.constructor=t}r.prototype=u.prototype,t.prototype=new r}function peg$SyntaxError(t,u,r,e){var n=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=u,n.found=r,n.location=e,n.name="SyntaxError",n}function peg$padEnd(t,u,r){return r=r||" ",t.length>u?t:(u-=t.length,t+(r+=r.repeat(u)).slice(0,u))}function peg$parse(t,u){var r,e={},n=(u=void 0!==u?u:{}).grammarSource,a={document:On},c=On,A='"',h="'",s="\x3c!--",o="--",i="?>",f="<![CDATA[",C="<?xml",l="version",E="<!DOCTYPE",p=">",d="standalone",B="yes",F="no",v=";",D="<!ENTITY",g="SYSTEM",y="PUBLIC",b="NDATA",x="encoding",m="<!NOTATION",$=/^[ -\uD7FF]/,S=/^[\uE000-\uFFFD]/,T=/^[\uD800-\uDBFF]/,O=/^[\uDC00-\uDFFF]/,w=/^[ \t\r\n]/,I=/^[^%&"]/,z=/^[^%&']/,N=/^[^&"]/,Z=/^[^&']/,j=/^[^"]/,_=/^[^']/,P=/^[\-()+,.\/:=?;!*#@$_% \r\na-zA-Z0-9]/,Y=/^[^<&]/,M=/^[0-9]/,R=/^[0-9a-f]/i,k=/^[A-Za-z]/,L=/^[A-Za-z0-9._]/,U=/^[A-Za-z\xC0-\xD6]/,q=/^[\xD8-\xF6\xF8-\xFF\u0100-\u0131]/,G=/^[\u0134-\u013E\u0141-\u0148\u014A-\u017E]/,H=/^[\u0180-\u01C3\u01CD-\u01F0\u01F4-\u01F5]/,J=/^[\u01FA-\u0217\u0250-\u02A8\u02BB-\u02C1]/,K=/^[\u0386\u0388-\u038A\u038C\u038E-\u03A1]/,Q=/^[\u03A3-\u03CE\u03D0-\u03D6\u03DA\u03DC]/,V=/^[\u03DE\u03E0\u03E2-\u03F3\u0401-\u040C]/,W=/^[\u040E-\u044F\u0451-\u045C\u045E-\u0481]/,X=/^[\u0490-\u04C4\u04C7-\u04C8\u04CB-\u04CC]/,tt=/^[\u04D0-\u04EB\u04EE-\u04F5\u04F8-\u04F9]/,ut=/^[\u0531-\u0556\u0559\u0561-\u0586]/,rt=/^[\u05D0-\u05EA\u05F0-\u05F2\u0621-\u063A]/,et=/^[\u0641-\u064A\u0671-\u06B7\u06BA-\u06BE]/,nt=/^[\u06C0-\u06CE\u06D0-\u06D3\u06D5\u06E5-\u06E6]/,at=/^[\u0905-\u0939\u093D\u0958-\u0961\u0985-\u098C]/,ct=/^[\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0]/,At=/^[\u09B2\u09B6-\u09B9\u09DC-\u09DD\u09DF-\u09E1]/,ht=/^[\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10]/,st=/^[\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33]/,ot=/^[\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C]/,it=/^[\u0A5E\u0A72-\u0A74\u0A85-\u0A8B\u0A8D]/,ft=/^[\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0]/,Ct=/^[\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AE0]/,lt=/^[\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28]/,Et=/^[\u0B2A-\u0B30\u0B32-\u0B33\u0B36-\u0B39]/,pt=/^[\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61]/,dt=/^[\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95]/,Bt=/^[\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F]/,Ft=/^[\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB5]/,vt=/^[\u0BB7-\u0BB9\u0C05-\u0C0C\u0C0E-\u0C10]/,Dt=/^[\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39]/,gt=/^[\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90]/,yt=/^[\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9]/,bt=/^[\u0CDE\u0CE0-\u0CE1\u0D05-\u0D0C\u0D0E-\u0D10]/,xt=/^[\u0D12-\u0D28\u0D2A-\u0D39\u0D60-\u0D61]/,mt=/^[\u0E01-\u0E2E\u0E30\u0E32-\u0E33\u0E40-\u0E45]/,$t=/^[\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A]/,St=/^[\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]/,Tt=/^[\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EAE\u0EB0]/,Ot=/^[\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0F40-\u0F47]/,wt=/^[\u0F49-\u0F69\u10A0-\u10C5\u10D0-\u10F6\u1100]/,It=/^[\u1102-\u1103\u1105-\u1107\u1109\u110B-\u110C]/,zt=/^[\u110E-\u1112\u113C\u113E\u1140\u114C\u114E]/,Nt=/^[\u1150\u1154-\u1155\u1159\u115F-\u1161\u1163]/,Zt=/^[\u1165\u1167\u1169\u116D-\u116E\u1172-\u1173]/,jt=/^[\u1175\u119E\u11A8\u11AB\u11AE-\u11AF]/,_t=/^[\u11B7-\u11B8\u11BA\u11BC-\u11C2\u11EB\u11F0]/,Pt=/^[\u11F9\u1E00-\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15]/,Yt=/^[\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D]/,Mt=/^[\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]/,Rt=/^[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4]/,kt=/^[\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB]/,Lt=/^[\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126]/,Ut=/^[\u212A-\u212B\u212E\u2180-\u2182\u3041-\u3094]/,qt=/^[\u30A1-\u30FA\u3105-\u312C\uAC00-\uD7A3]/,Gt=/^[\u4E00-\u9FA5\u3007\u3021-\u3029]/,Ht=/^[\u0300-\u0345\u0360-\u0361\u0483-\u0486]/,Jt=/^[\u0591-\u05A1\u05A3-\u05B9\u05BB-\u05BD\u05BF]/,Kt=/^[\u05C1-\u05C2\u05C4\u064B-\u0652\u0670]/,Qt=/^[\u06D6-\u06DC\u06DD-\u06DF\u06E0-\u06E4]/,Vt=/^[\u06E7-\u06E8\u06EA-\u06ED\u0901-\u0903]/,Wt=/^[\u093C\u093E-\u094C\u094D\u0951-\u0954]/,Xt=/^[\u0962-\u0963\u0981-\u0983\u09BC\u09BE]/,tu=/^[\u09BF\u09C0-\u09C4\u09C7-\u09C8\u09CB-\u09CD]/,uu=/^[\u09D7\u09E2-\u09E3\u0A02\u0A3C\u0A3E\u0A3F]/,ru=/^[\u0A40-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D]/,eu=/^[\u0A70-\u0A71\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5]/,nu=/^[\u0AC7-\u0AC9\u0ACB-\u0ACD\u0B01-\u0B03\u0B3C]/,au=/^[\u0B3E-\u0B43\u0B47-\u0B48\u0B4B-\u0B4D]/,cu=/^[\u0B56-\u0B57\u0B82-\u0B83\u0BBE-\u0BC2]/,Au=/^[\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C01-\u0C03]/,hu=/^[\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D]/,su=/^[\u0C55-\u0C56\u0C82-\u0C83\u0CBE-\u0CC4]/,ou=/^[\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6]/,iu=/^[\u0D02-\u0D03\u0D3E-\u0D43\u0D46-\u0D48]/,fu=/^[\u0D4A-\u0D4D\u0D57\u0E31\u0E34-\u0E3A]/,Cu=/^[\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC]/,lu=/^[\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39]/,Eu=/^[\u0F3E\u0F3F\u0F71-\u0F84\u0F86-\u0F8B]/,pu=/^[\u0F90-\u0F95\u0F97\u0F99-\u0FAD\u0FB1-\u0FB7]/,du=/^[\u0FB9\u20D0-\u20DC\u20E1\u302A-\u302F]/,Bu=/^[\u3099\u309A]/,Fu=/^[0-9\u0660-\u0669\u06F0-\u06F9]/,vu=/^[\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F]/,Du=/^[\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE7-\u0BEF]/,gu=/^[\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F]/,yu=/^[\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29]/,bu=/^[\xB7\u02D0\u02D1\u0387\u0640\u0E46']/,xu=/^[\u0EC6\u3005\u3031-\u3035\u309D-\u309E]/,mu=/^[\u30FC-\u30FE]/,$u=xn("\t",!1),Su=xn("\n",!1),Tu=xn("\r",!1),Ou=mn([[" ",""]],!1,!1),wu=mn([["","�"]],!1,!1),Iu=mn([["\ud800","\udbff"]],!1,!1),zu=mn([["\udc00","\udfff"]],!1,!1),Nu=mn([" ","\t","\r","\n"],!1,!1),Zu=xn(".",!1),ju=xn("-",!1),_u=xn("_",!1),Pu=xn(":",!1),Yu={type:"other",description:"name"},Mu=(xn(" ",!1),xn('"',!1)),Ru=mn(["%","&",'"'],!0,!1),ku=xn("'",!1),Lu=mn(["%","&","'"],!0,!1),Uu=mn(["&",'"'],!0,!1),qu=mn(["&","'"],!0,!1),Gu=mn(['"'],!0,!1),Hu=mn(["'"],!0,!1),Ju=mn(["-","(",")","+",",",".","/",":","=","?",";","!","*","#","@","$","_","%"," ","\r","\n",["a","z"],["A","Z"],["0","9"]],!1,!1),Ku=mn(["<","&"],!0,!1),Qu=xn("\x3c!--",!1),Vu=xn("--",!1),Wu=xn("--\x3e",!1),Xu=xn("<?",!1),tr=xn("?>",!1),ur=xn("xml",!0),rr=xn("<![CDATA[",!1),er=xn("]]>",!1),nr=xn("<?xml",!1),ar=xn("version",!1),cr=xn("=",!1),Ar=xn("1.0",!1),hr=xn("<!DOCTYPE",!1),sr=xn("[",!1),or=xn("]",!1),ir=xn(">",!1),fr=xn("standalone",!1),Cr=xn("yes",!1),lr=xn("no",!1),Er=xn("<",!1),pr=xn("</",!1),dr=xn("/>",!1),Br=xn("&#",!1),Fr=mn([["0","9"]],!1,!1),vr=xn(";",!1),Dr=xn("&#x",!1),gr=mn([["0","9"],["a","f"]],!1,!0),yr=xn("&",!1),br=xn("%",!1),xr=xn("<!ENTITY",!1),mr=xn("SYSTEM",!1),$r=xn("PUBLIC",!1),Sr=xn("NDATA",!1),Tr=xn("encoding",!1),Or=mn([["A","Z"],["a","z"]],!1,!1),wr=mn([["A","Z"],["a","z"],["0","9"],".","_"],!1,!1),Ir=xn("<!NOTATION",!1),zr=mn([["A","Z"],["a","z"],["À","Ö"]],!1,!1),Nr=mn([["Ø","ö"],["ø","ÿ"],["Ā","ı"]],!1,!1),Zr=mn([["Ĵ","ľ"],["Ł","ň"],["Ŋ","ž"]],!1,!1),jr=mn([["ƀ","ǃ"],["Ǎ","ǰ"],["Ǵ","ǵ"]],!1,!1),_r=mn([["Ǻ","ȗ"],["ɐ","ʨ"],["ʻ","ˁ"]],!1,!1),Pr=mn(["Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"]],!1,!1),Yr=mn([["Σ","ώ"],["ϐ","ϖ"],"Ϛ","Ϝ"],!1,!1),Mr=mn(["Ϟ","Ϡ",["Ϣ","ϳ"],["Ё","Ќ"]],!1,!1),Rr=mn([["Ў","я"],["ё","ќ"],["ў","ҁ"]],!1,!1),kr=mn([["Ґ","ӄ"],["Ӈ","ӈ"],["Ӌ","ӌ"]],!1,!1),Lr=mn([["Ӑ","ӫ"],["Ӯ","ӵ"],["Ӹ","ӹ"]],!1,!1),Ur=mn([["Ա","Ֆ"],"ՙ",["ա","ֆ"]],!1,!1),qr=mn([["א","ת"],["װ","ײ"],["ء","غ"]],!1,!1),Gr=mn([["ف","ي"],["ٱ","ڷ"],["ں","ھ"]],!1,!1),Hr=mn([["ۀ","ێ"],["ې","ۓ"],"ە",["ۥ","ۦ"]],!1,!1),Jr=mn([["अ","ह"],"ऽ",["क़","ॡ"],["অ","ঌ"]],!1,!1),Kr=mn([["এ","ঐ"],["ও","ন"],["প","র"]],!1,!1),Qr=mn(["ল",["শ","হ"],["ড়","ঢ়"],["য়","ৡ"]],!1,!1),Vr=mn([["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"]],!1,!1),Wr=mn([["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"]],!1,!1),Xr=mn([["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"]],!1,!1),te=mn(["ਫ਼",["ੲ","ੴ"],["અ","ઋ"],"ઍ"],!1,!1),ue=mn([["એ","ઑ"],["ઓ","ન"],["પ","ર"]],!1,!1),re=mn([["લ","ળ"],["વ","હ"],"ઽ","ૠ"],!1,!1),ee=mn([["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"]],!1,!1),ne=mn([["ପ","ର"],["ଲ","ଳ"],["ଶ","ହ"]],!1,!1),ae=mn(["ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"]],!1,!1),ce=mn([["அ","ஊ"],["எ","ஐ"],["ஒ","க"]],!1,!1),Ae=mn([["ங","ச"],"ஜ",["ஞ","ட"]],!1,!1),he=mn([["ண","த"],["ந","ப"],["ம","வ"]],!1,!1),se=mn([["ஷ","ஹ"],["అ","ఌ"],["ఎ","ఐ"]],!1,!1),oe=mn([["ఒ","న"],["ప","ళ"],["వ","హ"]],!1,!1),ie=mn([["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"]],!1,!1),fe=mn([["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"]],!1,!1),Ce=mn(["ೞ",["ೠ","ೡ"],["അ","ഌ"],["എ","ഐ"]],!1,!1),le=mn([["ഒ","ന"],["പ","ഹ"],["ൠ","ൡ"]],!1,!1),Ee=mn([["ก","ฮ"],"ะ",["า","ำ"],["เ","ๅ"]],!1,!1),pe=mn([["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ"],!1,!1),de=mn(["ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"]],!1,!1),Be=mn(["ລ","ວ",["ສ","ຫ"],["ອ","ຮ"],"ະ"],!1,!1),Fe=mn([["າ","ຳ"],"ຽ",["ເ","ໄ"],["ཀ","ཇ"]],!1,!1),ve=mn([["ཉ","ཀྵ"],["Ⴀ","Ⴥ"],["ა","ჶ"],"ᄀ"],!1,!1),De=mn([["ᄂ","ᄃ"],["ᄅ","ᄇ"],"ᄉ",["ᄋ","ᄌ"]],!1,!1),ge=mn([["ᄎ","ᄒ"],"ᄼ","ᄾ","ᅀ","ᅌ","ᅎ"],!1,!1),ye=mn(["ᅐ",["ᅔ","ᅕ"],"ᅙ",["ᅟ","ᅡ"],"ᅣ"],!1,!1),be=mn(["ᅥ","ᅧ","ᅩ",["ᅭ","ᅮ"],["ᅲ","ᅳ"]],!1,!1),xe=mn(["ᅵ","ᆞ","ᆨ","ᆫ",["ᆮ","ᆯ"]],!1,!1),me=mn([["ᆷ","ᆸ"],"ᆺ",["ᆼ","ᇂ"],"ᇫ","ᇰ"],!1,!1),$e=mn(["ᇹ",["Ḁ","ẛ"],["Ạ","ỹ"],["ἀ","ἕ"]],!1,!1),Se=mn([["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"]],!1,!1),Te=mn([["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"]],!1,!1),Oe=mn([["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"]],!1,!1),we=mn([["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"]],!1,!1),Ie=mn([["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"Ω"],!1,!1),ze=mn([["K","Å"],"℮",["ↀ","ↂ"],["ぁ","ゔ"]],!1,!1),Ne=mn([["ァ","ヺ"],["ㄅ","ㄬ"],["가","힣"]],!1,!1),Ze=mn([["一","龥"],"〇",["〡","〩"]],!1,!1),je=mn([["̀","ͅ"],["͠","͡"],["҃","҆"]],!1,!1),_e=mn([["֑","֡"],["֣","ֹ"],["ֻ","ֽ"],"ֿ"],!1,!1),Pe=mn([["ׁ","ׂ"],"ׄ",["ً","ْ"],"ٰ"],!1,!1),Ye=mn([["ۖ","ۜ"],["","۟"],["۠","ۤ"]],!1,!1),Me=mn([["ۧ","ۨ"],["۪","ۭ"],["ँ","ः"]],!1,!1),Re=mn(["़",["ा","ौ"],"्",["॑","॔"]],!1,!1),ke=mn([["ॢ","ॣ"],["ঁ","ঃ"],"়","া"],!1,!1),Le=mn(["ি",["ী","ৄ"],["ে","ৈ"],["ো","্"]],!1,!1),Ue=mn(["ৗ",["ৢ","ৣ"],"ਂ","਼","ਾ","ਿ"],!1,!1),qe=mn([["ੀ","ੂ"],["ੇ","ੈ"],["ੋ","੍"]],!1,!1),Ge=mn([["ੰ","ੱ"],["ઁ","ઃ"],"઼",["ા","ૅ"]],!1,!1),He=mn([["ે","ૉ"],["ો","્"],["ଁ","ଃ"],"଼"],!1,!1),Je=mn([["ା","ୃ"],["େ","ୈ"],["ୋ","୍"]],!1,!1),Ke=mn([["ୖ","ୗ"],["ஂ","ஃ"],["ா","ூ"]],!1,!1),Qe=mn([["ெ","ை"],["ொ","்"],"ௗ",["ఁ","ః"]],!1,!1),Ve=mn([["ా","ౄ"],["ె","ై"],["ొ","్"]],!1,!1),We=mn([["ౕ","ౖ"],["ಂ","ಃ"],["ಾ","ೄ"]],!1,!1),Xe=mn([["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"]],!1,!1),tn=mn([["ം","ഃ"],["ാ","ൃ"],["െ","ൈ"]],!1,!1),un=mn([["ൊ","്"],"ൗ","ั",["ิ","ฺ"]],!1,!1),rn=mn([["็","๎"],"ັ",["ິ","ູ"],["ົ","ຼ"]],!1,!1),en=mn([["່","ໍ"],["༘","༙"],"༵","༷","༹"],!1,!1),nn=mn(["༾","༿",["ཱ","྄"],["྆","ྋ"]],!1,!1),an=mn([["ྐ","ྕ"],"ྗ",["ྙ","ྭ"],["ྱ","ྷ"]],!1,!1),cn=mn(["ྐྵ",["⃐","⃜"],"⃡",["〪","〯"]],!1,!1),An=mn(["゙","゚"],!1,!1),hn=mn([["0","9"],["٠","٩"],["۰","۹"]],!1,!1),sn=mn([["०","९"],["০","৯"],["੦","੯"]],!1,!1),on=mn([["૦","૯"],["୦","୯"],["௧","௯"]],!1,!1),fn=mn([["౦","౯"],["೦","೯"],["൦","൯"]],!1,!1),Cn=mn([["๐","๙"],["໐","໙"],["༠","༩"]],!1,!1),ln=mn(["·","ː","ˑ","·","ـ","ๆ","'"],!1,!1),En=mn(["ໆ","々",["〱","〵"],["ゝ","ゞ"]],!1,!1),pn=mn([["ー","ヾ"]],!1,!1),dn=0,Bn=0,Fn=[{line:1,column:1}],vn=0,Dn=[],gn=0;if("startRule"in u){if(!(u.startRule in a))throw new Error("Can't start parsing from rule \""+u.startRule+'".');c=a[u.startRule]}function yn(){return Sn(Bn,dn)}function bn(t,u){throw function(t,u){return new peg$SyntaxError(t,null,null,u)}(t,u=void 0!==u?u:Sn(Bn,dn))}function xn(t,u){return{type:"literal",text:t,ignoreCase:u}}function mn(t,u,r){return{type:"class",parts:t,inverted:u,ignoreCase:r}}function $n(u){var r,e=Fn[u];if(e)return e;for(r=u-1;!Fn[r];)r--;for(e={line:(e=Fn[r]).line,column:e.column};r<u;)10===t.charCodeAt(r)?(e.line++,e.column=1):e.column++,r++;return Fn[u]=e,e}function Sn(t,u){var r=$n(t),e=$n(u);return{source:n,start:{offset:t,line:r.line,column:r.column},end:{offset:u,line:e.line,column:e.column}}}function Tn(t){dn<vn||(dn>vn&&(vn=dn,Dn=[]),Dn.push(t))}function On(){var u,r,n,a,c;if(u=dn,r=function(){var u,r,n,a,c,s;for(u=dn,r=function(){var u,r,n,a,c,s;return u=dn,t.substr(dn,5)===C?(r=C,dn+=5):(r=e,0===gn&&Tn(nr)),r!==e&&(n=function(){var u,r,n,a,c,s;return u=dn,In()!==e?(t.substr(dn,7)===l?(r=l,dn+=7):(r=e,0===gn&&Tn(ar)),r!==e&&Un()!==e?(n=dn,39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e&&(c=qn())!==e?(39===t.charCodeAt(dn)?(s=h,dn++):(s=e,0===gn&&Tn(ku)),s!==e?n=c:(dn=n,n=e)):(dn=n,n=e),n===e&&(n=dn,34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e&&(c=qn())!==e?(34===t.charCodeAt(dn)?(s=A,dn++):(s=e,0===gn&&Tn(Mu)),s!==e?n=c:(dn=n,n=e)):(dn=n,n=e)),n!==e?u=n:(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}())!==e?((a=function(){var u,r,n,a,c,s,o,i;return u=dn,(r=In())!==e?(t.substr(dn,8)===x?(n=x,dn+=8):(n=e,0===gn&&Tn(Tr)),n!==e&&(a=Un())!==e?(c=dn,34===t.charCodeAt(dn)?(s=A,dn++):(s=e,0===gn&&Tn(Mu)),s!==e&&(o=ta())!==e?(34===t.charCodeAt(dn)?(i=A,dn++):(i=e,0===gn&&Tn(Mu)),i!==e?c=s=[s,o,i]:(dn=c,c=e)):(dn=c,c=e),c===e&&(c=dn,39===t.charCodeAt(dn)?(s=h,dn++):(s=e,0===gn&&Tn(ku)),s!==e&&(o=ta())!==e?(39===t.charCodeAt(dn)?(i=h,dn++):(i=e,0===gn&&Tn(ku)),i!==e?c=s=[s,o,i]:(dn=c,c=e)):(dn=c,c=e)),c!==e?u=r=[r,n,a,c]:(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}())===e&&(a=null),c=function(){var u,r,n,a,c,s,o,i;return u=dn,(r=In())!==e?(t.substr(dn,10)===d?(n=d,dn+=10):(n=e,0===gn&&Tn(fr)),n!==e&&(a=Un())!==e?(c=dn,39===t.charCodeAt(dn)?(s=h,dn++):(s=e,0===gn&&Tn(ku)),s!==e?(t.substr(dn,3)===B?(o=B,dn+=3):(o=e,0===gn&&Tn(Cr)),o===e&&(t.substr(dn,2)===F?(o=F,dn+=2):(o=e,0===gn&&Tn(lr))),o!==e?(39===t.charCodeAt(dn)?(i=h,dn++):(i=e,0===gn&&Tn(ku)),i!==e?c=s=[s,o,i]:(dn=c,c=e)):(dn=c,c=e)):(dn=c,c=e),c===e&&(c=dn,34===t.charCodeAt(dn)?(s=A,dn++):(s=e,0===gn&&Tn(Mu)),s!==e?(t.substr(dn,3)===B?(o=B,dn+=3):(o=e,0===gn&&Tn(Cr)),o===e&&(t.substr(dn,2)===F?(o=F,dn+=2):(o=e,0===gn&&Tn(lr))),o!==e?(34===t.charCodeAt(dn)?(i=A,dn++):(i=e,0===gn&&Tn(Mu)),i!==e?c=s=[s,o,i]:(dn=c,c=e)):(dn=c,c=e)):(dn=c,c=e)),c!==e?u=r=[r,n,a,c]:(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}(),c===e&&(c=null),In(),t.substr(dn,2)===i?(s=i,dn+=2):(s=e,0===gn&&Tn(tr)),s!==e?(Bn=u,u=ea({type:"xmldecl",version:n},{encoding:a,standalone:c})):(dn=u,u=e)):(dn=u,u=e),u}(),r===e&&(r=null),n=[],a=Gn();a!==e;)n.push(a),a=Gn();for(a=function(){var u,r,n,a,c,A,h,s;return u=dn,t.substr(dn,9)===E?(r=E,dn+=9):(r=e,0===gn&&Tn(hr)),r!==e&&In()!==e&&(n=Nn())!==e?(a=dn,In()!==e&&(c=Xn())!==e?a=c:(dn=a,a=e),a===e&&(a=null),In(),c=dn,91===t.charCodeAt(dn)?(A="[",dn++):(A=e,0===gn&&Tn(sr)),A!==e?(h=function(){var t,u,r;for(t=dn,u=[],(r=Jn())===e&&(r=Hn());r!==e;)u.push(r),(r=Jn())===e&&(r=Hn());return Bn=t,u=u.filter((t=>t))}(),93===t.charCodeAt(dn)?(s="]",dn++):(s=e,0===gn&&Tn(or)),s!==e?(In(),c=h):(dn=c,c=e)):(dn=c,c=e),c===e&&(c=null),62===t.charCodeAt(dn)?(A=p,dn++):(A=e,0===gn&&Tn(ir)),A!==e?(Bn=u,u=ea({type:"doctypedecl",name:n},{externalID:a,intSubset:c})):(dn=u,u=e)):(dn=u,u=e),u}(),a===e&&(a=null),c=[],s=Gn();s!==e;)c.push(s),s=Gn();return Bn=u,ea({type:"prolog"},{xmldecl:r,misc1:n,doctypedecl:a,misc2:c})}(),(n=Kn())!==e){for(a=[],c=Gn();c!==e;)a.push(c),c=Gn();u=r=[r,n,a]}else dn=u,u=e;return u}function wn(){var u,r,n,a;return 9===t.charCodeAt(dn)?(u="\t",dn++):(u=e,0===gn&&Tn($u)),u===e&&(10===t.charCodeAt(dn)?(u="\n",dn++):(u=e,0===gn&&Tn(Su)),u===e&&(13===t.charCodeAt(dn)?(u="\r",dn++):(u=e,0===gn&&Tn(Tu)),u===e&&($.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ou)),u===e&&(S.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(wu)),u===e&&(u=dn,r=dn,T.test(t.charAt(dn))?(n=t.charAt(dn),dn++):(n=e,0===gn&&Tn(Iu)),n!==e?(O.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(zu)),a!==e?r=n=[n,a]:(dn=r,r=e)):(dn=r,r=e),u=r!==e?t.substring(u,dn):r))))),u}function In(){var u,r,n;if(u=dn,r=[],w.test(t.charAt(dn))?(n=t.charAt(dn),dn++):(n=e,0===gn&&Tn(Nu)),n!==e)for(;n!==e;)r.push(n),w.test(t.charAt(dn))?(n=t.charAt(dn),dn++):(n=e,0===gn&&Tn(Nu));else r=e;return r!==e?t.substring(u,dn):r}function zn(){var u;return(u=ua())===e&&(u=function(){var u;return Fu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(hn)),u===e&&(vu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(sn)),u===e&&(Du.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(on)),u===e&&(gu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(fn)),u===e&&(yu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Cn)))))),u}())===e&&(46===t.charCodeAt(dn)?(u=".",dn++):(u=e,0===gn&&Tn(Zu)),u===e&&(45===t.charCodeAt(dn)?(u="-",dn++):(u=e,0===gn&&Tn(ju)),u===e&&(95===t.charCodeAt(dn)?(u="_",dn++):(u=e,0===gn&&Tn(_u)),u===e&&(58===t.charCodeAt(dn)?(u=":",dn++):(u=e,0===gn&&Tn(Pu)),u===e&&(u=function(){var u;return Ht.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(je)),u===e&&(Jt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(_e)),u===e&&(Kt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Pe)),u===e&&(Qt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ye)),u===e&&(Vt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Me)),u===e&&(Wt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Re)),u===e&&(Xt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ke)),u===e&&(tu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Le)),u===e&&(uu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ue)),u===e&&(ru.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(qe)),u===e&&(eu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ge)),u===e&&(nu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(He)),u===e&&(au.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Je)),u===e&&(cu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ke)),u===e&&(Au.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Qe)),u===e&&(hu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ve)),u===e&&(su.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(We)),u===e&&(ou.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Xe)),u===e&&(iu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(tn)),u===e&&(fu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(un)),u===e&&(Cu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(rn)),u===e&&(lu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(en)),u===e&&(Eu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(nn)),u===e&&(pu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(an)),u===e&&(du.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(cn)),u===e&&(Bu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(An))))))))))))))))))))))))))),u}())===e&&(u=function(){var u;return bu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ln)),u===e&&(xu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(En)),u===e&&(mu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(pn)))),u}()))))),u}function Nn(){var u,r,n,a,c;if(gn++,u=dn,r=dn,(n=ua())===e&&(95===t.charCodeAt(dn)?(n="_",dn++):(n=e,0===gn&&Tn(_u)),n===e&&(58===t.charCodeAt(dn)?(n=":",dn++):(n=e,0===gn&&Tn(Pu)))),n!==e){for(a=[],c=zn();c!==e;)a.push(c),c=zn();r=n=[n,a]}else dn=r,r=e;return u=r!==e?t.substring(u,dn):r,gn--,u===e&&(r=e,0===gn&&Tn(Yu)),u}function Zn(){var u,r,n,a;if(u=dn,34===t.charCodeAt(dn)?(r=A,dn++):(r=e,0===gn&&Tn(Mu)),r!==e){for(n=[],I.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(Ru)),a===e&&(a=Wn())===e&&(a=Vn());a!==e;)n.push(a),I.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(Ru)),a===e&&(a=Wn())===e&&(a=Vn());34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e?(Bn=u,u=na(n)):(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,39===t.charCodeAt(dn)?(r=h,dn++):(r=e,0===gn&&Tn(ku)),r!==e){for(n=[],z.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(Lu)),a===e&&(a=Wn())===e&&(a=Vn());a!==e;)n.push(a),z.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(Lu)),a===e&&(a=Wn())===e&&(a=Vn());39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e?(Bn=u,u=na(n)):(dn=u,u=e)}else dn=u,u=e;return u}function jn(){var u,r,n,a,c;if(u=dn,34===t.charCodeAt(dn)?(r=A,dn++):(r=e,0===gn&&Tn(Mu)),r!==e){for(n=dn,a=[],j.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Gu));c!==e;)a.push(c),j.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Gu));n=t.substring(n,dn),34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,39===t.charCodeAt(dn)?(r=h,dn++):(r=e,0===gn&&Tn(ku)),r!==e){for(n=dn,a=[],_.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Hu));c!==e;)a.push(c),_.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Hu));n=t.substring(n,dn),39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;return u}function _n(){var u,r,n,a,c;if(u=dn,34===t.charCodeAt(dn)?(r=A,dn++):(r=e,0===gn&&Tn(Mu)),r!==e){for(n=dn,a=[],(c=Pn())===e&&(39===t.charCodeAt(dn)?(c=h,dn++):(c=e,0===gn&&Tn(ku)));c!==e;)a.push(c),(c=Pn())===e&&(39===t.charCodeAt(dn)?(c=h,dn++):(c=e,0===gn&&Tn(ku)));n=t.substring(n,dn),34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,39===t.charCodeAt(dn)?(r=h,dn++):(r=e,0===gn&&Tn(ku)),r!==e){for(n=dn,a=[],(c=Pn())===e&&(34===t.charCodeAt(dn)?(c=A,dn++):(c=e,0===gn&&Tn(Mu)));c!==e;)a.push(c),(c=Pn())===e&&(34===t.charCodeAt(dn)?(c=A,dn++):(c=e,0===gn&&Tn(Mu)));n=t.substring(n,dn),39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;return u}function Pn(){var u;return P.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ju)),u}function Yn(){var u,r,n,a,c,A;for(u=dn,r=dn,n=[],a=dn,c=dn,gn++,A=Ln(),gn--,A===e?c=void 0:(dn=c,c=e),c!==e?(Y.test(t.charAt(dn))?(A=t.charAt(dn),dn++):(A=e,0===gn&&Tn(Ku)),A!==e?a=c=[c,A]:(dn=a,a=e)):(dn=a,a=e);a!==e;)n.push(a),a=dn,c=dn,gn++,A=Ln(),gn--,A===e?c=void 0:(dn=c,c=e),c!==e?(Y.test(t.charAt(dn))?(A=t.charAt(dn),dn++):(A=e,0===gn&&Tn(Ku)),A!==e?a=c=[c,A]:(dn=a,a=e)):(dn=a,a=e);return r=t.substring(r,dn),Bn=u,function(t){return t?ra({type:"chardata",value:t}):null}(r)}function Mn(){var u,r,n,a,c,A;if(u=dn,t.substr(dn,4)===s?(r=s,dn+=4):(r=e,0===gn&&Tn(Qu)),r!==e){for(n=[],a=dn,c=dn,gn++,t.substr(dn,2)===o?(A=o,dn+=2):(A=e,0===gn&&Tn(Vu)),gn--,A===e?c=void 0:(dn=c,c=e),c!==e&&(A=wn())!==e?a=A:(dn=a,a=e);a!==e;)n.push(a),a=dn,c=dn,gn++,t.substr(dn,2)===o?(A=o,dn+=2):(A=e,0===gn&&Tn(Vu)),gn--,A===e?c=void 0:(dn=c,c=e),c!==e&&(A=wn())!==e?a=A:(dn=a,a=e);"--\x3e"===t.substr(dn,3)?(a="--\x3e",dn+=3):(a=e,0===gn&&Tn(Wu)),a!==e?(Bn=u,u=function(t){return ra({type:"comment",value:t.join("")})}(n)):(dn=u,u=e)}else dn=u,u=e;return u}function Rn(){var u,r,n,a,c,A,h;if(u=dn,"<?"===t.substr(dn,2)?(r="<?",dn+=2):(r=e,0===gn&&Tn(Xu)),r!==e)if(n=function(){var u,r,n;return u=dn,r=dn,gn++,"xml"===t.substr(dn,3).toLowerCase()?(n=t.substr(dn,3),dn+=3):(n=e,0===gn&&Tn(ur)),gn--,n===e?r=void 0:(dn=r,r=e),r!==e&&(n=Nn())!==e?u=r=[r,n]:(dn=u,u=e),u}(),n!==e){for(In(),a=[],c=dn,A=dn,gn++,t.substr(dn,2)===i?(h=i,dn+=2):(h=e,0===gn&&Tn(tr)),gn--,h===e?A=void 0:(dn=A,A=e),A!==e&&(h=wn())!==e?c=A=[A,h]:(dn=c,c=e);c!==e;)a.push(c),c=dn,A=dn,gn++,t.substr(dn,2)===i?(h=i,dn+=2):(h=e,0===gn&&Tn(tr)),gn--,h===e?A=void 0:(dn=A,A=e),A!==e&&(h=wn())!==e?c=A=[A,h]:(dn=c,c=e);t.substr(dn,2)===i?(c=i,dn+=2):(c=e,0===gn&&Tn(tr)),c!==e?(Bn=u,u=function(t,u){ra({type:"pi",name:t,value:u&&u.join("")})}(n,a)):(dn=u,u=e)}else dn=u,u=e;else dn=u,u=e;return u}function kn(){var u,r,n;return u=dn,r=function(){var u;return t.substr(dn,9)===f?(u=f,dn+=9):(u=e,0===gn&&Tn(rr)),u}(),r!==e?(n=dn,function(){var t,u,r,n;for(t=[],u=dn,r=dn,gn++,n=Ln(),gn--,n===e?r=void 0:(dn=r,r=e),r!==e&&(n=wn())!==e?u=r=[r,n]:(dn=u,u=e);u!==e;)t.push(u),u=dn,r=dn,gn++,n=Ln(),gn--,n===e?r=void 0:(dn=r,r=e),r!==e&&(n=wn())!==e?u=r=[r,n]:(dn=u,u=e)}(),n=t.substring(n,dn),Ln()!==e?(Bn=u,u=ra({type:"cdata",value:n})):(dn=u,u=e)):(dn=u,u=e),u}function Ln(){var u;return"]]>"===t.substr(dn,3)?(u="]]>",dn+=3):(u=e,0===gn&&Tn(er)),u}function Un(){var u,r,n,a;return u=dn,(r=In())===e&&(r=null),61===t.charCodeAt(dn)?(n="=",dn++):(n=e,0===gn&&Tn(cr)),n!==e?((a=In())===e&&(a=null),u=r=[r,n,a]):(dn=u,u=e),u}function qn(){var u;return"1.0"===t.substr(dn,3)?(u="1.0",dn+=3):(u=e,0===gn&&Tn(Ar)),u}function Gn(){var u,r,n;return(u=Mn())===e&&(u=Rn())===e&&(u=dn,r=dn,(r=(n=In())!==e?t.substring(r,dn):n)!==e&&(Bn=u,r=function(t){return ra({type:"chardata",value:t})}(r)),u=r),u}function Hn(){var t,u;return(t=Wn())===e&&(t=dn,(u=In())!==e&&(Bn=t,u=null),t=u),t}function Jn(){var u;return(u=function(){var u;return(u=function(){var u,r,n,a,c;return u=dn,t.substr(dn,8)===D?(r=D,dn+=8):(r=e,0===gn&&Tn(xr)),r!==e&&In()!==e&&(n=Nn())!==e&&In()!==e?(a=function(){var u,r,n;return u=dn,(r=Zn())!==e&&(Bn=u,r=function(t){return ra({type:"entityvalue",value:t})}(r)),(u=r)===e&&(u=dn,(r=Xn())!==e?(n=function(){var u,r,n;return u=dn,In()!==e?(t.substr(dn,5)===b?(r=b,dn+=5):(r=e,0===gn&&Tn(Sr)),r!==e&&In()!==e&&(n=Nn())!==e?(Bn=u,u=function(t){return ra({type:"ndata",value:t})}(n)):(dn=u,u=e)):(dn=u,u=e),u}(),n===e&&(n=null),Bn=u,u=function(t,u){return ea({type:"entityvalue",extid:t},{ndecl:u})}(r,n)):(dn=u,u=e)),u}(),a!==e?(In(),62===t.charCodeAt(dn)?(c=p,dn++):(c=e,0===gn&&Tn(ir)),c!==e?(Bn=u,u=ra({type:"entitydecl",name:n,def:a,kind:"&"})):(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}())===e&&(u=function(){var u,r,n,a,c,A;return u=dn,t.substr(dn,8)===D?(r=D,dn+=8):(r=e,0===gn&&Tn(xr)),r!==e&&In()!==e?(37===t.charCodeAt(dn)?(n="%",dn++):(n=e,0===gn&&Tn(br)),n!==e&&In()!==e&&(a=Nn())!==e&&In()!==e?(c=function(){var t,u;return t=dn,(u=Zn())!==e&&(Bn=t,u=ra({type:"entityvalue",value})),(t=u)===e&&(t=dn,(u=Xn())!==e&&(Bn=t,u=ra({type:"entityvalue",extid})),t=u),t}(),c!==e?(In(),62===t.charCodeAt(dn)?(A=p,dn++):(A=e,0===gn&&Tn(ir)),A!==e?(Bn=u,u=ra({type:"entitydecl",name:a,def:c,kind:"%"})):(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}()),u}())===e&&(u=function(){var u,r,n,a,c;return u=dn,t.substr(dn,10)===m?(r=m,dn+=10):(r=e,0===gn&&Tn(Ir)),r!==e&&In()!==e&&(n=Nn())!==e&&In()!==e?((a=Xn())===e&&(a=function(){var u,r,n;return u=dn,t.substr(dn,6)===y?(r=y,dn+=6):(r=e,0===gn&&Tn($r)),r!==e&&In()!==e&&(n=_n())!==e?(Bn=u,u=function(t){return ra({type:"publicid",value:t})}(n)):(dn=u,u=e),u}()),a!==e?(In(),62===t.charCodeAt(dn)?(c=p,dn++):(c=e,0===gn&&Tn(ir)),c!==e?(Bn=u,u=ra({type:"notationdecl",name:n,id:a})):(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}())===e&&(u=Rn())===e&&(u=Mn()),u}function Kn(){var u,r,n,a,c,A;return u=function(){var u,r,n,a,c,A,h;if(u=dn,60===t.charCodeAt(dn)?(r="<",dn++):(r=e,0===gn&&Tn(Er)),r!==e)if((n=Nn())!==e){for(a=[],c=dn,(A=In())!==e&&(h=Qn())!==e?c=h:(dn=c,c=e);c!==e;)a.push(c),c=dn,(A=In())!==e&&(h=Qn())!==e?c=h:(dn=c,c=e);(c=In())===e&&(c=null),"/>"===t.substr(dn,2)?(A="/>",dn+=2):(A=e,0===gn&&Tn(dr)),A!==e?(Bn=u,u=ra({type:"element",name:n,attr:ca(a)})):(dn=u,u=e)}else dn=u,u=e;else dn=u,u=e;return u}(),u===e&&(u=dn,r=function(){var u,r,n,a,c,A,h;if(u=dn,60===t.charCodeAt(dn)?(r="<",dn++):(r=e,0===gn&&Tn(Er)),r!==e)if(n=function(){var t,u,r;return t=dn,(u=Nn())!==e&&(Bn=t,r=u,aa.push(r),u=r),u}(),n!==e){for(a=[],c=dn,(A=In())!==e&&(h=Qn())!==e?c=h:(dn=c,c=e);c!==e;)a.push(c),c=dn,(A=In())!==e&&(h=Qn())!==e?c=h:(dn=c,c=e);(c=In())===e&&(c=null),62===t.charCodeAt(dn)?(A=p,dn++):(A=e,0===gn&&Tn(ir)),A!==e?(Bn=u,u=ra({type:"element",name:n,attr:ca(a)})):(dn=u,u=e)}else dn=u,u=e;else dn=u,u=e;return u}(),r!==e?(n=function(){var t,u,r,n,a;for(t=dn,u=Yn(),r=[],n=dn,(a=Kn())===e&&(a=Vn())===e&&(a=kn())===e&&(a=Rn())===e&&(a=Mn()),a!==e?n=a=[a,Yn()]:(dn=n,n=e);n!==e;)r.push(n),n=dn,(a=Kn())===e&&(a=Vn())===e&&(a=kn())===e&&(a=Rn())===e&&(a=Mn()),a!==e?n=a=[a,Yn()]:(dn=n,n=e);return Bn=t,function(t,u){const r=[];t&&r.push(t);for(const t of u)r.push(t[0]),t[1]&&r.push(t[1]);return r}(u,r)}(),a=function(){var u,r,n,a,c;return u=dn,"</"===t.substr(dn,2)?(r="</",dn+=2):(r=e,0===gn&&Tn(pr)),r!==e?(n=function(){var t,u;return t=dn,(u=Nn())!==e?(Bn=dn,(function(t){const u=aa.pop();if(u===t)return!0;const r=yn();r.start.offset-=t.length,r.start.column-=t.length,bn(`Expected end tag "${u}" but got "${t}"`,r)}(u)?void 0:e)!==e?t=u:(dn=t,t=e)):(dn=t,t=e),t}(),n!==e?((a=In())===e&&(a=null),62===t.charCodeAt(dn)?(c=p,dn++):(c=e,0===gn&&Tn(ir)),c!==e?u=r=[r,n,a,c]:(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}(),a!==e?(Bn=u,A=n,(c=r).children=A,u=c):(dn=u,u=e)):(dn=u,u=e)),u}function Qn(){var u,r,n;return u=dn,(r=function(){var t,u;return t=dn,(u=Nn())!==e&&(Bn=t,u=function(t){return ra({type:"attrstr",value:t})}(u)),u}())!==e&&Un()!==e&&(n=function(){var u,r;return u=dn,r=function(){var u,r,n,a,c;if(u=dn,34===t.charCodeAt(dn)?(r=A,dn++):(r=e,0===gn&&Tn(Mu)),r!==e){for(n=dn,a=[],N.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Uu)),c===e&&(c=Vn());c!==e;)a.push(c),N.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Uu)),c===e&&(c=Vn());n=t.substring(n,dn),34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,39===t.charCodeAt(dn)?(r=h,dn++):(r=e,0===gn&&Tn(ku)),r!==e){for(n=dn,a=[],Z.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(qu)),c===e&&(c=Vn());c!==e;)a.push(c),Z.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(qu)),c===e&&(c=Vn());n=t.substring(n,dn),39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;return u}(),r!==e&&(Bn=u,r=function(t){return ra({type:"attrstr",value:t})}(r)),r}())!==e?(Bn=u,u=function(t,u){return ra({type:"attribute",name:t,value:u})}(r,n)):(dn=u,u=e),u}function Vn(){var u;return(u=function(){var u,r,n,a;return u=dn,38===t.charCodeAt(dn)?(r="&",dn++):(r=e,0===gn&&Tn(yr)),r!==e&&(n=Nn())!==e?(59===t.charCodeAt(dn)?(a=v,dn++):(a=e,0===gn&&Tn(vr)),a!==e?(Bn=u,u=ra({type:"entityref",name:n})):(dn=u,u=e)):(dn=u,u=e),u}())===e&&(u=function(){var u,r,n,a,c;if(u=dn,"&#"===t.substr(dn,2)?(r="&#",dn+=2):(r=e,0===gn&&Tn(Br)),r!==e){if(n=dn,a=[],M.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Fr)),c!==e)for(;c!==e;)a.push(c),M.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Fr));else a=e;(n=a!==e?t.substring(n,dn):a)!==e?(59===t.charCodeAt(dn)?(a=v,dn++):(a=e,0===gn&&Tn(vr)),a!==e?(Bn=u,u=function(t){return ra({type:"charref",value:parseInt(t,10),base:10})}(n)):(dn=u,u=e)):(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,"&#x"===t.substr(dn,3)?(r="&#x",dn+=3):(r=e,0===gn&&Tn(Dr)),r!==e){if(n=dn,a=[],R.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(gr)),c!==e)for(;c!==e;)a.push(c),R.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(gr));else a=e;(n=a!==e?t.substring(n,dn):a)!==e?(59===t.charCodeAt(dn)?(a=v,dn++):(a=e,0===gn&&Tn(vr)),a!==e?(Bn=u,u=function(t){return ra({type:"charref",value:parseInt(t,16),base:16})}(n)):(dn=u,u=e)):(dn=u,u=e)}else dn=u,u=e;return u}()),u}function Wn(){var u,r,n,a;return u=dn,37===t.charCodeAt(dn)?(r="%",dn++):(r=e,0===gn&&Tn(br)),r!==e&&(n=Nn())!==e?(59===t.charCodeAt(dn)?(a=v,dn++):(a=e,0===gn&&Tn(vr)),a!==e?(Bn=u,u=ra({type:"peref",name:n})):(dn=u,u=e)):(dn=u,u=e),u}function Xn(){var u,r,n,a;return u=dn,t.substr(dn,6)===g?(r=g,dn+=6):(r=e,0===gn&&Tn(mr)),r!==e&&In()!==e&&(n=jn())!==e?(Bn=u,u=function(t){return ra({type:"system",value:t})}(n)):(dn=u,u=e),u===e&&(u=dn,t.substr(dn,6)===y?(r=y,dn+=6):(r=e,0===gn&&Tn($r)),r!==e&&In()!==e&&(n=_n())!==e&&In()!==e&&(a=jn())!==e?(Bn=u,u=function(t,u){return ra({type:"public",value:u,pubid:t})}(n,a)):(dn=u,u=e)),u}function ta(){var u,r,n,a;if(u=dn,k.test(t.charAt(dn))?(r=t.charAt(dn),dn++):(r=e,0===gn&&Tn(Or)),r!==e){for(n=[],L.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(wr)),a===e&&(45===t.charCodeAt(dn)?(a="-",dn++):(a=e,0===gn&&Tn(ju)));a!==e;)n.push(a),L.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(wr)),a===e&&(45===t.charCodeAt(dn)?(a="-",dn++):(a=e,0===gn&&Tn(ju)));u=r=[r,n]}else dn=u,u=e;return u}function ua(){var u;return(u=function(){var u;return U.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(zr)),u===e&&(q.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Nr)),u===e&&(G.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Zr)),u===e&&(H.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(jr)),u===e&&(J.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(_r)),u===e&&(K.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Pr)),u===e&&(Q.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Yr)),u===e&&(V.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Mr)),u===e&&(W.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Rr)),u===e&&(X.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(kr)),u===e&&(tt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Lr)),u===e&&(ut.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ur)),u===e&&(rt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(qr)),u===e&&(et.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Gr)),u===e&&(nt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Hr)),u===e&&(at.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Jr)),u===e&&(ct.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Kr)),u===e&&(At.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Qr)),u===e&&(ht.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Vr)),u===e&&(st.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Wr)),u===e&&(ot.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Xr)),u===e&&(it.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(te)),u===e&&(ft.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ue)),u===e&&(Ct.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(re)),u===e&&(lt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ee)),u===e&&(Et.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ne)),u===e&&(pt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ae)),u===e&&(dt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ce)),u===e&&(Bt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ae)),u===e&&(Ft.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(he)),u===e&&(vt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(se)),u===e&&(Dt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(oe)),u===e&&(gt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ie)),u===e&&(yt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(fe)),u===e&&(bt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ce)),u===e&&(xt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(le)),u===e&&(mt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ee)),u===e&&($t.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(pe)),u===e&&(St.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(de)),u===e&&(Tt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Be)),u===e&&(Ot.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Fe)),u===e&&(wt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ve)),u===e&&(It.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(De)),u===e&&(zt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ge)),u===e&&(Nt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ye)),u===e&&(Zt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(be)),u===e&&(jt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(xe)),u===e&&(_t.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(me)),u===e&&(Pt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn($e)),u===e&&(Yt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Se)),u===e&&(Mt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Te)),u===e&&(Rt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Oe)),u===e&&(kt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(we)),u===e&&(Lt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ie)),u===e&&(Ut.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ze)),u===e&&(qt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ne))))))))))))))))))))))))))))))))))))))))))))))))))))))))),u}())===e&&(u=function(){var u;return Gt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ze)),u}()),u}function ra(t){return t.loc||(t.loc=yn()),t}function ea(t,u){for(const[r,e]of Object.entries(u))e&&(t[r]=e);return ra(t)}function na(t){const u=[];let r="";for(const e of t)"string"==typeof e?r+=e:(r&&(u.push(r),r=""),u.push(e));return r&&u.push(r),u}const aa=[];function ca(t){const u={};for(const r of t){const t=r.name.value;u[t]&&bn(`Duplicate attribute "${t}"`,r.loc),u[t]=r}return u}if((r=c())!==e&&dn===t.length)return r;throw r!==e&&dn<t.length&&Tn({type:"end"}),function(t,u,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(t,u),t,u,r)}(Dn,vn<t.length?t.charAt(vn):null,vn<t.length?Sn(vn,vn+1):Sn(vn,vn))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.prototype.format=function(t){var u="Error: "+this.message;if(this.location){var r,e=null;for(r=0;r<t.length;r++)if(t[r].source===this.location.source){e=t[r].text.split(/\r\n|\n|\r/g);break}var n=this.location.start,a=this.location.source+":"+n.line+":"+n.column;if(e){var c=this.location.end,A=peg$padEnd("",n.line.toString().length," "),h=e[n.line-1],s=(n.line===c.line?c.column:h.length+1)-n.column||1;u+="\n --\x3e "+a+"\n"+A+" |\n"+n.line+" | "+h+"\n"+A+" | "+peg$padEnd("",n.column-1," ")+peg$padEnd("",s,"^")}else u+="\n at "+a}return u},peg$SyntaxError.buildMessage=function(t,u){var r={literal:function(t){return'"'+n(t.text)+'"'},class:function(t){var u=t.parts.map((function(t){return Array.isArray(t)?a(t[0])+"-"+a(t[1]):a(t)}));return"["+(t.inverted?"^":"")+u.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(t){return t.description}};function e(t){return t.charCodeAt(0).toString(16).toUpperCase()}function n(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+e(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+e(t)}))}function a(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+e(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+e(t)}))}function c(t){return r[t.type](t)}return"Expected "+function(t){var u,r,e=t.map(c);if(e.sort(),e.length>0){for(u=1,r=1;u<e.length;u++)e[u-1]!==e[u]&&(e[r]=e[u],r++);e.length=r}switch(e.length){case 1:return e[0];case 2:return e[0]+" or "+e[1];default:return e.slice(0,-1).join(", ")+", or "+e[e.length-1]}}(t)+" but "+function(t){return t?'"'+n(t)+'"':"end of input"}(u)+" found."};
|
|
76
|
+
function peg$subclass(t,u){function r(){this.constructor=t}r.prototype=u.prototype,t.prototype=new r}function peg$SyntaxError(t,u,r,e){var n=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(n,peg$SyntaxError.prototype),n.expected=u,n.found=r,n.location=e,n.name="SyntaxError",n}function peg$padEnd(t,u,r){return r=r||" ",t.length>u?t:(u-=t.length,t+(r+=r.repeat(u)).slice(0,u))}function peg$parse(t,u){var r,e={},n=(u=void 0!==u?u:{}).grammarSource,a={document:On},c=On,A='"',h="'",s="\x3c!--",o="--",i="?>",f="<![CDATA[",C="<?xml",l="version",E="<!DOCTYPE",p=">",d="standalone",B="yes",F="no",v=";",D="<!ENTITY",g="SYSTEM",y="PUBLIC",b="NDATA",x="encoding",m="<!NOTATION",$=/^[ -\uD7FF]/,S=/^[\uE000-\uFFFD]/,T=/^[\uD800-\uDBFF]/,O=/^[\uDC00-\uDFFF]/,w=/^[ \t\r\n]/,I=/^[^%&"]/,z=/^[^%&']/,N=/^[^&"]/,Z=/^[^&']/,j=/^[^"]/,_=/^[^']/,P=/^[\-()+,.\/:=?;!*#@$_% \r\na-zA-Z0-9]/,Y=/^[^<&]/,M=/^[0-9]/,R=/^[0-9a-f]/i,k=/^[A-Za-z]/,L=/^[A-Za-z0-9._]/,U=/^[A-Za-z\xC0-\xD6]/,q=/^[\xD8-\xF6\xF8-\xFF\u0100-\u0131]/,G=/^[\u0134-\u013E\u0141-\u0148\u014A-\u017E]/,H=/^[\u0180-\u01C3\u01CD-\u01F0\u01F4-\u01F5]/,J=/^[\u01FA-\u0217\u0250-\u02A8\u02BB-\u02C1]/,K=/^[\u0386\u0388-\u038A\u038C\u038E-\u03A1]/,Q=/^[\u03A3-\u03CE\u03D0-\u03D6\u03DA\u03DC]/,V=/^[\u03DE\u03E0\u03E2-\u03F3\u0401-\u040C]/,W=/^[\u040E-\u044F\u0451-\u045C\u045E-\u0481]/,X=/^[\u0490-\u04C4\u04C7-\u04C8\u04CB-\u04CC]/,tt=/^[\u04D0-\u04EB\u04EE-\u04F5\u04F8-\u04F9]/,ut=/^[\u0531-\u0556\u0559\u0561-\u0586]/,rt=/^[\u05D0-\u05EA\u05F0-\u05F2\u0621-\u063A]/,et=/^[\u0641-\u064A\u0671-\u06B7\u06BA-\u06BE]/,nt=/^[\u06C0-\u06CE\u06D0-\u06D3\u06D5\u06E5-\u06E6]/,at=/^[\u0905-\u0939\u093D\u0958-\u0961\u0985-\u098C]/,ct=/^[\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0]/,At=/^[\u09B2\u09B6-\u09B9\u09DC-\u09DD\u09DF-\u09E1]/,ht=/^[\u09F0-\u09F1\u0A05-\u0A0A\u0A0F-\u0A10]/,st=/^[\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33]/,ot=/^[\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C]/,it=/^[\u0A5E\u0A72-\u0A74\u0A85-\u0A8B\u0A8D]/,ft=/^[\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0]/,Ct=/^[\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AE0]/,lt=/^[\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28]/,Et=/^[\u0B2A-\u0B30\u0B32-\u0B33\u0B36-\u0B39]/,pt=/^[\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61]/,dt=/^[\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95]/,Bt=/^[\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F]/,Ft=/^[\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB5]/,vt=/^[\u0BB7-\u0BB9\u0C05-\u0C0C\u0C0E-\u0C10]/,Dt=/^[\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39]/,gt=/^[\u0C60-\u0C61\u0C85-\u0C8C\u0C8E-\u0C90]/,yt=/^[\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9]/,bt=/^[\u0CDE\u0CE0-\u0CE1\u0D05-\u0D0C\u0D0E-\u0D10]/,xt=/^[\u0D12-\u0D28\u0D2A-\u0D39\u0D60-\u0D61]/,mt=/^[\u0E01-\u0E2E\u0E30\u0E32-\u0E33\u0E40-\u0E45]/,$t=/^[\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A]/,St=/^[\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]/,Tt=/^[\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EAE\u0EB0]/,Ot=/^[\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0F40-\u0F47]/,wt=/^[\u0F49-\u0F69\u10A0-\u10C5\u10D0-\u10F6\u1100]/,It=/^[\u1102-\u1103\u1105-\u1107\u1109\u110B-\u110C]/,zt=/^[\u110E-\u1112\u113C\u113E\u1140\u114C\u114E]/,Nt=/^[\u1150\u1154-\u1155\u1159\u115F-\u1161\u1163]/,Zt=/^[\u1165\u1167\u1169\u116D-\u116E\u1172-\u1173]/,jt=/^[\u1175\u119E\u11A8\u11AB\u11AE-\u11AF]/,_t=/^[\u11B7-\u11B8\u11BA\u11BC-\u11C2\u11EB\u11F0]/,Pt=/^[\u11F9\u1E00-\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15]/,Yt=/^[\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D]/,Mt=/^[\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]/,Rt=/^[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4]/,kt=/^[\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB]/,Lt=/^[\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126]/,Ut=/^[\u212A-\u212B\u212E\u2180-\u2182\u3041-\u3094]/,qt=/^[\u30A1-\u30FA\u3105-\u312C\uAC00-\uD7A3]/,Gt=/^[\u4E00-\u9FA5\u3007\u3021-\u3029]/,Ht=/^[\u0300-\u0345\u0360-\u0361\u0483-\u0486]/,Jt=/^[\u0591-\u05A1\u05A3-\u05B9\u05BB-\u05BD\u05BF]/,Kt=/^[\u05C1-\u05C2\u05C4\u064B-\u0652\u0670]/,Qt=/^[\u06D6-\u06DC\u06DD-\u06DF\u06E0-\u06E4]/,Vt=/^[\u06E7-\u06E8\u06EA-\u06ED\u0901-\u0903]/,Wt=/^[\u093C\u093E-\u094C\u094D\u0951-\u0954]/,Xt=/^[\u0962-\u0963\u0981-\u0983\u09BC\u09BE]/,tu=/^[\u09BF\u09C0-\u09C4\u09C7-\u09C8\u09CB-\u09CD]/,uu=/^[\u09D7\u09E2-\u09E3\u0A02\u0A3C\u0A3E\u0A3F]/,ru=/^[\u0A40-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D]/,eu=/^[\u0A70-\u0A71\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5]/,nu=/^[\u0AC7-\u0AC9\u0ACB-\u0ACD\u0B01-\u0B03\u0B3C]/,au=/^[\u0B3E-\u0B43\u0B47-\u0B48\u0B4B-\u0B4D]/,cu=/^[\u0B56-\u0B57\u0B82-\u0B83\u0BBE-\u0BC2]/,Au=/^[\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C01-\u0C03]/,hu=/^[\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D]/,su=/^[\u0C55-\u0C56\u0C82-\u0C83\u0CBE-\u0CC4]/,ou=/^[\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6]/,iu=/^[\u0D02-\u0D03\u0D3E-\u0D43\u0D46-\u0D48]/,fu=/^[\u0D4A-\u0D4D\u0D57\u0E31\u0E34-\u0E3A]/,Cu=/^[\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC]/,lu=/^[\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39]/,Eu=/^[\u0F3E\u0F3F\u0F71-\u0F84\u0F86-\u0F8B]/,pu=/^[\u0F90-\u0F95\u0F97\u0F99-\u0FAD\u0FB1-\u0FB7]/,du=/^[\u0FB9\u20D0-\u20DC\u20E1\u302A-\u302F]/,Bu=/^[\u3099\u309A]/,Fu=/^[0-9\u0660-\u0669\u06F0-\u06F9]/,vu=/^[\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F]/,Du=/^[\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE7-\u0BEF]/,gu=/^[\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F]/,yu=/^[\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29]/,bu=/^[\xB7\u02D0\u02D1\u0387\u0640\u0E46']/,xu=/^[\u0EC6\u3005\u3031-\u3035\u309D-\u309E]/,mu=/^[\u30FC-\u30FE]/,$u=xn("\t",!1),Su=xn("\n",!1),Tu=xn("\r",!1),Ou=mn([[" ",""]],!1,!1),wu=mn([["","�"]],!1,!1),Iu=mn([["\ud800","\udbff"]],!1,!1),zu=mn([["\udc00","\udfff"]],!1,!1),Nu=mn([" ","\t","\r","\n"],!1,!1),Zu=xn(".",!1),ju=xn("-",!1),_u=xn("_",!1),Pu=xn(":",!1),Yu={type:"other",description:"name"},Mu=(xn(" ",!1),xn('"',!1)),Ru=mn(["%","&",'"'],!0,!1),ku=xn("'",!1),Lu=mn(["%","&","'"],!0,!1),Uu=mn(["&",'"'],!0,!1),qu=mn(["&","'"],!0,!1),Gu=mn(['"'],!0,!1),Hu=mn(["'"],!0,!1),Ju=mn(["-","(",")","+",",",".","/",":","=","?",";","!","*","#","@","$","_","%"," ","\r","\n",["a","z"],["A","Z"],["0","9"]],!1,!1),Ku=mn(["<","&"],!0,!1),Qu=xn("\x3c!--",!1),Vu=xn("--",!1),Wu=xn("--\x3e",!1),Xu=xn("<?",!1),tr=xn("?>",!1),ur=xn("xml",!0),rr=xn("<![CDATA[",!1),er=xn("]]>",!1),nr=xn("<?xml",!1),ar=xn("version",!1),cr=xn("=",!1),Ar=xn("1.0",!1),hr=xn("<!DOCTYPE",!1),sr=xn("[",!1),or=xn("]",!1),ir=xn(">",!1),fr=xn("standalone",!1),Cr=xn("yes",!1),lr=xn("no",!1),Er=xn("<",!1),pr=xn("</",!1),dr=xn("/>",!1),Br=xn("&#",!1),Fr=mn([["0","9"]],!1,!1),vr=xn(";",!1),Dr=xn("&#x",!1),gr=mn([["0","9"],["a","f"]],!1,!0),yr=xn("&",!1),br=xn("%",!1),xr=xn("<!ENTITY",!1),mr=xn("SYSTEM",!1),$r=xn("PUBLIC",!1),Sr=xn("NDATA",!1),Tr=xn("encoding",!1),Or=mn([["A","Z"],["a","z"]],!1,!1),wr=mn([["A","Z"],["a","z"],["0","9"],".","_"],!1,!1),Ir=xn("<!NOTATION",!1),zr=mn([["A","Z"],["a","z"],["À","Ö"]],!1,!1),Nr=mn([["Ø","ö"],["ø","ÿ"],["Ā","ı"]],!1,!1),Zr=mn([["Ĵ","ľ"],["Ł","ň"],["Ŋ","ž"]],!1,!1),jr=mn([["ƀ","ǃ"],["Ǎ","ǰ"],["Ǵ","ǵ"]],!1,!1),_r=mn([["Ǻ","ȗ"],["ɐ","ʨ"],["ʻ","ˁ"]],!1,!1),Pr=mn(["Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"]],!1,!1),Yr=mn([["Σ","ώ"],["ϐ","ϖ"],"Ϛ","Ϝ"],!1,!1),Mr=mn(["Ϟ","Ϡ",["Ϣ","ϳ"],["Ё","Ќ"]],!1,!1),Rr=mn([["Ў","я"],["ё","ќ"],["ў","ҁ"]],!1,!1),kr=mn([["Ґ","ӄ"],["Ӈ","ӈ"],["Ӌ","ӌ"]],!1,!1),Lr=mn([["Ӑ","ӫ"],["Ӯ","ӵ"],["Ӹ","ӹ"]],!1,!1),Ur=mn([["Ա","Ֆ"],"ՙ",["ա","ֆ"]],!1,!1),qr=mn([["א","ת"],["װ","ײ"],["ء","غ"]],!1,!1),Gr=mn([["ف","ي"],["ٱ","ڷ"],["ں","ھ"]],!1,!1),Hr=mn([["ۀ","ێ"],["ې","ۓ"],"ە",["ۥ","ۦ"]],!1,!1),Jr=mn([["अ","ह"],"ऽ",["क़","ॡ"],["অ","ঌ"]],!1,!1),Kr=mn([["এ","ঐ"],["ও","ন"],["প","র"]],!1,!1),Qr=mn(["ল",["শ","হ"],["ড়","ঢ়"],["য়","ৡ"]],!1,!1),Vr=mn([["ৰ","ৱ"],["ਅ","ਊ"],["ਏ","ਐ"]],!1,!1),Wr=mn([["ਓ","ਨ"],["ਪ","ਰ"],["ਲ","ਲ਼"]],!1,!1),Xr=mn([["ਵ","ਸ਼"],["ਸ","ਹ"],["ਖ਼","ੜ"]],!1,!1),te=mn(["ਫ਼",["ੲ","ੴ"],["અ","ઋ"],"ઍ"],!1,!1),ue=mn([["એ","ઑ"],["ઓ","ન"],["પ","ર"]],!1,!1),re=mn([["લ","ળ"],["વ","હ"],"ઽ","ૠ"],!1,!1),ee=mn([["ଅ","ଌ"],["ଏ","ଐ"],["ଓ","ନ"]],!1,!1),ne=mn([["ପ","ର"],["ଲ","ଳ"],["ଶ","ହ"]],!1,!1),ae=mn(["ଽ",["ଡ଼","ଢ଼"],["ୟ","ୡ"]],!1,!1),ce=mn([["அ","ஊ"],["எ","ஐ"],["ஒ","க"]],!1,!1),Ae=mn([["ங","ச"],"ஜ",["ஞ","ட"]],!1,!1),he=mn([["ண","த"],["ந","ப"],["ம","வ"]],!1,!1),se=mn([["ஷ","ஹ"],["అ","ఌ"],["ఎ","ఐ"]],!1,!1),oe=mn([["ఒ","న"],["ప","ళ"],["వ","హ"]],!1,!1),ie=mn([["ౠ","ౡ"],["ಅ","ಌ"],["ಎ","ಐ"]],!1,!1),fe=mn([["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"]],!1,!1),Ce=mn(["ೞ",["ೠ","ೡ"],["അ","ഌ"],["എ","ഐ"]],!1,!1),le=mn([["ഒ","ന"],["പ","ഹ"],["ൠ","ൡ"]],!1,!1),Ee=mn([["ก","ฮ"],"ะ",["า","ำ"],["เ","ๅ"]],!1,!1),pe=mn([["ກ","ຂ"],"ຄ",["ງ","ຈ"],"ຊ"],!1,!1),de=mn(["ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"]],!1,!1),Be=mn(["ລ","ວ",["ສ","ຫ"],["ອ","ຮ"],"ະ"],!1,!1),Fe=mn([["າ","ຳ"],"ຽ",["ເ","ໄ"],["ཀ","ཇ"]],!1,!1),ve=mn([["ཉ","ཀྵ"],["Ⴀ","Ⴥ"],["ა","ჶ"],"ᄀ"],!1,!1),De=mn([["ᄂ","ᄃ"],["ᄅ","ᄇ"],"ᄉ",["ᄋ","ᄌ"]],!1,!1),ge=mn([["ᄎ","ᄒ"],"ᄼ","ᄾ","ᅀ","ᅌ","ᅎ"],!1,!1),ye=mn(["ᅐ",["ᅔ","ᅕ"],"ᅙ",["ᅟ","ᅡ"],"ᅣ"],!1,!1),be=mn(["ᅥ","ᅧ","ᅩ",["ᅭ","ᅮ"],["ᅲ","ᅳ"]],!1,!1),xe=mn(["ᅵ","ᆞ","ᆨ","ᆫ",["ᆮ","ᆯ"]],!1,!1),me=mn([["ᆷ","ᆸ"],"ᆺ",["ᆼ","ᇂ"],"ᇫ","ᇰ"],!1,!1),$e=mn(["ᇹ",["Ḁ","ẛ"],["Ạ","ỹ"],["ἀ","ἕ"]],!1,!1),Se=mn([["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"]],!1,!1),Te=mn([["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"]],!1,!1),Oe=mn([["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"]],!1,!1),we=mn([["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"]],!1,!1),Ie=mn([["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"Ω"],!1,!1),ze=mn([["K","Å"],"℮",["ↀ","ↂ"],["ぁ","ゔ"]],!1,!1),Ne=mn([["ァ","ヺ"],["ㄅ","ㄬ"],["가","힣"]],!1,!1),Ze=mn([["一","龥"],"〇",["〡","〩"]],!1,!1),je=mn([["̀","ͅ"],["͠","͡"],["҃","҆"]],!1,!1),_e=mn([["֑","֡"],["֣","ֹ"],["ֻ","ֽ"],"ֿ"],!1,!1),Pe=mn([["ׁ","ׂ"],"ׄ",["ً","ْ"],"ٰ"],!1,!1),Ye=mn([["ۖ","ۜ"],["","۟"],["۠","ۤ"]],!1,!1),Me=mn([["ۧ","ۨ"],["۪","ۭ"],["ँ","ः"]],!1,!1),Re=mn(["़",["ा","ौ"],"्",["॑","॔"]],!1,!1),ke=mn([["ॢ","ॣ"],["ঁ","ঃ"],"়","া"],!1,!1),Le=mn(["ি",["ী","ৄ"],["ে","ৈ"],["ো","্"]],!1,!1),Ue=mn(["ৗ",["ৢ","ৣ"],"ਂ","਼","ਾ","ਿ"],!1,!1),qe=mn([["ੀ","ੂ"],["ੇ","ੈ"],["ੋ","੍"]],!1,!1),Ge=mn([["ੰ","ੱ"],["ઁ","ઃ"],"઼",["ા","ૅ"]],!1,!1),He=mn([["ે","ૉ"],["ો","્"],["ଁ","ଃ"],"଼"],!1,!1),Je=mn([["ା","ୃ"],["େ","ୈ"],["ୋ","୍"]],!1,!1),Ke=mn([["ୖ","ୗ"],["ஂ","ஃ"],["ா","ூ"]],!1,!1),Qe=mn([["ெ","ை"],["ொ","்"],"ௗ",["ఁ","ః"]],!1,!1),Ve=mn([["ా","ౄ"],["ె","ై"],["ొ","్"]],!1,!1),We=mn([["ౕ","ౖ"],["ಂ","ಃ"],["ಾ","ೄ"]],!1,!1),Xe=mn([["ೆ","ೈ"],["ೊ","್"],["ೕ","ೖ"]],!1,!1),tn=mn([["ം","ഃ"],["ാ","ൃ"],["െ","ൈ"]],!1,!1),un=mn([["ൊ","്"],"ൗ","ั",["ิ","ฺ"]],!1,!1),rn=mn([["็","๎"],"ັ",["ິ","ູ"],["ົ","ຼ"]],!1,!1),en=mn([["່","ໍ"],["༘","༙"],"༵","༷","༹"],!1,!1),nn=mn(["༾","༿",["ཱ","྄"],["྆","ྋ"]],!1,!1),an=mn([["ྐ","ྕ"],"ྗ",["ྙ","ྭ"],["ྱ","ྷ"]],!1,!1),cn=mn(["ྐྵ",["⃐","⃜"],"⃡",["〪","〯"]],!1,!1),An=mn(["゙","゚"],!1,!1),hn=mn([["0","9"],["٠","٩"],["۰","۹"]],!1,!1),sn=mn([["०","९"],["০","৯"],["੦","੯"]],!1,!1),on=mn([["૦","૯"],["୦","୯"],["௧","௯"]],!1,!1),fn=mn([["౦","౯"],["೦","೯"],["൦","൯"]],!1,!1),Cn=mn([["๐","๙"],["໐","໙"],["༠","༩"]],!1,!1),ln=mn(["·","ː","ˑ","·","ـ","ๆ","'"],!1,!1),En=mn(["ໆ","々",["〱","〵"],["ゝ","ゞ"]],!1,!1),pn=mn([["ー","ヾ"]],!1,!1),dn=0,Bn=0,Fn=[{line:1,column:1}],vn=0,Dn=[],gn=0;if("startRule"in u){if(!(u.startRule in a))throw new Error("Can't start parsing from rule \""+u.startRule+'".');c=a[u.startRule]}function yn(){return Sn(Bn,dn)}function bn(t,u){throw function(t,u){return new peg$SyntaxError(t,null,null,u)}(t,u=void 0!==u?u:Sn(Bn,dn))}function xn(t,u){return{type:"literal",text:t,ignoreCase:u}}function mn(t,u,r){return{type:"class",parts:t,inverted:u,ignoreCase:r}}function $n(u){var r,e=Fn[u];if(e)return e;for(r=u-1;!Fn[r];)r--;for(e={line:(e=Fn[r]).line,column:e.column};r<u;)10===t.charCodeAt(r)?(e.line++,e.column=1):e.column++,r++;return Fn[u]=e,e}function Sn(t,u){var r=$n(t),e=$n(u);return{source:n,start:{offset:t,line:r.line,column:r.column},end:{offset:u,line:e.line,column:e.column}}}function Tn(t){dn<vn||(dn>vn&&(vn=dn,Dn=[]),Dn.push(t))}function On(){var u,r,n,a,c;if(u=dn,r=function(){var u,r,n,a,c,s;for(u=dn,r=function(){var u,r,n,a,c,s;return u=dn,t.substr(dn,5)===C?(r=C,dn+=5):(r=e,0===gn&&Tn(nr)),r!==e&&(n=function(){var u,r,n,a,c,s;return u=dn,In()!==e?(t.substr(dn,7)===l?(r=l,dn+=7):(r=e,0===gn&&Tn(ar)),r!==e&&Un()!==e?(n=dn,39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e&&(c=qn())!==e?(39===t.charCodeAt(dn)?(s=h,dn++):(s=e,0===gn&&Tn(ku)),s!==e?n=c:(dn=n,n=e)):(dn=n,n=e),n===e&&(n=dn,34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e&&(c=qn())!==e?(34===t.charCodeAt(dn)?(s=A,dn++):(s=e,0===gn&&Tn(Mu)),s!==e?n=c:(dn=n,n=e)):(dn=n,n=e)),n!==e?u=n:(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}())!==e?((a=function(){var u,r,n,a,c,s,o,i;return u=dn,(r=In())!==e?(t.substr(dn,8)===x?(n=x,dn+=8):(n=e,0===gn&&Tn(Tr)),n!==e&&(a=Un())!==e?(c=dn,34===t.charCodeAt(dn)?(s=A,dn++):(s=e,0===gn&&Tn(Mu)),s!==e&&(o=ta())!==e?(34===t.charCodeAt(dn)?(i=A,dn++):(i=e,0===gn&&Tn(Mu)),i!==e?c=s=[s,o,i]:(dn=c,c=e)):(dn=c,c=e),c===e&&(c=dn,39===t.charCodeAt(dn)?(s=h,dn++):(s=e,0===gn&&Tn(ku)),s!==e&&(o=ta())!==e?(39===t.charCodeAt(dn)?(i=h,dn++):(i=e,0===gn&&Tn(ku)),i!==e?c=s=[s,o,i]:(dn=c,c=e)):(dn=c,c=e)),c!==e?u=r=[r,n,a,c]:(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}())===e&&(a=null),c=function(){var u,r,n,a,c,s,o,i;return u=dn,(r=In())!==e?(t.substr(dn,10)===d?(n=d,dn+=10):(n=e,0===gn&&Tn(fr)),n!==e&&(a=Un())!==e?(c=dn,39===t.charCodeAt(dn)?(s=h,dn++):(s=e,0===gn&&Tn(ku)),s!==e?(t.substr(dn,3)===B?(o=B,dn+=3):(o=e,0===gn&&Tn(Cr)),o===e&&(t.substr(dn,2)===F?(o=F,dn+=2):(o=e,0===gn&&Tn(lr))),o!==e?(39===t.charCodeAt(dn)?(i=h,dn++):(i=e,0===gn&&Tn(ku)),i!==e?c=s=[s,o,i]:(dn=c,c=e)):(dn=c,c=e)):(dn=c,c=e),c===e&&(c=dn,34===t.charCodeAt(dn)?(s=A,dn++):(s=e,0===gn&&Tn(Mu)),s!==e?(t.substr(dn,3)===B?(o=B,dn+=3):(o=e,0===gn&&Tn(Cr)),o===e&&(t.substr(dn,2)===F?(o=F,dn+=2):(o=e,0===gn&&Tn(lr))),o!==e?(34===t.charCodeAt(dn)?(i=A,dn++):(i=e,0===gn&&Tn(Mu)),i!==e?c=s=[s,o,i]:(dn=c,c=e)):(dn=c,c=e)):(dn=c,c=e)),c!==e?u=r=[r,n,a,c]:(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}(),c===e&&(c=null),In(),t.substr(dn,2)===i?(s=i,dn+=2):(s=e,0===gn&&Tn(tr)),s!==e?(Bn=u,u=ea({type:"xmldecl",version:n},{encoding:a,standalone:c})):(dn=u,u=e)):(dn=u,u=e),u}(),r===e&&(r=null),n=[],a=Gn();a!==e;)n.push(a),a=Gn();for(a=function(){var u,r,n,a,c,A,h,s;return u=dn,t.substr(dn,9)===E?(r=E,dn+=9):(r=e,0===gn&&Tn(hr)),r!==e&&In()!==e&&(n=Nn())!==e?(a=dn,In()!==e&&(c=Xn())!==e?a=c:(dn=a,a=e),a===e&&(a=null),In(),c=dn,91===t.charCodeAt(dn)?(A="[",dn++):(A=e,0===gn&&Tn(sr)),A!==e?(h=function(){var t,u,r;for(t=dn,u=[],(r=Jn())===e&&(r=Hn());r!==e;)u.push(r),(r=Jn())===e&&(r=Hn());return Bn=t,u=u.filter((t=>t))}(),93===t.charCodeAt(dn)?(s="]",dn++):(s=e,0===gn&&Tn(or)),s!==e?(In(),c=h):(dn=c,c=e)):(dn=c,c=e),c===e&&(c=null),62===t.charCodeAt(dn)?(A=p,dn++):(A=e,0===gn&&Tn(ir)),A!==e?(Bn=u,u=ea({type:"doctypedecl",name:n},{externalID:a,intSubset:c})):(dn=u,u=e)):(dn=u,u=e),u}(),a===e&&(a=null),c=[],s=Gn();s!==e;)c.push(s),s=Gn();return Bn=u,ea({type:"prolog"},{xmldecl:r,misc1:n,doctypedecl:a,misc2:c})}(),(n=Kn())!==e){for(a=[],c=Gn();c!==e;)a.push(c),c=Gn();u=r=[r,n,a]}else dn=u,u=e;return u}function wn(){var u,r,n,a;return 9===t.charCodeAt(dn)?(u="\t",dn++):(u=e,0===gn&&Tn($u)),u===e&&(10===t.charCodeAt(dn)?(u="\n",dn++):(u=e,0===gn&&Tn(Su)),u===e&&(13===t.charCodeAt(dn)?(u="\r",dn++):(u=e,0===gn&&Tn(Tu)),u===e&&($.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ou)),u===e&&(S.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(wu)),u===e&&(u=dn,r=dn,T.test(t.charAt(dn))?(n=t.charAt(dn),dn++):(n=e,0===gn&&Tn(Iu)),n!==e?(O.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(zu)),a!==e?r=n=[n,a]:(dn=r,r=e)):(dn=r,r=e),u=r!==e?t.substring(u,dn):r))))),u}function In(){var u,r,n;if(u=dn,r=[],w.test(t.charAt(dn))?(n=t.charAt(dn),dn++):(n=e,0===gn&&Tn(Nu)),n!==e)for(;n!==e;)r.push(n),w.test(t.charAt(dn))?(n=t.charAt(dn),dn++):(n=e,0===gn&&Tn(Nu));else r=e;return r!==e?t.substring(u,dn):r}function zn(){var u;return(u=ua())===e&&(u=function(){var u;return Fu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(hn)),u===e&&(vu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(sn)),u===e&&(Du.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(on)),u===e&&(gu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(fn)),u===e&&(yu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Cn)))))),u}())===e&&(46===t.charCodeAt(dn)?(u=".",dn++):(u=e,0===gn&&Tn(Zu)),u===e&&(45===t.charCodeAt(dn)?(u="-",dn++):(u=e,0===gn&&Tn(ju)),u===e&&(95===t.charCodeAt(dn)?(u="_",dn++):(u=e,0===gn&&Tn(_u)),u===e&&(58===t.charCodeAt(dn)?(u=":",dn++):(u=e,0===gn&&Tn(Pu)),u===e&&(u=function(){var u;return Ht.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(je)),u===e&&(Jt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(_e)),u===e&&(Kt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Pe)),u===e&&(Qt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ye)),u===e&&(Vt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Me)),u===e&&(Wt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Re)),u===e&&(Xt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ke)),u===e&&(tu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Le)),u===e&&(uu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ue)),u===e&&(ru.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(qe)),u===e&&(eu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ge)),u===e&&(nu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(He)),u===e&&(au.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Je)),u===e&&(cu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ke)),u===e&&(Au.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Qe)),u===e&&(hu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ve)),u===e&&(su.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(We)),u===e&&(ou.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Xe)),u===e&&(iu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(tn)),u===e&&(fu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(un)),u===e&&(Cu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(rn)),u===e&&(lu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(en)),u===e&&(Eu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(nn)),u===e&&(pu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(an)),u===e&&(du.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(cn)),u===e&&(Bu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(An))))))))))))))))))))))))))),u}())===e&&(u=function(){var u;return bu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ln)),u===e&&(xu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(En)),u===e&&(mu.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(pn)))),u}()))))),u}function Nn(){var u,r,n,a,c;if(gn++,u=dn,r=dn,(n=ua())===e&&(95===t.charCodeAt(dn)?(n="_",dn++):(n=e,0===gn&&Tn(_u)),n===e&&(58===t.charCodeAt(dn)?(n=":",dn++):(n=e,0===gn&&Tn(Pu)))),n!==e){for(a=[],c=zn();c!==e;)a.push(c),c=zn();r=n=[n,a]}else dn=r,r=e;return u=r!==e?t.substring(u,dn):r,gn--,u===e&&(r=e,0===gn&&Tn(Yu)),u}function Zn(){var u,r,n,a;if(u=dn,34===t.charCodeAt(dn)?(r=A,dn++):(r=e,0===gn&&Tn(Mu)),r!==e){for(n=[],I.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(Ru)),a===e&&(a=Wn())===e&&(a=Vn());a!==e;)n.push(a),I.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(Ru)),a===e&&(a=Wn())===e&&(a=Vn());34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e?(Bn=u,u=na(n)):(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,39===t.charCodeAt(dn)?(r=h,dn++):(r=e,0===gn&&Tn(ku)),r!==e){for(n=[],z.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(Lu)),a===e&&(a=Wn())===e&&(a=Vn());a!==e;)n.push(a),z.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(Lu)),a===e&&(a=Wn())===e&&(a=Vn());39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e?(Bn=u,u=na(n)):(dn=u,u=e)}else dn=u,u=e;return u}function jn(){var u,r,n,a,c;if(u=dn,34===t.charCodeAt(dn)?(r=A,dn++):(r=e,0===gn&&Tn(Mu)),r!==e){for(n=dn,a=[],j.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Gu));c!==e;)a.push(c),j.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Gu));n=t.substring(n,dn),34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,39===t.charCodeAt(dn)?(r=h,dn++):(r=e,0===gn&&Tn(ku)),r!==e){for(n=dn,a=[],_.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Hu));c!==e;)a.push(c),_.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Hu));n=t.substring(n,dn),39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;return u}function _n(){var u,r,n,a,c;if(u=dn,34===t.charCodeAt(dn)?(r=A,dn++):(r=e,0===gn&&Tn(Mu)),r!==e){for(n=dn,a=[],(c=Pn())===e&&(39===t.charCodeAt(dn)?(c=h,dn++):(c=e,0===gn&&Tn(ku)));c!==e;)a.push(c),(c=Pn())===e&&(39===t.charCodeAt(dn)?(c=h,dn++):(c=e,0===gn&&Tn(ku)));n=t.substring(n,dn),34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,39===t.charCodeAt(dn)?(r=h,dn++):(r=e,0===gn&&Tn(ku)),r!==e){for(n=dn,a=[],(c=Pn())===e&&(34===t.charCodeAt(dn)?(c=A,dn++):(c=e,0===gn&&Tn(Mu)));c!==e;)a.push(c),(c=Pn())===e&&(34===t.charCodeAt(dn)?(c=A,dn++):(c=e,0===gn&&Tn(Mu)));n=t.substring(n,dn),39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;return u}function Pn(){var u;return P.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ju)),u}function Yn(){var u,r,n,a,c,A;for(u=dn,r=dn,n=[],a=dn,c=dn,gn++,A=Ln(),gn--,A===e?c=void 0:(dn=c,c=e),c!==e?(Y.test(t.charAt(dn))?(A=t.charAt(dn),dn++):(A=e,0===gn&&Tn(Ku)),A!==e?a=c=[c,A]:(dn=a,a=e)):(dn=a,a=e);a!==e;)n.push(a),a=dn,c=dn,gn++,A=Ln(),gn--,A===e?c=void 0:(dn=c,c=e),c!==e?(Y.test(t.charAt(dn))?(A=t.charAt(dn),dn++):(A=e,0===gn&&Tn(Ku)),A!==e?a=c=[c,A]:(dn=a,a=e)):(dn=a,a=e);return r=t.substring(r,dn),Bn=u,function(t){return t?ra({type:"chardata",value:t}):null}(r)}function Mn(){var u,r,n,a,c,A;if(u=dn,t.substr(dn,4)===s?(r=s,dn+=4):(r=e,0===gn&&Tn(Qu)),r!==e){for(n=[],a=dn,c=dn,gn++,t.substr(dn,2)===o?(A=o,dn+=2):(A=e,0===gn&&Tn(Vu)),gn--,A===e?c=void 0:(dn=c,c=e),c!==e&&(A=wn())!==e?a=A:(dn=a,a=e);a!==e;)n.push(a),a=dn,c=dn,gn++,t.substr(dn,2)===o?(A=o,dn+=2):(A=e,0===gn&&Tn(Vu)),gn--,A===e?c=void 0:(dn=c,c=e),c!==e&&(A=wn())!==e?a=A:(dn=a,a=e);"--\x3e"===t.substr(dn,3)?(a="--\x3e",dn+=3):(a=e,0===gn&&Tn(Wu)),a!==e?(Bn=u,u=function(t){return ra({type:"comment",value:t.join("")})}(n)):(dn=u,u=e)}else dn=u,u=e;return u}function Rn(){var u,r,n,a,c,A,h;if(u=dn,"<?"===t.substr(dn,2)?(r="<?",dn+=2):(r=e,0===gn&&Tn(Xu)),r!==e)if(n=function(){var u,r,n;return u=dn,r=dn,gn++,"xml"===t.substr(dn,3).toLowerCase()?(n=t.substr(dn,3),dn+=3):(n=e,0===gn&&Tn(ur)),gn--,n===e?r=void 0:(dn=r,r=e),r!==e&&(n=Nn())!==e?u=r=[r,n]:(dn=u,u=e),u}(),n!==e){for(In(),a=[],c=dn,A=dn,gn++,t.substr(dn,2)===i?(h=i,dn+=2):(h=e,0===gn&&Tn(tr)),gn--,h===e?A=void 0:(dn=A,A=e),A!==e&&(h=wn())!==e?c=A=[A,h]:(dn=c,c=e);c!==e;)a.push(c),c=dn,A=dn,gn++,t.substr(dn,2)===i?(h=i,dn+=2):(h=e,0===gn&&Tn(tr)),gn--,h===e?A=void 0:(dn=A,A=e),A!==e&&(h=wn())!==e?c=A=[A,h]:(dn=c,c=e);t.substr(dn,2)===i?(c=i,dn+=2):(c=e,0===gn&&Tn(tr)),c!==e?(Bn=u,u=function(t,u){ra({type:"pi",name:t,value:u&&u.join("")})}(n,a)):(dn=u,u=e)}else dn=u,u=e;else dn=u,u=e;return u}function kn(){var u,r,n;return u=dn,r=function(){var u;return t.substr(dn,9)===f?(u=f,dn+=9):(u=e,0===gn&&Tn(rr)),u}(),r!==e?(n=dn,function(){var t,u,r,n;for(t=[],u=dn,r=dn,gn++,n=Ln(),gn--,n===e?r=void 0:(dn=r,r=e),r!==e&&(n=wn())!==e?u=r=[r,n]:(dn=u,u=e);u!==e;)t.push(u),u=dn,r=dn,gn++,n=Ln(),gn--,n===e?r=void 0:(dn=r,r=e),r!==e&&(n=wn())!==e?u=r=[r,n]:(dn=u,u=e)}(),n=t.substring(n,dn),Ln()!==e?(Bn=u,u=ra({type:"cdata",value:n})):(dn=u,u=e)):(dn=u,u=e),u}function Ln(){var u;return"]]>"===t.substr(dn,3)?(u="]]>",dn+=3):(u=e,0===gn&&Tn(er)),u}function Un(){var u,r,n,a;return u=dn,(r=In())===e&&(r=null),61===t.charCodeAt(dn)?(n="=",dn++):(n=e,0===gn&&Tn(cr)),n!==e?((a=In())===e&&(a=null),u=r=[r,n,a]):(dn=u,u=e),u}function qn(){var u;return"1.0"===t.substr(dn,3)?(u="1.0",dn+=3):(u=e,0===gn&&Tn(Ar)),u}function Gn(){var u,r,n;return(u=Mn())===e&&(u=Rn())===e&&(u=dn,r=dn,(r=(n=In())!==e?t.substring(r,dn):n)!==e&&(Bn=u,r=function(t){return ra({type:"chardata",value:t})}(r)),u=r),u}function Hn(){var t,u;return(t=Wn())===e&&(t=dn,(u=In())!==e&&(Bn=t,u=null),t=u),t}function Jn(){var u;return(u=function(){var u;return(u=function(){var u,r,n,a,c;return u=dn,t.substr(dn,8)===D?(r=D,dn+=8):(r=e,0===gn&&Tn(xr)),r!==e&&In()!==e&&(n=Nn())!==e&&In()!==e?(a=function(){var u,r,n;return u=dn,(r=Zn())!==e&&(Bn=u,r=function(t){return ra({type:"entityvalue",value:t})}(r)),(u=r)===e&&(u=dn,(r=Xn())!==e?(n=function(){var u,r,n;return u=dn,In()!==e?(t.substr(dn,5)===b?(r=b,dn+=5):(r=e,0===gn&&Tn(Sr)),r!==e&&In()!==e&&(n=Nn())!==e?(Bn=u,u=function(t){return ra({type:"ndata",value:t})}(n)):(dn=u,u=e)):(dn=u,u=e),u}(),n===e&&(n=null),Bn=u,u=function(t,u){return ea({type:"entityvalue",extid:t},{ndecl:u})}(r,n)):(dn=u,u=e)),u}(),a!==e?(In(),62===t.charCodeAt(dn)?(c=p,dn++):(c=e,0===gn&&Tn(ir)),c!==e?(Bn=u,u=ra({type:"entitydecl",name:n,def:a,kind:"&"})):(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}())===e&&(u=function(){var u,r,n,a,c,A;return u=dn,t.substr(dn,8)===D?(r=D,dn+=8):(r=e,0===gn&&Tn(xr)),r!==e&&In()!==e?(37===t.charCodeAt(dn)?(n="%",dn++):(n=e,0===gn&&Tn(br)),n!==e&&In()!==e&&(a=Nn())!==e&&In()!==e?(c=function(){var t,u;return t=dn,(u=Zn())!==e&&(Bn=t,u=ra({type:"entityvalue",value})),(t=u)===e&&(t=dn,(u=Xn())!==e&&(Bn=t,u=ra({type:"entityvalue",extid})),t=u),t}(),c!==e?(In(),62===t.charCodeAt(dn)?(A=p,dn++):(A=e,0===gn&&Tn(ir)),A!==e?(Bn=u,u=ra({type:"entitydecl",name:a,def:c,kind:"%"})):(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}()),u}())===e&&(u=function(){var u,r,n,a,c;return u=dn,t.substr(dn,10)===m?(r=m,dn+=10):(r=e,0===gn&&Tn(Ir)),r!==e&&In()!==e&&(n=Nn())!==e&&In()!==e?((a=Xn())===e&&(a=function(){var u,r,n;return u=dn,t.substr(dn,6)===y?(r=y,dn+=6):(r=e,0===gn&&Tn($r)),r!==e&&In()!==e&&(n=_n())!==e?(Bn=u,u=function(t){return ra({type:"publicid",value:t})}(n)):(dn=u,u=e),u}()),a!==e?(In(),62===t.charCodeAt(dn)?(c=p,dn++):(c=e,0===gn&&Tn(ir)),c!==e?(Bn=u,u=ra({type:"notationdecl",name:n,id:a})):(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}())===e&&(u=Rn())===e&&(u=Mn()),u}function Kn(){var u,r,n,a,c,A;return u=function(){var u,r,n,a,c,A,h;if(u=dn,60===t.charCodeAt(dn)?(r="<",dn++):(r=e,0===gn&&Tn(Er)),r!==e)if((n=Nn())!==e){for(a=[],c=dn,(A=In())!==e&&(h=Qn())!==e?c=h:(dn=c,c=e);c!==e;)a.push(c),c=dn,(A=In())!==e&&(h=Qn())!==e?c=h:(dn=c,c=e);(c=In())===e&&(c=null),"/>"===t.substr(dn,2)?(A="/>",dn+=2):(A=e,0===gn&&Tn(dr)),A!==e?(Bn=u,u=ra({type:"element",name:n,attr:ca(a)})):(dn=u,u=e)}else dn=u,u=e;else dn=u,u=e;return u}(),u===e&&(u=dn,r=function(){var u,r,n,a,c,A,h;if(u=dn,60===t.charCodeAt(dn)?(r="<",dn++):(r=e,0===gn&&Tn(Er)),r!==e)if(n=function(){var t,u,r;return t=dn,(u=Nn())!==e&&(Bn=t,r=u,aa.push(r),u=r),u}(),n!==e){for(a=[],c=dn,(A=In())!==e&&(h=Qn())!==e?c=h:(dn=c,c=e);c!==e;)a.push(c),c=dn,(A=In())!==e&&(h=Qn())!==e?c=h:(dn=c,c=e);(c=In())===e&&(c=null),62===t.charCodeAt(dn)?(A=p,dn++):(A=e,0===gn&&Tn(ir)),A!==e?(Bn=u,u=ra({type:"element",name:n,attr:ca(a)})):(dn=u,u=e)}else dn=u,u=e;else dn=u,u=e;return u}(),r!==e?(n=function(){var t,u,r,n,a;for(t=dn,u=Yn(),r=[],n=dn,(a=Kn())===e&&(a=Vn())===e&&(a=kn())===e&&(a=Rn())===e&&(a=Mn()),a!==e?n=a=[a,Yn()]:(dn=n,n=e);n!==e;)r.push(n),n=dn,(a=Kn())===e&&(a=Vn())===e&&(a=kn())===e&&(a=Rn())===e&&(a=Mn()),a!==e?n=a=[a,Yn()]:(dn=n,n=e);return Bn=t,function(t,u){const r=[];t&&r.push(t);for(const t of u)r.push(t[0]),t[1]&&r.push(t[1]);return r}(u,r)}(),a=function(){var u,r,n,a,c;return u=dn,"</"===t.substr(dn,2)?(r="</",dn+=2):(r=e,0===gn&&Tn(pr)),r!==e?(n=function(){var t,u;return t=dn,(u=Nn())!==e?(Bn=dn,(function(t){const u=aa.pop();if(u===t)return!0;const r=yn();r.start.offset-=t.length,r.start.column-=t.length,bn(`Expected end tag "${u}" but got "${t}"`,r)}(u)?void 0:e)!==e?t=u:(dn=t,t=e)):(dn=t,t=e),t}(),n!==e?((a=In())===e&&(a=null),62===t.charCodeAt(dn)?(c=p,dn++):(c=e,0===gn&&Tn(ir)),c!==e?u=r=[r,n,a,c]:(dn=u,u=e)):(dn=u,u=e)):(dn=u,u=e),u}(),a!==e?(Bn=u,A=n,(c=r).children=A,c.loc.end=yn().end,u=c):(dn=u,u=e)):(dn=u,u=e)),u}function Qn(){var u,r,n;return u=dn,(r=function(){var t,u;return t=dn,(u=Nn())!==e&&(Bn=t,u=function(t){return ra({type:"attrstr",value:t})}(u)),u}())!==e&&Un()!==e&&(n=function(){var u,r;return u=dn,r=function(){var u,r,n,a,c;if(u=dn,34===t.charCodeAt(dn)?(r=A,dn++):(r=e,0===gn&&Tn(Mu)),r!==e){for(n=dn,a=[],N.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Uu)),c===e&&(c=Vn());c!==e;)a.push(c),N.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Uu)),c===e&&(c=Vn());n=t.substring(n,dn),34===t.charCodeAt(dn)?(a=A,dn++):(a=e,0===gn&&Tn(Mu)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,39===t.charCodeAt(dn)?(r=h,dn++):(r=e,0===gn&&Tn(ku)),r!==e){for(n=dn,a=[],Z.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(qu)),c===e&&(c=Vn());c!==e;)a.push(c),Z.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(qu)),c===e&&(c=Vn());n=t.substring(n,dn),39===t.charCodeAt(dn)?(a=h,dn++):(a=e,0===gn&&Tn(ku)),a!==e?u=n:(dn=u,u=e)}else dn=u,u=e;return u}(),r!==e&&(Bn=u,r=function(t){return ra({type:"attrstr",value:t})}(r)),r}())!==e?(Bn=u,u=function(t,u){return ra({type:"attribute",name:t,value:u})}(r,n)):(dn=u,u=e),u}function Vn(){var u;return(u=function(){var u,r,n,a;return u=dn,38===t.charCodeAt(dn)?(r="&",dn++):(r=e,0===gn&&Tn(yr)),r!==e&&(n=Nn())!==e?(59===t.charCodeAt(dn)?(a=v,dn++):(a=e,0===gn&&Tn(vr)),a!==e?(Bn=u,u=ra({type:"entityref",name:n})):(dn=u,u=e)):(dn=u,u=e),u}())===e&&(u=function(){var u,r,n,a,c;if(u=dn,"&#"===t.substr(dn,2)?(r="&#",dn+=2):(r=e,0===gn&&Tn(Br)),r!==e){if(n=dn,a=[],M.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Fr)),c!==e)for(;c!==e;)a.push(c),M.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(Fr));else a=e;(n=a!==e?t.substring(n,dn):a)!==e?(59===t.charCodeAt(dn)?(a=v,dn++):(a=e,0===gn&&Tn(vr)),a!==e?(Bn=u,u=function(t){return ra({type:"charref",value:parseInt(t,10),base:10})}(n)):(dn=u,u=e)):(dn=u,u=e)}else dn=u,u=e;if(u===e)if(u=dn,"&#x"===t.substr(dn,3)?(r="&#x",dn+=3):(r=e,0===gn&&Tn(Dr)),r!==e){if(n=dn,a=[],R.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(gr)),c!==e)for(;c!==e;)a.push(c),R.test(t.charAt(dn))?(c=t.charAt(dn),dn++):(c=e,0===gn&&Tn(gr));else a=e;(n=a!==e?t.substring(n,dn):a)!==e?(59===t.charCodeAt(dn)?(a=v,dn++):(a=e,0===gn&&Tn(vr)),a!==e?(Bn=u,u=function(t){return ra({type:"charref",value:parseInt(t,16),base:16})}(n)):(dn=u,u=e)):(dn=u,u=e)}else dn=u,u=e;return u}()),u}function Wn(){var u,r,n,a;return u=dn,37===t.charCodeAt(dn)?(r="%",dn++):(r=e,0===gn&&Tn(br)),r!==e&&(n=Nn())!==e?(59===t.charCodeAt(dn)?(a=v,dn++):(a=e,0===gn&&Tn(vr)),a!==e?(Bn=u,u=ra({type:"peref",name:n})):(dn=u,u=e)):(dn=u,u=e),u}function Xn(){var u,r,n,a;return u=dn,t.substr(dn,6)===g?(r=g,dn+=6):(r=e,0===gn&&Tn(mr)),r!==e&&In()!==e&&(n=jn())!==e?(Bn=u,u=function(t){return ra({type:"system",value:t})}(n)):(dn=u,u=e),u===e&&(u=dn,t.substr(dn,6)===y?(r=y,dn+=6):(r=e,0===gn&&Tn($r)),r!==e&&In()!==e&&(n=_n())!==e&&In()!==e&&(a=jn())!==e?(Bn=u,u=function(t,u){return ra({type:"public",value:u,pubid:t})}(n,a)):(dn=u,u=e)),u}function ta(){var u,r,n,a;if(u=dn,k.test(t.charAt(dn))?(r=t.charAt(dn),dn++):(r=e,0===gn&&Tn(Or)),r!==e){for(n=[],L.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(wr)),a===e&&(45===t.charCodeAt(dn)?(a="-",dn++):(a=e,0===gn&&Tn(ju)));a!==e;)n.push(a),L.test(t.charAt(dn))?(a=t.charAt(dn),dn++):(a=e,0===gn&&Tn(wr)),a===e&&(45===t.charCodeAt(dn)?(a="-",dn++):(a=e,0===gn&&Tn(ju)));u=r=[r,n]}else dn=u,u=e;return u}function ua(){var u;return(u=function(){var u;return U.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(zr)),u===e&&(q.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Nr)),u===e&&(G.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Zr)),u===e&&(H.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(jr)),u===e&&(J.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(_r)),u===e&&(K.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Pr)),u===e&&(Q.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Yr)),u===e&&(V.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Mr)),u===e&&(W.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Rr)),u===e&&(X.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(kr)),u===e&&(tt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Lr)),u===e&&(ut.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ur)),u===e&&(rt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(qr)),u===e&&(et.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Gr)),u===e&&(nt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Hr)),u===e&&(at.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Jr)),u===e&&(ct.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Kr)),u===e&&(At.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Qr)),u===e&&(ht.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Vr)),u===e&&(st.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Wr)),u===e&&(ot.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Xr)),u===e&&(it.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(te)),u===e&&(ft.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ue)),u===e&&(Ct.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(re)),u===e&&(lt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ee)),u===e&&(Et.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ne)),u===e&&(pt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ae)),u===e&&(dt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ce)),u===e&&(Bt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ae)),u===e&&(Ft.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(he)),u===e&&(vt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(se)),u===e&&(Dt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(oe)),u===e&&(gt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ie)),u===e&&(yt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(fe)),u===e&&(bt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ce)),u===e&&(xt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(le)),u===e&&(mt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ee)),u===e&&($t.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(pe)),u===e&&(St.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(de)),u===e&&(Tt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Be)),u===e&&(Ot.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Fe)),u===e&&(wt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ve)),u===e&&(It.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(De)),u===e&&(zt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ge)),u===e&&(Nt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ye)),u===e&&(Zt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(be)),u===e&&(jt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(xe)),u===e&&(_t.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(me)),u===e&&(Pt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn($e)),u===e&&(Yt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Se)),u===e&&(Mt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Te)),u===e&&(Rt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Oe)),u===e&&(kt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(we)),u===e&&(Lt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ie)),u===e&&(Ut.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(ze)),u===e&&(qt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ne))))))))))))))))))))))))))))))))))))))))))))))))))))))))),u}())===e&&(u=function(){var u;return Gt.test(t.charAt(dn))?(u=t.charAt(dn),dn++):(u=e,0===gn&&Tn(Ze)),u}()),u}function ra(t){return t.loc||(t.loc=yn()),t}function ea(t,u){for(const[r,e]of Object.entries(u))e&&(t[r]=e);return ra(t)}function na(t){const u=[];let r="";for(const e of t)"string"==typeof e?r+=e:(r&&(u.push(r),r=""),u.push(e));return r&&u.push(r),u}const aa=[];function ca(t){const u={};for(const r of t){const t=r.name.value;u[t]&&bn(`Duplicate attribute "${t}"`,r.loc),u[t]=r}return u}if((r=c())!==e&&dn===t.length)return r;throw r!==e&&dn<t.length&&Tn({type:"end"}),function(t,u,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(t,u),t,u,r)}(Dn,vn<t.length?t.charAt(vn):null,vn<t.length?Sn(vn,vn+1):Sn(vn,vn))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.prototype.format=function(t){var u="Error: "+this.message;if(this.location){var r,e=null;for(r=0;r<t.length;r++)if(t[r].source===this.location.source){e=t[r].text.split(/\r\n|\n|\r/g);break}var n=this.location.start,a=this.location.source+":"+n.line+":"+n.column;if(e){var c=this.location.end,A=peg$padEnd("",n.line.toString().length," "),h=e[n.line-1],s=(n.line===c.line?c.column:h.length+1)-n.column||1;u+="\n --\x3e "+a+"\n"+A+" |\n"+n.line+" | "+h+"\n"+A+" | "+peg$padEnd("",n.column-1," ")+peg$padEnd("",s,"^")}else u+="\n at "+a}return u},peg$SyntaxError.buildMessage=function(t,u){var r={literal:function(t){return'"'+n(t.text)+'"'},class:function(t){var u=t.parts.map((function(t){return Array.isArray(t)?a(t[0])+"-"+a(t[1]):a(t)}));return"["+(t.inverted?"^":"")+u.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(t){return t.description}};function e(t){return t.charCodeAt(0).toString(16).toUpperCase()}function n(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+e(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+e(t)}))}function a(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+e(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+e(t)}))}function c(t){return r[t.type](t)}return"Expected "+function(t){var u,r,e=t.map(c);if(e.sort(),e.length>0){for(u=1,r=1;u<e.length;u++)e[u-1]!==e[u]&&(e[r]=e[u],r++);e.length=r}switch(e.length){case 1:return e[0];case 2:return e[0]+" or "+e[1];default:return e.slice(0,-1).join(", ")+", or "+e[e.length-1]}}(t)+" but "+function(t){return t?'"'+n(t)+'"':"end of input"}(u)+" found."};
|
|
77
|
+
;// CONCATENATED MODULE: external "@markw65/prettier-plugin-monkeyc"
|
|
78
|
+
const prettier_plugin_monkeyc_namespaceObject = require("@markw65/prettier-plugin-monkeyc");
|
|
79
|
+
;// CONCATENATED MODULE: ./src/ast.ts
|
|
80
|
+
|
|
81
|
+
/*
|
|
82
|
+
* This ensures that mctreeTypeInfo has every key of MCTreeTypeInfo,
|
|
83
|
+
* and that the corresponding arrays contain every element of the
|
|
84
|
+
* corresponding type.
|
|
85
|
+
*
|
|
86
|
+
* ie, any time mctree.Node changes, we'll get errors here if
|
|
87
|
+
* mctreeTypeInfo needs updating.
|
|
88
|
+
*
|
|
89
|
+
*/
|
|
90
|
+
function _check(x) {
|
|
91
|
+
const y = x;
|
|
92
|
+
x = y;
|
|
93
|
+
}
|
|
94
|
+
const mctreeTypeInfo = {
|
|
95
|
+
ArrayExpression: { keys: ["elements"], expr: true },
|
|
96
|
+
AssignmentExpression: { keys: ["left", "right"], expr: true },
|
|
97
|
+
AttributeList: { keys: ["attributes"] },
|
|
98
|
+
Attributes: { keys: ["elements"] },
|
|
99
|
+
BinaryExpression: { keys: ["left", "right"], expr: true },
|
|
100
|
+
Block: { keys: [] },
|
|
101
|
+
BlockStatement: { keys: ["body", "innerComments"], stmt: true },
|
|
102
|
+
BreakStatement: { keys: [], stmt: true },
|
|
103
|
+
CallExpression: { keys: ["callee", "arguments"], expr: true },
|
|
104
|
+
CatchClause: { keys: ["param", "body"] },
|
|
105
|
+
CatchClauses: { keys: ["catches"] },
|
|
106
|
+
ClassBody: { keys: ["body"] },
|
|
107
|
+
ClassDeclaration: { keys: ["attrs", "id", "superClass", "body"], stmt: true },
|
|
108
|
+
ClassElement: { keys: ["item"] },
|
|
109
|
+
ConditionalExpression: {
|
|
110
|
+
keys: ["test", "consequent", "alternate"],
|
|
111
|
+
expr: true,
|
|
112
|
+
},
|
|
113
|
+
ContinueStatement: { keys: [], stmt: true },
|
|
114
|
+
DoWhileStatement: { keys: ["body", "test"], stmt: true },
|
|
115
|
+
EnumDeclaration: { keys: ["attrs", "id", "body"], stmt: true },
|
|
116
|
+
EnumStringBody: { keys: ["members"] },
|
|
117
|
+
EnumStringMember: { keys: ["id", "init"] },
|
|
118
|
+
ExpressionStatement: { keys: ["expression"], stmt: true },
|
|
119
|
+
ForStatement: { keys: ["init", "test", "body", "update"], stmt: true },
|
|
120
|
+
FunctionDeclaration: {
|
|
121
|
+
keys: ["attrs", "id", "params", "returnType", "body"],
|
|
122
|
+
stmt: true,
|
|
123
|
+
},
|
|
124
|
+
Identifier: { keys: [], expr: true },
|
|
125
|
+
IfStatement: { keys: ["test", "consequent", "alternate"], stmt: true },
|
|
126
|
+
ImportModule: { keys: ["id"] },
|
|
127
|
+
InstanceOfCase: { keys: ["id"] },
|
|
128
|
+
Line: { keys: [] },
|
|
129
|
+
Literal: { keys: [], expr: true },
|
|
130
|
+
LogicalExpression: { keys: ["left", "right"], expr: true },
|
|
131
|
+
MemberExpression: { keys: ["object", "property"], expr: true },
|
|
132
|
+
MethodDefinition: { keys: ["params", "returnType"] },
|
|
133
|
+
ModuleDeclaration: { keys: ["attrs", "id", "body"], stmt: true },
|
|
134
|
+
MultiLine: { keys: [] },
|
|
135
|
+
NewExpression: { keys: ["callee", "arguments"], expr: true },
|
|
136
|
+
ObjectExpression: { keys: ["properties"], expr: true },
|
|
137
|
+
ParenthesizedExpression: { keys: ["expression"], expr: true },
|
|
138
|
+
Program: { keys: ["body", "comments"] },
|
|
139
|
+
Property: { keys: ["key", "value"] },
|
|
140
|
+
ReturnStatement: { keys: ["argument"], stmt: true },
|
|
141
|
+
SequenceExpression: { keys: ["expressions"], expr: true },
|
|
142
|
+
SizedArrayExpression: { keys: ["size", "ts"], expr: true },
|
|
143
|
+
SwitchCase: { keys: ["test", "consequent"] },
|
|
144
|
+
SwitchStatement: { keys: ["discriminant", "cases"], stmt: true },
|
|
145
|
+
ThisExpression: { keys: [], expr: true },
|
|
146
|
+
ThrowStatement: { keys: ["argument"], stmt: true },
|
|
147
|
+
TryStatement: { keys: ["block", "handler", "finalizer"], stmt: true },
|
|
148
|
+
TypedefDeclaration: { keys: ["attrs", "id", "ts"], stmt: true },
|
|
149
|
+
TypeSpecList: { keys: ["ts"] },
|
|
150
|
+
TypeSpecPart: { keys: ["name", "body", "callspec", "generics"] },
|
|
151
|
+
UnaryExpression: { keys: ["argument"], expr: true },
|
|
152
|
+
UpdateExpression: { keys: ["argument"], expr: true },
|
|
153
|
+
Using: { keys: ["id", "as"] },
|
|
154
|
+
VariableDeclaration: { keys: ["attrs", "declarations"], stmt: true },
|
|
155
|
+
VariableDeclarator: { keys: ["id", "init"] },
|
|
156
|
+
WhileStatement: { keys: ["test", "body"], stmt: true },
|
|
157
|
+
};
|
|
158
|
+
function isMCTreeNode(node) {
|
|
159
|
+
return node ? typeof node === "object" && "type" in node : false;
|
|
160
|
+
}
|
|
161
|
+
/*
|
|
162
|
+
* Traverse the ast rooted at node, calling pre before
|
|
163
|
+
* visiting each node, and post after.
|
|
164
|
+
*
|
|
165
|
+
* - if pre returns false, the node is not traversed, and
|
|
166
|
+
* post is not called;
|
|
167
|
+
* - if pre returns a list of child nodes, only those will
|
|
168
|
+
* be traversed
|
|
169
|
+
* - otherwise all child nodes are traversed
|
|
170
|
+
*
|
|
171
|
+
* - if post returns false, the node it was called on is
|
|
172
|
+
* removed.
|
|
173
|
+
*/
|
|
174
|
+
function traverseAst(node, pre, post) {
|
|
175
|
+
const nodes = pre && pre(node);
|
|
176
|
+
if (nodes === false)
|
|
177
|
+
return;
|
|
178
|
+
if (!mctreeTypeInfo[node.type]) {
|
|
179
|
+
throw new Error("what?");
|
|
180
|
+
}
|
|
181
|
+
for (const key of nodes || mctreeTypeInfo[node.type].keys) {
|
|
182
|
+
const value = node[key];
|
|
183
|
+
if (!value)
|
|
184
|
+
continue;
|
|
185
|
+
if (Array.isArray(value)) {
|
|
186
|
+
const values = value;
|
|
187
|
+
const deletions = values.reduce((state, obj, i) => {
|
|
188
|
+
if (isMCTreeNode(obj)) {
|
|
189
|
+
const repl = traverseAst(obj, pre, post);
|
|
190
|
+
if (repl === false) {
|
|
191
|
+
if (!state)
|
|
192
|
+
state = {};
|
|
193
|
+
state[i] = true;
|
|
194
|
+
}
|
|
195
|
+
else if (repl != null) {
|
|
196
|
+
if (!state)
|
|
197
|
+
state = {};
|
|
198
|
+
values[i] = repl;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return state;
|
|
202
|
+
}, null);
|
|
203
|
+
if (deletions) {
|
|
204
|
+
values.splice(0, values.length, ...values.filter((obj, i) => deletions[i] !== true).flat(1));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
else if (isMCTreeNode(value)) {
|
|
208
|
+
let repl = traverseAst(value, pre, post);
|
|
209
|
+
if (repl === false) {
|
|
210
|
+
delete node[key];
|
|
211
|
+
}
|
|
212
|
+
else if (repl != null) {
|
|
213
|
+
if (Array.isArray(repl)) {
|
|
214
|
+
if (isStatement(value) && repl.every((s) => isStatement(s))) {
|
|
215
|
+
repl = withLoc({
|
|
216
|
+
type: "BlockStatement",
|
|
217
|
+
body: repl,
|
|
218
|
+
}, repl[0], repl[repl.length - 1]);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
throw new Error("Array returned by traverseAst in Node context");
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
node[key] = repl;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return post && post(node);
|
|
229
|
+
}
|
|
230
|
+
function isStatement(node) {
|
|
231
|
+
return hasProperty(mctreeTypeInfo[node.type], "stmt");
|
|
232
|
+
}
|
|
233
|
+
function isExpression(node) {
|
|
234
|
+
return hasProperty(mctreeTypeInfo[node.type], "expr");
|
|
235
|
+
}
|
|
236
|
+
function mayThrow(node) {
|
|
237
|
+
switch (node.type) {
|
|
238
|
+
case "BinaryExpression":
|
|
239
|
+
case "CallExpression":
|
|
240
|
+
case "ConditionalExpression":
|
|
241
|
+
case "LogicalExpression":
|
|
242
|
+
case "NewExpression":
|
|
243
|
+
case "ThrowStatement":
|
|
244
|
+
case "UnaryExpression":
|
|
245
|
+
case "UpdateExpression":
|
|
246
|
+
return true;
|
|
247
|
+
default:
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
function hasProperty(obj, prop) {
|
|
252
|
+
return obj ? Object.prototype.hasOwnProperty.call(obj, prop) : false;
|
|
253
|
+
}
|
|
254
|
+
function withLoc(node, start, end) {
|
|
255
|
+
if (start && start.loc) {
|
|
256
|
+
node.start = start.start;
|
|
257
|
+
if (!node.end)
|
|
258
|
+
node.end = start.end;
|
|
259
|
+
node.loc = { ...(node.loc || start.loc), start: start.loc.start };
|
|
260
|
+
}
|
|
261
|
+
if (end === false) {
|
|
262
|
+
if (node.loc) {
|
|
263
|
+
node.loc.end = node.loc.start;
|
|
264
|
+
node.end = node.start;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
else if (end && end.loc) {
|
|
268
|
+
node.end = end.end;
|
|
269
|
+
node.loc = { ...(node.loc || end.loc), end: end.loc.end };
|
|
270
|
+
}
|
|
271
|
+
return node;
|
|
272
|
+
}
|
|
273
|
+
function withLocDeep(node, start, end, inplace) {
|
|
274
|
+
node = withLoc(inplace ? node : { ...node }, start, end);
|
|
275
|
+
for (const key of mctreeTypeInfo[node.type].keys) {
|
|
276
|
+
const value = node[key];
|
|
277
|
+
if (!value)
|
|
278
|
+
continue;
|
|
279
|
+
const fix = (v) => isMCTreeNode(v) ? withLocDeep(v, start, end, inplace) : v;
|
|
280
|
+
const repl = Array.isArray(value) ? value.map(fix) : fix(value);
|
|
281
|
+
inplace || (node[key] = repl);
|
|
282
|
+
}
|
|
283
|
+
return node;
|
|
284
|
+
}
|
|
285
|
+
function cloneDeep(node) {
|
|
286
|
+
return withLocDeep(node, null);
|
|
287
|
+
}
|
|
288
|
+
function getNodeValue(node) {
|
|
289
|
+
if (node.type == "BinaryExpression" &&
|
|
290
|
+
node.operator == "as" &&
|
|
291
|
+
node.right.type == "TypeSpecList" &&
|
|
292
|
+
node.right.ts.length == 1 &&
|
|
293
|
+
typeof node.right.ts[0] == "string") {
|
|
294
|
+
// this is a cast we inserted to retain the type of an enum
|
|
295
|
+
// any arithmetic on it will revert to "Number", or "Long",
|
|
296
|
+
// so just ignore it.
|
|
297
|
+
return getNodeValue(node.left);
|
|
298
|
+
}
|
|
299
|
+
if (node.type != "Literal") {
|
|
300
|
+
return [null, null];
|
|
301
|
+
}
|
|
302
|
+
if (node.value === null) {
|
|
303
|
+
return [node, "Null"];
|
|
304
|
+
}
|
|
305
|
+
const type = typeof node.value;
|
|
306
|
+
if (type === "number") {
|
|
307
|
+
const match = LiteralIntegerRe.exec(node.raw);
|
|
308
|
+
if (match) {
|
|
309
|
+
return match[2] === "l" || match[2] === "L"
|
|
310
|
+
? [node, "Long"]
|
|
311
|
+
: [node, "Number"];
|
|
312
|
+
}
|
|
313
|
+
return [node, node.raw.endsWith("d") ? "Double" : "Float"];
|
|
314
|
+
}
|
|
315
|
+
if (type === "bigint") {
|
|
316
|
+
return [node, "Long"];
|
|
317
|
+
}
|
|
318
|
+
if (type === "string") {
|
|
319
|
+
return node.raw.startsWith("'")
|
|
320
|
+
? [node, "Char"]
|
|
321
|
+
: [node, "String"];
|
|
322
|
+
}
|
|
323
|
+
if (type === "boolean") {
|
|
324
|
+
return [node, "Boolean"];
|
|
325
|
+
}
|
|
326
|
+
throw new Error(`Literal has unknown type '${type}'`);
|
|
327
|
+
}
|
|
328
|
+
function wrap(node, loc) {
|
|
329
|
+
if (loc) {
|
|
330
|
+
node.loc = loc;
|
|
331
|
+
node.start = loc.start.offset;
|
|
332
|
+
node.end = loc.end.offset;
|
|
333
|
+
}
|
|
334
|
+
return node;
|
|
335
|
+
}
|
|
336
|
+
function locRange(start, end) {
|
|
337
|
+
return {
|
|
338
|
+
source: start.source || end.source,
|
|
339
|
+
start: start.start,
|
|
340
|
+
end: end.end,
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
function adjustLoc(loc, start = 1, end = -1) {
|
|
344
|
+
return {
|
|
345
|
+
source: loc.source,
|
|
346
|
+
start: {
|
|
347
|
+
offset: loc.start.offset + start,
|
|
348
|
+
line: loc.start.line,
|
|
349
|
+
column: loc.start.column + start,
|
|
350
|
+
},
|
|
351
|
+
end: {
|
|
352
|
+
offset: loc.end.offset + end,
|
|
353
|
+
line: loc.end.line,
|
|
354
|
+
column: loc.end.column + end,
|
|
355
|
+
},
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
function makeIdentifier(name, loc) {
|
|
359
|
+
return wrap({ type: "Identifier", name }, loc);
|
|
360
|
+
}
|
|
361
|
+
function makeMemberExpression(object, property) {
|
|
362
|
+
return wrap({
|
|
363
|
+
type: "MemberExpression",
|
|
364
|
+
object,
|
|
365
|
+
property,
|
|
366
|
+
computed: false,
|
|
367
|
+
}, object.loc && locRange(object.loc, property.loc));
|
|
368
|
+
}
|
|
369
|
+
function makeScopedName(dotted, l) {
|
|
370
|
+
const loc = l && adjustLoc(l, 0, l.start.offset - l.end.offset);
|
|
371
|
+
const result = dotted.split(/\s*\.\s*/).reduce(({ cur, offset }, next) => {
|
|
372
|
+
const id = makeIdentifier(next, loc && adjustLoc(loc, offset, offset + next.length));
|
|
373
|
+
if (!cur) {
|
|
374
|
+
cur = id;
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
cur = makeMemberExpression(cur, id);
|
|
378
|
+
}
|
|
379
|
+
offset += next.length + 1;
|
|
380
|
+
return { cur, offset };
|
|
381
|
+
}, { cur: null, offset: 0 }).cur;
|
|
382
|
+
if (!result)
|
|
383
|
+
throw new Error("Failed to make a ScopedName");
|
|
384
|
+
return result;
|
|
385
|
+
}
|
|
386
|
+
|
|
76
387
|
;// CONCATENATED MODULE: ./src/xml-util.ts
|
|
77
388
|
|
|
389
|
+
|
|
78
390
|
class PeggyError extends Error {
|
|
79
391
|
constructor(message, location) {
|
|
80
392
|
super(message);
|
|
81
393
|
this.location = location;
|
|
82
394
|
}
|
|
83
395
|
}
|
|
396
|
+
const entities = {
|
|
397
|
+
lt: "<",
|
|
398
|
+
gt: ">",
|
|
399
|
+
amp: "&",
|
|
400
|
+
apos: "'",
|
|
401
|
+
quot: '"',
|
|
402
|
+
};
|
|
84
403
|
class Document {
|
|
85
404
|
constructor(prolog, body, misc, source) {
|
|
86
405
|
this.prolog = prolog;
|
|
87
406
|
this.body = body;
|
|
88
407
|
this.misc = misc;
|
|
89
408
|
this.source = source;
|
|
409
|
+
this.entities = {};
|
|
410
|
+
this.pentities = {};
|
|
411
|
+
this.prolog?.doctypedecl?.intSubset?.forEach((v) => {
|
|
412
|
+
if (v.type === "entitydecl" && v.def.value) {
|
|
413
|
+
(v.kind === "&" ? this.entities : this.pentities)[v.name] = v.def;
|
|
414
|
+
}
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* If all the children are chardata, charref or entityref,
|
|
419
|
+
* return the resulting string. Otherwise null.
|
|
420
|
+
*/
|
|
421
|
+
textContent(element) {
|
|
422
|
+
if (!element.children)
|
|
423
|
+
return null;
|
|
424
|
+
const result = [];
|
|
425
|
+
return element.children.every((child) => {
|
|
426
|
+
switch (child.type) {
|
|
427
|
+
case "chardata":
|
|
428
|
+
result.push(child.value);
|
|
429
|
+
return true;
|
|
430
|
+
case "charref":
|
|
431
|
+
result.push(String.fromCharCode(child.value));
|
|
432
|
+
return true;
|
|
433
|
+
case "entityref":
|
|
434
|
+
if (hasProperty(entities, child.name)) {
|
|
435
|
+
result.push(entities[child.name]);
|
|
436
|
+
return true;
|
|
437
|
+
}
|
|
438
|
+
if (hasProperty(this.entities, child.name)) {
|
|
439
|
+
result.push(this.processRefs(referenceList(this.entities[child.name].value)));
|
|
440
|
+
}
|
|
441
|
+
return true;
|
|
442
|
+
default:
|
|
443
|
+
return false;
|
|
444
|
+
}
|
|
445
|
+
})
|
|
446
|
+
? result.join("")
|
|
447
|
+
: null;
|
|
448
|
+
}
|
|
449
|
+
processRefs(text) {
|
|
450
|
+
let changes;
|
|
451
|
+
let i = 10;
|
|
452
|
+
do {
|
|
453
|
+
changes = false;
|
|
454
|
+
text = text.replace(/(?:&#(\d+);)|(?:&#x([0-9a-f]+);)|(?:&(\w+);)|(?:%(\w+);)/gi, (_match, decref, hexref, entref, peref) => {
|
|
455
|
+
changes = true;
|
|
456
|
+
if (decref) {
|
|
457
|
+
return String.fromCharCode(parseInt(decref, 10));
|
|
458
|
+
}
|
|
459
|
+
else if (hexref) {
|
|
460
|
+
return String.fromCharCode(parseInt(decref, 16));
|
|
461
|
+
}
|
|
462
|
+
else if (entref) {
|
|
463
|
+
if (hasProperty(entities, entref)) {
|
|
464
|
+
return entities[entref];
|
|
465
|
+
}
|
|
466
|
+
if (hasProperty(this.entities, entref)) {
|
|
467
|
+
return referenceList(this.entities[entref].value);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
else if (hasProperty(this.pentities, peref)) {
|
|
471
|
+
return referenceList(this.pentities[peref].value);
|
|
472
|
+
}
|
|
473
|
+
return "";
|
|
474
|
+
});
|
|
475
|
+
} while (changes && --i);
|
|
476
|
+
return text;
|
|
90
477
|
}
|
|
91
478
|
}
|
|
92
479
|
function elementKids(e) {
|
|
@@ -280,6 +667,18 @@ function writeXml(doc) {
|
|
|
280
667
|
doc.misc.forEach((e) => parts.push(writeNode(e)));
|
|
281
668
|
return parts.join("");
|
|
282
669
|
}
|
|
670
|
+
function visit_xml(contents, visitor) {
|
|
671
|
+
contents.forEach((c) => {
|
|
672
|
+
if (visitor.pre && visitor.pre(c) === false) {
|
|
673
|
+
return;
|
|
674
|
+
}
|
|
675
|
+
if (c.type == "element" && c.children) {
|
|
676
|
+
visit_xml(c.children, visitor);
|
|
677
|
+
}
|
|
678
|
+
if (visitor.post)
|
|
679
|
+
visitor.post(c);
|
|
680
|
+
});
|
|
681
|
+
}
|
|
283
682
|
|
|
284
683
|
;// CONCATENATED MODULE: ./src/readprg.ts
|
|
285
684
|
|