D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` `,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},es=/^#[xX]([A-Fa-f0-9]+)$/,ts=/^#([0-9]+)$/,rs=/^([A-Za-z0-9]+)$/,kt=function(){function t(e){this.named=e}return t.prototype.parse=function(e){if(e){var r=e.match(es);if(r)return String.fromCharCode(parseInt(r[1],16));if(r=e.match(ts),r)return String.fromCharCode(parseInt(r[1],10));if(r=e.match(rs),r)return this.named[r[1]]}},t}(),ns=/[\t\n\f ]/,is=/[A-Za-z]/,ss=/\r\n?/g;function L(t){return ns.test(t)}function wn(t){return is.test(t)}function as(t){return t.replace(ss,` `)}var pr=function(){function t(e,r,n){n===void 0&&(n="precompile"),this.delegate=e,this.entityParser=r,this.mode=n,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var i=this.peek();if(i==="<"&&!this.isIgnoredEndTag())this.transitionTo("tagOpen"),this.markTagStart(),this.consume();else{if(this.mode==="precompile"&&i===` `){var s=this.tagNameBuffer.toLowerCase();(s==="pre"||s==="textarea")&&this.consume()}this.transitionTo("data"),this.delegate.beginData()}},data:function(){var i=this.peek(),s=this.tagNameBuffer;i==="<"&&!this.isIgnoredEndTag()?(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume()):i==="&"&&s!=="script"&&s!=="style"?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(i))},tagOpen:function(){var i=this.consume();i==="!"?this.transitionTo("markupDeclarationOpen"):i==="/"?this.transitionTo("endTagOpen"):(i==="@"||i===":"||wn(i))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(i))},markupDeclarationOpen:function(){var i=this.consume();if(i==="-"&&this.peek()==="-")this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment();else{var s=i.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase();s==="DOCTYPE"&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())}},doctype:function(){var i=this.consume();L(i)&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var i=this.consume();L(i)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(i.toLowerCase()))},doctypeName:function(){var i=this.consume();L(i)?this.transitionTo("afterDoctypeName"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(i.toLowerCase())},afterDoctypeName:function(){var i=this.consume();if(!L(i))if(i===">")this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var s=i.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),a=s.toUpperCase()==="PUBLIC",l=s.toUpperCase()==="SYSTEM";(a||l)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),a?this.transitionTo("afterDoctypePublicKeyword"):l&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var i=this.peek();L(i)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):i==='"'?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):i==="'"?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):i===">"&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var i=this.consume();i==='"'?this.transitionTo("afterDoctypePublicIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(i)},doctypePublicIdentifierSingleQuoted:function(){var i=this.consume();i==="'"?this.transitionTo("afterDoctypePublicIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(i)},afterDoctypePublicIdentifier:function(){var i=this.consume();L(i)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):i==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):i==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var i=this.consume();L(i)||(i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):i==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):i==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var i=this.consume();i==='"'?this.transitionTo("afterDoctypeSystemIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(i)},doctypeSystemIdentifierSingleQuoted:function(){var i=this.consume();i==="'"?this.transitionTo("afterDoctypeSystemIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(i)},afterDoctypeSystemIdentifier:function(){var i=this.consume();L(i)||i===">"&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var i=this.consume();i==="-"?this.transitionTo("commentStartDash"):i===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(i),this.transitionTo("comment"))},commentStartDash:function(){var i=this.consume();i==="-"?this.transitionTo("commentEnd"):i===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var i=this.consume();i==="-"?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(i)},commentEndDash:function(){var i=this.consume();i==="-"?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+i),this.transitionTo("comment"))},commentEnd:function(){var i=this.consume();i===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+i),this.transitionTo("comment"))},tagName:function(){var i=this.consume();L(i)?this.transitionTo("beforeAttributeName"):i==="/"?this.transitionTo("selfClosingStartTag"):i===">"?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(i)},endTagName:function(){var i=this.consume();L(i)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):i==="/"?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):i===">"?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(i)},beforeAttributeName:function(){var i=this.peek();if(L(i)){this.consume();return}else i==="/"?(this.transitionTo("selfClosingStartTag"),this.consume()):i===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):i==="="?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(i)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var i=this.peek();L(i)?(this.transitionTo("afterAttributeName"),this.consume()):i==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):i==="="?(this.transitionTo("beforeAttributeValue"),this.consume()):i===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):i==='"'||i==="'"||i==="<"?(this.delegate.reportSyntaxError(i+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(i)):(this.consume(),this.delegate.appendToAttributeName(i))},afterAttributeName:function(){var i=this.peek();if(L(i)){this.consume();return}else i==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):i==="="?(this.consume(),this.transitionTo("beforeAttributeValue")):i===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(i))},beforeAttributeValue:function(){var i=this.peek();L(i)?this.consume():i==='"'?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):i==="'"?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):i===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(i))},attributeValueDoubleQuoted:function(){var i=this.consume();i==='"'?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):i==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(i)},attributeValueSingleQuoted:function(){var i=this.consume();i==="'"?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):i==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(i)},attributeValueUnquoted:function(){var i=this.peek();L(i)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):i==="/"?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):i==="&"?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):i===">"?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(i))},afterAttributeValueQuoted:function(){var i=this.peek();L(i)?(this.consume(),this.transitionTo("beforeAttributeName")):i==="/"?(this.consume(),this.transitionTo("selfClosingStartTag")):i===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){var i=this.peek();i===">"?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var i=this.consume();(i==="@"||i===":"||wn(i))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(i))}},this.reset()}return t.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},t.prototype.transitionTo=function(e){this.state=e},t.prototype.tokenize=function(e){this.reset(),this.tokenizePart(e),this.tokenizeEOF()},t.prototype.tokenizePart=function(e){for(this.input+=as(e);this.index"||e==="style"&&this.input.substring(this.index,this.index+8)!==""||e==="script"&&this.input.substring(this.index,this.index+9)!=="<\/script>"},t}(),Ul=function(){function t(e,r){r===void 0&&(r={}),this.options=r,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new pr(this,e,r.mode),this._currentAttribute=void 0}return t.prototype.tokenize=function(e){return this.tokens=[],this.tokenizer.tokenize(e),this.tokens},t.prototype.tokenizePart=function(e){return this.tokens=[],this.tokenizer.tokenizePart(e),this.tokens},t.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},t.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},t.prototype.current=function(){var e=this.token;if(e===null)throw new Error("token was unexpectedly null");if(arguments.length===0)return e;for(var r=0;r]/,Gl=new RegExp(ls.source,"g");var Pt=Object.create(null),cs="area base br col command embed hr img input keygen link meta param source track wbr";cs.split(" ").forEach(t=>{Pt[t]=!0});var Y=Object.freeze({line:1,column:0}),kn=Object.freeze({source:"(synthetic)",start:Y,end:Y});var ec=Object.freeze({source:"(temporary)",start:Y,end:Y}),Fe=Object.freeze({source:"(nonexistent)",start:Y,end:Y}),ee=Object.freeze({source:"(broken)",start:Y,end:Y});var Nt=class t{constructor(e){this.loc=e.loc,this.chars=e.chars}static synthetic(e){let r=P.synthetic(e);return new t({loc:r,chars:e})}static load(e,r){return new t({loc:P.load(e,r[1]),chars:r[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}};var Pe="MATCH_ANY",At="IS_INVISIBLE",fr=class{constructor(e){this._whens=e}first(e){for(let r of this._whens){let n=r.match(e);if(He(n))return n[0]}return null}},Ct=class{constructor(){this._map=new Map}get(e,r){let n=this._map.get(e);return n||(n=r(),this._map.set(e,n),n)}add(e,r){this._map.set(e,r)}match(e){let r=us(e),n=[],i=this._map.get(r),s=this._map.get(Pe);return i&&n.push(i),s&&n.push(s),n}};function _t(t){return t(new dr).check()}var dr=class{constructor(){this._whens=new Ct}check(){return(e,r)=>this.matchFor(e.kind,r.kind)(e,r)}matchFor(e,r){let n=this._whens.match(e);return new fr(n).first(r)}when(e,r,n){return this._whens.get(e,()=>new Ct).add(r,n),this}};function us(t){switch(t){case"Broken":case"InternalsSynthetic":case"NonExistent":return At;default:return t}}var te="BROKEN",me=class t{constructor(e){this.data=e}static forHbsPos(e,r){return new re(e,r,null).wrap()}static broken(e=Y){return new Me("Broken",e).wrap()}get offset(){let e=this.data.toCharPos();return e===null?null:e.offset}eql(e){return hs(this.data,e.data)}until(e){return z(this.data,e.data)}move(e){let r=this.data.toCharPos();if(r===null)return t.broken();{let n=r.offset+e;return r.source.check(n)?new ge(r.source,n).wrap():t.broken()}}collapsed(){return z(this.data,this.data)}toJSON(){return this.data.toJSON()}},ge=class{constructor(e,r){this.source=e,this.charPos=r,this.kind="CharPosition",this._locPos=null}toCharPos(){return this}toJSON(){let e=this.toHbsPos();return e===null?Y:e.toJSON()}wrap(){return new me(this)}get offset(){return this.charPos}toHbsPos(){let e=this._locPos;if(e===null){let r=this.source.hbsPosFor(this.charPos);r===null?this._locPos=e=te:this._locPos=e=new re(this.source,r,this.charPos)}return e===te?null:e}},re=class{constructor(e,r,n=null){this.source=e,this.hbsPos=r,this.kind="HbsPosition",this._charPos=n===null?null:new ge(e,n)}toCharPos(){let e=this._charPos;if(e===null){let r=this.source.charPosFor(this.hbsPos);r===null?this._charPos=e=te:this._charPos=e=new ge(this.source,r)}return e===te?null:e}toJSON(){return this.hbsPos}wrap(){return new me(this)}toHbsPos(){return this}},Me=class{constructor(e,r){this.kind=e,this.pos=r}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new me(this)}get offset(){return null}},hs=_t(t=>t.when("HbsPosition","HbsPosition",({hbsPos:e},{hbsPos:r})=>e.column===r.column&&e.line===r.line).when("CharPosition","CharPosition",({charPos:e},{charPos:r})=>e===r).when("CharPosition","HbsPosition",({offset:e},r)=>{var n;return e===((n=r.toCharPos())===null||n===void 0?void 0:n.offset)}).when("HbsPosition","CharPosition",(e,{offset:r})=>{var n;return((n=e.toCharPos())===null||n===void 0?void 0:n.offset)===r}).when(Pe,Pe,()=>!1));var P=class t{constructor(e){this.data=e,this.isInvisible=e.kind!=="CharPosition"&&e.kind!=="HbsPosition"}static get NON_EXISTENT(){return new ne("NonExistent",Fe).wrap()}static load(e,r){if(typeof r=="number")return t.forCharPositions(e,r,r);if(typeof r=="string")return t.synthetic(r);if(Array.isArray(r))return t.forCharPositions(e,r[0],r[1]);if(r==="NonExistent")return t.NON_EXISTENT;if(r==="Broken")return t.broken(ee);bn(r)}static forHbsLoc(e,r){let n=new re(e,r.start),i=new re(e,r.end);return new ot(e,{start:n,end:i},r).wrap()}static forCharPositions(e,r,n){let i=new ge(e,r),s=new ge(e,n);return new at(e,{start:i,end:s}).wrap()}static synthetic(e){return new ne("InternalsSynthetic",Fe,e).wrap()}static broken(e=ee){return new ne("Broken",e).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let e=this.data.toHbsSpan();return e===null?ee:e.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(e){return z(e.data,this.data.getEnd())}withEnd(e){return z(this.data.getStart(),e.data)}asString(){return this.data.asString()}toSlice(e){let r=this.data.asString();return!1&&e!==void 0&&r!==e&&console.warn(`unexpectedly found ${JSON.stringify(r)} when slicing source, but expected ${JSON.stringify(e)}`),new Nt({loc:this,chars:e||r})}get start(){return this.loc.start}set start(e){this.data.locDidUpdate({start:e})}get end(){return this.loc.end}set end(e){this.data.locDidUpdate({end:e})}get source(){return this.module}collapse(e){switch(e){case"start":return this.getStart().collapsed();case"end":return this.getEnd().collapsed()}}extend(e){return z(this.data.getStart(),e.data.getEnd())}serialize(){return this.data.serialize()}slice({skipStart:e=0,skipEnd:r=0}){return z(this.getStart().move(e).data,this.getEnd().move(-r).data)}sliceStartChars({skipStart:e=0,chars:r}){return z(this.getStart().move(e).data,this.getStart().move(e+r).data)}sliceEndChars({skipEnd:e=0,chars:r}){return z(this.getEnd().move(e-r).data,this.getStart().move(-e).data)}},at=class{constructor(e,r){this.source=e,this.charPositions=r,this.kind="CharPosition",this._locPosSpan=null}wrap(){return new P(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let e=this._locPosSpan;if(e===null){let r=this.charPositions.start.toHbsPos(),n=this.charPositions.end.toHbsPos();r===null||n===null?e=this._locPosSpan=te:e=this._locPosSpan=new ot(this.source,{start:r,end:n})}return e===te?null:e}serialize(){let{start:{charPos:e},end:{charPos:r}}=this.charPositions;return e===r?e:[e,r]}toCharPosSpan(){return this}},ot=class{constructor(e,r,n=null){this.source=e,this.hbsPositions=r,this.kind="HbsPosition",this._charPosSpan=null,this._providedHbsLoc=n}serialize(){let e=this.toCharPosSpan();return e===null?"Broken":e.wrap().serialize()}wrap(){return new P(this)}updateProvided(e,r){this._providedHbsLoc&&(this._providedHbsLoc[r]=e),this._charPosSpan=null,this._providedHbsLoc={start:e,end:e}}locDidUpdate({start:e,end:r}){e!==void 0&&(this.updateProvided(e,"start"),this.hbsPositions.start=new re(this.source,e,null)),r!==void 0&&(this.updateProvided(r,"end"),this.hbsPositions.end=new re(this.source,r,null))}asString(){let e=this.toCharPosSpan();return e===null?"":e.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let e=this._charPosSpan;if(e===null){let r=this.hbsPositions.start.toCharPos(),n=this.hbsPositions.end.toCharPos();if(r&&n)e=this._charPosSpan=new at(this.source,{start:r,end:n});else return e=this._charPosSpan=te,null}return e===te?null:e}},ne=class{constructor(e,r,n=null){this.kind=e,this.loc=r,this.string=n}serialize(){switch(this.kind){case"Broken":case"NonExistent":return this.kind;case"InternalsSynthetic":return this.string||""}}wrap(){return new P(this)}asString(){return this.string||""}locDidUpdate({start:e,end:r}){e!==void 0&&(this.loc.start=e),r!==void 0&&(this.loc.end=r)}getModule(){return"an unknown module"}getStart(){return new Me(this.kind,this.loc.start)}getEnd(){return new Me(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return ee}},z=_t(t=>t.when("HbsPosition","HbsPosition",(e,r)=>new ot(e.source,{start:e,end:r}).wrap()).when("CharPosition","CharPosition",(e,r)=>new at(e.source,{start:e,end:r}).wrap()).when("CharPosition","HbsPosition",(e,r)=>{let n=r.toCharPos();return n===null?new ne("Broken",ee).wrap():z(e,n)}).when("HbsPosition","CharPosition",(e,r)=>{let n=e.toCharPos();return n===null?new ne("Broken",ee).wrap():z(n,r)}).when(At,Pe,e=>new ne(e.kind,ee).wrap()).when(Pe,At,(e,r)=>new ne(r.kind,ee).wrap()));var ie=class{constructor(e,r="an unknown module"){this.source=e,this.module=r}check(e){return e>=0&&e<=this.source.length}slice(e,r){return this.source.slice(e,r)}offsetFor(e,r){return me.forHbsPos(this,{line:e,column:r})}spanFor({start:e,end:r}){return P.forHbsLoc(this,{start:{line:e.line,column:e.column},end:{line:r.line,column:r.column}})}hbsPosFor(e){let r=0,n=0;if(e>this.source.length)return null;for(;;){let i=this.source.indexOf(` `,n);if(e<=i||i===-1)return{line:r+1,column:e-n};r+=1,n=i+1}}charPosFor(e){let{line:r,column:n}=e,s=this.source.length,a=0,l=0;for(;;){if(l>=s)return s;let c=this.source.indexOf(` `,l);if(c===-1&&(c=this.source.length),a===r-1){if(l+n>c)return c;if(!1){let h=this.hbsPosFor(l+n)}return l+n}else{if(c===-1)return 0;a+=1,l=c+1}}}};function S(t,e){let{module:r,loc:n}=e,{line:i,column:s}=n.start,a=e.asString(),l=a?` | | ${a.split(` `).join(` | `)} | `:"",c=new Error(`${t}: ${l}(error occurred in '${r}' @ line ${i} : column ${s})`);return c.name="SyntaxError",c.location=e,c.code=a,c}var ps={Program:T("body"),Template:T("body"),Block:T("body"),MustacheStatement:T("path","params","hash"),BlockStatement:T("path","params","hash","program","inverse"),ElementModifierStatement:T("path","params","hash"),PartialStatement:T("name","params","hash"),CommentStatement:T(),MustacheCommentStatement:T(),ElementNode:T("attributes","modifiers","children","comments"),AttrNode:T("value"),TextNode:T(),ConcatStatement:T("parts"),SubExpression:T("path","params","hash"),PathExpression:T(),PathHead:T(),StringLiteral:T(),BooleanLiteral:T(),NumberLiteral:T(),NullLiteral:T(),UndefinedLiteral:T(),Hash:T("pairs"),HashPair:T("value"),NamedBlock:T("attributes","modifiers","children","comments"),SimpleElement:T("attributes","modifiers","children","comments"),Component:T("head","attributes","modifiers","children","comments")},Pn=ps;var mr=function(){t.prototype=Object.create(Error.prototype),t.prototype.constructor=t;function t(e,r,n,i){let s=Error.call(this,e);this.key=i,this.message=e,this.node=r,this.parent=n,this.stack=s.stack}return t}();function gr(t,e,r){return new mr("Cannot remove a node unless it is part of an array",t,e,r)}function Nn(t,e,r){return new mr("Cannot replace a node with multiple nodes unless it is part of an array",t,e,r)}function br(t,e){return new mr("Replacing and removing in key handlers is not yet supported.",t,null,e)}var be=class{constructor(e,r=null,n=null){this.node=e,this.parent=r,this.parentKey=n}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new yr(this)}}},yr=class{constructor(e){this.path=e}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}};function An(t){return typeof t=="function"?t:t.enter}function _n(t){if(typeof t!="function")return t.exit}function fs(t,e){let r=typeof t!="function"?t.keys:void 0;if(r===void 0)return;let n=r[e];return n!==void 0?n:r.All}function ds(t,e){if((e==="Template"||e==="Block")&&t.Program)return t.Program;let r=t[e];return r!==void 0?r:t.All}function Lt(t,e){let{node:r,parent:n,parentKey:i}=e,s=ds(t,r.type),a,l;s!==void 0&&(a=An(s),l=_n(s));let c;if(a!==void 0&&(c=a(r,e)),c!=null)if(JSON.stringify(r)===JSON.stringify(c))c=void 0;else{if(Array.isArray(c))return Ln(t,c,n,i),c;{let h=new be(c,n,i);return Lt(t,h)||c}}if(c===void 0){let h=Pn[r.type];for(let g=0;g@\[-\^`\{-~]/;function Dn(t){let e=Es(t);e&&(t.blockParams=e)}function Es(t){let e=t.attributes.length,r=[];for(let i=0;i0&&r[r.length-1].charAt(0)==="|")throw S("Block parameters must be preceded by the `as` keyword, detected block parameters without `as`",t.loc);if(n!==-1&&e>n&&r[n+1].charAt(0)==="|"){let i=r.slice(n).join(" ");if(i.charAt(i.length-1)!=="|"||i.match(/\|/g).length!==2)throw S("Invalid block parameters syntax, '"+i+"'",t.loc);let s=[];for(let a=n+1;at.acceptNode(a)):[],i=n.length>0?n[n.length-1].loc:r.loc,s=e.hash?t.Hash(e.hash):{type:"Hash",pairs:[],loc:t.source.spanFor(i).collapse("end")};return{path:r,params:n,hash:s}}function Pr(t,e){let{path:r,params:n,hash:i,loc:s}=e;if(Er(r)){let l=`{{${On(r)}}}`,c=`<${t.name} ... ${l} ...`;throw S(`In ${c}, ${l} is not a valid modifier`,e.loc)}let a=x.elementModifier({path:r,params:n,hash:i,loc:s});t.modifiers.push(a)}var Nr=class extends Bt{constructor(){super(...arguments),this.tagOpenLine=0,this.tagOpenColumn=0}reset(){this.currentNode=null}beginComment(){this.currentNode=x.comment("",this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn))}appendToCommentData(e){this.currentComment.value+=e}finishComment(){ye(this.currentElement(),this.finish(this.currentComment))}beginData(){this.currentNode=x.text({chars:"",loc:this.offset().collapsed()})}appendToData(e){this.currentData.chars+=e}finishData(){this.currentData.loc=this.currentData.loc.withEnd(this.offset()),ye(this.currentElement(),this.currentData)}tagOpen(){this.tagOpenLine=this.tokenizer.line,this.tagOpenColumn=this.tokenizer.column}beginStartTag(){this.currentNode={type:"StartTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}beginEndTag(){this.currentNode={type:"EndTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}finishTag(){let e=this.finish(this.currentTag);if(e.type==="StartTag"){if(this.finishStartTag(),e.name===":")throw S("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter",this.source.spanFor({start:this.currentTag.loc.toJSON(),end:this.offset().toJSON()}));(Pt[e.name]||e.selfClosing)&&this.finishEndTag(!0)}else e.type==="EndTag"&&this.finishEndTag(!1)}finishStartTag(){let{name:e,attributes:r,modifiers:n,comments:i,selfClosing:s,loc:a}=this.finish(this.currentStartTag),l=x.element({tag:e,selfClosing:s,attrs:r,modifiers:n,comments:i,children:[],blockParams:[],loc:a});this.elementStack.push(l)}finishEndTag(e){let r=this.finish(this.currentTag),n=this.elementStack.pop(),i=this.currentElement();this.validateEndTag(r,n,e),n.loc=n.loc.withEnd(this.offset()),Dn(n),ye(i,n)}markTagAsSelfClosing(){this.currentTag.selfClosing=!0}appendToTagName(e){this.currentTag.name+=e}beginAttribute(){let e=this.offset();this.currentAttribute={name:"",parts:[],currentPart:null,isQuoted:!1,isDynamic:!1,start:e,valueSpan:e.collapsed()}}appendToAttributeName(e){this.currentAttr.name+=e}beginAttributeValue(e){this.currentAttr.isQuoted=e,this.startTextPart(),this.currentAttr.valueSpan=this.offset().collapsed()}appendToAttributeValue(e){let r=this.currentAttr.parts,n=r[r.length-1],i=this.currentAttr.currentPart;if(i)i.chars+=e,i.loc=i.loc.withEnd(this.offset());else{let s=this.offset();e===` `?s=n?n.loc.getEnd():this.currentAttr.valueSpan.getStart():s=s.move(-1),this.currentAttr.currentPart=x.text({chars:e,loc:s.collapsed()})}}finishAttributeValue(){this.finalizeTextPart();let e=this.currentTag,r=this.offset();if(e.type==="EndTag")throw S("Invalid end tag: closing tag must not have attributes",this.source.spanFor({start:e.loc.toJSON(),end:r.toJSON()}));let{name:n,parts:i,start:s,isQuoted:a,isDynamic:l,valueSpan:c}=this.currentAttr,h=this.assembleAttributeValue(i,a,l,s.until(r));h.loc=c.withEnd(r);let g=x.attr({name:n,value:h,loc:s.until(r)});this.currentStartTag.attributes.push(g)}reportSyntaxError(e){throw S(e,this.offset().collapsed())}assembleConcatenatedValue(e){for(let i=0;i elements do not need end tags. You should remove it`:r.tag===void 0?i=`Closing tag without an open tag`:r.tag!==e.name&&(i=`Closing tag did not match last open tag <${r.tag}> (on line ${r.loc.startPosition.line})`),i)throw S(i,e.loc)}assembleAttributeValue(e,r,n,i){if(n){if(r)return this.assembleConcatenatedValue(e);if(e.length===1||e.length===2&&e[1].type==="TextNode"&&e[1].chars==="/")return e[0];throw S("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'",i)}else return e.length>0?e[0]:x.text({chars:"",loc:i})}},Ys={},Cr=class extends kt{constructor(){super({})}parse(){}};function Un(t,e={}){var r,n,i;let s=e.mode||"precompile",a,l;typeof t=="string"?(a=new ie(t,(r=e.meta)===null||r===void 0?void 0:r.moduleName),s==="codemod"?l=xt(t,e.parseOptions):l=hr(t,e.parseOptions)):t instanceof ie?(a=t,s==="codemod"?l=xt(t.source,e.parseOptions):l=hr(t.source,e.parseOptions)):(a=new ie("",(n=e.meta)===null||n===void 0?void 0:n.moduleName),l=t);let c;s==="codemod"&&(c=new Cr);let h=P.forCharPositions(a,0,a.source.length);l.loc={source:"(program)",start:h.startPosition,end:h.endPosition};let g=new Nr(a,c,s).acceptTemplate(l);if(e.strictMode&&(g.blockParams=(i=e.locals)!==null&&i!==void 0?i:[]),e&&e.plugins&&e.plugins.ast)for(let y=0,F=e.plugins.ast.length;ythis.length)return null;for(var r=0,n=this.offsets;n[r+1]<=e;)r++;var i=e-n[r];return{line:r,column:i}},t.prototype.indexForLocation=function(e){var r=e.line,n=e.column;return r<0||r>=this.offsets.length||n<0||n>this.lengthOfLine(r)?null:this.offsets[r]+n},t.prototype.lengthOfLine=function(e){var r=this.offsets[e],n=e===this.offsets.length-1?this.length:this.offsets[e+1];return n-r},t}();function zs(t,e){let r=new SyntaxError(t+" ("+e.loc.start.line+":"+e.loc.start.column+")");return Object.assign(r,e)}var Gn=zs;function Ws(t){let e=t.children??t.body;if(e)for(let r=0;re.indexForLocation({line:i-1,column:s}),n=i=>{let{start:s,end:a}=i.loc;s.offset=r(s),a.offset=r(a)};return()=>({name:"prettierParsePlugin",visitor:{All(i){n(i),Ws(i)}}})}function js(t){let e;try{e=Un(t,{mode:"codemod",plugins:{ast:[Ks(t)]}})}catch(r){let n=Js(r);if(n){let i=Qs(r);throw Gn(i,{loc:n,cause:r})}throw r}return e}function Qs(t){let{message:e}=t,r=e.split(` `);return r.length>=4&&/^Parse error on line \d+:$/.test(r[0])&&/^-*\^$/.test(he(!1,r,-2))?he(!1,r,-1):r.length>=4&&/:\s?$/.test(r[0])&&/^\(error occurred in '.*?' @ line \d+ : column \d+\)$/.test(he(!1,r,-1))&&r[1]===""&&he(!1,r,-2)===""&&r.slice(2,-2).every(n=>n.startsWith("|"))?r[0].trim().slice(0,-1):e}function Js(t){let{location:e,hash:r}=t;if(e){let{start:n,end:i}=e;return typeof i.line!="number"?{start:n}:e}if(r){let{loc:{last_line:n,last_column:i}}=r;return{start:{line:n,column:i+1}}}}var Xs={parse:js,astFormat:"glimmer",locStart:xe,locEnd:tt};var Yn=[{linguistLanguageId:155,name:"Handlebars",type:"markup",color:"#f7931e",aliases:["hbs","htmlbars"],extensions:[".handlebars",".hbs"],tmScope:"text.html.handlebars",aceMode:"handlebars",parsers:["glimmer"],vscodeLanguageIds:["handlebars"]}];var $s={glimmer:fn};var Fu=_r;export{Fu as default,Yn as languages,Ar as parsers,$s as printers};