{"version":3,"file":"2499.js","mappings":"+GAwgBAA,EAAOC,QAhgBP,SAAcC,GACZ,MAAMC,EAAQD,EAAKC,MAoTbC,EAAgB,CACpB,YACA,kBACA,sBACA,OACA,gBACA,kBACA,WACA,iBACA,cACA,oBACA,wBACA,SACA,aACA,YACA,iBACA,qBACA,iBACA,cACA,UACA,QACA,mBACA,SACA,aACA,iBACA,iBACA,YACA,cACA,uBACA,WACA,oBACA,WACA,cACA,YACA,WACA,oBACA,cACA,oBACA,eACA,wBACA,oBACA,2BACA,kBACA,2BACA,eACA,iBACA,qBACA,yBACA,SACA,gBACA,mBACA,uBACA,iBACA,SACA,gBACA,UACA,cACA,kBACA,WACA,wBACA,0BACA,cACA,aACA,iBACA,YACA,UACA,YACA,UACA,SACA,UACA,oBAGIC,EAAgBH,EAAKI,QACzB,OACA,OACA,CACEC,UAAW,EACXC,SAAU,CACR,CACEC,MAAO,SACPC,MAAO,sBAMTC,EAAU,CACdF,MAAO,OACPG,MAAO,aACPC,IAAK,IACLL,SAAU,CACR,CACEE,MAAO,iBACPD,MAAO,UAETP,EAAKY,sBAIHC,EAAoB,CACxB,QACA,QACA,SACA,cAGF,MAAO,CACLC,KAAM,OACNC,QAAS,CAAE,aACXC,SAAU,CACRC,SAAUjB,EAAKkB,SACfC,MAlaW,CACb,YACA,QACA,OACA,aACA,aACA,cACA,aA4ZEC,KA9YU,CACZ,QACA,QACA,UACA,MACA,OACA,SACA,iBACA,UACA,mBACA,UACA,cACA,aACA,qBACA,SACA,iBACA,0BACA,yBACA,iBACA,gBACA,QA2XEC,QA1Ze,CACjB,MACA,KACA,KACA,OACA,QACA,QACA,WACA,UAmZEC,SAjXc,CAChB,MACA,OACA,QACA,WACA,iBACA,wBACA,eACA,aACA,aACA,OACA,QACA,OACA,QACA,QACA,oBACA,qBACA,kBACA,QACA,OACA,OACA,WACA,qBACA,SACA,MACA,OACA,sBACA,mBACA,0BACA,4BACA,4BACA,OACA,MACA,OACA,eACA,YACA,cACA,gBACA,gBACA,gBACA,0BACA,sBACA,iBACA,MACA,UACA,cACA,cACA,WACA,qBACA,oBACA,UACA,OACA,WACA,cACA,WACA,iBACA,qBACA,cACA,kBACA,eACA,mBACA,MACA,OACA,MACA,OACA,QACA,oBACA,OACA,MACA,OACA,QACA,MACA,OACA,OACA,OACA,UACA,UACA,sBACA,WACA,WACA,OACA,wBACA,eACA,QACA,kBACA,WACA,eACA,gBACA,sBACA,oBACA,qBACA,WACA,MACA,cACA,WACA,UACA,cACA,UACA,WACA,eACA,YACA,UACA,WACA,aACA,SACA,SACA,aACA,cACA,QACA,UACA,QACA,SACA,kBACA,sBACA,uBACA,mBACA,UACA,YACA,MACA,QACA,YACA,kBACA,QACA,YACA,kBACA,eACA,wBACA,gBACA,qBACA,QACA,UACA,iCACA,uBACA,cACA,cACA,oBACA,WACA,aACA,sBACA,eACA,MACA,mBACA,uBACA,oBACA,wBACA,OACA,MACA,6BACA,8BACA,oCACA,oBACA,OACA,QACA,QACA,eACA,eACA,YACA,gBACA,sBACA,UACA,cACA,WACA,eACA,WACA,eACA,gBACA,oBACA,qBACA,iBACA,aACA,iBACA,kBACA,cACA,UACA,MACA,aACA,QACA,oBACA,MACA,QACA,OACA,OACA,KACA,OACA,OACA,UACA,YACA,YACA,YACA,iBACA,gBACA,WACA,OACA,aACA,SACA,YACA,aACA,iBACA,aACA,UACA,mBACA,QACA,MACA,OACA,mBACA,gBACA,4BACA,KACA,UACA,MACA,kBACA,OACA,OACA,UACA,WACA,YACA,mBACA,oBACA,OACA,SACA,mBACA,OACA,UACA,UACA,MACA,MACA,QACA,QACA,4BACA,OACA,MACA,OACA,SACA,aACA,SACA,cACA,cACA,aACA,SACA,YACA,gBACA,YACA,QACA,sBACA,kBACA,WACA,QACA,kBACA,WACA,cACA,kBACA,qBAwHAhB,SAAU,CACRN,EAAKY,oBACLH,EACAT,EAAKuB,kBACLpB,EACA,CACEI,MAAO,WACPC,MAAO,kCACPH,UAAW,GAEb,CACEG,MAAOP,EAAMuB,OAAO,UAAWvB,EAAMwB,UAAUZ,GAAoB,QACnEG,SAAUH,GAEZ,CACEN,MAAO,UACPC,MAAO,sBAET,CAEEA,MAAO,CACL,OACAP,EAAMwB,UAAUvB,GAChB,WACA,iBAEFK,MAAO,CACL,EAAG,WACH,EAAG,YAGP,CAEEA,MAAO,WACPS,SAAUd,EACVQ,MAAOT,EAAMuB,OAAO,MAAOvB,EAAMwB,UAAUvB,GAAgB,8DAE7D,CAEEQ,MAAO,CACL,IACA,MACAT,EAAMuB,OAAOvB,EAAMwB,UAAUvB,GAAgB,oBAE/CK,MAAO,CAAE,EAAG,aAEd,CAEEG,MAAO,CACL,IACA,wBACA,YAAcT,EAAMwB,UAAUvB,GAAiB,QAEjDK,MAAO,CAAE,EAAG,mBAEd,CAEEA,MAAO,iBACPG,MAAO,gEAET,CACEH,MAAO,SACPC,MAAOP,EAAMuB,OAQX,8DAGA,sCAEFnB,UAAW,GAEb,CACEE,MAAO,SACPG,MAAO,IACPC,IAAK,MAIb,C,WCldAb,EAAOC,QAvCP,SAAeC,GACb,MAAO,CACLc,KAAM,QACNC,QAAS,CACP,KACA,OAEFW,kBAAkB,EAClBV,SAAU,4/cACVV,SAAU,CACR,CACEqB,UAAW,SACXjB,MAAO,mBAET,CACEiB,UAAW,WACXjB,MAAO,wBACPL,UAAW,GAEb,CACEsB,UAAW,SACXC,SAAU,CACR,CAAElB,MAAO,kBACT,CAAEA,MAAO,iBAIb,CACEiB,UAAW,WACXC,SAAU,CAAE,CAAElB,MAAO,q5CAGvBV,EAAKI,QAAQ,iBAAiB,GAC9BJ,EAAKY,oBACLZ,EAAK6B,sBAGX,C,WCgBA/B,EAAOC,QA1DP,SAAgBC,GAqBd,MAAO,CACLc,KAAM,eACNC,QAAS,CACP,MACA,OACA,OAEFW,kBAAkB,EAClBV,SA3BsB,CACtBC,SAFsB,oBAGtBI,QAAS,CACP,SACA,SACA,SAuBFf,SAAU,CApBS,CACnBqB,UAAW,OACXjB,MAAO,gBACPL,UAAW,IAEQ,CACnBsB,UAAW,OACXjB,MAAO,oBACPL,UAAW,IAeTL,EAAKY,oBACLZ,EAAK6B,qBACL7B,EAAKI,QAAQ,WAAY,QACzBJ,EAAK8B,cACL9B,EAAK+B,QAAQ/B,EAAKgC,iBAAkB,CAAEC,QAAS,OAC/CjC,EAAK+B,QAAQ/B,EAAKkC,kBAAmB,CAAED,QAAS,OAChD,CACEN,UAAW,SACXjB,MAAO,IACPC,IAAK,KAEP,CACEgB,UAAW,SACXC,SAAU,CACR,CACElB,MAAO,IACPC,IAAK,OACLsB,QAAS,UAMrB,C,WChEA,MAyKME,EAAO,CA3HX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,QAIA,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,YAWIC,EAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,cACAC,OAAOC,UAGHC,EAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,SACAF,OAAOC,UAGHE,EAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,kBACAH,OAAOC,UAEHG,EAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,aACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,wBACA,0BACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,KACA,KACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,oBACA,cACA,oBACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,cACA,gBACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,QACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,UACA,kBACA,gBACA,eACA,OACA,iBACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,aACA,aACA,eACA,OACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,QACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,QACA,WACA,MACA,WACA,eACA,cACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,c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,GAAML,EAAOK,KAAIT,KAAK,GAEjD,CA0BA,SAAS5B,KAAUmC,GAEjB,MAAMG,EAtBR,SAA8BH,GAC5B,MAAMG,EAAOH,EAAKA,EAAKI,OAAS,GAEhC,MAAoB,iBAATD,GAAqBA,EAAKE,cAAgBC,QACnDN,EAAKO,OAAOP,EAAKI,OAAS,EAAG,GACtBD,GAEA,CAAC,CAEZ,CAaeK,CAAqBR,GAIlC,MAHe,KACVG,EAAKM,QAAU,GAAK,MACrBT,EAAKC,KAAKC,GAAML,EAAOK,KAAIT,KAAK,KAAO,GAE7C,CAEA,MAAMiB,EAAiBjD,GAAWG,EAChC,KACAH,EACA,MAAMkD,KAAKlD,GAAW,KAAO,MAIzBmD,EAAc,CAClB,WACA,QACAX,IAAIS,GAGAG,EAAsB,CAC1B,OACA,QACAZ,IAAIS,GAGAI,EAAe,CACnB,MACA,QAII1D,EAAW,CAIf,QACA,MACA,iBACA,QACA,QACA,OACA,MACA,KACA,YACA,QACA,OACA,QACA,QACA,UACA,YACA,WACA,cACA,OACA,UACA,QACA,SACA,SACA,cACA,KACA,UACA,OACA,OACA,OACA,YACA,cACA,qBACA,cACA,QACA,MACA,OACA,MACA,QACA,KACA,SACA,WACA,QACA,SACA,QACA,QACA,kBACA,WACA,KACA,KACA,WACA,cACA,OACA,MACA,QACA,WACA,cACA,cACA,OACA,WACA,WACA,WACA,UACA,UACA,kBACA,SACA,iBACA,UACA,WACA,gBACA,SACA,SACA,WACA,WACA,SACA,MACA,OACA,SACA,SACA,YACA,QACA,SACA,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,WAOI2D,EAAW,CACf,QACA,MACA,QAIIC,EAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,SAKIC,EAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,YAIIC,EAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,OAIIC,EAAetD,EACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,YAIIuD,EAAoBvD,EACxBsD,EACA,kBACA,kBACA,kBACA,kBACA,mBAMIE,EAAWzD,EAAOuD,EAAcC,EAAmB,KAGnDE,EAAiBzD,EACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,gCASI0D,EAAsB1D,EAC1ByD,EACA,KACA,0DAIIE,EAAa5D,EAAO0D,EAAgBC,EAAqB,KAGzDE,EAAiB7D,EAAO,QAAS2D,EAAqB,KAKtDG,EAAoB,CACxB,WACA,cACA9D,EAAO,eAAgBC,EAAO,QAAS,QAAS,KAAM,MACtD,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAD,EAAO,SAAU4D,EAAY,MAC7B,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,2BAIIG,EAAuB,CAC3B,MACA,0BACA,QACA,4BACA,cACA,kCACA,UACA,8BACA,OACA,2BACA,SAkiBFzF,EAAOC,QAphBP,SAAeC,GACb,MAAMwF,EAAa,CACjBhF,MAAO,MACPH,UAAW,GAGPF,EAAgBH,EAAKI,QACzB,OACA,OACA,CAAEE,SAAU,CAAE,UAEVmF,EAAW,CACfzF,EAAKY,oBACLT,GAKIuF,EAAc,CAClBlF,MAAO,CACL,KACAiB,KAAU+C,KAAgBC,IAE5B9C,UAAW,CAAE,EAAG,YAEZgE,EAAgB,CAEpBnF,MAAOgB,EAAO,KAAMC,KAAUT,IAC9BX,UAAW,GAEPuF,EAAiB5E,EACpB6E,QAAOC,GAAoB,iBAAPA,IACpBtE,OAAO,CAAE,QAKNuE,EAAU,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,MAAO,YAGT,CACEiB,UAAW,SACXC,SAAU,CACR,CAAElB,MAAO,OACT,CAAEA,MAAO,cAKnB,C,WCkJAZ,EAAOC,QAtLP,SAAaC,GACX,MAAMC,EAAQD,EAAKC,MACb2I,EAAY,yBAEZpC,EAAS,CACb7E,UAAW,SACXC,SAAU,CACR5B,EAAK6I,mBACL7I,EAAK8B,gBA6HT,MAAO,CACLhB,KAAM,MACNC,QAAS,CAAE,MACXC,SA5He,CACf,QACA,SACA,QACA,QACA,cACA,cACA,YACA,eACA,mBACA,eACA,aACA,UACA,SACA,QACA,QACA,KACA,OACA,QACA,QACA,SACA,WACA,MACA,OACA,WACA,MACA,QACA,OACA,OACA,OACA,OACA,WACA,aACA,QACA,OACA,YACA,WACA,QACA,MACA,UACA,SACA,OACA,OACA,SACA,UACA,OACA,KACA,OACA,OACA,SACA,OACA,aACA,aACA,YACA,aACA,OACA,aACA,OACA,YACA,aACA,cACA,cACA,aACA,UACA,WACA,WACA,SACA,SACA,SACA,YACA,OACA,UACA,SACA,MACA,cACA,cACA,WACA,kBACA,OACA,OACA,MACA,OACA,UACA,SACA,WACA,YACA,SACA,SACA,OACA,OACA,OACA,MACA,SACA,SACA,QACA,SACA,QACA,SACA,gBACA,kBACA,sBACA,0BACA,qBACA,sBACA,UACA,UACA,OACA,OACA,KACA,QACA,UACA,SACA,QACA,SACA,UACA,QACA,WACA,QACA,SAOAV,SAAU,CACRN,EAAKI,QAAQ,YAAa,KAC1BJ,EAAKI,QAAQ,YAAa,KAC1B,CACEsI,cAAe,OACf/H,IAAK,QACLmI,YAAY,EACZxI,SAAU,CACR,CACEqB,UAAW,QACXjB,MAAO,kDACPC,IAAK,eACLoI,gBAAgB,EAChBD,YAAY,KAIlB,CACEnH,UAAW,WACXC,SAAU,CACR,CAAElB,MAAOT,EAAMuB,OACb,KACAvB,EAAM+I,SAAS,MACfJ,EACA,MACAA,EACA,OAEF,CACElI,MAAO,2CACPC,IAAK,MACLL,SAAU,CAAEkG,MAIlB,CACE7E,UAAW,SACXrB,SAAU,CAAEN,EAAKkH,kBACjBtF,SAAU,CAAE5B,EAAK+B,QAAQ/B,EAAKkC,kBAAmB,CAAED,QAAS,SAE9DuE,GAGN,C,UChHA1G,EAAOC,QApEP,SAAgBC,GACd,MAAMiJ,EAAQ,CACZ,OACA,OACA,MACA,MACA,MACA,SACA,SACA,UAkBF,MAAO,CACLnI,KAAM,SACNE,SAAU,CACRK,QAnBa,CACf,YACA,QACA,UACA,SACA,OACA,UACA,YACA,OACA,SACA,MACA,OACA,MACA,WACA,YAMED,KAAM6H,EACNhD,QAAS,cAEX3F,SAAU,CACRN,EAAKkC,kBACLlC,EAAKkJ,YACLlJ,EAAKY,oBACLZ,EAAK6B,qBACL,CACEF,UAAW,QACX+G,cAAe,gCACf/H,IAAK,KACLsB,QAAS,KACT3B,SAAU,CACRN,EAAK+B,QAAQ/B,EAAKmJ,WAAY,CAE5B7F,OAAQ,CACNyF,gBAAgB,EAChBD,YAAY,OAIpB,CACEpI,MAAO,yBACPM,SAAU,CAAEI,KAAM,IACb6H,EACH,MACA,OACA,QAEFtI,IAAK,IACLL,SAAU,CAAE,UAIpB,C,WCiGAR,EAAOC,QApKP,SAAYC,GACV,MAAMoJ,EAAO,CACXzH,UAAW,SACXjB,MAAO,cACPL,UAAW,GAEPgJ,EAAU,CACd1H,UAAW,SACXjB,MAAO,YA4GT,MAAO,CACLI,KAAM,KACNE,SAAU,CACRK,QAtFa,CACf,QACA,MACA,SACA,MACA,QACA,QACA,OACA,MACA,MACA,YACA,SACA,KACA,KACA,MACA,SACA,OACA,MACA,SACA,UACA,aACA,OACA,MACA,KACA,QACA,MACA,KACA,MACA,mBACA,OACA,MACA,UACA,SACA,SACA,KACA,WACA,QACA,OACA,MACA,QACA,MACA,SACA,OACA,OACA,KACA,KACA,KACA,cACA,cACA,KACA,KACA,aACA,YACA,SACA,OACA,IACA,IACA,IACA,IACA,IACA,IACA,SACA,SACA,UACA,UACA,OACA,OACA,KACA,OAmBE4E,QAjBa,CACf,KACA,MACA,YACA,OACA,OACA,SACA,UACA,QACA,OACA,UASA3F,SAAU,CAhHG,CACbqB,UAAW,WACXjB,MAAO,2HAEPC,IAAK,MACLL,SAAU,CACR,OACA8I,EACAC,IAGS,CACX1H,UAAW,WACXjB,MAAO,6CACPC,IAAK,MACLL,SAAU,CACR,OACA8I,EACApJ,EAAKkC,kBACLmH,IAgGA,CACE1H,UAAW,UACXjB,MAAO,8BAET,CAEEiB,UAAW,UACXjB,MAAO,iCAET,CAGEiB,UAAW,UACXjB,MAAO,yDAET,CAEEiB,UAAW,SACXjB,MAAO,6DACPL,UAAW,GAEbL,EAAKI,QAAQ,KAAM,QACnBJ,EAAKI,QAAQ,IAAK,QAClBJ,EAAKI,QAAQ,QAAS,KACtBJ,EAAKkC,kBACL,CACEP,UAAW,SACXjB,MAAO,IACPC,IAAK,KAEPX,EAAK8B,cACL,CACEH,UAAW,WACXjB,MAAO,qBAIf,C,WC0FAZ,EAAOC,QA1PP,SAAcC,GACZ,MAAMC,EAAQD,EAAKC,MACbqJ,EAAiB,CACrB,eACA,UACA,gBACA,YACA,QACA,WACA,eACA,oBACA,aACA,QACA,OACA,OACA,aACA,SACA,WACA,cACA,YACA,aACA,YACA,WACA,aACA,cACA,eACA,UACA,aACA,cACA,aACA,MACA,MACA,SACA,SACA,SACA,QACA,gBACA,SACA,aACA,SACA,uBACA,SA2EF,IAAIC,EAAY,CACd,QACA,aACA,QACA,QACA,aACA,KACA,QACA,UACA,SACA,QACA,MACA,aACA,OACA,KACA,SACA,UACA,QACA,UACA,MACA,YACA,QACA,uBACA,cACA,MACA,WACA,QAGFA,EAAYA,EAAU/H,OAAO+H,EAAU1F,KAAI2F,GAAK,MAAMA,OAEtD,MAAMxC,EAAS,CACbzG,MAAO,SACPqB,SAAU,CACR,CACElB,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,OAKL6F,EAAS,CACbjG,MAAO,SACPC,MAAO,OAGHiJ,EAAS,CACb/I,MAAO,KACPC,IAAK,KACL+I,cAAc,EACdZ,YAAY,EACZxI,SAAU,CACR0G,EACAR,IAKEmD,EAAY,CAChBjB,cAAeY,EAAejG,KAAK,KACnCrC,SAAU,CAAEF,KAAMwI,GAClBjJ,UAAW,EACXC,SAAU,CAAEmJ,IAGRG,EAAS,CACbpJ,MAAO,qBACP4H,WAAY,cACZ/H,UAAW,EACXC,SAAU,CACR,CACEE,MAAO,eACPQ,SApJU,CACd,MACA,aACA,cACA,QACA,aACA,SACA,mBACA,eACA,gBACA,kBACA,WACA,OACA,cACA,UACA,SACA,eACA,YACA,gBACA,SACA,QACA,SACA,cACA,sBACA,kBACA,cACA,kBACA,cACA,wBACA,gBACA,cACA,mBACA,WACA,eACA,aACA,OACA,cACA,OACA,gBACA,OACA,SACA,cACA,QACA,MACA,WACA,mBACA,QACA,QACA,gBACA,MACA,SACA,UACA,UACA,QACA,QACA,OACA,OACA,YACA,QACA,YACA,gBACA,QACA,QACA,cACA,OACA,MACA,QACA,aACA,YACA,kBAoFI6I,EAAW,CAACC,GAAYzJ,gBACrB,CACL+H,WAAY,CACV,EAAG,eACH,EAAG,QAEL/H,UAAWA,GAAa,EACxB0J,SAAU,eACVrJ,MAAO,CACL,MACA,MACAT,EAAMwB,UAAUqI,IAElBnJ,IAAK,MACLK,SAAU,KACVV,SAAU,CACRsJ,EACAD,EACA3C,EACAR,KAMAwD,EAAMH,EAASN,EAAW,CAAElJ,UAAW,IACvC4J,EAAaJ,EAAS,CAFN,WAEyB,CAAExJ,UAAW,IAE5D,MAAO,CACLS,KAAM,OACNC,QAAS,CAAE,YACXW,kBAAkB,EAClBiH,YAAa,MACbrI,SAAU,CACRN,EAAKI,QAAQ,MAAO,OACpB4J,EACAC,EACA,CACEtI,UAAW,oBACXjB,MAAO,OACPC,IAAK,OACLL,SAAU,CACR,OACAsJ,EACAD,EACA3C,EACAR,KAKV,C,WCjQA,MAAMtF,EAAW,2BACX8E,EAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,WAEIkE,EAAW,CACf,OACA,QACA,O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,QACA,WACA,iBACA,UACA,SACA,QACA,MACA,QACA,WACA,MACA,OACA,MACA,MACA,SACA,SACA,QACA,YACA,MACA,QACA,QACA,QACA,OACA,OACA,MACA,WACA,OACA,UACA,MACA,eACA,cACA,MACA,eACA,MACA,QACA,OACA,MACA,WACA,QACA,MACA,OACA,UACA,OACA,OACA,gBACA,MACA,WACA,OACA,OACA,OACA,SACA,OACA,OAwFF,MAAO,CACL3N,KAAM,WACNC,QAAS,CAAE,OACXW,kBAAkB,EAClBV,SAAU,CACRK,QAjEa,CACf,OACA,QACA,QACA,MACA,KACA,OACA,QACA,UACA,gBACA,OACA,MACA,OACA,OACA,WACA,KACA,OACA,OACA,KACA,QACA,SACA,WACA,MACA,UACA,WACA,MACA,MACA,SACA,YACA,QACA,MACA,SACA,OACA,MACA,OACA,MACA,QACA,OACA,OACA,MACA,KACA,SACA,KACA,KACA,MACA,MACA,MACA,mBACA,kBACA,UACA,WACA,KACA,KACA,QACA,QACA,OACA,SACA,QASEC,SA5FqB,CACvB,SACA,WACA,UAEA,eACA,2BACA,2BACA,4BAqFE2E,QA3Ea,CACf,OACA,QACA,OACA,UACA,UAwEAhE,QAAS,KACT3B,SAAU,CArFU,CACpBI,MAAOT,EAAMuB,OAAOvB,EAAMwB,UAAUgN,GAAqB,WAEzDpO,UAAW,EACXW,SAAU,CAAEM,SAAUmN,IAmFpBzO,EAAK+B,QAAQ/B,EAAKkC,kBAAmB,CAAE5B,SAAU,CAAE,CAAEI,MAAO,SAC5DV,EAAKI,QACH,IACA,IACA,CAAEC,UAAW,IAEfL,EAAK8B,eAGX,C,WC4UAhC,EAAOC,QA5hBP,SAAiBC,GACf,MAAMC,EAAQD,EAAKC,MA2cbyO,EAAa,CACjB,iBACA,aACA,kBACA,qBACA,0BACA,SACA,yBACA,kBACA,kBACA,kBACA,OACA,QACA,eACA,gBACA,QACA,QACA,SACA,UACA,OACA,sBACA,SACA,WACA,YACA,oBACA,QACA,eAGF,MAAO,CACL5N,KAAM,UACNC,QAAS,CACP,IACA,KACA,OAEFW,kBAAkB,EAClBV,SA/ee,CACfC,SAAU,qBACVI,QAAS,CACP,YACA,QACA,SACA,cACA,YACA,eACA,MACA,SACA,SACA,SACA,YACA,SACA,QACA,OACA,OACA,SACA,MACA,QACA,QACA,SACA,SACA,OACA,OACA,QACA,QACA,OACA,UACA,UACA,QACA,WACA,OACA,SACA,QACA,aACA,UACA,WACA,QACA,aACA,aACA,QACA,WACA,UACA,WACA,SACA,UACA,OACA,KACA,OACA,OACA,MACA,UACA,aACA,WACA,cACA,YACA,cACA,cACA,WACA,eACA,YACA,aACA,eACA,aACA,cACA,aACA,cACA,WACA,UACA,OACA,QACA,aACA,SACA,SACA,UACA,SACA,QACA,cACA,MACA,QACA,UACA,UACA,OACA,WACA,WACA,aACA,SACA,SACA,SACA,SACA,KACA,MACA,SACA,cACA,eACA,aACA,UACA,SACA,SACA,UACA,UACA,QACA,QACA,SACA,WACA,MACA,UACA,eACA,YACA,YACA,OACA,WACA,YACA,QACA,MACA,UACA,UACA,QACA,aACA,QACA,UACA,cACA,UACA,SACA,UACA,SACA,OACA,UACA,UACA,MACA,WACA,OACA,MACA,kBACA,MACA,SACA,SACA,KACA,SACA,UACA,SACA,YACA,OACA,UACA,YACA,WACA,UACA,WACA,YACA,QACA,QACA,WACA,SACA,sBACA,qBACA,OACA,OACA,QACA,WACA,eACA,QACA,OACA,WACA,MACA,MACA,YACA,UACA,SACA,WACA,SACA,QACA,QACA,QACA,WACA,WACA,WACA,eACA,aACA,UACA,eACA,WACA,WACA,WACA,YACA,gBACA,SACA,QACA,OACA,QACA,UACA,YACA,SACA,SACA,SACA,UACA,UACA,SACA,QACA,UACA,UACA,iBACA,iBACA,QACA,SACA,OACA,OACA,aACA,OACA,gBACA,WACA,OACA,UACA,UACA,MACA,OACA,OACA,SACA,QACA,SACA,OACA,UACA,QACA,SACA,UACA,WACA,QACA,aACA,UACA,MACA,QACA,MACA,WACA,UACA,OACA,OACA,aACA,OACA,OACA,QACA,QACA,QACA,WACA,OACA,OACA,SACA,MACA,OACA,OAEF4E,QAAS,CAAE,QACX3E,SAAU,CACR,UACA,QACA,QACA,SACA,SACA,WACA,QACA,YACA,QACA,kBACA,cACA,mBACA,QACA,UACA,QACA,QACA,SACA,cACA,cACA,mBACA,QACA,YACA,YACA,cACA,gBACA,gBACA,sBACA,aACA,iBACA,iBACA,iBACA,oBACA,eACA,WACA,QACA,WACA,aACA,aACA,gBACA,eACA,eACA,oBACA,gBACA,iBACA,wBACA,QACA,UACA,QACA,aACA,eACA,eACA,gBACA,iBACA,WACA,oBACA,kBACA,gBACA,oBACA,YACA,uBACA,QACA,OACA,aACA,SACA,MACA,SACA,OACA,QACA,OACA,SACA,QACA,OACA,OACA,OACA,aACA,UACA,aACA,SACA,WACA,cACA,SACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,QACA,QACA,QACA,SACA,SACA,SACA,aACA,WACA,SACA,QACA,UACA,mBACA,eACA,oBACA,eACA,gBACA,UACA,gBACA,gBACA,YACA,UACA,mBACA,oBACA,kBACA,mBACA,kBACA,mBACA,iBACA,kBACA,SACA,UACA,YACA,mBACA,oBACA,kBACA,mBACA,kBACA,mBACA,iBACA,kBACA,UACA,WACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,SACA,YACA,YACA,aACA,kBACA,YACA,UACA,aACA,aACA,eACA,kBACA,UACA,UACA,UACA,WACA,YACA,YACA,YACA,aACA,YACA,WACA,WACA,aACA,gBACA,gBACA,kBACA,UACA,YACA,aACA,aACA,aACA,WACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,QACA,SACA,UACA,WACA,WACA,WACA,YACA,aACA,aACA,aACA,WACA,YACA,SACA,UACA,SACA,UACA,UACA,SACA,YA6CFhB,SAAU,CACRN,EAAK6B,qBACL7B,EAAKY,oBACLZ,EAAKkC,kBACL,CACE3B,MAAO,SACPD,SAAU,CAAEN,EAAKkH,kBACjBtF,SAAU,CACR,CAAElB,MAAO,2CACT,CAAEA,MAAO,wCACT,CACEA,MAAO,iBACPL,UAAW,KAKjB,CACEE,MAAO,WACPqB,SAAU,CACR,CAAElB,MAAO,0BACT,CACEA,MAAO,UACPL,UAAW,KAIjB,CACEE,MAAO,oBACPC,MAAOP,EAAMuB,OAAO,IAAKvB,EAAMwB,OAtEnC,WACA,cAuEE,CACElB,MAAO,OACPG,MAAOT,EAAMuB,OAAO,IAAKvB,EAAMwB,UAAUiN,IACzC/N,IAAK,cACLmL,WAAW,EACX9K,SAAU0N,IAIlB,C,WC5UA5O,EAAOC,QA9MP,SAAcC,GAIZ,MAAM2O,EAAa,cACbC,EAAc,YAAcD,EAM5B3L,EAAY,QAFO2L,sBAAqFC,EAAc,MAE9E,KALnBD,EAAa,OAASA,EAAtBA,MAAgDC,EAAc,MAKhB,IAmKzE,MAAO,CACL9N,KAAM,OACNY,kBAAkB,EAClBV,SAAU,CACRK,QArKa,CACf,MACA,SACA,QACA,QACA,MACA,MACA,eACA,QACA,SACA,SACA,mBACA,YACA,QACA,QACA,OACA,SACA,MACA,OACA,YACA,gBACA,WACA,UACA,QACA,aACA,SACA,UACA,OACA,QACA,MACA,SACA,OACA,WACA,OACA,MACA,QACA,WACA,WACA,UACA,QACA,UACA,KACA,SACA,KACA,WACA,QACA,KACA,QACA,UACA,UACA,UACA,OACA,MACA,MACA,OACA,MACA,OACA,MACA,MACA,OACA,KACA,KACA,OACA,KACA,SACA,MACA,UACA,YACA,OACA,YACA,YACA,UACA,WACA,YACA,OACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,WACA,qBACA,SACA,MACA,MACA,SACA,WACA,WACA,SACA,SACA,MACA,MACA,MACA,MACA,SACA,UACA,OACA,KACA,YACA,OACA,aACA,QACA,QACA,MACA,WACA,OACA,QACA,QACA,QACA,OACA,OACA,QACA,OACA,OACA,OAkDEC,SAhDc,CAChB,UACA,MACA,YACA,UACA,OACA,eACA,UACA,WACA,SACA,aACA,iBACA,mBACA,YACA,mBACA,WACA,SACA,iBACA,iBACA,aACA,oBACA,sBACA,aACA,oBACA,WACA,cACA,eAuBE2E,QArBa,CAEf,QACA,OACA,OACA,UACA,QACA,UAEA,OACA,OACA,OACA,UAWAhE,QAAS,KACT3B,SAAU,CACRN,EAAK6B,qBACL7B,EAAKI,QAAQ,KAAM,KACnBJ,EAAKkC,kBACL,CACEP,UAAW,SACXjB,MAAOsC,EACP3C,UAAW,GAEb,CACEsB,UAAW,SACXjB,MAAO,wBACPJ,SAAU,CAAEN,EAAKkH,mBAEnB,CACEvF,UAAW,SACXjB,MAAO,4BACPJ,SAAU,CAAEN,EAAKkH,oBAIzB,C,WCrFApH,EAAOC,QAxHP,SAAaC,GACX,MAAO,CACLc,KAAM,aACNE,SAAU,CACRC,SAAU,WACVI,QAEE,mwLAkBFC,SACE,+nEAoCJW,QAAS,IACT3B,SAAU,CACRN,EAAKkJ,YACL,CACEvH,UAAW,SACXjB,MAAO,IACPC,IAAK,IACLsB,QAAS,OAaX,CACEN,UAAW,SACXjB,MAAO,wBAETV,EAAKI,QAAQ,IAAK,KAElB,CACEuB,UAAW,WACXjB,MAAO,uBAET,CACEA,MAAO,CACL,2BACA,MACAV,EAAKkB,UAEPS,UAAW,CACT,EAAG,UACH,EAAG,SAELhB,IAAK,IACLN,UAAW,EACXC,SAAU,CACR,CACEqB,UAAW,SACXjB,MAAO,MACPC,IAAK,SAIX,CACEgB,UAAW,SACXjB,MAAO,aAIf,C,WCYAZ,EAAOC,QAjIP,SAAcC,GACZA,EAAKC,MACL,MAAME,EAAgBH,EAAKI,QAAQ,MAAO,OA0G1C,OAzGAD,EAAcG,SAASoH,KAAK,QAyGrB,CACL5G,KAAM,cACNE,SAAU,CACRC,SAAU,SACVI,QA1GQ,CACV,UACA,QACA,KACA,QACA,WACA,OACA,gBACA,OACA,OACA,OACA,OACA,MACA,SACA,OACA,aACA,aACA,YACA,YACA,YACA,aACA,YACA,SACA,KACA,SACA,QACA,OACA,SACA,cACA,cACA,SACA,MACA,MACA,SACA,QACA,SACA,SACA,SACA,aACA,YACA,QACA,QACA,YACA,OACA,OACA,gBA+DAf,SAAU,CA9GSN,EAAKI,QAAQ,KAAM,KAgHpCD,EApBiB,CACnBK,MAAO,CACL,mBACA,MACA,KAEFmB,UAAW,CACT,EAAG,UACH,EAAG,aAtCU,CACfA,UAAW,WACXjB,MAAO,YAGM,CACbF,MAAO,gBACPmB,UAAW,cACXtB,UAAW,GApBc,CACzBK,MAAO,CACL,8BACA,MACA,aAEFiB,UAAW,CACT,EAAG,UACH,EAAG,mBA2DH3B,EAAKkC,kBArCI,CAEX1B,MAAO,0BACPmB,UAAW,QAGW,CACtBA,UAAW,UAEXnB,MAAO,qZAhBM,CACbmB,UAAW,SACXtB,UAAW,EAEXG,MAAO,oNA8CX,C,WCqKAV,EAAOC,QAnSP,SAAcC,GACZ,MAAMC,EAAQD,EAAKC,MACbiB,EAAW,cACX8E,EAAW,CACf,KACA,QACA,QACA,YACA,WACA,OACA,MACA,UACA,KACA,SACA,KACA,KACA,SACA,SACA,MACA,SAEIkE,EAAW,CACf,OACA,QACA,QAEI2E,EAAgB,CACpB,OACA,SAiBIxI,EAAY,CAChB,IACA,IACA,KACA,IACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,IACA,SACA,KACA,KACA,IACA,OACA,KACA,MACA,KAEIyI,EAAW,CACfzO,UAAW,EACXG,MAAOP,EAAMuB,OAAO,oCAAqCN,EAAU,eACnES,UAAW,kBAEP6K,EAAsB,CAC1BhM,MAAOP,EAAMuB,OACXvB,EAAMwB,OACJxB,EAAMuB,OAAO,oCAAqCN,GAClDjB,EAAMwB,UAAU4E,IAElB,yBACF1E,UAAW,iBACX2B,OAAQ,CAAEhD,SAAU,CAClB,CACEI,MAAO,KACPC,IAAK,KACLL,SAAU,CACR,CACED,UAAW,EACXE,MAAO,SACPC,MAAOU,QAMX6N,EAAmB,CACvBnN,SAAU,CACR,CAAEpB,MAAO,CACP,WACAU,EACA,WACAA,IAEF,CAAEV,MAAO,CACP,WACAU,KAGJX,MAAO,CACL,EAAG,cACH,EAAG,yBAELS,SAAUgF,GAGNgJ,EAAW,CACf3O,UAAW,EACXG,MAAOP,EAAMwB,UAAU4E,GACvB1E,UAAW,YASPsN,EAAW,CACftN,UAAW,WACXjB,MAAOT,EAAMuB,OAAO,KAAMvB,EAAM0D,UAAUzC,IAC1CP,IAAKO,EACLwI,cAAc,EACdrJ,UAAW,GAGP6O,EAAQ,CACZ7O,UAAW,EACXG,MAAOP,EAAMuB,OAAO,MAAON,GAC3BX,MAAO,YAIH+L,EAAkB,CACtBjM,UAAW,EACXG,MAAO,gCACPD,MAAO,cACPS,SAAU,CAAEuL,EAvHO,CACnB,OACA,QACA,QACA,KACA,OACA,MACA,OACA,MACA,SACA,QACA,WACA,SACA,YA8GI/F,EAASxG,EAAK8B,cAEdqN,EAAS,CACb3O,MAAO,CACLU,EACA,MACA,IACA,MACA,KACAA,EACA,WAEFX,MAAO,CACL,EAAG,iBACH,EAAG,WACH,EAAG,WAID6O,EAAepP,EAAKI,QACxB,SACA,OACA,CAAEE,SAAU,CACV,CACEE,MAAO,UACPD,MAAO,UAET,UAGEqL,EAAQ,CACZrL,MAAO,QACPG,MAAO,MACPC,IAAK,KACLL,SAAU,CACRkG,EACA8F,EACAwC,EACAI,EACAF,IAGEhI,EAAS,CACbzG,MAAO,SACPG,MAAO,IACPC,IAAK,IACLL,SAAU,CACRsL,EACA,CACErL,MAAO,cACPqB,SAAU,CACR,CAAEpB,MAAO,wBACT,CAAEA,MAAO,kBACT,CAAEA,MAAO,kBACT,CAAEA,MAAO,sBAKjBoL,EAAMtL,SAASoH,KAAKV,GAEpB,MAAMqI,EAAU,IACXrJ,KACA6I,KACA3E,GAEC/G,EAAW,CACf9C,UAAW,EACXG,MAAOP,EAAMuB,OACX,SACA6N,EAAQhM,KAAK,KACb,OACA,2BAEF1B,UAAW,YAoCb,MAAO,CACLb,KAAM,OACNE,SAAU,CACRK,QAAS2E,EACT,oBAAqB6I,EACrB5I,QAASiE,GAEX5J,SAAU,CAvCM,CAEhBC,MAAO,UACPqB,SAAU,CACR,CACElB,MAAO,CACL,MACA,oBAEF0H,WAAY,CAEZ,EACApH,SAAU,CAAEiF,QAASiE,GACrB5J,SAAU,GAIVK,IAAK,MAEP,CACED,MAAO,CACL,MACA,cAEF0H,WAAY,CAEZ,EACAzH,IAAK,OAcP6F,EACAQ,EArJkB,CACpBrF,UAAW,SACXjB,MAAO,MACPC,IAAK,OAoJHyO,EACApP,EAAKY,oBACLZ,EAAK6B,qBACLyK,EACAyC,EACAI,EACA3C,EACAsC,EACAE,EACAE,EACAD,EACA9L,GAGN,C","sources":["webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/stan.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/stata.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/step21.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/stylus.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/subunit.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/swift.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/taggerscript.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/tap.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/tcl.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/thrift.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/tp.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/twig.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/typescript.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/vala.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/vbnet.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/vbscript-html.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/vbscript.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/verilog.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/vhdl.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/vim.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/wasm.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/wren.js"],"sourcesContent":["/*\nLanguage: Stan\nDescription: The Stan probabilistic programming language\nAuthor: Sean Pinkney \nWebsite: http://mc-stan.org/\nCategory: scientific\n*/\n\nfunction stan(hljs) {\n const regex = hljs.regex;\n // variable names cannot conflict with block identifiers\n const BLOCKS = [\n 'functions',\n 'model',\n 'data',\n 'parameters',\n 'quantities',\n 'transformed',\n 'generated'\n ];\n\n const STATEMENTS = [\n 'for',\n 'in',\n 'if',\n 'else',\n 'while',\n 'break',\n 'continue',\n 'return'\n ];\n\n const TYPES = [\n 'array',\n 'tuple',\n 'complex',\n 'int',\n 'real',\n 'vector',\n 'complex_vector',\n 'ordered',\n 'positive_ordered',\n 'simplex',\n 'unit_vector',\n 'row_vector',\n 'complex_row_vector',\n 'matrix',\n 'complex_matrix',\n 'cholesky_factor_corr|10',\n 'cholesky_factor_cov|10',\n 'corr_matrix|10',\n 'cov_matrix|10',\n 'void'\n ];\n\n // to get the functions list\n // clone the [stan-docs repo](https://github.com/stan-dev/docs)\n // then cd into it and run this bash script https://gist.github.com/joshgoebel/dcd33f82d4059a907c986049893843cf\n //\n // the output files are\n // distributions_quoted.txt\n // functions_quoted.txt\n\n const FUNCTIONS = [\n 'abs',\n 'acos',\n 'acosh',\n 'add_diag',\n 'algebra_solver',\n 'algebra_solver_newton',\n 'append_array',\n 'append_col',\n 'append_row',\n 'asin',\n 'asinh',\n 'atan',\n 'atan2',\n 'atanh',\n 'bessel_first_kind',\n 'bessel_second_kind',\n 'binary_log_loss',\n 'block',\n 'cbrt',\n 'ceil',\n 'chol2inv',\n 'cholesky_decompose',\n 'choose',\n 'col',\n 'cols',\n 'columns_dot_product',\n 'columns_dot_self',\n 'complex_schur_decompose',\n 'complex_schur_decompose_t',\n 'complex_schur_decompose_u',\n 'conj',\n 'cos',\n 'cosh',\n 'cov_exp_quad',\n 'crossprod',\n 'csr_extract',\n 'csr_extract_u',\n 'csr_extract_v',\n 'csr_extract_w',\n 'csr_matrix_times_vector',\n 'csr_to_dense_matrix',\n 'cumulative_sum',\n 'dae',\n 'dae_tol',\n 'determinant',\n 'diag_matrix',\n 'diagonal',\n 'diag_post_multiply',\n 'diag_pre_multiply',\n 'digamma',\n 'dims',\n 'distance',\n 'dot_product',\n 'dot_self',\n 'eigendecompose',\n 'eigendecompose_sym',\n 'eigenvalues',\n 'eigenvalues_sym',\n 'eigenvectors',\n 'eigenvectors_sym',\n 'erf',\n 'erfc',\n 'exp',\n 'exp2',\n 'expm1',\n 'falling_factorial',\n 'fdim',\n 'fft',\n 'fft2',\n 'floor',\n 'fma',\n 'fmax',\n 'fmin',\n 'fmod',\n 'gamma_p',\n 'gamma_q',\n 'generalized_inverse',\n 'get_imag',\n 'get_real',\n 'head',\n 'hmm_hidden_state_prob',\n 'hmm_marginal',\n 'hypot',\n 'identity_matrix',\n 'inc_beta',\n 'integrate_1d',\n 'integrate_ode',\n 'integrate_ode_adams',\n 'integrate_ode_bdf',\n 'integrate_ode_rk45',\n 'int_step',\n 'inv',\n 'inv_cloglog',\n 'inv_erfc',\n 'inverse',\n 'inverse_spd',\n 'inv_fft',\n 'inv_fft2',\n 'inv_inc_beta',\n 'inv_logit',\n 'inv_Phi',\n 'inv_sqrt',\n 'inv_square',\n 'is_inf',\n 'is_nan',\n 'lambert_w0',\n 'lambert_wm1',\n 'lbeta',\n 'lchoose',\n 'ldexp',\n 'lgamma',\n 'linspaced_array',\n 'linspaced_int_array',\n 'linspaced_row_vector',\n 'linspaced_vector',\n 'lmgamma',\n 'lmultiply',\n 'log',\n 'log1m',\n 'log1m_exp',\n 'log1m_inv_logit',\n 'log1p',\n 'log1p_exp',\n 'log_determinant',\n 'log_diff_exp',\n 'log_falling_factorial',\n 'log_inv_logit',\n 'log_inv_logit_diff',\n 'logit',\n 'log_mix',\n 'log_modified_bessel_first_kind',\n 'log_rising_factorial',\n 'log_softmax',\n 'log_sum_exp',\n 'machine_precision',\n 'map_rect',\n 'matrix_exp',\n 'matrix_exp_multiply',\n 'matrix_power',\n 'max',\n 'mdivide_left_spd',\n 'mdivide_left_tri_low',\n 'mdivide_right_spd',\n 'mdivide_right_tri_low',\n 'mean',\n 'min',\n 'modified_bessel_first_kind',\n 'modified_bessel_second_kind',\n 'multiply_lower_tri_self_transpose',\n 'negative_infinity',\n 'norm',\n 'norm1',\n 'norm2',\n 'not_a_number',\n 'num_elements',\n 'ode_adams',\n 'ode_adams_tol',\n 'ode_adjoint_tol_ctl',\n 'ode_bdf',\n 'ode_bdf_tol',\n 'ode_ckrk',\n 'ode_ckrk_tol',\n 'ode_rk45',\n 'ode_rk45_tol',\n 'one_hot_array',\n 'one_hot_int_array',\n 'one_hot_row_vector',\n 'one_hot_vector',\n 'ones_array',\n 'ones_int_array',\n 'ones_row_vector',\n 'ones_vector',\n 'owens_t',\n 'Phi',\n 'Phi_approx',\n 'polar',\n 'positive_infinity',\n 'pow',\n 'print',\n 'prod',\n 'proj',\n 'qr',\n 'qr_Q',\n 'qr_R',\n 'qr_thin',\n 'qr_thin_Q',\n 'qr_thin_R',\n 'quad_form',\n 'quad_form_diag',\n 'quad_form_sym',\n 'quantile',\n 'rank',\n 'reduce_sum',\n 'reject',\n 'rep_array',\n 'rep_matrix',\n 'rep_row_vector',\n 'rep_vector',\n 'reverse',\n 'rising_factorial',\n 'round',\n 'row',\n 'rows',\n 'rows_dot_product',\n 'rows_dot_self',\n 'scale_matrix_exp_multiply',\n 'sd',\n 'segment',\n 'sin',\n 'singular_values',\n 'sinh',\n 'size',\n 'softmax',\n 'sort_asc',\n 'sort_desc',\n 'sort_indices_asc',\n 'sort_indices_desc',\n 'sqrt',\n 'square',\n 'squared_distance',\n 'step',\n 'sub_col',\n 'sub_row',\n 'sum',\n 'svd',\n 'svd_U',\n 'svd_V',\n 'symmetrize_from_lower_tri',\n 'tail',\n 'tan',\n 'tanh',\n 'target',\n 'tcrossprod',\n 'tgamma',\n 'to_array_1d',\n 'to_array_2d',\n 'to_complex',\n 'to_int',\n 'to_matrix',\n 'to_row_vector',\n 'to_vector',\n 'trace',\n 'trace_gen_quad_form',\n 'trace_quad_form',\n 'trigamma',\n 'trunc',\n 'uniform_simplex',\n 'variance',\n 'zeros_array',\n 'zeros_int_array',\n 'zeros_row_vector'\n ];\n\n const DISTRIBUTIONS = [\n 'bernoulli',\n 'bernoulli_logit',\n 'bernoulli_logit_glm',\n 'beta',\n 'beta_binomial',\n 'beta_proportion',\n 'binomial',\n 'binomial_logit',\n 'categorical',\n 'categorical_logit',\n 'categorical_logit_glm',\n 'cauchy',\n 'chi_square',\n 'dirichlet',\n 'discrete_range',\n 'double_exponential',\n 'exp_mod_normal',\n 'exponential',\n 'frechet',\n 'gamma',\n 'gaussian_dlm_obs',\n 'gumbel',\n 'hmm_latent',\n 'hypergeometric',\n 'inv_chi_square',\n 'inv_gamma',\n 'inv_wishart',\n 'inv_wishart_cholesky',\n 'lkj_corr',\n 'lkj_corr_cholesky',\n 'logistic',\n 'loglogistic',\n 'lognormal',\n 'multi_gp',\n 'multi_gp_cholesky',\n 'multinomial',\n 'multinomial_logit',\n 'multi_normal',\n 'multi_normal_cholesky',\n 'multi_normal_prec',\n 'multi_student_cholesky_t',\n 'multi_student_t',\n 'multi_student_t_cholesky',\n 'neg_binomial',\n 'neg_binomial_2',\n 'neg_binomial_2_log',\n 'neg_binomial_2_log_glm',\n 'normal',\n 'normal_id_glm',\n 'ordered_logistic',\n 'ordered_logistic_glm',\n 'ordered_probit',\n 'pareto',\n 'pareto_type_2',\n 'poisson',\n 'poisson_log',\n 'poisson_log_glm',\n 'rayleigh',\n 'scaled_inv_chi_square',\n 'skew_double_exponential',\n 'skew_normal',\n 'std_normal',\n 'std_normal_log',\n 'student_t',\n 'uniform',\n 'von_mises',\n 'weibull',\n 'wiener',\n 'wishart',\n 'wishart_cholesky'\n ];\n\n const BLOCK_COMMENT = hljs.COMMENT(\n /\\/\\*/,\n /\\*\\//,\n {\n relevance: 0,\n contains: [\n {\n scope: 'doctag',\n match: /@(return|param)/\n }\n ]\n }\n );\n\n const INCLUDE = {\n scope: 'meta',\n begin: /#include\\b/,\n end: /$/,\n contains: [\n {\n match: /[a-z][a-z-._]+/,\n scope: 'string'\n },\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n\n const RANGE_CONSTRAINTS = [\n \"lower\",\n \"upper\",\n \"offset\",\n \"multiplier\"\n ];\n\n return {\n name: 'Stan',\n aliases: [ 'stanfuncs' ],\n keywords: {\n $pattern: hljs.IDENT_RE,\n title: BLOCKS,\n type: TYPES,\n keyword: STATEMENTS,\n built_in: FUNCTIONS\n },\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n INCLUDE,\n hljs.HASH_COMMENT_MODE,\n BLOCK_COMMENT,\n {\n scope: 'built_in',\n match: /\\s(pi|e|sqrt2|log2|log10)(?=\\()/,\n relevance: 0\n },\n {\n match: regex.concat(/[<,]\\s*/, regex.either(...RANGE_CONSTRAINTS), /\\s*=/),\n keywords: RANGE_CONSTRAINTS\n },\n {\n scope: 'keyword',\n match: /\\btarget(?=\\s*\\+=)/,\n },\n {\n // highlights the 'T' in T[,] for only Stan language distributrions\n match: [\n /~\\s*/,\n regex.either(...DISTRIBUTIONS),\n /(?:\\(\\))/,\n /\\s*T(?=\\s*\\[)/\n ],\n scope: {\n 2: \"built_in\",\n 4: \"keyword\"\n }\n },\n {\n // highlights distributions that end with special endings\n scope: 'built_in',\n keywords: DISTRIBUTIONS,\n begin: regex.concat(/\\w*/, regex.either(...DISTRIBUTIONS), /(_lpdf|_lupdf|_lpmf|_cdf|_lcdf|_lccdf|_qf)(?=\\s*[\\(.*\\)])/)\n },\n {\n // highlights distributions after ~\n begin: [\n /~/,\n /\\s*/,\n regex.concat(regex.either(...DISTRIBUTIONS), /(?=\\s*[\\(.*\\)])/)\n ],\n scope: { 3: \"built_in\" }\n },\n {\n // highlights user defined distributions after ~\n begin: [\n /~/,\n /\\s*\\w+(?=\\s*[\\(.*\\)])/,\n '(?!.*/\\b(' + regex.either(...DISTRIBUTIONS) + ')\\b)'\n ],\n scope: { 2: \"title.function\" }\n },\n {\n // highlights user defined distributions with special endings\n scope: 'title.function',\n begin: /\\w*(_lpdf|_lupdf|_lpmf|_cdf|_lcdf|_lccdf|_qf)(?=\\s*[\\(.*\\)])/\n },\n {\n scope: 'number',\n match: regex.concat(\n // Comes from @RunDevelopment accessed 11/29/2021 at\n // https://github.com/PrismJS/prism/blob/c53ad2e65b7193ab4f03a1797506a54bbb33d5a2/components/prism-stan.js#L56\n\n // start of big noncapture group which\n // 1. gets numbers that are by themselves\n // 2. numbers that are separated by _\n // 3. numbers that are separted by .\n /(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)/,\n // grabs scientific notation\n // grabs complex numbers with i\n /(?:[eE][+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/\n ),\n relevance: 0\n },\n {\n scope: 'string',\n begin: /\"/,\n end: /\"/\n }\n ]\n };\n}\n\nmodule.exports = stan;\n","/*\nLanguage: Stata\nAuthor: Brian Quistorff \nContributors: Drew McDonald \nDescription: Stata is a general-purpose statistical software package created in 1985 by StataCorp.\nWebsite: https://en.wikipedia.org/wiki/Stata\nCategory: scientific\n*/\n\n/*\n This is a fork and modification of Drew McDonald's file (https://github.com/drewmcdonald/stata-highlighting). I have also included a list of builtin commands from https://bugs.kde.org/show_bug.cgi?id=135646.\n*/\n\nfunction stata(hljs) {\n return {\n name: 'Stata',\n aliases: [\n 'do',\n 'ado'\n ],\n case_insensitive: true,\n keywords: 'if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey bias binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 bubble bubbleplot ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error esize est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 forest forestplot form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate funnel funnelplot g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labbe labbeplot labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize menl meqparse mer merg merge meta mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trimfill trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5',\n contains: [\n {\n className: 'symbol',\n begin: /`[a-zA-Z0-9_]+'/\n },\n {\n className: 'variable',\n begin: /\\$\\{?[a-zA-Z0-9_]+\\}?/,\n relevance: 0\n },\n {\n className: 'string',\n variants: [\n { begin: '`\"[^\\r\\n]*?\"\\'' },\n { begin: '\"[^\\r\\n\"]*\"' }\n ]\n },\n\n {\n className: 'built_in',\n variants: [ { begin: '\\\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\\\()' } ]\n },\n\n hljs.COMMENT('^[ \\t]*\\\\*.*$', false),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n}\n\nmodule.exports = stata;\n","/*\nLanguage: STEP Part 21\nContributors: Adam Joseph Cook \nDescription: Syntax highlighter for STEP Part 21 files (ISO 10303-21).\nWebsite: https://en.wikipedia.org/wiki/ISO_10303-21\nCategory: syntax\n*/\n\nfunction step21(hljs) {\n const STEP21_IDENT_RE = '[A-Z_][A-Z0-9_.]*';\n const STEP21_KEYWORDS = {\n $pattern: STEP21_IDENT_RE,\n keyword: [\n \"HEADER\",\n \"ENDSEC\",\n \"DATA\"\n ]\n };\n const STEP21_START = {\n className: 'meta',\n begin: 'ISO-10303-21;',\n relevance: 10\n };\n const STEP21_CLOSE = {\n className: 'meta',\n begin: 'END-ISO-10303-21;',\n relevance: 10\n };\n\n return {\n name: 'STEP Part 21',\n aliases: [\n 'p21',\n 'step',\n 'stp'\n ],\n case_insensitive: true, // STEP 21 is case insensitive in theory, in practice all non-comments are capitalized.\n keywords: STEP21_KEYWORDS,\n contains: [\n STEP21_START,\n STEP21_CLOSE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.COMMENT('/\\\\*\\\\*!', '\\\\*/'),\n hljs.C_NUMBER_MODE,\n hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null }),\n {\n className: 'string',\n begin: \"'\",\n end: \"'\"\n },\n {\n className: 'symbol',\n variants: [\n {\n begin: '#',\n end: '\\\\d+',\n illegal: '\\\\W'\n }\n ]\n }\n ]\n };\n}\n\nmodule.exports = step21;\n","const MODES = (hljs) => {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'animation',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-timing-function',\n 'appearance',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-decoration-break',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'cx',\n 'cy',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'content',\n 'content-visibility',\n 'counter-increment',\n 'counter-reset',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flow',\n 'flood-color',\n 'flood-opacity',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-size',\n 'font-size-adjust',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-variant',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'inline-size',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'kerning',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'mask',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'pointer-events',\n 'position',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'scale',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'tab-size',\n 'table-layout',\n 'text-anchor',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'top',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'vector-effect',\n 'vertical-align',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index'\n].sort().reverse();\n\n/*\nLanguage: Stylus\nAuthor: Bryant Williams \nDescription: Stylus is an expressive, robust, feature-rich CSS language built for nodejs.\nWebsite: https://github.com/stylus/stylus\nCategory: css, web\n*/\n\n\n/** @type LanguageFn */\nfunction stylus(hljs) {\n const modes = MODES(hljs);\n\n const AT_MODIFIERS = \"and or not only\";\n const VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + hljs.IDENT_RE\n };\n\n const AT_KEYWORDS = [\n 'charset',\n 'css',\n 'debug',\n 'extend',\n 'font-face',\n 'for',\n 'import',\n 'include',\n 'keyframes',\n 'media',\n 'mixin',\n 'page',\n 'warn',\n 'while'\n ];\n\n const LOOKAHEAD_TAG_END = '(?=[.\\\\s\\\\n[:,(])';\n\n // illegals\n const ILLEGAL = [\n '\\\\?',\n '(\\\\bReturn\\\\b)', // monkey\n '(\\\\bEnd\\\\b)', // monkey\n '(\\\\bend\\\\b)', // vbscript\n '(\\\\bdef\\\\b)', // gradle\n ';', // a whole lot of languages\n '#\\\\s', // markdown\n '\\\\*\\\\s', // markdown\n '===\\\\s', // markdown\n '\\\\|',\n '%' // prolog\n ];\n\n return {\n name: 'Stylus',\n aliases: [ 'styl' ],\n case_insensitive: false,\n keywords: 'if else for in',\n illegal: '(' + ILLEGAL.join('|') + ')',\n contains: [\n\n // strings\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n\n // comments\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n\n // hex colors\n modes.HEXCOLOR,\n\n // class tag\n {\n begin: '\\\\.[a-zA-Z][a-zA-Z0-9_-]*' + LOOKAHEAD_TAG_END,\n className: 'selector-class'\n },\n\n // id tag\n {\n begin: '#[a-zA-Z][a-zA-Z0-9_-]*' + LOOKAHEAD_TAG_END,\n className: 'selector-id'\n },\n\n // tags\n {\n begin: '\\\\b(' + TAGS.join('|') + ')' + LOOKAHEAD_TAG_END,\n className: 'selector-tag'\n },\n\n // psuedo selectors\n {\n className: 'selector-pseudo',\n begin: '&?:(' + PSEUDO_CLASSES.join('|') + ')' + LOOKAHEAD_TAG_END\n },\n {\n className: 'selector-pseudo',\n begin: '&?:(:)?(' + PSEUDO_ELEMENTS.join('|') + ')' + LOOKAHEAD_TAG_END\n },\n\n modes.ATTRIBUTE_SELECTOR_MODE,\n\n {\n className: \"keyword\",\n begin: /@media/,\n starts: {\n end: /[{;}]/,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [ modes.CSS_NUMBER_MODE ]\n }\n },\n\n // @ keywords\n {\n className: 'keyword',\n begin: '\\@((-(o|moz|ms|webkit)-)?(' + AT_KEYWORDS.join('|') + '))\\\\b'\n },\n\n // variables\n VARIABLE,\n\n // dimension\n modes.CSS_NUMBER_MODE,\n\n // functions\n // - only from beginning of line + whitespace\n {\n className: 'function',\n begin: '^[a-zA-Z][a-zA-Z0-9_\\-]*\\\\(.*\\\\)',\n illegal: '[\\\\n]',\n returnBegin: true,\n contains: [\n {\n className: 'title',\n begin: '\\\\b[a-zA-Z][a-zA-Z0-9_\\-]*'\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n contains: [\n modes.HEXCOLOR,\n VARIABLE,\n hljs.APOS_STRING_MODE,\n modes.CSS_NUMBER_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n }\n ]\n },\n\n // css variables\n modes.CSS_VARIABLE,\n\n // attributes\n // - only from beginning of line + whitespace\n // - must have whitespace after it\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b',\n starts: {\n // value container\n end: /;|$/,\n contains: [\n modes.HEXCOLOR,\n VARIABLE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n modes.CSS_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n modes.IMPORTANT,\n modes.FUNCTION_DISPATCH\n ],\n illegal: /\\./,\n relevance: 0\n }\n },\n modes.FUNCTION_DISPATCH\n ]\n };\n}\n\nmodule.exports = stylus;\n","/*\nLanguage: SubUnit\nAuthor: Sergey Bronnikov \nWebsite: https://pypi.org/project/python-subunit/\nCategory: protocols\n*/\n\nfunction subunit(hljs) {\n const DETAILS = {\n className: 'string',\n begin: '\\\\[\\n(multipart)?',\n end: '\\\\]\\n'\n };\n const TIME = {\n className: 'string',\n begin: '\\\\d{4}-\\\\d{2}-\\\\d{2}(\\\\s+)\\\\d{2}:\\\\d{2}:\\\\d{2}\\.\\\\d+Z'\n };\n const PROGRESSVALUE = {\n className: 'string',\n begin: '(\\\\+|-)\\\\d+'\n };\n const KEYWORDS = {\n className: 'keyword',\n relevance: 10,\n variants: [\n { begin: '^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\\\s+(test)?' },\n { begin: '^progress(:?)(\\\\s+)?(pop|push)?' },\n { begin: '^tags:' },\n { begin: '^time:' }\n ]\n };\n return {\n name: 'SubUnit',\n case_insensitive: true,\n contains: [\n DETAILS,\n TIME,\n PROGRESSVALUE,\n KEYWORDS\n ]\n };\n}\n\nmodule.exports = subunit;\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\nconst keywordWrapper = keyword => concat(\n /\\b/,\n keyword,\n /\\w$/.test(keyword) ? /\\b/ : /\\B/\n);\n\n// Keywords that require a leading dot.\nconst dotKeywords = [\n 'Protocol', // contextual\n 'Type' // contextual\n].map(keywordWrapper);\n\n// Keywords that may have a leading dot.\nconst optionalDotKeywords = [\n 'init',\n 'self'\n].map(keywordWrapper);\n\n// should register as keyword, not type\nconst keywordTypes = [\n 'Any',\n 'Self'\n];\n\n// Regular keywords and literals.\nconst keywords = [\n // strings below will be fed into the regular `keywords` engine while regex\n // will result in additional modes being created to scan for those keywords to\n // avoid conflicts with other rules\n 'actor',\n 'any', // contextual\n 'associatedtype',\n 'async',\n 'await',\n /as\\?/, // operator\n /as!/, // operator\n 'as', // operator\n 'borrowing', // contextual\n 'break',\n 'case',\n 'catch',\n 'class',\n 'consume', // contextual\n 'consuming', // contextual\n 'continue',\n 'convenience', // contextual\n 'copy', // contextual\n 'default',\n 'defer',\n 'deinit',\n 'didSet', // contextual\n 'distributed',\n 'do',\n 'dynamic', // contextual\n 'each',\n 'else',\n 'enum',\n 'extension',\n 'fallthrough',\n /fileprivate\\(set\\)/,\n 'fileprivate',\n 'final', // contextual\n 'for',\n 'func',\n 'get', // contextual\n 'guard',\n 'if',\n 'import',\n 'indirect', // contextual\n 'infix', // contextual\n /init\\?/,\n /init!/,\n 'inout',\n /internal\\(set\\)/,\n 'internal',\n 'in',\n 'is', // operator\n 'isolated', // contextual\n 'nonisolated', // contextual\n 'lazy', // contextual\n 'let',\n 'macro',\n 'mutating', // contextual\n 'nonmutating', // contextual\n /open\\(set\\)/, // contextual\n 'open', // contextual\n 'operator',\n 'optional', // contextual\n 'override', // contextual\n 'package',\n 'postfix', // contextual\n 'precedencegroup',\n 'prefix', // contextual\n /private\\(set\\)/,\n 'private',\n 'protocol',\n /public\\(set\\)/,\n 'public',\n 'repeat',\n 'required', // contextual\n 'rethrows',\n 'return',\n 'set', // contextual\n 'some', // contextual\n 'static',\n 'struct',\n 'subscript',\n 'super',\n 'switch',\n 'throws',\n 'throw',\n /try\\?/, // operator\n /try!/, // operator\n 'try', // operator\n 'typealias',\n /unowned\\(safe\\)/, // contextual\n /unowned\\(unsafe\\)/, // contextual\n 'unowned', // contextual\n 'var',\n 'weak', // contextual\n 'where',\n 'while',\n 'willSet' // contextual\n];\n\n// NOTE: Contextual keywords are reserved only in specific contexts.\n// Ideally, these should be matched using modes to avoid false positives.\n\n// Literals.\nconst literals = [\n 'false',\n 'nil',\n 'true'\n];\n\n// Keywords used in precedence groups.\nconst precedencegroupKeywords = [\n 'assignment',\n 'associativity',\n 'higherThan',\n 'left',\n 'lowerThan',\n 'none',\n 'right'\n];\n\n// Keywords that start with a number sign (#).\n// #(un)available is handled separately.\nconst numberSignKeywords = [\n '#colorLiteral',\n '#column',\n '#dsohandle',\n '#else',\n '#elseif',\n '#endif',\n '#error',\n '#file',\n '#fileID',\n '#fileLiteral',\n '#filePath',\n '#function',\n '#if',\n '#imageLiteral',\n '#keyPath',\n '#line',\n '#selector',\n '#sourceLocation',\n '#warning'\n];\n\n// Global functions in the Standard Library.\nconst builtIns = [\n 'abs',\n 'all',\n 'any',\n 'assert',\n 'assertionFailure',\n 'debugPrint',\n 'dump',\n 'fatalError',\n 'getVaList',\n 'isKnownUniquelyReferenced',\n 'max',\n 'min',\n 'numericCast',\n 'pointwiseMax',\n 'pointwiseMin',\n 'precondition',\n 'preconditionFailure',\n 'print',\n 'readLine',\n 'repeatElement',\n 'sequence',\n 'stride',\n 'swap',\n 'swift_unboxFromSwiftValueWithType',\n 'transcode',\n 'type',\n 'unsafeBitCast',\n 'unsafeDowncast',\n 'withExtendedLifetime',\n 'withUnsafeMutablePointer',\n 'withUnsafePointer',\n 'withVaList',\n 'withoutActuallyEscaping',\n 'zip'\n];\n\n// Valid first characters for operators.\nconst operatorHead = either(\n /[/=\\-+!*%<>&|^~?]/,\n /[\\u00A1-\\u00A7]/,\n /[\\u00A9\\u00AB]/,\n /[\\u00AC\\u00AE]/,\n /[\\u00B0\\u00B1]/,\n /[\\u00B6\\u00BB\\u00BF\\u00D7\\u00F7]/,\n /[\\u2016-\\u2017]/,\n /[\\u2020-\\u2027]/,\n /[\\u2030-\\u203E]/,\n /[\\u2041-\\u2053]/,\n /[\\u2055-\\u205E]/,\n /[\\u2190-\\u23FF]/,\n /[\\u2500-\\u2775]/,\n /[\\u2794-\\u2BFF]/,\n /[\\u2E00-\\u2E7F]/,\n /[\\u3001-\\u3003]/,\n /[\\u3008-\\u3020]/,\n /[\\u3030]/\n);\n\n// Valid characters for operators.\nconst operatorCharacter = either(\n operatorHead,\n /[\\u0300-\\u036F]/,\n /[\\u1DC0-\\u1DFF]/,\n /[\\u20D0-\\u20FF]/,\n /[\\uFE00-\\uFE0F]/,\n /[\\uFE20-\\uFE2F]/\n // TODO: The following characters are also allowed, but the regex isn't supported yet.\n // /[\\u{E0100}-\\u{E01EF}]/u\n);\n\n// Valid operator.\nconst operator = concat(operatorHead, operatorCharacter, '*');\n\n// Valid first characters for identifiers.\nconst identifierHead = either(\n /[a-zA-Z_]/,\n /[\\u00A8\\u00AA\\u00AD\\u00AF\\u00B2-\\u00B5\\u00B7-\\u00BA]/,\n /[\\u00BC-\\u00BE\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF]/,\n /[\\u0100-\\u02FF\\u0370-\\u167F\\u1681-\\u180D\\u180F-\\u1DBF]/,\n /[\\u1E00-\\u1FFF]/,\n /[\\u200B-\\u200D\\u202A-\\u202E\\u203F-\\u2040\\u2054\\u2060-\\u206F]/,\n /[\\u2070-\\u20CF\\u2100-\\u218F\\u2460-\\u24FF\\u2776-\\u2793]/,\n /[\\u2C00-\\u2DFF\\u2E80-\\u2FFF]/,\n /[\\u3004-\\u3007\\u3021-\\u302F\\u3031-\\u303F\\u3040-\\uD7FF]/,\n /[\\uF900-\\uFD3D\\uFD40-\\uFDCF\\uFDF0-\\uFE1F\\uFE30-\\uFE44]/,\n /[\\uFE47-\\uFEFE\\uFF00-\\uFFFD]/ // Should be /[\\uFE47-\\uFFFD]/, but we have to exclude FEFF.\n // The following characters are also allowed, but the regexes aren't supported yet.\n // /[\\u{10000}-\\u{1FFFD}\\u{20000-\\u{2FFFD}\\u{30000}-\\u{3FFFD}\\u{40000}-\\u{4FFFD}]/u,\n // /[\\u{50000}-\\u{5FFFD}\\u{60000-\\u{6FFFD}\\u{70000}-\\u{7FFFD}\\u{80000}-\\u{8FFFD}]/u,\n // /[\\u{90000}-\\u{9FFFD}\\u{A0000-\\u{AFFFD}\\u{B0000}-\\u{BFFFD}\\u{C0000}-\\u{CFFFD}]/u,\n // /[\\u{D0000}-\\u{DFFFD}\\u{E0000-\\u{EFFFD}]/u\n);\n\n// Valid characters for identifiers.\nconst identifierCharacter = either(\n identifierHead,\n /\\d/,\n /[\\u0300-\\u036F\\u1DC0-\\u1DFF\\u20D0-\\u20FF\\uFE20-\\uFE2F]/\n);\n\n// Valid identifier.\nconst identifier = concat(identifierHead, identifierCharacter, '*');\n\n// Valid type identifier.\nconst typeIdentifier = concat(/[A-Z]/, identifierCharacter, '*');\n\n// Built-in attributes, which are highlighted as keywords.\n// @available is handled separately.\n// https://docs.swift.org/swift-book/documentation/the-swift-programming-language/attributes\nconst keywordAttributes = [\n 'attached',\n 'autoclosure',\n concat(/convention\\(/, either('swift', 'block', 'c'), /\\)/),\n 'discardableResult',\n 'dynamicCallable',\n 'dynamicMemberLookup',\n 'escaping',\n 'freestanding',\n 'frozen',\n 'GKInspectable',\n 'IBAction',\n 'IBDesignable',\n 'IBInspectable',\n 'IBOutlet',\n 'IBSegueAction',\n 'inlinable',\n 'main',\n 'nonobjc',\n 'NSApplicationMain',\n 'NSCopying',\n 'NSManaged',\n concat(/objc\\(/, identifier, /\\)/),\n 'objc',\n 'objcMembers',\n 'propertyWrapper',\n 'requires_stored_property_inits',\n 'resultBuilder',\n 'Sendable',\n 'testable',\n 'UIApplicationMain',\n 'unchecked',\n 'unknown',\n 'usableFromInline',\n 'warn_unqualified_access'\n];\n\n// Contextual keywords used in @available and #(un)available.\nconst availabilityKeywords = [\n 'iOS',\n 'iOSApplicationExtension',\n 'macOS',\n 'macOSApplicationExtension',\n 'macCatalyst',\n 'macCatalystApplicationExtension',\n 'watchOS',\n 'watchOSApplicationExtension',\n 'tvOS',\n 'tvOSApplicationExtension',\n 'swift'\n];\n\n/*\nLanguage: Swift\nDescription: Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.\nAuthor: Steven Van Impe \nContributors: Chris Eidhof , Nate Cook , Alexander Lichter , Richard Gibson \nWebsite: https://swift.org\nCategory: common, system\n*/\n\n\n/** @type LanguageFn */\nfunction swift(hljs) {\n const WHITESPACE = {\n match: /\\s+/,\n relevance: 0\n };\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID411\n const BLOCK_COMMENT = hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [ 'self' ] }\n );\n const COMMENTS = [\n hljs.C_LINE_COMMENT_MODE,\n BLOCK_COMMENT\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID413\n // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html\n const DOT_KEYWORD = {\n match: [\n /\\./,\n either(...dotKeywords, ...optionalDotKeywords)\n ],\n className: { 2: \"keyword\" }\n };\n const KEYWORD_GUARD = {\n // Consume .keyword to prevent highlighting properties and methods as keywords.\n match: concat(/\\./, either(...keywords)),\n relevance: 0\n };\n const PLAIN_KEYWORDS = keywords\n .filter(kw => typeof kw === 'string')\n .concat([ \"_|0\" ]); // seems common, so 0 relevance\n const REGEX_KEYWORDS = keywords\n .filter(kw => typeof kw !== 'string') // find regex\n .concat(keywordTypes)\n .map(keywordWrapper);\n const KEYWORD = { variants: [\n {\n className: 'keyword',\n match: either(...REGEX_KEYWORDS, ...optionalDotKeywords)\n }\n ] };\n // find all the regular keywords\n const KEYWORDS = {\n $pattern: either(\n /\\b\\w+/, // regular keywords\n /#\\w+/ // number keywords\n ),\n keyword: PLAIN_KEYWORDS\n .concat(numberSignKeywords),\n literal: literals\n };\n const KEYWORD_MODES = [\n DOT_KEYWORD,\n KEYWORD_GUARD,\n KEYWORD\n ];\n\n // https://github.com/apple/swift/tree/main/stdlib/public/core\n const BUILT_IN_GUARD = {\n // Consume .built_in to prevent highlighting properties and methods.\n match: concat(/\\./, either(...builtIns)),\n relevance: 0\n };\n const BUILT_IN = {\n className: 'built_in',\n match: concat(/\\b/, either(...builtIns), /(?=\\()/)\n };\n const BUILT_INS = [\n BUILT_IN_GUARD,\n BUILT_IN\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID418\n const OPERATOR_GUARD = {\n // Prevent -> from being highlighting as an operator.\n match: /->/,\n relevance: 0\n };\n const OPERATOR = {\n className: 'operator',\n relevance: 0,\n variants: [\n { match: operator },\n {\n // dot-operator: only operators that start with a dot are allowed to use dots as\n // characters (..., ...<, .*, etc). So there rule here is: a dot followed by one or more\n // characters that may also include dots.\n match: `\\\\.(\\\\.|${operatorCharacter})+` }\n ]\n };\n const OPERATORS = [\n OPERATOR_GUARD,\n OPERATOR\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_numeric-literal\n // TODO: Update for leading `-` after lookbehind is supported everywhere\n const decimalDigits = '([0-9]_*)+';\n const hexDigits = '([0-9a-fA-F]_*)+';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal floating-point-literal (subsumes decimal-literal)\n { match: `\\\\b(${decimalDigits})(\\\\.(${decimalDigits}))?` + `([eE][+-]?(${decimalDigits}))?\\\\b` },\n // hexadecimal floating-point-literal (subsumes hexadecimal-literal)\n { match: `\\\\b0x(${hexDigits})(\\\\.(${hexDigits}))?` + `([pP][+-]?(${decimalDigits}))?\\\\b` },\n // octal-literal\n { match: /\\b0o([0-7]_*)+\\b/ },\n // binary-literal\n { match: /\\b0b([01]_*)+\\b/ }\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal\n const ESCAPED_CHARACTER = (rawDelimiter = \"\") => ({\n className: 'subst',\n variants: [\n { match: concat(/\\\\/, rawDelimiter, /[0\\\\tnr\"']/) },\n { match: concat(/\\\\/, rawDelimiter, /u\\{[0-9a-fA-F]{1,8}\\}/) }\n ]\n });\n const ESCAPED_NEWLINE = (rawDelimiter = \"\") => ({\n className: 'subst',\n match: concat(/\\\\/, rawDelimiter, /[\\t ]*(?:[\\r\\n]|\\r\\n)/)\n });\n const INTERPOLATION = (rawDelimiter = \"\") => ({\n className: 'subst',\n label: \"interpol\",\n begin: concat(/\\\\/, rawDelimiter, /\\(/),\n end: /\\)/\n });\n const MULTILINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"\"\"/),\n end: concat(/\"\"\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n ESCAPED_NEWLINE(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const SINGLE_LINE_STRING = (rawDelimiter = \"\") => ({\n begin: concat(rawDelimiter, /\"/),\n end: concat(/\"/, rawDelimiter),\n contains: [\n ESCAPED_CHARACTER(rawDelimiter),\n INTERPOLATION(rawDelimiter)\n ]\n });\n const STRING = {\n className: 'string',\n variants: [\n MULTILINE_STRING(),\n MULTILINE_STRING(\"#\"),\n MULTILINE_STRING(\"##\"),\n MULTILINE_STRING(\"###\"),\n SINGLE_LINE_STRING(),\n SINGLE_LINE_STRING(\"#\"),\n SINGLE_LINE_STRING(\"##\"),\n SINGLE_LINE_STRING(\"###\")\n ]\n };\n\n const REGEXP_CONTENTS = [\n hljs.BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n }\n ];\n\n const BARE_REGEXP_LITERAL = {\n begin: /\\/[^\\s](?=[^/\\n]*\\/)/,\n end: /\\//,\n contains: REGEXP_CONTENTS\n };\n\n const EXTENDED_REGEXP_LITERAL = (rawDelimiter) => {\n const begin = concat(rawDelimiter, /\\//);\n const end = concat(/\\//, rawDelimiter);\n return {\n begin,\n end,\n contains: [\n ...REGEXP_CONTENTS,\n {\n scope: \"comment\",\n begin: `#(?!.*${end})`,\n end: /$/,\n },\n ],\n };\n };\n\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/lexicalstructure/#Regular-Expression-Literals\n const REGEXP = {\n scope: \"regexp\",\n variants: [\n EXTENDED_REGEXP_LITERAL('###'),\n EXTENDED_REGEXP_LITERAL('##'),\n EXTENDED_REGEXP_LITERAL('#'),\n BARE_REGEXP_LITERAL\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#ID412\n const QUOTED_IDENTIFIER = { match: concat(/`/, identifier, /`/) };\n const IMPLICIT_PARAMETER = {\n className: 'variable',\n match: /\\$\\d+/\n };\n const PROPERTY_WRAPPER_PROJECTION = {\n className: 'variable',\n match: `\\\\$${identifierCharacter}+`\n };\n const IDENTIFIERS = [\n QUOTED_IDENTIFIER,\n IMPLICIT_PARAMETER,\n PROPERTY_WRAPPER_PROJECTION\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Attributes.html\n const AVAILABLE_ATTRIBUTE = {\n match: /(@|#(un)?)available/,\n scope: 'keyword',\n starts: { contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n keywords: availabilityKeywords,\n contains: [\n ...OPERATORS,\n NUMBER,\n STRING\n ]\n }\n ] }\n };\n\n const KEYWORD_ATTRIBUTE = {\n scope: 'keyword',\n match: concat(/@/, either(...keywordAttributes), lookahead(either(/\\(/, /\\s+/))),\n };\n\n const USER_DEFINED_ATTRIBUTE = {\n scope: 'meta',\n match: concat(/@/, identifier)\n };\n\n const ATTRIBUTES = [\n AVAILABLE_ATTRIBUTE,\n KEYWORD_ATTRIBUTE,\n USER_DEFINED_ATTRIBUTE\n ];\n\n // https://docs.swift.org/swift-book/ReferenceManual/Types.html\n const TYPE = {\n match: lookahead(/\\b[A-Z]/),\n relevance: 0,\n contains: [\n { // Common Apple frameworks, for relevance boost\n className: 'type',\n match: concat(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/, identifierCharacter, '+')\n },\n { // Type identifier\n className: 'type',\n match: typeIdentifier,\n relevance: 0\n },\n { // Optional type\n match: /[?!]+/,\n relevance: 0\n },\n { // Variadic parameter\n match: /\\.\\.\\./,\n relevance: 0\n },\n { // Protocol composition\n match: concat(/\\s+&\\s+/, lookahead(typeIdentifier)),\n relevance: 0\n }\n ]\n };\n const GENERIC_ARGUMENTS = {\n begin: //,\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...ATTRIBUTES,\n OPERATOR_GUARD,\n TYPE\n ]\n };\n TYPE.contains.push(GENERIC_ARGUMENTS);\n\n // https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#ID552\n // Prevents element names from being highlighted as keywords.\n const TUPLE_ELEMENT_NAME = {\n match: concat(identifier, /\\s*:/),\n keywords: \"_|0\",\n relevance: 0\n };\n // Matches tuples as well as the parameter list of a function type.\n const TUPLE = {\n begin: /\\(/,\n end: /\\)/,\n relevance: 0,\n keywords: KEYWORDS,\n contains: [\n 'self',\n TUPLE_ELEMENT_NAME,\n ...COMMENTS,\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE\n ]\n };\n\n const GENERIC_PARAMETERS = {\n begin: //,\n keywords: 'repeat each',\n contains: [\n ...COMMENTS,\n TYPE\n ]\n };\n const FUNCTION_PARAMETER_NAME = {\n begin: either(\n lookahead(concat(identifier, /\\s*:/)),\n lookahead(concat(identifier, /\\s+/, identifier, /\\s*:/))\n ),\n end: /:/,\n relevance: 0,\n contains: [\n {\n className: 'keyword',\n match: /\\b_\\b/\n },\n {\n className: 'params',\n match: identifier\n }\n ]\n };\n const FUNCTION_PARAMETERS = {\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n FUNCTION_PARAMETER_NAME,\n ...COMMENTS,\n ...KEYWORD_MODES,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ],\n endsParent: true,\n illegal: /[\"']/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID362\n // https://docs.swift.org/swift-book/documentation/the-swift-programming-language/declarations/#Macro-Declaration\n const FUNCTION_OR_MACRO = {\n match: [\n /(func|macro)/,\n /\\s+/,\n either(QUOTED_IDENTIFIER.match, identifier, operator)\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: [\n /\\[/,\n /%/\n ]\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID375\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID379\n const INIT_SUBSCRIPT = {\n match: [\n /\\b(?:subscript|init[?!]?)/,\n /\\s*(?=[<(])/,\n ],\n className: { 1: \"keyword\" },\n contains: [\n GENERIC_PARAMETERS,\n FUNCTION_PARAMETERS,\n WHITESPACE\n ],\n illegal: /\\[|%/\n };\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID380\n const OPERATOR_DECLARATION = {\n match: [\n /operator/,\n /\\s+/,\n operator\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n }\n };\n\n // https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#ID550\n const PRECEDENCEGROUP = {\n begin: [\n /precedencegroup/,\n /\\s+/,\n typeIdentifier\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n },\n contains: [ TYPE ],\n keywords: [\n ...precedencegroupKeywords,\n ...literals\n ],\n end: /}/\n };\n\n const TYPE_DECLARATION = {\n begin: [\n /(struct|protocol|class|extension|enum|actor)/,\n /\\s+/,\n identifier,\n /\\s*/,\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n },\n keywords: KEYWORDS,\n contains: [\n GENERIC_PARAMETERS,\n ...KEYWORD_MODES,\n {\n begin: /:/,\n end: /\\{/,\n keywords: KEYWORDS,\n contains: [\n {\n scope: \"title.class.inherited\",\n match: typeIdentifier,\n },\n ...KEYWORD_MODES,\n ],\n relevance: 0,\n },\n ]\n };\n\n // Add supported submodes to string interpolation.\n for (const variant of STRING.variants) {\n const interpolation = variant.contains.find(mode => mode.label === \"interpol\");\n // TODO: Interpolation can contain any expression, so there's room for improvement here.\n interpolation.keywords = KEYWORDS;\n const submodes = [\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS\n ];\n interpolation.contains = [\n ...submodes,\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n 'self',\n ...submodes\n ]\n }\n ];\n }\n\n return {\n name: 'Swift',\n keywords: KEYWORDS,\n contains: [\n ...COMMENTS,\n FUNCTION_OR_MACRO,\n INIT_SUBSCRIPT,\n TYPE_DECLARATION,\n OPERATOR_DECLARATION,\n PRECEDENCEGROUP,\n {\n beginKeywords: 'import',\n end: /$/,\n contains: [ ...COMMENTS ],\n relevance: 0\n },\n REGEXP,\n ...KEYWORD_MODES,\n ...BUILT_INS,\n ...OPERATORS,\n NUMBER,\n STRING,\n ...IDENTIFIERS,\n ...ATTRIBUTES,\n TYPE,\n TUPLE\n ]\n };\n}\n\nmodule.exports = swift;\n","/*\nLanguage: Tagger Script\nAuthor: Philipp Wolfer \nDescription: Syntax Highlighting for the Tagger Script as used by MusicBrainz Picard.\nWebsite: https://picard.musicbrainz.org\nCategory: scripting\n */\nfunction taggerscript(hljs) {\n const NOOP = {\n className: 'comment',\n begin: /\\$noop\\(/,\n end: /\\)/,\n contains: [\n { begin: /\\\\[()]/ },\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n { begin: /\\\\[()]/ },\n 'self'\n ]\n }\n ],\n relevance: 10\n };\n\n const FUNCTION = {\n className: 'keyword',\n begin: /\\$[_a-zA-Z0-9]+(?=\\()/\n };\n\n const VARIABLE = {\n className: 'variable',\n begin: /%[_a-zA-Z0-9:]+%/\n };\n\n const ESCAPE_SEQUENCE_UNICODE = {\n className: 'symbol',\n begin: /\\\\u[a-fA-F0-9]{4}/\n };\n\n const ESCAPE_SEQUENCE = {\n className: 'symbol',\n begin: /\\\\[\\\\nt$%,()]/\n };\n\n return {\n name: 'Tagger Script',\n contains: [\n NOOP,\n FUNCTION,\n VARIABLE,\n ESCAPE_SEQUENCE,\n ESCAPE_SEQUENCE_UNICODE\n ]\n };\n}\n\nmodule.exports = taggerscript;\n","/*\nLanguage: Test Anything Protocol\nDescription: TAP, the Test Anything Protocol, is a simple text-based interface between testing modules in a test harness.\nRequires: yaml.js\nAuthor: Sergey Bronnikov \nWebsite: https://testanything.org\n*/\n\nfunction tap(hljs) {\n return {\n name: 'Test Anything Protocol',\n case_insensitive: true,\n contains: [\n hljs.HASH_COMMENT_MODE,\n // version of format and total amount of testcases\n {\n className: 'meta',\n variants: [\n { begin: '^TAP version (\\\\d+)$' },\n { begin: '^1\\\\.\\\\.(\\\\d+)$' }\n ]\n },\n // YAML block\n {\n begin: /---$/,\n end: '\\\\.\\\\.\\\\.$',\n subLanguage: 'yaml',\n relevance: 0\n },\n // testcase number\n {\n className: 'number',\n begin: ' (\\\\d+) '\n },\n // testcase status and description\n {\n className: 'symbol',\n variants: [\n { begin: '^ok' },\n { begin: '^not ok' }\n ]\n }\n ]\n };\n}\n\nmodule.exports = tap;\n","/*\nLanguage: Tcl\nDescription: Tcl is a very simple programming language.\nAuthor: Radek Liska \nWebsite: https://www.tcl.tk/about/language.html\nCategory: scripting\n*/\n\nfunction tcl(hljs) {\n const regex = hljs.regex;\n const TCL_IDENT = /[a-zA-Z_][a-zA-Z0-9_]*/;\n\n const NUMBER = {\n className: 'number',\n variants: [\n hljs.BINARY_NUMBER_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n\n const KEYWORDS = [\n \"after\",\n \"append\",\n \"apply\",\n \"array\",\n \"auto_execok\",\n \"auto_import\",\n \"auto_load\",\n \"auto_mkindex\",\n \"auto_mkindex_old\",\n \"auto_qualify\",\n \"auto_reset\",\n \"bgerror\",\n \"binary\",\n \"break\",\n \"catch\",\n \"cd\",\n \"chan\",\n \"clock\",\n \"close\",\n \"concat\",\n \"continue\",\n \"dde\",\n \"dict\",\n \"encoding\",\n \"eof\",\n \"error\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"expr\",\n \"fblocked\",\n \"fconfigure\",\n \"fcopy\",\n \"file\",\n \"fileevent\",\n \"filename\",\n \"flush\",\n \"for\",\n \"foreach\",\n \"format\",\n \"gets\",\n \"glob\",\n \"global\",\n \"history\",\n \"http\",\n \"if\",\n \"incr\",\n \"info\",\n \"interp\",\n \"join\",\n \"lappend|10\",\n \"lassign|10\",\n \"lindex|10\",\n \"linsert|10\",\n \"list\",\n \"llength|10\",\n \"load\",\n \"lrange|10\",\n \"lrepeat|10\",\n \"lreplace|10\",\n \"lreverse|10\",\n \"lsearch|10\",\n \"lset|10\",\n \"lsort|10\",\n \"mathfunc\",\n \"mathop\",\n \"memory\",\n \"msgcat\",\n \"namespace\",\n \"open\",\n \"package\",\n \"parray\",\n \"pid\",\n \"pkg::create\",\n \"pkg_mkIndex\",\n \"platform\",\n \"platform::shell\",\n \"proc\",\n \"puts\",\n \"pwd\",\n \"read\",\n \"refchan\",\n \"regexp\",\n \"registry\",\n \"regsub|10\",\n \"rename\",\n \"return\",\n \"safe\",\n \"scan\",\n \"seek\",\n \"set\",\n \"socket\",\n \"source\",\n \"split\",\n \"string\",\n \"subst\",\n \"switch\",\n \"tcl_endOfWord\",\n \"tcl_findLibrary\",\n \"tcl_startOfNextWord\",\n \"tcl_startOfPreviousWord\",\n \"tcl_wordBreakAfter\",\n \"tcl_wordBreakBefore\",\n \"tcltest\",\n \"tclvars\",\n \"tell\",\n \"time\",\n \"tm\",\n \"trace\",\n \"unknown\",\n \"unload\",\n \"unset\",\n \"update\",\n \"uplevel\",\n \"upvar\",\n \"variable\",\n \"vwait\",\n \"while\"\n ];\n\n return {\n name: 'Tcl',\n aliases: [ 'tk' ],\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(';[ \\\\t]*#', '$'),\n hljs.COMMENT('^[ \\\\t]*#', '$'),\n {\n beginKeywords: 'proc',\n end: '[\\\\{]',\n excludeEnd: true,\n contains: [\n {\n className: 'title',\n begin: '[ \\\\t\\\\n\\\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*',\n end: '[ \\\\t\\\\n\\\\r]',\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n {\n className: \"variable\",\n variants: [\n { begin: regex.concat(\n /\\$/,\n regex.optional(/::/),\n TCL_IDENT,\n '(::',\n TCL_IDENT,\n ')*'\n ) },\n {\n begin: '\\\\$\\\\{(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*',\n end: '\\\\}',\n contains: [ NUMBER ]\n }\n ]\n },\n {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [ hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null }) ]\n },\n NUMBER\n ]\n };\n}\n\nmodule.exports = tcl;\n","/*\nLanguage: Thrift\nAuthor: Oleg Efimov \nDescription: Thrift message definition format\nWebsite: https://thrift.apache.org\nCategory: protocols\n*/\n\nfunction thrift(hljs) {\n const TYPES = [\n \"bool\",\n \"byte\",\n \"i16\",\n \"i32\",\n \"i64\",\n \"double\",\n \"string\",\n \"binary\"\n ];\n const KEYWORDS = [\n \"namespace\",\n \"const\",\n \"typedef\",\n \"struct\",\n \"enum\",\n \"service\",\n \"exception\",\n \"void\",\n \"oneway\",\n \"set\",\n \"list\",\n \"map\",\n \"required\",\n \"optional\"\n ];\n return {\n name: 'Thrift',\n keywords: {\n keyword: KEYWORDS,\n type: TYPES,\n literal: 'true false'\n },\n contains: [\n hljs.QUOTE_STRING_MODE,\n hljs.NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'class',\n beginKeywords: 'struct enum service exception',\n end: /\\{/,\n illegal: /\\n/,\n contains: [\n hljs.inherit(hljs.TITLE_MODE, {\n // hack: eating everything after the first title\n starts: {\n endsWithParent: true,\n excludeEnd: true\n } })\n ]\n },\n {\n begin: '\\\\b(set|list|map)\\\\s*<',\n keywords: { type: [\n ...TYPES,\n \"set\",\n \"list\",\n \"map\"\n ] },\n end: '>',\n contains: [ 'self' ]\n }\n ]\n };\n}\n\nmodule.exports = thrift;\n","/*\nLanguage: TP\nAuthor: Jay Strybis \nDescription: FANUC TP programming language (TPP).\nCategory: hardware\n*/\n\nfunction tp(hljs) {\n const TPID = {\n className: 'number',\n begin: '[1-9][0-9]*', /* no leading zeros */\n relevance: 0\n };\n const TPLABEL = {\n className: 'symbol',\n begin: ':[^\\\\]]+'\n };\n const TPDATA = {\n className: 'built_in',\n begin: '(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|'\n + 'TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\\\[',\n end: '\\\\]',\n contains: [\n 'self',\n TPID,\n TPLABEL\n ]\n };\n const TPIO = {\n className: 'built_in',\n begin: '(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\\\[',\n end: '\\\\]',\n contains: [\n 'self',\n TPID,\n hljs.QUOTE_STRING_MODE, /* for pos section at bottom */\n TPLABEL\n ]\n };\n\n const KEYWORDS = [\n \"ABORT\",\n \"ACC\",\n \"ADJUST\",\n \"AND\",\n \"AP_LD\",\n \"BREAK\",\n \"CALL\",\n \"CNT\",\n \"COL\",\n \"CONDITION\",\n \"CONFIG\",\n \"DA\",\n \"DB\",\n \"DIV\",\n \"DETECT\",\n \"ELSE\",\n \"END\",\n \"ENDFOR\",\n \"ERR_NUM\",\n \"ERROR_PROG\",\n \"FINE\",\n \"FOR\",\n \"GP\",\n \"GUARD\",\n \"INC\",\n \"IF\",\n \"JMP\",\n \"LINEAR_MAX_SPEED\",\n \"LOCK\",\n \"MOD\",\n \"MONITOR\",\n \"OFFSET\",\n \"Offset\",\n \"OR\",\n \"OVERRIDE\",\n \"PAUSE\",\n \"PREG\",\n \"PTH\",\n \"RT_LD\",\n \"RUN\",\n \"SELECT\",\n \"SKIP\",\n \"Skip\",\n \"TA\",\n \"TB\",\n \"TO\",\n \"TOOL_OFFSET\",\n \"Tool_Offset\",\n \"UF\",\n \"UT\",\n \"UFRAME_NUM\",\n \"UTOOL_NUM\",\n \"UNLOCK\",\n \"WAIT\",\n \"X\",\n \"Y\",\n \"Z\",\n \"W\",\n \"P\",\n \"R\",\n \"STRLEN\",\n \"SUBSTR\",\n \"FINDSTR\",\n \"VOFFSET\",\n \"PROG\",\n \"ATTR\",\n \"MN\",\n \"POS\"\n ];\n const LITERALS = [\n \"ON\",\n \"OFF\",\n \"max_speed\",\n \"LPOS\",\n \"JPOS\",\n \"ENABLE\",\n \"DISABLE\",\n \"START\",\n \"STOP\",\n \"RESET\"\n ];\n\n return {\n name: 'TP',\n keywords: {\n keyword: KEYWORDS,\n literal: LITERALS\n },\n contains: [\n TPDATA,\n TPIO,\n {\n className: 'keyword',\n begin: '/(PROG|ATTR|MN|POS|END)\\\\b'\n },\n {\n /* this is for cases like ,CALL */\n className: 'keyword',\n begin: '(CALL|RUN|POINT_LOGIC|LBL)\\\\b'\n },\n {\n /* this is for cases like CNT100 where the default lexemes do not\n * separate the keyword and the number */\n className: 'keyword',\n begin: '\\\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)'\n },\n {\n /* to catch numbers that do not have a word boundary on the left */\n className: 'number',\n begin: '\\\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\\\b',\n relevance: 0\n },\n hljs.COMMENT('//', '[;$]'),\n hljs.COMMENT('!', '[;$]'),\n hljs.COMMENT('--eg:', '$'),\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: '\\'',\n end: '\\''\n },\n hljs.C_NUMBER_MODE,\n {\n className: 'variable',\n begin: '\\\\$[A-Za-z0-9_]+'\n }\n ]\n };\n}\n\nmodule.exports = tp;\n","/*\nLanguage: Twig\nRequires: xml.js\nAuthor: Luke Holder \nDescription: Twig is a templating language for PHP\nWebsite: https://twig.symfony.com\nCategory: template\n*/\n\nfunction twig(hljs) {\n const regex = hljs.regex;\n const FUNCTION_NAMES = [\n \"absolute_url\",\n \"asset|0\",\n \"asset_version\",\n \"attribute\",\n \"block\",\n \"constant\",\n \"controller|0\",\n \"country_timezones\",\n \"csrf_token\",\n \"cycle\",\n \"date\",\n \"dump\",\n \"expression\",\n \"form|0\",\n \"form_end\",\n \"form_errors\",\n \"form_help\",\n \"form_label\",\n \"form_rest\",\n \"form_row\",\n \"form_start\",\n \"form_widget\",\n \"html_classes\",\n \"include\",\n \"is_granted\",\n \"logout_path\",\n \"logout_url\",\n \"max\",\n \"min\",\n \"parent\",\n \"path|0\",\n \"random\",\n \"range\",\n \"relative_path\",\n \"render\",\n \"render_esi\",\n \"source\",\n \"template_from_string\",\n \"url|0\"\n ];\n\n const FILTERS = [\n \"abs\",\n \"abbr_class\",\n \"abbr_method\",\n \"batch\",\n \"capitalize\",\n \"column\",\n \"convert_encoding\",\n \"country_name\",\n \"currency_name\",\n \"currency_symbol\",\n \"data_uri\",\n \"date\",\n \"date_modify\",\n \"default\",\n \"escape\",\n \"file_excerpt\",\n \"file_link\",\n \"file_relative\",\n \"filter\",\n \"first\",\n \"format\",\n \"format_args\",\n \"format_args_as_text\",\n \"format_currency\",\n \"format_date\",\n \"format_datetime\",\n \"format_file\",\n \"format_file_from_text\",\n \"format_number\",\n \"format_time\",\n \"html_to_markdown\",\n \"humanize\",\n \"inky_to_html\",\n \"inline_css\",\n \"join\",\n \"json_encode\",\n \"keys\",\n \"language_name\",\n \"last\",\n \"length\",\n \"locale_name\",\n \"lower\",\n \"map\",\n \"markdown\",\n \"markdown_to_html\",\n \"merge\",\n \"nl2br\",\n \"number_format\",\n \"raw\",\n \"reduce\",\n \"replace\",\n \"reverse\",\n \"round\",\n \"slice\",\n \"slug\",\n \"sort\",\n \"spaceless\",\n \"split\",\n \"striptags\",\n \"timezone_name\",\n \"title\",\n \"trans\",\n \"transchoice\",\n \"trim\",\n \"u|0\",\n \"upper\",\n \"url_encode\",\n \"yaml_dump\",\n \"yaml_encode\"\n ];\n\n let TAG_NAMES = [\n \"apply\",\n \"autoescape\",\n \"block\",\n \"cache\",\n \"deprecated\",\n \"do\",\n \"embed\",\n \"extends\",\n \"filter\",\n \"flush\",\n \"for\",\n \"form_theme\",\n \"from\",\n \"if\",\n \"import\",\n \"include\",\n \"macro\",\n \"sandbox\",\n \"set\",\n \"stopwatch\",\n \"trans\",\n \"trans_default_domain\",\n \"transchoice\",\n \"use\",\n \"verbatim\",\n \"with\"\n ];\n\n TAG_NAMES = TAG_NAMES.concat(TAG_NAMES.map(t => `end${t}`));\n\n const STRING = {\n scope: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n ]\n };\n\n const NUMBER = {\n scope: \"number\",\n match: /\\d+/\n };\n\n const PARAMS = {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n contains: [\n STRING,\n NUMBER\n ]\n };\n\n\n const FUNCTIONS = {\n beginKeywords: FUNCTION_NAMES.join(\" \"),\n keywords: { name: FUNCTION_NAMES },\n relevance: 0,\n contains: [ PARAMS ]\n };\n\n const FILTER = {\n match: /\\|(?=[A-Za-z_]+:?)/,\n beginScope: \"punctuation\",\n relevance: 0,\n contains: [\n {\n match: /[A-Za-z_]+:?/,\n keywords: FILTERS\n },\n ]\n };\n\n const tagNamed = (tagnames, { relevance }) => {\n return {\n beginScope: {\n 1: 'template-tag',\n 3: 'name'\n },\n relevance: relevance || 2,\n endScope: 'template-tag',\n begin: [\n /\\{%/,\n /\\s*/,\n regex.either(...tagnames)\n ],\n end: /%\\}/,\n keywords: \"in\",\n contains: [\n FILTER,\n FUNCTIONS,\n STRING,\n NUMBER\n ]\n };\n };\n\n const CUSTOM_TAG_RE = /[a-z_]+/;\n const TAG = tagNamed(TAG_NAMES, { relevance: 2 });\n const CUSTOM_TAG = tagNamed([ CUSTOM_TAG_RE ], { relevance: 1 });\n\n return {\n name: 'Twig',\n aliases: [ 'craftcms' ],\n case_insensitive: true,\n subLanguage: 'xml',\n contains: [\n hljs.COMMENT(/\\{#/, /#\\}/),\n TAG,\n CUSTOM_TAG,\n {\n className: 'template-variable',\n begin: /\\{\\{/,\n end: /\\}\\}/,\n contains: [\n 'self',\n FILTER,\n FUNCTIONS,\n STRING,\n NUMBER\n ]\n }\n ]\n };\n}\n\nmodule.exports = twig;\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // (key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with \n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\"\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n className: 'attr',\n begin: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\n/*\nLanguage: TypeScript\nAuthor: Panu Horsmalahti \nContributors: Ike Ku \nDescription: TypeScript is a strict superset of JavaScript\nWebsite: https://www.typescriptlang.org\nCategory: common, scripting\n*/\n\n\n/** @type LanguageFn */\nfunction typescript(hljs) {\n const tsLanguage = javascript(hljs);\n\n const IDENT_RE$1 = IDENT_RE;\n const TYPES = [\n \"any\",\n \"void\",\n \"number\",\n \"boolean\",\n \"string\",\n \"object\",\n \"never\",\n \"symbol\",\n \"bigint\",\n \"unknown\"\n ];\n const NAMESPACE = {\n begin: [\n /namespace/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n beginScope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n };\n const INTERFACE = {\n beginKeywords: 'interface',\n end: /\\{/,\n excludeEnd: true,\n keywords: {\n keyword: 'interface extends',\n built_in: TYPES\n },\n contains: [ tsLanguage.exports.CLASS_REFERENCE ]\n };\n const USE_STRICT = {\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use strict['\"]/\n };\n const TS_SPECIFIC_KEYWORDS = [\n \"type\",\n // \"namespace\",\n \"interface\",\n \"public\",\n \"private\",\n \"protected\",\n \"implements\",\n \"declare\",\n \"abstract\",\n \"readonly\",\n \"enum\",\n \"override\",\n \"satisfies\"\n ];\n\n /*\n namespace is a TS keyword but it's fine to use it as a variable name too.\n const message = 'foo';\n const namespace = 'bar';\n */\n\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS.concat(TS_SPECIFIC_KEYWORDS),\n literal: LITERALS,\n built_in: BUILT_INS.concat(TYPES),\n \"variable.language\": BUILT_IN_VARIABLES\n };\n const DECORATOR = {\n className: 'meta',\n begin: '@' + IDENT_RE$1,\n };\n\n const swapMode = (mode, label, replacement) => {\n const indx = mode.contains.findIndex(m => m.label === label);\n if (indx === -1) { throw new Error(\"can not find mode to replace\"); }\n\n mode.contains.splice(indx, 1, replacement);\n };\n\n\n // this should update anywhere keywords is used since\n // it will be the same actual JS object\n Object.assign(tsLanguage.keywords, KEYWORDS$1);\n\n tsLanguage.exports.PARAMS_CONTAINS.push(DECORATOR);\n\n // highlight the function params\n const ATTRIBUTE_HIGHLIGHT = tsLanguage.contains.find(c => c.className === \"attr\");\n tsLanguage.exports.PARAMS_CONTAINS.push([\n tsLanguage.exports.CLASS_REFERENCE, // class reference for highlighting the params types\n ATTRIBUTE_HIGHLIGHT, // highlight the params key\n ]);\n tsLanguage.contains = tsLanguage.contains.concat([\n DECORATOR,\n NAMESPACE,\n INTERFACE,\n ]);\n\n // TS gets a simpler shebang rule than JS\n swapMode(tsLanguage, \"shebang\", hljs.SHEBANG());\n // JS use strict rule purposely excludes `asm` which makes no sense\n swapMode(tsLanguage, \"use_strict\", USE_STRICT);\n\n const functionDeclaration = tsLanguage.contains.find(m => m.label === \"func.def\");\n functionDeclaration.relevance = 0; // () => {} is more typical in TypeScript\n\n Object.assign(tsLanguage, {\n name: 'TypeScript',\n aliases: [\n 'ts',\n 'tsx',\n 'mts',\n 'cts'\n ]\n });\n\n return tsLanguage;\n}\n\nmodule.exports = typescript;\n","/*\nLanguage: Vala\nAuthor: Antono Vasiljev \nDescription: Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C.\nWebsite: https://wiki.gnome.org/Projects/Vala\nCategory: system\n*/\n\nfunction vala(hljs) {\n return {\n name: 'Vala',\n keywords: {\n keyword:\n // Value types\n 'char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 '\n + 'uint16 uint32 uint64 float double bool struct enum string void '\n // Reference types\n + 'weak unowned owned '\n // Modifiers\n + 'async signal static abstract interface override virtual delegate '\n // Control Structures\n + 'if while do for foreach else switch case break default return try catch '\n // Visibility\n + 'public private protected internal '\n // Other\n + 'using new this get set const stdout stdin stderr var',\n built_in:\n 'DBus GLib CCode Gee Object Gtk Posix',\n literal:\n 'false true null'\n },\n contains: [\n {\n className: 'class',\n beginKeywords: 'class interface namespace',\n end: /\\{/,\n excludeEnd: true,\n illegal: '[^,:\\\\n\\\\s\\\\.]',\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'string',\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 5\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n {\n className: 'meta',\n begin: '^#',\n end: '$',\n }\n ]\n };\n}\n\nmodule.exports = vala;\n","/*\nLanguage: Visual Basic .NET\nDescription: Visual Basic .NET (VB.NET) is a multi-paradigm, object-oriented programming language, implemented on the .NET Framework.\nAuthors: Poren Chiang , Jan Pilzer\nWebsite: https://docs.microsoft.com/dotnet/visual-basic/getting-started\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction vbnet(hljs) {\n const regex = hljs.regex;\n /**\n * Character Literal\n * Either a single character (\"a\"C) or an escaped double quote (\"\"\"\"C).\n */\n const CHARACTER = {\n className: 'string',\n begin: /\"(\"\"|[^/n])\"C\\b/\n };\n\n const STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n illegal: /\\n/,\n contains: [\n {\n // double quote escape\n begin: /\"\"/ }\n ]\n };\n\n /** Date Literals consist of a date, a time, or both separated by whitespace, surrounded by # */\n const MM_DD_YYYY = /\\d{1,2}\\/\\d{1,2}\\/\\d{4}/;\n const YYYY_MM_DD = /\\d{4}-\\d{1,2}-\\d{1,2}/;\n const TIME_12H = /(\\d|1[012])(:\\d+){0,2} *(AM|PM)/;\n const TIME_24H = /\\d{1,2}(:\\d{1,2}){1,2}/;\n const DATE = {\n className: 'literal',\n variants: [\n {\n // #YYYY-MM-DD# (ISO-Date) or #M/D/YYYY# (US-Date)\n begin: regex.concat(/# */, regex.either(YYYY_MM_DD, MM_DD_YYYY), / *#/) },\n {\n // #H:mm[:ss]# (24h Time)\n begin: regex.concat(/# */, TIME_24H, / *#/) },\n {\n // #h[:mm[:ss]] A# (12h Time)\n begin: regex.concat(/# */, TIME_12H, / *#/) },\n {\n // date plus time\n begin: regex.concat(\n /# */,\n regex.either(YYYY_MM_DD, MM_DD_YYYY),\n / +/,\n regex.either(TIME_12H, TIME_24H),\n / *#/\n ) }\n ]\n };\n\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n {\n // Float\n begin: /\\b\\d[\\d_]*((\\.[\\d_]+(E[+-]?[\\d_]+)?)|(E[+-]?[\\d_]+))[RFD@!#]?/ },\n {\n // Integer (base 10)\n begin: /\\b\\d[\\d_]*((U?[SIL])|[%&])?/ },\n {\n // Integer (base 16)\n begin: /&H[\\dA-F_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 8)\n begin: /&O[0-7_]+((U?[SIL])|[%&])?/ },\n {\n // Integer (base 2)\n begin: /&B[01_]+((U?[SIL])|[%&])?/ }\n ]\n };\n\n const LABEL = {\n className: 'label',\n begin: /^\\w+:/\n };\n\n const DOC_COMMENT = hljs.COMMENT(/'''/, /$/, { contains: [\n {\n className: 'doctag',\n begin: /<\\/?/,\n end: />/\n }\n ] });\n\n const COMMENT = hljs.COMMENT(null, /$/, { variants: [\n { begin: /'/ },\n {\n // TODO: Use multi-class for leading spaces\n begin: /([\\t ]|^)REM(?=\\s)/ }\n ] });\n\n const DIRECTIVES = {\n className: 'meta',\n // TODO: Use multi-class for indentation once available\n begin: /[\\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\\b/,\n end: /$/,\n keywords: { keyword:\n 'const disable else elseif enable end externalsource if region then' },\n contains: [ COMMENT ]\n };\n\n return {\n name: 'Visual Basic .NET',\n aliases: [ 'vb' ],\n case_insensitive: true,\n classNameAliases: { label: 'symbol' },\n keywords: {\n keyword:\n 'addhandler alias aggregate ansi as async assembly auto binary by byref byval ' /* a-b */\n + 'call case catch class compare const continue custom declare default delegate dim distinct do ' /* c-d */\n + 'each equals else elseif end enum erase error event exit explicit finally for friend from function ' /* e-f */\n + 'get global goto group handles if implements imports in inherits interface into iterator ' /* g-i */\n + 'join key let lib loop me mid module mustinherit mustoverride mybase myclass ' /* j-m */\n + 'namespace narrowing new next notinheritable notoverridable ' /* n */\n + 'of off on operator option optional order overloads overridable overrides ' /* o */\n + 'paramarray partial preserve private property protected public ' /* p */\n + 'raiseevent readonly redim removehandler resume return ' /* r */\n + 'select set shadows shared skip static step stop structure strict sub synclock ' /* s */\n + 'take text then throw to try unicode until using when where while widening with withevents writeonly yield' /* t-y */,\n built_in:\n // Operators https://docs.microsoft.com/dotnet/visual-basic/language-reference/operators\n 'addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor '\n // Type Conversion Functions https://docs.microsoft.com/dotnet/visual-basic/language-reference/functions/type-conversion-functions\n + 'cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort',\n type:\n // Data types https://docs.microsoft.com/dotnet/visual-basic/language-reference/data-types\n 'boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort',\n literal: 'true false nothing'\n },\n illegal:\n '//|\\\\{|\\\\}|endif|gosub|variant|wend|^\\\\$ ' /* reserved deprecated keywords */,\n contains: [\n CHARACTER,\n STRING,\n DATE,\n NUMBER,\n LABEL,\n DOC_COMMENT,\n COMMENT,\n DIRECTIVES\n ]\n };\n}\n\nmodule.exports = vbnet;\n","/*\nLanguage: VBScript in HTML\nRequires: xml.js, vbscript.js\nAuthor: Ivan Sagalaev \nDescription: \"Bridge\" language defining fragments of VBScript in HTML within <% .. %>\nWebsite: https://en.wikipedia.org/wiki/VBScript\nCategory: scripting\n*/\n\nfunction vbscriptHtml(hljs) {\n return {\n name: 'VBScript in HTML',\n subLanguage: 'xml',\n contains: [\n {\n begin: '<%',\n end: '%>',\n subLanguage: 'vbscript'\n }\n ]\n };\n}\n\nmodule.exports = vbscriptHtml;\n","/*\nLanguage: VBScript\nDescription: VBScript (\"Microsoft Visual Basic Scripting Edition\") is an Active Scripting language developed by Microsoft that is modeled on Visual Basic.\nAuthor: Nikita Ledyaev \nContributors: Michal Gabrukiewicz \nWebsite: https://en.wikipedia.org/wiki/VBScript\nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction vbscript(hljs) {\n const regex = hljs.regex;\n const BUILT_IN_FUNCTIONS = [\n \"lcase\",\n \"month\",\n \"vartype\",\n \"instrrev\",\n \"ubound\",\n \"setlocale\",\n \"getobject\",\n \"rgb\",\n \"getref\",\n \"string\",\n \"weekdayname\",\n \"rnd\",\n \"dateadd\",\n \"monthname\",\n \"now\",\n \"day\",\n \"minute\",\n \"isarray\",\n \"cbool\",\n \"round\",\n \"formatcurrency\",\n \"conversions\",\n \"csng\",\n \"timevalue\",\n \"second\",\n \"year\",\n \"space\",\n \"abs\",\n \"clng\",\n \"timeserial\",\n \"fixs\",\n \"len\",\n \"asc\",\n \"isempty\",\n \"maths\",\n \"dateserial\",\n \"atn\",\n \"timer\",\n \"isobject\",\n \"filter\",\n \"weekday\",\n \"datevalue\",\n \"ccur\",\n \"isdate\",\n \"instr\",\n \"datediff\",\n \"formatdatetime\",\n \"replace\",\n \"isnull\",\n \"right\",\n \"sgn\",\n \"array\",\n \"snumeric\",\n \"log\",\n \"cdbl\",\n \"hex\",\n \"chr\",\n \"lbound\",\n \"msgbox\",\n \"ucase\",\n \"getlocale\",\n \"cos\",\n \"cdate\",\n \"cbyte\",\n \"rtrim\",\n \"join\",\n \"hour\",\n \"oct\",\n \"typename\",\n \"trim\",\n \"strcomp\",\n \"int\",\n \"createobject\",\n \"loadpicture\",\n \"tan\",\n \"formatnumber\",\n \"mid\",\n \"split\",\n \"cint\",\n \"sin\",\n \"datepart\",\n \"ltrim\",\n \"sqr\",\n \"time\",\n \"derived\",\n \"eval\",\n \"date\",\n \"formatpercent\",\n \"exp\",\n \"inputbox\",\n \"left\",\n \"ascw\",\n \"chrw\",\n \"regexp\",\n \"cstr\",\n \"err\"\n ];\n const BUILT_IN_OBJECTS = [\n \"server\",\n \"response\",\n \"request\",\n // take no arguments so can be called without ()\n \"scriptengine\",\n \"scriptenginebuildversion\",\n \"scriptengineminorversion\",\n \"scriptenginemajorversion\"\n ];\n\n const BUILT_IN_CALL = {\n begin: regex.concat(regex.either(...BUILT_IN_FUNCTIONS), \"\\\\s*\\\\(\"),\n // relevance 0 because this is acting as a beginKeywords really\n relevance: 0,\n keywords: { built_in: BUILT_IN_FUNCTIONS }\n };\n\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"nothing\",\n \"empty\"\n ];\n\n const KEYWORDS = [\n \"call\",\n \"class\",\n \"const\",\n \"dim\",\n \"do\",\n \"loop\",\n \"erase\",\n \"execute\",\n \"executeglobal\",\n \"exit\",\n \"for\",\n \"each\",\n \"next\",\n \"function\",\n \"if\",\n \"then\",\n \"else\",\n \"on\",\n \"error\",\n \"option\",\n \"explicit\",\n \"new\",\n \"private\",\n \"property\",\n \"let\",\n \"get\",\n \"public\",\n \"randomize\",\n \"redim\",\n \"rem\",\n \"select\",\n \"case\",\n \"set\",\n \"stop\",\n \"sub\",\n \"while\",\n \"wend\",\n \"with\",\n \"end\",\n \"to\",\n \"elseif\",\n \"is\",\n \"or\",\n \"xor\",\n \"and\",\n \"not\",\n \"class_initialize\",\n \"class_terminate\",\n \"default\",\n \"preserve\",\n \"in\",\n \"me\",\n \"byval\",\n \"byref\",\n \"step\",\n \"resume\",\n \"goto\"\n ];\n\n return {\n name: 'VBScript',\n aliases: [ 'vbs' ],\n case_insensitive: true,\n keywords: {\n keyword: KEYWORDS,\n built_in: BUILT_IN_OBJECTS,\n literal: LITERALS\n },\n illegal: '//',\n contains: [\n BUILT_IN_CALL,\n hljs.inherit(hljs.QUOTE_STRING_MODE, { contains: [ { begin: '\"\"' } ] }),\n hljs.COMMENT(\n /'/,\n /$/,\n { relevance: 0 }\n ),\n hljs.C_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = vbscript;\n","/*\nLanguage: Verilog\nAuthor: Jon Evans \nContributors: Boone Severson \nDescription: Verilog is a hardware description language used in electronic design automation to describe digital and mixed-signal systems. This highlighter supports Verilog and SystemVerilog through IEEE 1800-2012.\nWebsite: http://www.verilog.com\nCategory: hardware\n*/\n\nfunction verilog(hljs) {\n const regex = hljs.regex;\n const KEYWORDS = {\n $pattern: /\\$?[\\w]+(\\$[\\w]+)*/,\n keyword: [\n \"accept_on\",\n \"alias\",\n \"always\",\n \"always_comb\",\n \"always_ff\",\n \"always_latch\",\n \"and\",\n \"assert\",\n \"assign\",\n \"assume\",\n \"automatic\",\n \"before\",\n \"begin\",\n \"bind\",\n \"bins\",\n \"binsof\",\n \"bit\",\n \"break\",\n \"buf|0\",\n \"bufif0\",\n \"bufif1\",\n \"byte\",\n \"case\",\n \"casex\",\n \"casez\",\n \"cell\",\n \"chandle\",\n \"checker\",\n \"class\",\n \"clocking\",\n \"cmos\",\n \"config\",\n \"const\",\n \"constraint\",\n \"context\",\n \"continue\",\n \"cover\",\n \"covergroup\",\n \"coverpoint\",\n \"cross\",\n \"deassign\",\n \"default\",\n \"defparam\",\n \"design\",\n \"disable\",\n \"dist\",\n \"do\",\n \"edge\",\n \"else\",\n \"end\",\n \"endcase\",\n \"endchecker\",\n \"endclass\",\n \"endclocking\",\n \"endconfig\",\n \"endfunction\",\n \"endgenerate\",\n \"endgroup\",\n \"endinterface\",\n \"endmodule\",\n \"endpackage\",\n \"endprimitive\",\n \"endprogram\",\n \"endproperty\",\n \"endspecify\",\n \"endsequence\",\n \"endtable\",\n \"endtask\",\n \"enum\",\n \"event\",\n \"eventually\",\n \"expect\",\n \"export\",\n \"extends\",\n \"extern\",\n \"final\",\n \"first_match\",\n \"for\",\n \"force\",\n \"foreach\",\n \"forever\",\n \"fork\",\n \"forkjoin\",\n \"function\",\n \"generate|5\",\n \"genvar\",\n \"global\",\n \"highz0\",\n \"highz1\",\n \"if\",\n \"iff\",\n \"ifnone\",\n \"ignore_bins\",\n \"illegal_bins\",\n \"implements\",\n \"implies\",\n \"import\",\n \"incdir\",\n \"include\",\n \"initial\",\n \"inout\",\n \"input\",\n \"inside\",\n \"instance\",\n \"int\",\n \"integer\",\n \"interconnect\",\n \"interface\",\n \"intersect\",\n \"join\",\n \"join_any\",\n \"join_none\",\n \"large\",\n \"let\",\n \"liblist\",\n \"library\",\n \"local\",\n \"localparam\",\n \"logic\",\n \"longint\",\n \"macromodule\",\n \"matches\",\n \"medium\",\n \"modport\",\n \"module\",\n \"nand\",\n \"negedge\",\n \"nettype\",\n \"new\",\n \"nexttime\",\n \"nmos\",\n \"nor\",\n \"noshowcancelled\",\n \"not\",\n \"notif0\",\n \"notif1\",\n \"or\",\n \"output\",\n \"package\",\n \"packed\",\n \"parameter\",\n \"pmos\",\n \"posedge\",\n \"primitive\",\n \"priority\",\n \"program\",\n \"property\",\n \"protected\",\n \"pull0\",\n \"pull1\",\n \"pulldown\",\n \"pullup\",\n \"pulsestyle_ondetect\",\n \"pulsestyle_onevent\",\n \"pure\",\n \"rand\",\n \"randc\",\n \"randcase\",\n \"randsequence\",\n \"rcmos\",\n \"real\",\n \"realtime\",\n \"ref\",\n \"reg\",\n \"reject_on\",\n \"release\",\n \"repeat\",\n \"restrict\",\n \"return\",\n \"rnmos\",\n \"rpmos\",\n \"rtran\",\n \"rtranif0\",\n \"rtranif1\",\n \"s_always\",\n \"s_eventually\",\n \"s_nexttime\",\n \"s_until\",\n \"s_until_with\",\n \"scalared\",\n \"sequence\",\n \"shortint\",\n \"shortreal\",\n \"showcancelled\",\n \"signed\",\n \"small\",\n \"soft\",\n \"solve\",\n \"specify\",\n \"specparam\",\n \"static\",\n \"string\",\n \"strong\",\n \"strong0\",\n \"strong1\",\n \"struct\",\n \"super\",\n \"supply0\",\n \"supply1\",\n \"sync_accept_on\",\n \"sync_reject_on\",\n \"table\",\n \"tagged\",\n \"task\",\n \"this\",\n \"throughout\",\n \"time\",\n \"timeprecision\",\n \"timeunit\",\n \"tran\",\n \"tranif0\",\n \"tranif1\",\n \"tri\",\n \"tri0\",\n \"tri1\",\n \"triand\",\n \"trior\",\n \"trireg\",\n \"type\",\n \"typedef\",\n \"union\",\n \"unique\",\n \"unique0\",\n \"unsigned\",\n \"until\",\n \"until_with\",\n \"untyped\",\n \"use\",\n \"uwire\",\n \"var\",\n \"vectored\",\n \"virtual\",\n \"void\",\n \"wait\",\n \"wait_order\",\n \"wand\",\n \"weak\",\n \"weak0\",\n \"weak1\",\n \"while\",\n \"wildcard\",\n \"wire\",\n \"with\",\n \"within\",\n \"wor\",\n \"xnor\",\n \"xor\"\n ],\n literal: [ 'null' ],\n built_in: [\n \"$finish\",\n \"$stop\",\n \"$exit\",\n \"$fatal\",\n \"$error\",\n \"$warning\",\n \"$info\",\n \"$realtime\",\n \"$time\",\n \"$printtimescale\",\n \"$bitstoreal\",\n \"$bitstoshortreal\",\n \"$itor\",\n \"$signed\",\n \"$cast\",\n \"$bits\",\n \"$stime\",\n \"$timeformat\",\n \"$realtobits\",\n \"$shortrealtobits\",\n \"$rtoi\",\n \"$unsigned\",\n \"$asserton\",\n \"$assertkill\",\n \"$assertpasson\",\n \"$assertfailon\",\n \"$assertnonvacuouson\",\n \"$assertoff\",\n \"$assertcontrol\",\n \"$assertpassoff\",\n \"$assertfailoff\",\n \"$assertvacuousoff\",\n \"$isunbounded\",\n \"$sampled\",\n \"$fell\",\n \"$changed\",\n \"$past_gclk\",\n \"$fell_gclk\",\n \"$changed_gclk\",\n \"$rising_gclk\",\n \"$steady_gclk\",\n \"$coverage_control\",\n \"$coverage_get\",\n \"$coverage_save\",\n \"$set_coverage_db_name\",\n \"$rose\",\n \"$stable\",\n \"$past\",\n \"$rose_gclk\",\n \"$stable_gclk\",\n \"$future_gclk\",\n \"$falling_gclk\",\n \"$changing_gclk\",\n \"$display\",\n \"$coverage_get_max\",\n \"$coverage_merge\",\n \"$get_coverage\",\n \"$load_coverage_db\",\n \"$typename\",\n \"$unpacked_dimensions\",\n \"$left\",\n \"$low\",\n \"$increment\",\n \"$clog2\",\n \"$ln\",\n \"$log10\",\n \"$exp\",\n \"$sqrt\",\n \"$pow\",\n \"$floor\",\n \"$ceil\",\n \"$sin\",\n \"$cos\",\n \"$tan\",\n \"$countbits\",\n \"$onehot\",\n \"$isunknown\",\n \"$fatal\",\n \"$warning\",\n \"$dimensions\",\n \"$right\",\n \"$high\",\n \"$size\",\n \"$asin\",\n \"$acos\",\n \"$atan\",\n \"$atan2\",\n \"$hypot\",\n \"$sinh\",\n \"$cosh\",\n \"$tanh\",\n \"$asinh\",\n \"$acosh\",\n \"$atanh\",\n \"$countones\",\n \"$onehot0\",\n \"$error\",\n \"$info\",\n \"$random\",\n \"$dist_chi_square\",\n \"$dist_erlang\",\n \"$dist_exponential\",\n \"$dist_normal\",\n \"$dist_poisson\",\n \"$dist_t\",\n \"$dist_uniform\",\n \"$q_initialize\",\n \"$q_remove\",\n \"$q_exam\",\n \"$async$and$array\",\n \"$async$nand$array\",\n \"$async$or$array\",\n \"$async$nor$array\",\n \"$sync$and$array\",\n \"$sync$nand$array\",\n \"$sync$or$array\",\n \"$sync$nor$array\",\n \"$q_add\",\n \"$q_full\",\n \"$psprintf\",\n \"$async$and$plane\",\n \"$async$nand$plane\",\n \"$async$or$plane\",\n \"$async$nor$plane\",\n \"$sync$and$plane\",\n \"$sync$nand$plane\",\n \"$sync$or$plane\",\n \"$sync$nor$plane\",\n \"$system\",\n \"$display\",\n \"$displayb\",\n \"$displayh\",\n \"$displayo\",\n \"$strobe\",\n \"$strobeb\",\n \"$strobeh\",\n \"$strobeo\",\n \"$write\",\n \"$readmemb\",\n \"$readmemh\",\n \"$writememh\",\n \"$value$plusargs\",\n \"$dumpvars\",\n \"$dumpon\",\n \"$dumplimit\",\n \"$dumpports\",\n \"$dumpportson\",\n \"$dumpportslimit\",\n \"$writeb\",\n \"$writeh\",\n \"$writeo\",\n \"$monitor\",\n \"$monitorb\",\n \"$monitorh\",\n \"$monitoro\",\n \"$writememb\",\n \"$dumpfile\",\n \"$dumpoff\",\n \"$dumpall\",\n \"$dumpflush\",\n \"$dumpportsoff\",\n \"$dumpportsall\",\n \"$dumpportsflush\",\n \"$fclose\",\n \"$fdisplay\",\n \"$fdisplayb\",\n \"$fdisplayh\",\n \"$fdisplayo\",\n \"$fstrobe\",\n \"$fstrobeb\",\n \"$fstrobeh\",\n \"$fstrobeo\",\n \"$swrite\",\n \"$swriteb\",\n \"$swriteh\",\n \"$swriteo\",\n \"$fscanf\",\n \"$fread\",\n \"$fseek\",\n \"$fflush\",\n \"$feof\",\n \"$fopen\",\n \"$fwrite\",\n \"$fwriteb\",\n \"$fwriteh\",\n \"$fwriteo\",\n \"$fmonitor\",\n \"$fmonitorb\",\n \"$fmonitorh\",\n \"$fmonitoro\",\n \"$sformat\",\n \"$sformatf\",\n \"$fgetc\",\n \"$ungetc\",\n \"$fgets\",\n \"$sscanf\",\n \"$rewind\",\n \"$ftell\",\n \"$ferror\"\n ]\n };\n const BUILT_IN_CONSTANTS = [\n \"__FILE__\",\n \"__LINE__\"\n ];\n const DIRECTIVES = [\n \"begin_keywords\",\n \"celldefine\",\n \"default_nettype\",\n \"default_decay_time\",\n \"default_trireg_strength\",\n \"define\",\n \"delay_mode_distributed\",\n \"delay_mode_path\",\n \"delay_mode_unit\",\n \"delay_mode_zero\",\n \"else\",\n \"elsif\",\n \"end_keywords\",\n \"endcelldefine\",\n \"endif\",\n \"ifdef\",\n \"ifndef\",\n \"include\",\n \"line\",\n \"nounconnected_drive\",\n \"pragma\",\n \"resetall\",\n \"timescale\",\n \"unconnected_drive\",\n \"undef\",\n \"undefineall\"\n ];\n\n return {\n name: 'Verilog',\n aliases: [\n 'v',\n 'sv',\n 'svh'\n ],\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n scope: 'number',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n { begin: /\\b((\\d+'([bhodBHOD]))[0-9xzXZa-fA-F_]+)/ },\n { begin: /\\B(('([bhodBHOD]))[0-9xzXZa-fA-F_]+)/ },\n { // decimal\n begin: /\\b[0-9][0-9_]*/,\n relevance: 0\n }\n ]\n },\n /* parameters to instances */\n {\n scope: 'variable',\n variants: [\n { begin: '#\\\\((?!parameter).+\\\\)' },\n {\n begin: '\\\\.\\\\w+',\n relevance: 0\n }\n ]\n },\n {\n scope: 'variable.constant',\n match: regex.concat(/`/, regex.either(...BUILT_IN_CONSTANTS)),\n },\n {\n scope: 'meta',\n begin: regex.concat(/`/, regex.either(...DIRECTIVES)),\n end: /$|\\/\\/|\\/\\*/,\n returnEnd: true,\n keywords: DIRECTIVES\n }\n ]\n };\n}\n\nmodule.exports = verilog;\n","/*\nLanguage: VHDL\nAuthor: Igor Kalnitsky \nContributors: Daniel C.K. Kho , Guillaume Savaton \nDescription: VHDL is a hardware description language used in electronic design automation to describe digital and mixed-signal systems.\nWebsite: https://en.wikipedia.org/wiki/VHDL\nCategory: hardware\n*/\n\nfunction vhdl(hljs) {\n // Regular expression for VHDL numeric literals.\n\n // Decimal literal:\n const INTEGER_RE = '\\\\d(_|\\\\d)*';\n const EXPONENT_RE = '[eE][-+]?' + INTEGER_RE;\n const DECIMAL_LITERAL_RE = INTEGER_RE + '(\\\\.' + INTEGER_RE + ')?' + '(' + EXPONENT_RE + ')?';\n // Based literal:\n const BASED_INTEGER_RE = '\\\\w+';\n const BASED_LITERAL_RE = INTEGER_RE + '#' + BASED_INTEGER_RE + '(\\\\.' + BASED_INTEGER_RE + ')?' + '#' + '(' + EXPONENT_RE + ')?';\n\n const NUMBER_RE = '\\\\b(' + BASED_LITERAL_RE + '|' + DECIMAL_LITERAL_RE + ')';\n\n const KEYWORDS = [\n \"abs\",\n \"access\",\n \"after\",\n \"alias\",\n \"all\",\n \"and\",\n \"architecture\",\n \"array\",\n \"assert\",\n \"assume\",\n \"assume_guarantee\",\n \"attribute\",\n \"begin\",\n \"block\",\n \"body\",\n \"buffer\",\n \"bus\",\n \"case\",\n \"component\",\n \"configuration\",\n \"constant\",\n \"context\",\n \"cover\",\n \"disconnect\",\n \"downto\",\n \"default\",\n \"else\",\n \"elsif\",\n \"end\",\n \"entity\",\n \"exit\",\n \"fairness\",\n \"file\",\n \"for\",\n \"force\",\n \"function\",\n \"generate\",\n \"generic\",\n \"group\",\n \"guarded\",\n \"if\",\n \"impure\",\n \"in\",\n \"inertial\",\n \"inout\",\n \"is\",\n \"label\",\n \"library\",\n \"linkage\",\n \"literal\",\n \"loop\",\n \"map\",\n \"mod\",\n \"nand\",\n \"new\",\n \"next\",\n \"nor\",\n \"not\",\n \"null\",\n \"of\",\n \"on\",\n \"open\",\n \"or\",\n \"others\",\n \"out\",\n \"package\",\n \"parameter\",\n \"port\",\n \"postponed\",\n \"procedure\",\n \"process\",\n \"property\",\n \"protected\",\n \"pure\",\n \"range\",\n \"record\",\n \"register\",\n \"reject\",\n \"release\",\n \"rem\",\n \"report\",\n \"restrict\",\n \"restrict_guarantee\",\n \"return\",\n \"rol\",\n \"ror\",\n \"select\",\n \"sequence\",\n \"severity\",\n \"shared\",\n \"signal\",\n \"sla\",\n \"sll\",\n \"sra\",\n \"srl\",\n \"strong\",\n \"subtype\",\n \"then\",\n \"to\",\n \"transport\",\n \"type\",\n \"unaffected\",\n \"units\",\n \"until\",\n \"use\",\n \"variable\",\n \"view\",\n \"vmode\",\n \"vprop\",\n \"vunit\",\n \"wait\",\n \"when\",\n \"while\",\n \"with\",\n \"xnor\",\n \"xor\"\n ];\n const BUILT_INS = [\n \"boolean\",\n \"bit\",\n \"character\",\n \"integer\",\n \"time\",\n \"delay_length\",\n \"natural\",\n \"positive\",\n \"string\",\n \"bit_vector\",\n \"file_open_kind\",\n \"file_open_status\",\n \"std_logic\",\n \"std_logic_vector\",\n \"unsigned\",\n \"signed\",\n \"boolean_vector\",\n \"integer_vector\",\n \"std_ulogic\",\n \"std_ulogic_vector\",\n \"unresolved_unsigned\",\n \"u_unsigned\",\n \"unresolved_signed\",\n \"u_signed\",\n \"real_vector\",\n \"time_vector\"\n ];\n const LITERALS = [\n // severity_level\n \"false\",\n \"true\",\n \"note\",\n \"warning\",\n \"error\",\n \"failure\",\n // textio\n \"line\",\n \"text\",\n \"side\",\n \"width\"\n ];\n\n return {\n name: 'VHDL',\n case_insensitive: true,\n keywords: {\n keyword: KEYWORDS,\n built_in: BUILT_INS,\n literal: LITERALS\n },\n illegal: /\\{/,\n contains: [\n hljs.C_BLOCK_COMMENT_MODE, // VHDL-2008 block commenting.\n hljs.COMMENT('--', '$'),\n hljs.QUOTE_STRING_MODE,\n {\n className: 'number',\n begin: NUMBER_RE,\n relevance: 0\n },\n {\n className: 'string',\n begin: '\\'(U|X|0|1|Z|W|L|H|-)\\'',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n className: 'symbol',\n begin: '\\'[A-Za-z](_?[A-Za-z0-9])*',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n }\n ]\n };\n}\n\nmodule.exports = vhdl;\n","/*\nLanguage: Vim Script\nAuthor: Jun Yang \nDescription: full keyword and built-in from http://vimdoc.sourceforge.net/htmldoc/\nWebsite: https://www.vim.org\nCategory: scripting\n*/\n\nfunction vim(hljs) {\n return {\n name: 'Vim Script',\n keywords: {\n $pattern: /[!#@\\w]+/,\n keyword:\n // express version except: ! & * < = > !! # @ @@\n 'N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope '\n + 'cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc '\n + 'ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 '\n + 'profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor '\n + 'so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew '\n + 'tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ '\n // full version\n + 'Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload '\n + 'bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap '\n + 'cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor '\n + 'endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap '\n + 'imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview '\n + 'lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap '\n + 'nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext '\n + 'ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding '\n + 'scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace '\n + 'startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious ' + 'trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew '\n + 'vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank',\n built_in: // built in func\n 'synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv '\n + 'complete_check add getwinposx getqflist getwinposy screencol '\n + 'clearmatches empty extend getcmdpos mzeval garbagecollect setreg '\n + 'ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable '\n + 'shiftwidth max sinh isdirectory synID system inputrestore winline '\n + 'atan visualmode inputlist tabpagewinnr round getregtype mapcheck '\n + 'hasmapto histdel argidx findfile sha256 exists toupper getcmdline '\n + 'taglist string getmatches bufnr strftime winwidth bufexists '\n + 'strtrans tabpagebuflist setcmdpos remote_read printf setloclist '\n + 'getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval '\n + 'resolve libcallnr foldclosedend reverse filter has_key bufname '\n + 'str2float strlen setline getcharmod setbufvar index searchpos '\n + 'shellescape undofile foldclosed setqflist buflisted strchars str2nr '\n + 'virtcol floor remove undotree remote_expr winheight gettabwinvar '\n + 'reltime cursor tabpagenr finddir localtime acos getloclist search '\n + 'tanh matchend rename gettabvar strdisplaywidth type abs py3eval '\n + 'setwinvar tolower wildmenumode log10 spellsuggest bufloaded '\n + 'synconcealed nextnonblank server2client complete settabwinvar '\n + 'executable input wincol setmatches getftype hlID inputsave '\n + 'searchpair or screenrow line settabvar histadd deepcopy strpart '\n + 'remote_peek and eval getftime submatch screenchar winsaveview '\n + 'matchadd mkdir screenattr getfontname libcall reltimestr getfsize '\n + 'winnr invert pow getbufline byte2line soundfold repeat fnameescape '\n + 'tagfiles sin strwidth spellbadword trunc maparg log lispindent '\n + 'hostname setpos globpath remote_foreground getchar synIDattr '\n + 'fnamemodify cscope_connection stridx winbufnr indent min '\n + 'complete_add nr2char searchpairpos inputdialog values matchlist '\n + 'items hlexists strridx browsedir expand fmod pathshorten line2byte '\n + 'argc count getwinvar glob foldtextresult getreg foreground cosh '\n + 'matchdelete has char2nr simplify histget searchdecl iconv '\n + 'winrestcmd pumvisible writefile foldlevel haslocaldir keys cos '\n + 'matchstr foldtext histnr tan tempname getcwd byteidx getbufvar '\n + 'islocked escape eventhandler remote_send serverlist winrestview '\n + 'synstack pyeval prevnonblank readfile cindent filereadable changenr '\n + 'exp'\n },\n illegal: /;/,\n contains: [\n hljs.NUMBER_MODE,\n {\n className: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n'\n },\n\n /*\n A double quote can start either a string or a line comment. Strings are\n ended before the end of a line by another double quote and can contain\n escaped double-quotes and post-escaped line breaks.\n\n Also, any double quote at the beginning of a line is a comment but we\n don't handle that properly at the moment: any double quote inside will\n turn them into a string. Handling it properly will require a smarter\n parser.\n */\n {\n className: 'string',\n begin: /\"(\\\\\"|\\n\\\\|[^\"\\n])*\"/\n },\n hljs.COMMENT('\"', '$'),\n\n {\n className: 'variable',\n begin: /[bwtglsav]:[\\w\\d_]+/\n },\n {\n begin: [\n /\\b(?:function|function!)/,\n /\\s+/,\n hljs.IDENT_RE\n ],\n className: {\n 1: \"keyword\",\n 3: \"title\"\n },\n end: '$',\n relevance: 0,\n contains: [\n {\n className: 'params',\n begin: '\\\\(',\n end: '\\\\)'\n }\n ]\n },\n {\n className: 'symbol',\n begin: /<[\\w-]+>/\n }\n ]\n };\n}\n\nmodule.exports = vim;\n","/*\nLanguage: WebAssembly\nWebsite: https://webassembly.org\nDescription: Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.\nCategory: web, common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction wasm(hljs) {\n hljs.regex;\n const BLOCK_COMMENT = hljs.COMMENT(/\\(;/, /;\\)/);\n BLOCK_COMMENT.contains.push(\"self\");\n const LINE_COMMENT = hljs.COMMENT(/;;/, /$/);\n\n const KWS = [\n \"anyfunc\",\n \"block\",\n \"br\",\n \"br_if\",\n \"br_table\",\n \"call\",\n \"call_indirect\",\n \"data\",\n \"drop\",\n \"elem\",\n \"else\",\n \"end\",\n \"export\",\n \"func\",\n \"global.get\",\n \"global.set\",\n \"local.get\",\n \"local.set\",\n \"local.tee\",\n \"get_global\",\n \"get_local\",\n \"global\",\n \"if\",\n \"import\",\n \"local\",\n \"loop\",\n \"memory\",\n \"memory.grow\",\n \"memory.size\",\n \"module\",\n \"mut\",\n \"nop\",\n \"offset\",\n \"param\",\n \"result\",\n \"return\",\n \"select\",\n \"set_global\",\n \"set_local\",\n \"start\",\n \"table\",\n \"tee_local\",\n \"then\",\n \"type\",\n \"unreachable\"\n ];\n\n const FUNCTION_REFERENCE = {\n begin: [\n /(?:func|call|call_indirect)/,\n /\\s+/,\n /\\$[^\\s)]+/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n }\n };\n\n const ARGUMENT = {\n className: \"variable\",\n begin: /\\$[\\w_]+/\n };\n\n const PARENS = {\n match: /(\\((?!;)|\\))+/,\n className: \"punctuation\",\n relevance: 0\n };\n\n const NUMBER = {\n className: \"number\",\n relevance: 0,\n // borrowed from Prism, TODO: split out into variants\n match: /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/\n };\n\n const TYPE = {\n // look-ahead prevents us from gobbling up opcodes\n match: /(i32|i64|f32|f64)(?!\\.)/,\n className: \"type\"\n };\n\n const MATH_OPERATIONS = {\n className: \"keyword\",\n // borrowed from Prism, TODO: split out into variants\n match: /\\b(f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))\\b/\n };\n\n const OFFSET_ALIGN = {\n match: [\n /(?:offset|align)/,\n /\\s*/,\n /=/\n ],\n className: {\n 1: \"keyword\",\n 3: \"operator\"\n }\n };\n\n return {\n name: 'WebAssembly',\n keywords: {\n $pattern: /[\\w.]+/,\n keyword: KWS\n },\n contains: [\n LINE_COMMENT,\n BLOCK_COMMENT,\n OFFSET_ALIGN,\n ARGUMENT,\n PARENS,\n FUNCTION_REFERENCE,\n hljs.QUOTE_STRING_MODE,\n TYPE,\n MATH_OPERATIONS,\n NUMBER\n ]\n };\n}\n\nmodule.exports = wasm;\n","/*\nLanguage: Wren\nDescription: Think Smalltalk in a Lua-sized package with a dash of Erlang and wrapped up in a familiar, modern syntax.\nCategory: scripting\nAuthor: @joshgoebel\nMaintainer: @joshgoebel\nWebsite: https://wren.io/\n*/\n\n/** @type LanguageFn */\nfunction wren(hljs) {\n const regex = hljs.regex;\n const IDENT_RE = /[a-zA-Z]\\w*/;\n const KEYWORDS = [\n \"as\",\n \"break\",\n \"class\",\n \"construct\",\n \"continue\",\n \"else\",\n \"for\",\n \"foreign\",\n \"if\",\n \"import\",\n \"in\",\n \"is\",\n \"return\",\n \"static\",\n \"var\",\n \"while\"\n ];\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\"\n ];\n const LANGUAGE_VARS = [\n \"this\",\n \"super\"\n ];\n const CORE_CLASSES = [\n \"Bool\",\n \"Class\",\n \"Fiber\",\n \"Fn\",\n \"List\",\n \"Map\",\n \"Null\",\n \"Num\",\n \"Object\",\n \"Range\",\n \"Sequence\",\n \"String\",\n \"System\"\n ];\n const OPERATORS = [\n \"-\",\n \"~\",\n /\\*/,\n \"%\",\n /\\.\\.\\./,\n /\\.\\./,\n /\\+/,\n \"<<\",\n \">>\",\n \">=\",\n \"<=\",\n \"<\",\n \">\",\n /\\^/,\n /!=/,\n /!/,\n /\\bis\\b/,\n \"==\",\n \"&&\",\n \"&\",\n /\\|\\|/,\n /\\|/,\n /\\?:/,\n \"=\"\n ];\n const FUNCTION = {\n relevance: 0,\n match: regex.concat(/\\b(?!(if|while|for|else|super)\\b)/, IDENT_RE, /(?=\\s*[({])/),\n className: \"title.function\"\n };\n const FUNCTION_DEFINITION = {\n match: regex.concat(\n regex.either(\n regex.concat(/\\b(?!(if|while|for|else|super)\\b)/, IDENT_RE),\n regex.either(...OPERATORS)\n ),\n /(?=\\s*\\([^)]+\\)\\s*\\{)/),\n className: \"title.function\",\n starts: { contains: [\n {\n begin: /\\(/,\n end: /\\)/,\n contains: [\n {\n relevance: 0,\n scope: \"params\",\n match: IDENT_RE\n }\n ]\n }\n ] }\n };\n const CLASS_DEFINITION = {\n variants: [\n { match: [\n /class\\s+/,\n IDENT_RE,\n /\\s+is\\s+/,\n IDENT_RE\n ] },\n { match: [\n /class\\s+/,\n IDENT_RE\n ] }\n ],\n scope: {\n 2: \"title.class\",\n 4: \"title.class.inherited\"\n },\n keywords: KEYWORDS\n };\n\n const OPERATOR = {\n relevance: 0,\n match: regex.either(...OPERATORS),\n className: \"operator\"\n };\n\n const TRIPLE_STRING = {\n className: \"string\",\n begin: /\"\"\"/,\n end: /\"\"\"/\n };\n\n const PROPERTY = {\n className: \"property\",\n begin: regex.concat(/\\./, regex.lookahead(IDENT_RE)),\n end: IDENT_RE,\n excludeBegin: true,\n relevance: 0\n };\n\n const FIELD = {\n relevance: 0,\n match: regex.concat(/\\b_/, IDENT_RE),\n scope: \"variable\"\n };\n\n // CamelCase\n const CLASS_REFERENCE = {\n relevance: 0,\n match: /\\b[A-Z]+[a-z]+([A-Z]+[a-z]+)*/,\n scope: \"title.class\",\n keywords: { _: CORE_CLASSES }\n };\n\n // TODO: add custom number modes\n const NUMBER = hljs.C_NUMBER_MODE;\n\n const SETTER = {\n match: [\n IDENT_RE,\n /\\s*/,\n /=/,\n /\\s*/,\n /\\(/,\n IDENT_RE,\n /\\)\\s*\\{/\n ],\n scope: {\n 1: \"title.function\",\n 3: \"operator\",\n 6: \"params\"\n }\n };\n\n const COMMENT_DOCS = hljs.COMMENT(\n /\\/\\*\\*/,\n /\\*\\//,\n { contains: [\n {\n match: /@[a-z]+/,\n scope: \"doctag\"\n },\n \"self\"\n ] }\n );\n const SUBST = {\n scope: \"subst\",\n begin: /%\\(/,\n end: /\\)/,\n contains: [\n NUMBER,\n CLASS_REFERENCE,\n FUNCTION,\n FIELD,\n OPERATOR\n ]\n };\n const STRING = {\n scope: \"string\",\n begin: /\"/,\n end: /\"/,\n contains: [\n SUBST,\n {\n scope: \"char.escape\",\n variants: [\n { match: /\\\\\\\\|\\\\[\"0%abefnrtv]/ },\n { match: /\\\\x[0-9A-F]{2}/ },\n { match: /\\\\u[0-9A-F]{4}/ },\n { match: /\\\\U[0-9A-F]{8}/ }\n ]\n }\n ]\n };\n SUBST.contains.push(STRING);\n\n const ALL_KWS = [\n ...KEYWORDS,\n ...LANGUAGE_VARS,\n ...LITERALS\n ];\n const VARIABLE = {\n relevance: 0,\n match: regex.concat(\n \"\\\\b(?!\",\n ALL_KWS.join(\"|\"),\n \"\\\\b)\",\n /[a-zA-Z_]\\w*(?:[?!]|\\b)/\n ),\n className: \"variable\"\n };\n\n // TODO: reconsider this in the future\n const ATTRIBUTE = {\n // scope: \"meta\",\n scope: \"comment\",\n variants: [\n {\n begin: [\n /#!?/,\n /[A-Za-z_]+(?=\\()/\n ],\n beginScope: {\n // 2: \"attr\"\n },\n keywords: { literal: LITERALS },\n contains: [\n // NUMBER,\n // VARIABLE\n ],\n end: /\\)/\n },\n {\n begin: [\n /#!?/,\n /[A-Za-z_]+/\n ],\n beginScope: {\n // 2: \"attr\"\n },\n end: /$/\n }\n ]\n };\n\n return {\n name: \"Wren\",\n keywords: {\n keyword: KEYWORDS,\n \"variable.language\": LANGUAGE_VARS,\n literal: LITERALS\n },\n contains: [\n ATTRIBUTE,\n NUMBER,\n STRING,\n TRIPLE_STRING,\n COMMENT_DOCS,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n CLASS_REFERENCE,\n CLASS_DEFINITION,\n SETTER,\n FUNCTION_DEFINITION,\n FUNCTION,\n OPERATOR,\n FIELD,\n PROPERTY,\n VARIABLE\n ]\n };\n}\n\nmodule.exports = wren;\n"],"names":["module","exports","hljs","regex","DISTRIBUTIONS","BLOCK_COMMENT","COMMENT","relevance","contains","scope","match","INCLUDE","begin","end","C_LINE_COMMENT_MODE","RANGE_CONSTRAINTS","name","aliases","keywords","$pattern","IDENT_RE","title","type","keyword","built_in","HASH_COMMENT_MODE","concat","either","case_insensitive","className","variants","C_BLOCK_COMMENT_MODE","C_NUMBER_MODE","inherit","APOS_STRING_MODE","illegal","QUOTE_STRING_MODE","TAGS","MEDIA_FEATURES","sort","reverse","PSEUDO_CLASSES","PSEUDO_ELEMENTS","ATTRIBUTES","modes","IMPORTANT","HEXCOLOR","FUNCTION_DISPATCH","ATTRIBUTE_SELECTOR_MODE","CSS_NUMBER_MODE","NUMBER_RE","CSS_VARIABLE","MODES","VARIABLE","LOOKAHEAD_TAG_END","join","starts","attribute","returnBegin","source","re","lookahead","args","map","x","opts","length","constructor","Object","splice","stripOptionsFromArgs","capture","keywordWrapper","test","dotKeywords","optionalDotKeywords","keywordTypes","literals","precedencegroupKeywords","numberSignKeywords","builtIns","operatorHead","operatorCharacter","operator","identifierHead","identifierCharacter","identifier","typeIdentifier","keywordAttributes","availabilityKeywords","WHITESPACE","COMMENTS","DOT_KEYWORD","KEYWORD_GUARD","PLAIN_KEYWORDS","filter","kw","KEYWORD","KEYWORDS","literal","KEYWORD_MODES","BUILT_INS","OPERATOR_GUARD","OPERATORS","decimalDigits","hexDigits","NUMBER","ESCAPED_CHARACTER","rawDelimiter","ESCAPED_NEWLINE","INTERPOLATION","label","MULTILINE_STRING","SINGLE_LINE_STRING","STRING","REGEXP_CONTENTS","BACKSLASH_ESCAPE","BARE_REGEXP_LITERAL","EXTENDED_REGEXP_LITERAL","REGEXP","QUOTED_IDENTIFIER","IDENTIFIERS","TYPE","GENERIC_ARGUMENTS","push","TUPLE","GENERIC_PARAMETERS","FUNCTION_PARAMETERS","endsParent","FUNCTION_OR_MACRO","INIT_SUBSCRIPT","OPERATOR_DECLARATION","PRECEDENCEGROUP","TYPE_DECLARATION","beginScope","variant","interpolation","find","mode","submodes","beginKeywords","subLanguage","TCL_IDENT","BINARY_NUMBER_MODE","excludeEnd","endsWithParent","optional","TYPES","NUMBER_MODE","TITLE_MODE","TPID","TPLABEL","FUNCTION_NAMES","TAG_NAMES","t","PARAMS","excludeBegin","FUNCTIONS","FILTER","tagNamed","tagnames","endScope","TAG","CUSTOM_TAG","LITERALS","ERROR_TYPES","BUILT_IN_GLOBALS","BUILT_IN_VARIABLES","javascript","IDENT_RE$1","FRAGMENT","XML_TAG","isTrulyOpeningTag","response","afterMatchIndex","index","nextChar","input","ignoreMatch","m","after","tag","slice","indexOf","hasClosingTag","afterMatch","substring","KEYWORDS$1","frac","decimalInteger","SUBST","HTML_TEMPLATE","returnEnd","CSS_TEMPLATE","GRAPHQL_TEMPLATE","TEMPLATE_STRING","SUBST_INTERNALS","SUBST_AND_COMMENTS","PARAMS_CONTAINS","CLASS_OR_EXTENDS","CLASS_REFERENCE","_","FUNCTION_DEFINITION","FUNCTION_CALL","list","PROPERTY_ACCESS","GETTER_OR_SETTER","FUNC_LEAD_IN_RE","UNDERSCORE_IDENT_RE","FUNCTION_VARIABLE","SHEBANG","binary","RE_STARTERS_RE","REGEXP_MODE","skip","tsLanguage","NAMESPACE","INTERFACE","DECORATOR","swapMode","replacement","indx","findIndex","Error","assign","ATTRIBUTE_HIGHLIGHT","c","UNDERSCORE_TITLE_MODE","MM_DD_YYYY","YYYY_MM_DD","TIME_12H","TIME_24H","DATE","DOC_COMMENT","classNameAliases","BUILT_IN_FUNCTIONS","DIRECTIVES","INTEGER_RE","EXPONENT_RE","LANGUAGE_VARS","FUNCTION","CLASS_DEFINITION","OPERATOR","PROPERTY","FIELD","SETTER","COMMENT_DOCS","ALL_KWS"],"sourceRoot":""}