{"version":3,"file":"1869.js","mappings":"8GAwLAA,EAAOC,QAjLP,SAAaC,GAkIX,MAAO,CACLC,KAAM,MACNC,SAAU,CACRC,QApFa,CACf,OACA,MACA,KACA,MACA,OACA,QACA,QACA,OACA,OACA,QACA,WACA,YACA,UACA,WACA,MACA,KACA,OACA,OACA,MACA,OACA,SACA,SACA,UACA,MACA,OACA,OACA,UACA,UACA,KACA,SACA,KACA,UACA,YACA,KACA,QACA,WACA,MACA,QACA,SACA,QACA,MACA,MACA,MACA,QACA,SACA,KACA,KACA,MACA,OACA,MACA,QACA,MACA,SACA,SACA,MACA,MACA,SACA,WACA,MACA,QACA,OACA,QACA,MACA,OACA,QACA,OACA,UACA,MACA,SAgBEC,QARa,CACf,OACA,SAOEC,KAtIU,CACZ,MACA,OACA,QACA,QACA,QACA,OACA,QACA,SACA,SACA,SACA,QACA,UACA,UACA,OACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,MACA,QACA,QACA,YACA,UACA,MACA,MACA,QACA,SACA,QACA,SACA,SACA,OACA,QACA,YACA,SACA,UACA,cACA,SACA,UACA,QACA,aACA,eACA,cAyFEC,SAhBc,CAChB,QACA,SACA,SACA,WAcAC,SAAU,CACR,CACEC,UAAW,OACXC,MAAO,OACPC,IAAK,OACLC,UAAW,IAEb,CACEH,UAAW,SACXC,MAAO,eACPC,IAAK,IACLH,SAAU,CAAE,CAAEE,MAAO,QAEvB,CACED,UAAW,SACXC,MAAO,oBACPC,IAAK,OAEPV,EAAKY,kBACL,CACEJ,UAAW,OACXC,MAAO,eACPE,UAAW,GAEb,CACEH,UAAW,SACXG,UAAW,EACXE,SAAU,CACR,CAAEJ,MAAO,4DACT,CAAEA,MAAO,+CACT,CAAEA,MAAO,iDACT,CAAEA,MAAO,2CAGbT,EAAKc,mBAGX,C,UCxFAhB,EAAOC,QAtFP,SAAaC,GACX,MAAMe,EAAW,CACfZ,QAAS,CACP,MACA,OACA,MACA,KACA,UACA,SACA,KACA,OACA,QAEFC,QAAS,CACP,OACA,QACA,KACA,MACA,QAEFE,SAAU,CACR,SACA,QACA,aACA,QACA,SACA,WACA,MACA,cACA,QACA,WACA,eAGEU,EAAY,CAChBR,UAAW,QACXC,MAAO,OACPC,IAAK,KACLR,SAAUa,GAkBNE,EAAS,CACbT,UAAW,SACXD,SAAU,CAlBW,CACrBC,UAAW,cACXC,MAAO,QAgBqBO,GAC5BH,SAAU,CACR,CACEJ,MAAO,KACPC,IAAK,MAEP,CACED,MAAO,IACPC,IAAK,OAILQ,EAAc,CAClBlB,EAAKmB,YACLnB,EAAKc,kBACLd,EAAKoB,qBACLH,EA9BY,CACZR,MAAO,uBACPY,aAAa,EACbV,UAAW,EACXJ,SAAU,CACR,CACEC,UAAW,OACXC,MAAO,MACPE,UAAW,OA0BjB,OADAK,EAAUT,SAAWW,EACd,CACLjB,KAAM,MACNqB,QAAS,CAAE,SACXpB,SAAUa,EACVR,SAAUW,EAEd,C,UC5DApB,EAAOC,QAxBP,SAAkBC,GAChB,MAAO,CACLC,KAAM,YACNM,SAAU,CACR,CACEC,UAAW,cACXe,OAAQ,CAGNb,IAAK,MACLa,OAAQ,CACNb,IAAK,IACLc,YAAa,eAGjBX,SAAU,CACR,CAAEJ,MAAO,eACT,CAAEA,MAAO,uBAKnB,C,WC8gBAX,EAAOC,QAniBP,SAAcC,GACZ,MAAMyB,EAAQzB,EAAKyB,MA2IbC,EAAY,CAChBlB,UAAW,oBACXC,MAAOgB,EAAME,OAAO,KAAMF,EAAMG,OA3IhC,aACA,UACA,cACA,UACA,gBACA,gBACA,cACA,UACA,UACA,YACA,SACA,UACA,UACA,YACA,QACA,UACA,aACA,UACA,iBACA,WACA,eACA,QACA,UACA,SACA,WACA,aACA,YACA,UACA,iBACA,iBACA,eACA,cACA,SACA,sBACA,YACA,SACA,aACA,YACA,YACA,SACA,OACA,YACA,SACA,YAmGIC,EAAU,CAEdrB,UAAW,WACXC,MAAO,qBAGHqB,EAAY,CAEhBtB,UAAW,WACXC,MAAO,eACPsB,QAAS,YAGLC,EAAY,CAEhBxB,UAAW,WACXC,MAAO,qBAGHwB,EAAa,CAEjBzB,UAAW,SACXC,MAAOgB,EAAMG,OArHb,UACA,yBACA,wBACA,yBACA,0BACA,wBACA,2BACA,OACA,OACA,OACA,oBACA,sBACA,oBACA,gBACA,qBACA,wBACA,aACA,OACA,OACA,MACA,UACA,WACA,WACA,OACA,OACA,UACA,QACA,sBACA,gBACA,gBACA,gBACA,gBACA,qBACA,qBACA,kBACA,cACA,QACA,cACA,iBACA,WACA,gBACA,mBACA,aACA,cACA,WACA,SACA,UACA,WACA,QACA,gBACA,qBAsEIM,EAAW,CAEf1B,UAAW,UACXC,MAAOgB,EAAME,OACX,IACAF,EAAMG,OAvER,gBACA,eACA,aACA,SACA,KACA,SACA,UACA,OACA,OACA,QACA,QACA,UACA,WACA,gBACA,gBACA,KACA,QACA,aACA,cACA,SACA,UACA,cACA,QACA,WACA,WACA,UACA,cACA,gBACA,SACA,WACA,QACA,iBACA,UACA,aAsDIX,EAAS,CACbT,UAAW,SACXK,SAAU,CACR,CACEJ,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,IACPC,IAAK,MAGTqB,QAAS,KACTxB,SAAU,CA7BS,CAEnBC,UAAW,cACXC,MAAO,kBA4BLiB,EACAG,EACAC,EACAE,IAmREG,EAAsB,CAC1BC,MAAO,CACL,WACA,MACAX,EAAME,OAAO,QAAS3B,EAAKqC,WAE7BC,MAAO,CACL,EAAG,UACH,EAAG,mBAODC,EAAsB,CAC1BH,MAAO,CACL,MACA,MACA,mBALqB,kBAQvBE,MAAO,CACL,EAAG,UACH,EAAG,SACH,EAAG,aAIP,MAAO,CACLrC,KAAM,OACNuC,kBAAkB,EAClBtC,SAAU,CACRC,QAhTa,CACf,QACA,mBACA,UACA,sBACA,iBACA,kBACA,SACA,aACA,eACA,eACA,OACA,cACA,UACA,WACA,cACA,cACA,gBACA,gBACA,YACA,WACA,kBACA,aACA,iBACA,SACA,eACA,eACA,eACA,iBACA,cACA,oBACA,UACA,SACA,YACA,eACA,aACA,eACA,OACA,OACA,YACA,gBACA,WACA,mBACA,OACA,cACA,YACA,gBACA,WACA,WACA,eACA,kBACA,eACA,mBACA,WACA,YACA,gBACA,gBACA,YACA,YACA,WACA,aACA,WACA,iBACA,oBACA,aACA,gBACA,qBACA,gBACA,cACA,mBACA,kBACA,qBACA,kBACA,qBACA,kBACA,kBACA,YACA,OACA,aACA,OACA,UACA,WACA,eACA,eACA,gBACA,uBACA,WACA,iBACA,oBACA,gBACA,aACA,mBACA,oBACA,WACA,kBACA,kBACA,WACA,YACA,WACA,SACA,UACA,SACA,QACA,YACA,aACA,WACA,WACA,aACA,iBACA,cACA,wBACA,oBACA,cACA,kBACA,mBACA,aACA,SACA,UACA,mBACA,wBACA,2BACA,sBACA,aACA,iBACA,SACA,MACA,UACA,OACA,gBACA,gBACA,uBACA,mBACA,cACA,MACA,OACA,OACA,aACA,aACA,eACA,aACA,SACA,SACA,SACA,wBACA,cACA,SACA,QACA,aACA,kBACA,sBACA,iBACA,iBACA,YACA,kBACA,sBACA,iBACA,iBACA,cACA,eACA,mBACA,cACA,gBACA,wBACA,eACA,iBACA,uBACA,cACA,kBACA,iBACA,gBACA,YACA,oBACA,UACA,aACA,eACA,gBACA,aACA,qBACA,YACA,kBACA,oBACA,aACA,gBACA,kBACA,QACA,aACA,SACA,UACA,SACA,SACA,aACA,UACA,sBACA,mBACA,gBACA,sBACA,gBACA,aACA,WACA,MACA,kBACA,gBACA,mBACA,aACA,cACA,cACA,gBACA,oBACA,mBACA,eACA,cACA,mBACA,WA6FEC,QA1Fa,CACf,QACA,MACA,OACA,OACA,SACA,QACA,UACA,aACA,UACA,SACA,YACA,QACA,QACA,OACA,UACA,SACA,UACA,YACA,WACA,QACA,OACA,UACA,WACA,OACA,YACA,OACA,SACA,SACA,MACA,KACA,OACA,QACA,QACA,OACA,SACA,YACA,SACA,WACA,MACA,OACA,MACA,gBACA,YACA,eACA,eACA,aACA,gBACA,OACA,QACA,OACA,OACA,WACA,SAuCAG,SAAU,CACRP,EAAKc,kBACLd,EAAKoB,qBACLpB,EAAKyC,QACH,IACA,IACA,CAAE9B,UAAW,IAEf4B,EACAJ,EACA,CAAEO,cAAe,+DACjBzB,EACAiB,EACAL,EACAC,EACAE,EACAC,EAnWY,CAEdzB,UAAW,iBACXC,MAAO,YAkWLT,EAAKmB,aAGX,C,WC9SArB,EAAOC,QApPP,SAAoBC,GAClB,MAIM2C,EAAgB,yBAkKhBC,EAAiB,CACrBC,SAAUF,EACVxC,QAAS,CACP,aACA,SACA,YACA,oBAGJ,MAAO,CACLF,KAAM,cACNqB,QAAS,CACP,KACA,OACA,QACA,UACA,iBAEFpB,SA7Be,CACf,oBAAqB,CACnB,OACA,SAEF2C,SAAUF,EACVxC,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,iBA0BAC,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,QAiBAE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,iBAWAD,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,UAqKA0B,QAAS,KACTxB,SAAU,CA1LM,CAChBC,UAAW,WACXC,MAAO,wEA0LLT,EAAK8C,oBACL9C,EAAKoB,qBACLpB,EAAK+C,cACL/C,EAAKY,kBACLZ,EAAKgD,iBACL,CACExC,UAAW,SACXK,SAAU,CACR,CACEJ,MAAO,KACPC,IAAK,IACLqB,QAAS,MACTxB,SAAU,CAAEP,EAAKiD,qBAIvB,CACEzC,UAAW,OACXC,MAAO,eACPC,IAAK,IACLR,SAAU,CAAEC,QACR,kFAEJI,SAAU,CACR,CACEE,MAAO,OACPE,UAAW,GAEbX,EAAKkD,QAAQlD,EAAKY,kBAAmB,CAAEJ,UAAW,WAClD,CACEA,UAAW,SACXC,MAAO,QACPC,IAAK,IACLqB,QAAS,OAEX/B,EAAK8C,oBACL9C,EAAKoB,uBAGT,CACEZ,UAAW,QACXC,MAAO,IAAMmC,EAAezC,QAAQgD,KAAK,KAAO,OAChDzC,IAAK,SACL0C,YAAY,EACZlD,SAAU0C,EACVrC,SAAU,CAAEP,EAAKqD,wBAEnB,CACE5C,MAAO,MAAQT,EAAKsD,oBACpB3C,UAAW,IAInB,C,WCxKAb,EAAOC,QAzEP,SAAeC,GAEb,MAAO,CACLC,KAAM,QACNqB,QAAS,CAAE,MACXpB,SAAU,CACR2C,SAAU,eACV1C,QACE,sVAOFG,SAEE,qHAGFF,QACE,cAEJ2B,QAAS,UACTxB,SAAU,CACR,CACEC,UAAW,UACXC,MAAO,yBACPE,UAAW,GAEbX,EAAKyC,QACH,SACA,SACA,CAAElC,SAAU,CAAE,UAEhB,CACEC,UAAW,SACXC,MAAO,0BAGT,CACED,UAAW,OACXC,MAAO,iBAET,CACED,UAAW,OACXC,MAAO,kBACPE,UAAW,GAEb,CACEF,MAAO,qBACPE,UAAW,GAEbX,EAAKkD,QAAQlD,EAAKgD,iBAAkB,CAClCxC,UAAW,SACXG,UAAW,IAEbX,EAAKkD,QAAQlD,EAAKY,kBAAmB,CAAEmB,QAAS,OAChD,CACEvB,UAAW,SACXC,MACE,2HAIFE,UAAW,GAEb,CAAEF,MAAO,OAIf,C,WCJAX,EAAOC,QApEP,SAAkBC,GAChB,MAAMuD,EAAe,CACnB/C,UAAW,UACXC,MAAO,kCAMH+C,EAAU,CACdhD,UAAW,SACXC,MAAO,8BACPE,UAAW,GAEPM,EAASjB,EAAKkD,QAAQlD,EAAKY,kBAAmB,CAAEmB,QAAS,OAuBzD0B,EAAY,CAChBjD,UAAW,WACXkC,cAAe,kBACfhC,IAAK,OACLH,SAAU,CApBG,CACbC,UAAW,SACXC,MAAO,MACPC,IAAK,MACLH,SAAU,CACR,OACAiD,EACAvC,EACAsC,EAxBa,CACf/C,UAAW,UACXC,MAAO,yBAoCLT,EAAKqD,wBAIT,MAAO,CACLpD,KAAM,WACNqB,QAAS,CAAE,QACXpB,SAAU,CACRC,QAAS,+DACTC,QAAS,sBACTE,SAAU,udAEZC,SAAU,CACRP,EAAK8C,oBACL9C,EAAKoB,qBACLoC,EA3CW,CACbhD,UAAW,OACXN,SAAU,CAAEC,QAAS,eACrBM,MAAO,gBACPC,IAAK,KAyCHO,EACAsC,EA5Bc,CAChB9C,MAAO,SACPE,UAAW,GA4BT8C,GAGN,C,WCYA3D,EAAOC,QA9EP,SAAiBC,GACf,MAAM0D,EAAmB,CACvBb,SAAU,SACV1C,QACE,+lCASEwD,EAAgB3D,EAAKyC,QACzB,KACA,KACA,CAAE9B,UAAW,IAETiD,EAAgB5D,EAAKyC,QACzB,SACA,SACA,CAAE9B,UAAW,KAETM,EAAS,CACbT,UAAW,SACXC,MAAO,IACPC,IAAK,IACLH,SAAU,CAAE,CAAEE,MAAO,QAEjBoD,EAAc,CAClBrD,UAAW,SACXC,MAAO,YAEHqD,EAAW,CACfpB,cAAe,mDACfhC,IAAK,OACLR,SAAU,+DACVK,SAAU,CACRP,EAAKkD,QAAQlD,EAAK+D,WAAY,CAAEzB,MAAO,mBACvC,CACE9B,UAAW,SACXC,MAAO,MACPC,IAAK,MACLR,SAAUwD,EACVnD,SAAU,CACRU,EACA4C,IAGJF,EACAC,IAUJ,MAAO,CACL3D,KAAM,UACNuC,kBAAkB,EAClBtC,SAAUwD,EACV3B,QAAS,kCACTxB,SAAU,CACRoD,EACAC,EACA5D,EAAK8C,oBACL7B,EACA4C,EACA7D,EAAKmB,YACL2C,EAlBc,CAChBxB,MAAO,cACPF,MAAO,IACPzB,UAAW,IAmBf,C,UC9BAb,EAAOC,QA9CP,SAAiBC,GACf,MAAMgE,EAAmBhE,EAAKyC,QAC5B,KACA,KACA,CAAElC,SAAU,CAAE,UAEhB,MAAO,CACLN,KAAM,UACNuB,YAAa,MACbb,UAAW,EACXJ,SAAU,CACRP,EAAKyC,QAAQ,KAAM,KACnBzC,EAAKyC,QACH,UACA,KACA,CACE9B,UAAW,GACXJ,SAAU,CAAEyD,KAGhB,CACExD,UAAW,OACXC,MAAO,gCACPE,UAAW,IAEb,CACEH,UAAW,QACXC,MAAO,4DAET,CACED,UAAW,WACXC,MAAO,qBAET,CACED,UAAW,UACXC,MAAO,eAET,CACED,UAAW,SACXC,MAAO,oBAETT,EAAK+C,eAGX,C,WCmcAjD,EAAOC,QA/eP,SAAcC,GACZ,MAAMyB,EAAQzB,EAAKyB,MA8ObwC,EAAkB,uBAClBC,EAAgB,CACpBrB,SAAU,SACV1C,QAhPe,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,OAOkBgD,KAAK,MAEnBgB,EAAQ,CACZ3D,UAAW,QACXC,MAAO,UACPC,IAAK,MACLR,SAAUgE,GAENE,EAAS,CACb3D,MAAO,OACPC,IAAK,MAGD2D,EAAO,CACX/B,MAAO,OACPF,MAAO,2BAEHkC,EAAM,CACVhC,MAAO,WACPzB,SAAU,CACR,CAAEJ,MAAO,QACT,CAAEA,MAAOgB,EAAME,OACb,sDAGA,0BAGF,CAEElB,MAAO,0BACPE,UAAW,IAGfJ,SAAU,CAAE8D,IAERE,EAAS,CACb/D,UAAW,SACXK,SAAU,CAIR,CAAEuB,MAAO,sBAET,CAAEA,MAAO,mDAET,CAAEA,MAAO,qBACT,CAAEA,MAAO,kCACT,CAAEA,MAAO,uBAEXzB,UAAW,GAEP6D,EAAkB,CACtBxE,EAAKiD,iBACLkB,EACAG,GAEIG,EAAe,CACnB,IACA,KACA,KACA,KACA,IACA,IACA,KAOIC,EAAmB,CAACC,EAAQC,EAAMC,EAAQ,SAC9C,MAAMC,EAAoB,QAAVD,EACZA,EACApD,EAAME,OAAOkD,EAAOD,GACxB,OAAOnD,EAAME,OACXF,EAAME,OAAO,MAAOgD,EAAQ,KAC5BC,EACA,oBACAE,EACA,oBACAD,EACAZ,EACD,EAOGc,EAAY,CAACJ,EAAQC,EAAMC,IACxBpD,EAAME,OACXF,EAA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CACEA,MAAO,OACPC,IAAK,QAIL8F,EAAgBxG,EAAKkD,QAAQlD,EAAKgD,iBAAkB,CAAEjB,QAAS,OAmB/D0E,EAAa,UACbxF,EAAS,CACbqB,MAAO,SACPzB,SAAU,CArBUb,EAAKkD,QAAQlD,EAAKY,kBAAmB,CACzDmB,QAAS,KACTxB,SAAUP,EAAKY,kBAAkBL,SAASoB,OAAOwC,KAqB/CqC,EAlBY,CACd/F,MAAO,+BACPC,IAAK,gBACLH,SAAUP,EAAKY,kBAAkBL,SAASoB,OAAOwC,GACjD,WAAY,CAACuC,EAAGC,KAAWA,EAAKC,KAAKC,YAAcH,EAAE,IAAMA,EAAE,EAAE,EAC/D,SAAU,CAACA,EAAGC,KAAeA,EAAKC,KAAKC,cAAgBH,EAAE,IAAIC,EAAKG,aAAa,GAGlE9G,EAAKmG,kBAAkB,CACpC1F,MAAO,qBACPC,IAAK,oBAaD6D,EAAS,CACbjC,MAAO,SACPzB,SAAU,CACR,CAAEJ,MAAO,+BACT,CAAEA,MAAO,iCACT,CAAEA,MAAO,6CAET,CAAEA,MAAO,+EAEXE,UAAW,GAEPoG,EAAW,CACf,QACA,OACA,QAEIC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,SAGIC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,mBACA,mBACA,uBACA,sBACA,gBACA,oBACA,iBACA,aACA,iBACA,yBACA,2BACA,kCACA,6BACA,0BACA,oBACA,4BACA,yBACA,wBACA,gBACA,mBACA,mBACA,sBACA,cACA,gBACA,gBACA,UACA,aACA,aACA,mBACA,cACA,mBACA,WACA,WACA,aACA,oBACA,YACA,qBACA,2BACA,sBAGA,cACA,aACA,UACA,QACA,YACA,WACA,oBACA,eACA,aACA,YACA,cACA,WACA,gBACA,UAGA,YACA,yBACA,SACA,kBACA,OACA,SACA,YAuBIlG,EAAW,CACfZ,QAAS6G,EACT5G,QAhBe,CAAC8G,IAEhB,MAAMC,EAAS,GASf,OARAD,EAAME,SAAQC,IACZF,EAAOG,KAAKD,GACRA,EAAKE,gBAAkBF,EACzBF,EAAOG,KAAKD,EAAKG,eAEjBL,EAAOG,KAAKD,EAAKE,cACnB,IAEKJ,CAAM,EAKJM,CAASV,GAClBzG,SAAU2G,GAKNS,EAAqBR,GAClBA,EAAMxB,KAAI2B,GACRA,EAAKnB,QAAQ,SAAU,MAI5ByB,EAAmB,CAAE9G,SAAU,CACnC,CACEuB,MAAO,CACL,MACAX,EAAME,OAAO8E,EAAY,KAEzBhF,EAAME,OAAO,MAAO+F,EAAkBT,GAAW9D,KAAK,QAAS,QAC/DmD,GAEFhE,MAAO,CACL,EAAG,UACH,EAAG,kBAKHsF,EAAqBnG,EAAME,OAAOU,EAAU,cAE5CwF,EAAsC,CAAEhH,SAAU,CACtD,CACEuB,MAAO,CACLX,EAAME,OACJ,KACAF,EAAMqG,UAAU,gBAElBF,GAEFtF,MAAO,CAAE,EAAG,sBAEd,CACEF,MAAO,CACL,KACA,SAEFE,MAAO,CAAE,EAAG,sBAEd,CACEF,MAAO,CACLkE,EACA7E,EAAME,OACJ,KACAF,EAAMqG,UAAU,gBAElBF,GAEFtF,MAAO,CACL,EAAG,cACH,EAAG,sBAGP,CACEF,MAAO,CACLkE,EACA7E,EAAME,OACJ,KACAF,EAAMqG,UAAU,iBAGpBxF,MAAO,CAAE,EAAG,gBAEd,CACEF,MAAO,CACLkE,EACA,KACA,SAEFhE,MAAO,CACL,EAAG,cACH,EAAG,wBAKHyF,EAAiB,CACrBzF,MAAO,OACPF,MAAOX,EAAME,OAAOU,EAAUZ,EAAMqG,UAAU,KAAMrG,EAAMqG,UAAU,YAEhEE,EAAc,CAClBrH,UAAW,EACXF,MAAO,KACPC,IAAK,KACLR,SAAUa,EACVR,SAAU,CACRwH,EACAxB,EACAsB,EACA7H,EAAKoB,qBACLH,EACAsD,EACAoD,IAGEM,EAAkB,CACtBtH,UAAW,EACXyB,MAAO,CACL,KAEAX,EAAME,OAAO,wBAAyB+F,EAAkBV,GAAK7D,KAAK,QAAS,IAAKuE,EAAkBT,GAAW9D,KAAK,QAAS,QAC3Hd,EACAZ,EAAME,OAAO8E,EAAY,KACzBhF,EAAMqG,UAAU,WAElBxF,MAAO,CAAE,EAAG,yBACZ/B,SAAU,CAAEyH,IAEdA,EAAYzH,SAAS+G,KAAKW,GAE1B,MAAMC,EAAqB,CACzBH,EACAF,EACA7H,EAAKoB,qBACLH,EACAsD,EACAoD,GAuCF,MAAO,CACLnF,kBAAkB,EAClBtC,SAAUa,EACVR,SAAU,CAvCO,CACjBE,MAAOgB,EAAME,OAAO,SAAU2E,GAC9B6B,WAAY,OACZzH,IAAK,IACL0H,SAAU,OACVlI,SAAU,CACRE,QAAS2G,EACT5G,QAAS,CACP,MACA,UAGJI,SAAU,CACR,CACEE,MAAO,KACPC,IAAK,IACLR,SAAU,CACRE,QAAS2G,EACT5G,QAAS,CACP,MACA,UAGJI,SAAU,CACR,UACG2H,OAGJA,EACH,CACE5F,MAAO,OACPF,MAAOkE,KAUTtG,EAAKc,kBACLd,EAAKyC,QAAQ,KAAM,KACnBzC,EAAKyC,QACH,OACA,OACA,CAAElC,SAAU,CACV,CACE+B,MAAO,SACPF,MAAO,iBAIb,CACEA,MAAO,uBACPlC,SAAU,kBACVqB,OAAQ,CACNe,MAAO,UACP5B,IAAKV,EAAKqI,iBACV9H,SAAU,CACR,CACE6B,MAAO,MACPE,MAAO,OACPgG,YAAY,MA7dH,CACnBhG,MAAO,OACPzB,SAAU,CACR,CAAEJ,MAAO,SAAUE,UAAW,IAC9B,CAAEF,MAAO,QAET,CAAEA,MAAO,MAAOE,UAAW,IAC3B,CAAEF,MAAO,SA4dT,CACE6B,MAAO,oBACPF,MAAO,YAETmE,EACA0B,EACAJ,EACA,CACEzF,MAAO,CACL,QACA,KACAC,GAEFC,MAAO,CACL,EAAG,UACH,EAAG,sBAGPqF,EACA,CACErF,MAAO,WACP3B,UAAW,EACX+B,cAAe,cACfhC,IAAK,OACL0C,YAAY,EACZrB,QAAS,UACTxB,SAAU,CACR,CAAEmC,cAAe,OACjB1C,EAAKqD,sBACL,CACE5C,MAAO,KACP6H,YAAY,GAEd,CACEhG,MAAO,SACP7B,MAAO,MACPC,IAAK,MACL6H,cAAc,EACdnF,YAAY,EACZlD,SAAUa,EACVR,SAAU,CACR,OACAgG,EACAsB,EACA7H,EAAKoB,qBACLH,EACAsD,MAKR,CACEjC,MAAO,QACPzB,SAAU,CACR,CACE6B,cAAe,OACfX,QAAS,SAEX,CACEW,cAAe,wBACfX,QAAS,WAGbpB,UAAW,EACXD,IAAK,KACL0C,YAAY,EACZ7C,SAAU,CACR,CAAEmC,cAAe,sBACjB1C,EAAKqD,wBAMT,CACEX,cAAe,YACf/B,UAAW,EACXD,IAAK,IACLqB,QAAS,OACTxB,SAAU,CAAEP,EAAKkD,QAAQlD,EAAKqD,sBAAuB,CAAEf,MAAO,kBAEhE,CACEI,cAAe,MACf/B,UAAW,EACXD,IAAK,IACLH,SAAU,CAER,CACE6B,MAAO,0BACPE,MAAO,WAGTtC,EAAKqD,wBAGTpC,EACAsD,GAGN,C,WChlBAzE,EAAOC,QAXP,SAAmBC,GACjB,MAAO,CACLC,KAAM,aACNqB,QAAS,CACP,OACA,OAEFkH,mBAAmB,EAEvB,C,WCyEA1I,EAAOC,QAhFP,SAAcC,GAgEZ,MAAO,CACLC,KAAM,OACNC,SAjEe,CACfC,QACE,iTAKFsI,KACE,0BACFrI,QACE,mBAwDFG,SAAU,CA/BM,CAChBC,UAAW,OACXC,MAAO,mBACPE,UAAW,GAzBoB,CAC/BH,UAAW,SACXC,MAAO,MACPC,IAAK,MACLC,UAAW,IAGa,CACxBH,UAAW,SACXC,MAAO,IACPC,IAAK,IACLH,SAAU,CAAEP,EAAKiD,mBAGY,CAC7BzC,UAAW,SACXC,MAAO,IACPC,IAAK,IACLH,SAAU,CAAEP,EAAKiD,kBACjBtC,UAAW,GASO,CAClBF,MAAOT,EAAKqC,SAAW,IACvB1B,UAAW,GAGO,CAClBH,UAAW,SACXC,MAAO,+FACPE,UAAW,GAwBTX,EAAK8C,oBACL9C,EAAKoB,sBAGX,C,WCqOAtB,EAAOC,QAnTP,SAAoBC,GAClB,MAwCMe,EAAW,CACf8B,SAAU,iBACV1C,QACE,uLAIFG,SACE,mqBAaEoI,EAAkB,CACtBjI,MAAO,YACPE,UAAW,GAGP2D,EAAM,CACV9D,UAAW,WACXK,SAAU,CACR,CAAEJ,MAAO,QACT,CACED,UAAW,UACXC,MAAO,UAET,CAAEA,MAAO,uBASPkI,EAAe,CACnBnI,UAAW,SACXK,SAAU,CACR,CACEJ,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,KACPC,IAAK,QAGTH,SAAU,CACRmI,EACApE,EACA,CACE9D,UAAW,WACXC,MAAO,UACPC,IAAK,YAKLkI,EAAc,CAClBpI,UAAW,SACXK,SAAU,CACR,CACEJ,MAAO,IACPC,IAAK,KAEP,CACED,MAAO,KACPC,IAAK,SAeLmI,EAAa7I,EAAKkD,QACtBlD,EAAKyC,QAAQ,KAAM,MACnB,CACE5B,SAAU,CAER,CACEJ,MAAO,IACPC,IAAK,KAGP,CACED,MAAO,KACPC,IAAK,OAGTH,SAAU,CAzBM,CAClBC,UAAW,SACXK,SAAU,CAER,CAAEJ,MAAO,2FAET,CAAEA,MAAO,sGAuBPqI,EAAU,CACdtI,UAAW,WACXK,SAAU,CAAE,CAAEJ,MAAO,IAAIkB,OApIzB,2rBAoI6C,qBAGzCoH,EAAW,CACfvI,UAAW,QACXkC,cAAe,aACfhC,IAAK,SACL0C,YAAY,EACZzC,UAAW,EACXJ,SAAU,CAAEP,EAAK+D,aAGbiF,EAAc,CAClBxI,UAAW,WACXC,MAAO,cACPC,IAAK,UACL0C,YAAY,EACZ/B,aAAa,EACbV,UAAW,EACXJ,SAAU,CACR,CACEE,MAAO,WACPE,UAAW,EACXH,UAAW,WAEb,CACEA,UAAW,QACXC,MAvHgB,yBAwHhBE,UAAW,GAEb,CACEF,MAAO,KACPC,IAAK,KACLF,UAAW,SACXG,UAAW,EACXJ,SAAU,CAAE+D,MAOZ2E,EAAW,CACfxI,MAAO,UACPC,IAAK,IACLW,aAAa,EACbd,SAAU,CACRoI,EACAC,EACA,CACEpI,UAAW,UACXC,MAAO,oDAMPyI,EAAe,CAAErI,SAAU,CAE/B,CACEL,UAAW,WACXC,MAAO,IAAIkB,OApLb,+bAoL0C,SAE1C,CACEnB,UAAW,UACXC,MAAO,mBACPE,UAAW,KAYTwI,EAAa,CACjB3I,UAAW,WACXC,MAAO,wBACPC,IAAK,IACLW,aAAa,EACbV,UAAW,EACXJ,SAAU,CACR,CACEC,UAAW,UACXC,MAAO,IAAIkB,OACTZ,EAASZ,QAAQiJ,WAAWlD,QAAQ,MAAO,KACxC,QACLoC,YAAY,EACZ3H,UAAW,GAEbX,EAAKkD,QAAQlD,EAAK+D,WAAY,CAAEuE,YAAY,MAI1Ce,EAAiB,CAErBF,EACAN,EACAH,EACA1I,EAAKmB,YACLwH,EACAC,EAEAE,EACAxE,EApLc,CACd9D,UAAW,UACXC,MAAO,yBA6IU,CACjBD,UAAW,eACXC,MAAO,MACPE,UAAW,IAuCP2I,EAAU,CACd7I,MAAO,KACPC,IAAK,KACL6H,cAAc,EACdnF,YAAY,EACZzC,UAAW,EACXJ,SAAU,GAAGoB,OACX,OACA0H,EACA,CACE5I,MAAO,IAjRC,CACZ,SACA,OACA,OACA,MACA,OACA,OACA,UACA,SACA,SACA,WACA,MACA,QACA,YACA,QAmQuB0C,KAAK,KAAO,IAC/B3C,UAAW,WACXG,UAAW,GAEb,CACEH,UAAW,OACXC,MAAO,YACPE,UAAW,KAOjB,OAFAwI,EAAW5I,SAASgJ,QAAQD,GAErB,CACLrJ,KAAM,aACNqB,QAAS,CACP,OACA,KACA,OAEFkB,kBAAkB,EAClBtC,SAAUa,EACVR,SAAU8I,EAAe1H,OACvBoH,EACAC,EACAC,EACAC,EACAI,GAGN,C,WCuHAxJ,EAAOC,QAzaP,SAAoBC,GAClB,MAAMyB,EAAQzB,EAAKyB,MACbwF,EAAY,CAChB,gBACA,eACA,SACA,SACA,eACA,UACA,UACA,MACA,UACA,SACA,UACA,aACA,YACA,SACA,QACA,OACA,iBACA,YACA,cACA,YACA,SACA,MACA,UACA,OACA,QACA,OACA,OACA,WACA,SACA,eACA,cACA,gBACA,QACA,cACA,aACA,eACA,iBACA,QACA,YACA,eACA,aACA,eACA,cACA,aACA,WACA,kBACA,SACA,cACA,WACA,WACA,SACA,YACA,aACA,eACA,eACA,eACA,aACA,eACA,gBACA,aACA,aACA,wBACA,WACA,QACA,UACA,OACA,YACA,MACA,OACA,SACA,SACA,QACA,SACA,OACA,aACA,QACA,YACA,OACA,SACA,WACA,SACA,QACA,OACA,aACA,QACA,QACA,MACA,YACA,MACA,aACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,WACA,YACA,WACA,MACA,cACA,cACA,SACA,YACA,UACA,QACA,cACA,cACA,kBACA,SACA,YACA,WACA,OACA,OACA,SACA,WACA,YACA,SACA,SACA,UACA,OACA,OACA,QACA,MACA,MACA,MACA,WACA,QACA,OACA,QACA,WACA,KACA,MACA,MACA,MACA,QACA,cACA,OACA,SACA,YACA,SACA,SACA,UACA,UACA,OACA,SACA,SACA,MACA,SACA,eACA,cACA,eACA,YACA,gBACA,iBACA,cACA,YACA,UACA,OACA,WACA,YACA,eACA,cACA,WACA,cACA,eACA,eACA,SACA,YACA,uBACA,gBACA,iBACA,aACA,cACA,UACA,eACA,YACA,cACA,aACA,cACA,SACA,UACA,UACA,UACA,QACA,SACA,SACA,YACA,eACA,mBACA,eACA,SACA,gBACA,WACA,SACA,aACA,YACA,QACA,YACA,YACA,SACA,eACA,OACA,UACA,cACA,cACA,QACA,OACA,SACA,MACA,aACA,MACA,eACA,YACA,aACA,qBACA,SACA,aACA,WACA,OACA,WACA,YACA,cACA,WACA,WACA,YACA,aACA,cACA,MACA,OACA,YACA,OACA,MACA,QACA,OACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,QACA,KACA,OACA,OACA,OACA,OACA,QACA,MACA,UACA,UACA,MACA,MACA,QACA,cACA,YACA,SACA,iBACA,cAEIuC,EAAQxJ,EAAKqC,SACboH,EAAY,CAAE5I,SAAU,CAC5B,CACEuB,MAAOX,EAAME,OAAOF,EAAMG,UAAUqF,GAAYxF,EAAMqG,UAAU,UAChEtH,UAAW,YAEb,CACEG,UAAW,EACXyB,MAAOX,EAAME,OACX,qBACA6H,EAAO/H,EAAMqG,UAAU,UACzBtH,UAAW,oBAGTkJ,EAAY,CAChBtH,MAAO,CACL,SACAoH,GAEFhJ,UAAW,CACT,EAAG,UACH,EAAG,gBAGDmJ,EAAW,CACfhJ,UAAW,EACXyB,MAAO,CACL,KACAoH,GAEFhJ,UAAW,CAAE,EAAG,aAEZoJ,EAAQ,CACZ/I,SAAU,CACR,CAAEuB,MAAO,CACP,QACA,MACAoH,EACA,MACA,UACA,MACAA,IAEF,CAAEpH,MAAO,CACP,QACA,MACAoH,KAGJhJ,UAAW,CACT,EAAG,UACH,EAAG,cACH,EAAG,UACH,EAAG,0BA+EP,MAAO,CACLP,KAAM,aACNqB,QAAS,CAAE,OACXpB,SAAU,CACRC,QAAS,CA5CX,WACA,SACA,QACA,OACA,QACA,QACA,WACA,UACA,OACA,OACA,QACA,UACA,MACA,KACA,SACA,aACA,OACA,SACA,MACA,UACA,UACA,UACA,YACA,YACA,SACA,SACA,SACA,SACA,WACA,SACA,eACA,QACA,SACA,YACA,MACA,OACA,WACA,SAQEC,QAAS,2DACTyJ,MAAO,aACPC,SAAU,aACVxJ,SAAU,IACL2G,EAxEP,iBACA,UACA,QACA,SACA,YACA,UACA,SACA,QACA,YACA,YACA,YACA,UACA,UACA,YACA,aACA,SACA,aACA,aACA,QACA,WACA,OAuDE5G,KAvFU,CACZ,UACA,OACA,OACA,QACA,SACA,QACA,MACA,OACA,UAgFAE,SAAU,CACRqJ,EACAF,EACAD,EACAE,EACA3J,EAAK8C,oBACL9C,EAAKoB,qBACLpB,EAAKgD,iBACLhD,EAAKY,kBACLZ,EAAK+C,eAGX,C,WCrYAjD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MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,SAuGI7J,EAAW,CACf8B,SAAU,sBACV1C,QAASyK,EACTtK,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,OAmCAF,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,QA2BAC,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,UAWIwK,EAAS,CACbrK,UAAW,OACXC,MAAO,kBAGH0D,EAAQ,CACZ3D,UAAW,QACXC,MAAO,KACPC,IAAK,KACLR,SAAUa,EACVgB,QAAS,KAGL+I,EAAkB,CACtBrK,MAAO,OACPE,UAAW,GAGPM,EAAS,CACbT,UAAW,SACXD,SAAU,CAAEP,EAAKiD,kBACjBpC,SAAU,CACR,CACEJ,MAAO,yCACPC,IAAK,MACLH,SAAU,CACRP,EAAKiD,iBACL4H,GAEFlK,UAAW,IAEb,CACEF,MAAO,yCACPC,IAAK,MACLH,SAAU,CACRP,EAAKiD,iBACL4H,GAEFlK,UAAW,IAEb,CACEF,MAAO,8BACPC,IAAK,MACLH,SAAU,CACRP,EAAKiD,iBACL4H,EACAC,EACA3G,IAGJ,CACE1D,MAAO,8BACPC,IAAK,MACLH,SAAU,CACRP,EAAKiD,iBACL4H,EACAC,EACA3G,IAGJ,CACE1D,MAAO,eACPC,IAAK,IACLC,UAAW,IAEb,CACEF,MAAO,eACPC,IAAK,IACLC,UAAW,IAEb,CACEF,MAAO,4BACPC,IAAK,KAEP,CACED,MAAO,4BACPC,IAAK,KAEP,CACED,MAAO,4BACPC,IAAK,IACLH,SAAU,CACRP,EAAKiD,iBACL6H,EACA3G,IAGJ,CACE1D,MAAO,4BACPC,IAAK,IACLH,SAAU,CACRP,EAAKiD,iBACL6H,EACA3G,IAGJnE,EAAKgD,iBACLhD,EAAKY,oBAKHmK,EAAY,kBACZC,EAAa,QAAQD,WAAmBA,UAAkBA,QAM1DjD,EAAY,OAAO8C,EAAezH,KAAK,OACvCoB,EAAS,CACb/D,UAAW,SACXG,UAAW,EACXE,SAAU,CAWR,CACEJ,MAAO,QAAQsK,OAAeC,gBAAyBD,aAAqBjD,MAE9E,CACErH,MAAO,IAAIuK,WASb,CACEvK,MAAO,0CAA0CqH,MAEnD,CACErH,MAAO,4BAA4BqH,MAErC,CACErH,MAAO,6BAA6BqH,MAEtC,CACErH,MAAO,mCAAmCqH,MAK5C,CACErH,MAAO,OAAOsK,YAAoBjD,QAIlCmD,EAAe,CACnBzK,UAAW,UACXC,MAAOgB,EAAMqG,UAAU,WACvBpH,IAAK,IACLR,SAAUa,EACVR,SAAU,CACR,CACEE,MAAO,WAGT,CACEA,MAAO,IACPC,IAAK,OACLuE,gBAAgB,KAIhBiG,EAAS,CACb1K,UAAW,SACXK,SAAU,CAER,CACEL,UAAW,GACXC,MAAO,UACP2F,MAAM,GAER,CACE3F,MAAO,KACPC,IAAK,KACL6H,cAAc,EACdnF,YAAY,EACZlD,SAAUa,EACVR,SAAU,CACR,OACAsK,EACAtG,EACAtD,EACAjB,EAAKc,sBAWb,OANAqD,EAAM5D,SAAW,CACfU,EACAsD,EACAsG,GAGK,CACL5K,KAAM,SACNqB,QAAS,CACP,KACA,MACA,WAEF6J,cAAc,EACdjL,SAAUa,EACVgB,QAAS,cACTxB,SAAU,CACRsK,EACAtG,EACA,CAEEjC,MAAO,oBACPF,MAAO,YAET,CAGEM,cAAe,KACf/B,UAAW,GAEb,CAAEyB,MAAO,SAAUE,MAAO,WAC1BrB,EACAgK,EACAjL,EAAKc,kBACL,CACEsB,MAAO,CACL,QAAS,MACTC,GAEFC,MAAO,CACL,EAAG,UACH,EAAG,kBAEL/B,SAAU,CAAE2K,IAEd,CACErK,SAAU,CACR,CACEuB,MAAO,CACL,UAAW,MACXC,EAAU,MACV,QAASA,EAAS,UAGtB,CACED,MAAO,CACL,UAAW,MACXC,KAINC,MAAO,CACL,EAAG,UACH,EAAG,cACH,EAAG,0BAGP,CACE9B,UAAW,OACXC,MAAO,WACPC,IAAK,UACLH,SAAU,CACRgE,EACA2G,EACAjK,KAKV,C","sources":["webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/nim.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/nix.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/node-repl.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/nsis.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/objectivec.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/ocaml.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/openscad.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/oxygene.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/parser3.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/perl.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/pf.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/pgsql.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/php-template.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/php.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/plaintext.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/pony.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/powershell.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/processing.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/profile.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/prolog.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/properties.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/protobuf.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/puppet.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/purebasic.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/python-repl.js","webpack://sakurairo-scripts/./node_modules/.pnpm/highlight.js@11.10.0/node_modules/highlight.js/lib/languages/python.js"],"sourcesContent":["/*\nLanguage: Nim\nDescription: Nim is a statically typed compiled systems programming language.\nWebsite: https://nim-lang.org\nCategory: system\n*/\n\nfunction nim(hljs) {\n const TYPES = [\n \"int\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"int64\",\n \"uint\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"uint64\",\n \"float\",\n \"float32\",\n \"float64\",\n \"bool\",\n \"char\",\n \"string\",\n \"cstring\",\n \"pointer\",\n \"expr\",\n \"stmt\",\n \"void\",\n \"auto\",\n \"any\",\n \"range\",\n \"array\",\n \"openarray\",\n \"varargs\",\n \"seq\",\n \"set\",\n \"clong\",\n \"culong\",\n \"cchar\",\n \"cschar\",\n \"cshort\",\n \"cint\",\n \"csize\",\n \"clonglong\",\n \"cfloat\",\n \"cdouble\",\n \"clongdouble\",\n \"cuchar\",\n \"cushort\",\n \"cuint\",\n \"culonglong\",\n \"cstringarray\",\n \"semistatic\"\n ];\n const KEYWORDS = [\n \"addr\",\n \"and\",\n \"as\",\n \"asm\",\n \"bind\",\n \"block\",\n \"break\",\n \"case\",\n \"cast\",\n \"const\",\n \"continue\",\n \"converter\",\n \"discard\",\n \"distinct\",\n \"div\",\n \"do\",\n \"elif\",\n \"else\",\n \"end\",\n \"enum\",\n \"except\",\n \"export\",\n \"finally\",\n \"for\",\n \"from\",\n \"func\",\n \"generic\",\n \"guarded\",\n \"if\",\n \"import\",\n \"in\",\n \"include\",\n \"interface\",\n \"is\",\n \"isnot\",\n \"iterator\",\n \"let\",\n \"macro\",\n \"method\",\n \"mixin\",\n \"mod\",\n \"nil\",\n \"not\",\n \"notin\",\n \"object\",\n \"of\",\n \"or\",\n \"out\",\n \"proc\",\n \"ptr\",\n \"raise\",\n \"ref\",\n \"return\",\n \"shared\",\n \"shl\",\n \"shr\",\n \"static\",\n \"template\",\n \"try\",\n \"tuple\",\n \"type\",\n \"using\",\n \"var\",\n \"when\",\n \"while\",\n \"with\",\n \"without\",\n \"xor\",\n \"yield\"\n ];\n const BUILT_INS = [\n \"stdin\",\n \"stdout\",\n \"stderr\",\n \"result\"\n ];\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n return {\n name: 'Nim',\n keywords: {\n keyword: KEYWORDS,\n literal: LITERALS,\n type: TYPES,\n built_in: BUILT_INS\n },\n contains: [\n {\n className: 'meta', // Actually pragma\n begin: /\\{\\./,\n end: /\\.\\}/,\n relevance: 10\n },\n {\n className: 'string',\n begin: /[a-zA-Z]\\w*\"/,\n end: /\"/,\n contains: [ { begin: /\"\"/ } ]\n },\n {\n className: 'string',\n begin: /([a-zA-Z]\\w*)?\"\"\"/,\n end: /\"\"\"/\n },\n hljs.QUOTE_STRING_MODE,\n {\n className: 'type',\n begin: /\\b[A-Z]\\w+\\b/,\n relevance: 0\n },\n {\n className: 'number',\n relevance: 0,\n variants: [\n { begin: /\\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/ },\n { begin: /\\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/ },\n { begin: /\\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/ },\n { begin: /\\b(\\d[_\\d]*)('?[iIuUfF](8|16|32|64))?/ }\n ]\n },\n hljs.HASH_COMMENT_MODE\n ]\n };\n}\n\nmodule.exports = nim;\n","/*\nLanguage: Nix\nAuthor: Domen Kožar \nDescription: Nix functional language\nWebsite: http://nixos.org/nix\nCategory: system\n*/\n\nfunction nix(hljs) {\n const KEYWORDS = {\n keyword: [\n \"rec\",\n \"with\",\n \"let\",\n \"in\",\n \"inherit\",\n \"assert\",\n \"if\",\n \"else\",\n \"then\"\n ],\n literal: [\n \"true\",\n \"false\",\n \"or\",\n \"and\",\n \"null\"\n ],\n built_in: [\n \"import\",\n \"abort\",\n \"baseNameOf\",\n \"dirOf\",\n \"isNull\",\n \"builtins\",\n \"map\",\n \"removeAttrs\",\n \"throw\",\n \"toString\",\n \"derivation\"\n ]\n };\n const ANTIQUOTE = {\n className: 'subst',\n begin: /\\$\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const ESCAPED_DOLLAR = {\n className: 'char.escape',\n begin: /''\\$/,\n };\n const ATTRS = {\n begin: /[a-zA-Z0-9-_]+(\\s*=)/,\n returnBegin: true,\n relevance: 0,\n contains: [\n {\n className: 'attr',\n begin: /\\S+/,\n relevance: 0.2\n }\n ]\n };\n const STRING = {\n className: 'string',\n contains: [ ESCAPED_DOLLAR, ANTIQUOTE ],\n variants: [\n {\n begin: \"''\",\n end: \"''\"\n },\n {\n begin: '\"',\n end: '\"'\n }\n ]\n };\n const EXPRESSIONS = [\n hljs.NUMBER_MODE,\n hljs.HASH_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n ATTRS\n ];\n ANTIQUOTE.contains = EXPRESSIONS;\n return {\n name: 'Nix',\n aliases: [ \"nixos\" ],\n keywords: KEYWORDS,\n contains: EXPRESSIONS\n };\n}\n\nmodule.exports = nix;\n","/*\nLanguage: Node REPL\nRequires: javascript.js\nAuthor: Marat Nagayev \nCategory: scripting\n*/\n\n/** @type LanguageFn */\nfunction nodeRepl(hljs) {\n return {\n name: 'Node REPL',\n contains: [\n {\n className: 'meta.prompt',\n starts: {\n // a space separates the REPL prefix from the actual code\n // this is purely for cleaner HTML output\n end: / |$/,\n starts: {\n end: '$',\n subLanguage: 'javascript'\n }\n },\n variants: [\n { begin: /^>(?=[ ]|$)/ },\n { begin: /^\\.\\.\\.(?=[ ]|$)/ }\n ]\n }\n ]\n };\n}\n\nmodule.exports = nodeRepl;\n","/*\nLanguage: NSIS\nDescription: Nullsoft Scriptable Install System\nAuthor: Jan T. Sott \nWebsite: https://nsis.sourceforge.io/Main_Page\nCategory: scripting\n*/\n\n\nfunction nsis(hljs) {\n const regex = hljs.regex;\n const LANGUAGE_CONSTANTS = [\n \"ADMINTOOLS\",\n \"APPDATA\",\n \"CDBURN_AREA\",\n \"CMDLINE\",\n \"COMMONFILES32\",\n \"COMMONFILES64\",\n \"COMMONFILES\",\n \"COOKIES\",\n \"DESKTOP\",\n \"DOCUMENTS\",\n \"EXEDIR\",\n \"EXEFILE\",\n \"EXEPATH\",\n \"FAVORITES\",\n \"FONTS\",\n \"HISTORY\",\n \"HWNDPARENT\",\n \"INSTDIR\",\n \"INTERNET_CACHE\",\n \"LANGUAGE\",\n \"LOCALAPPDATA\",\n \"MUSIC\",\n \"NETHOOD\",\n \"OUTDIR\",\n \"PICTURES\",\n \"PLUGINSDIR\",\n \"PRINTHOOD\",\n \"PROFILE\",\n \"PROGRAMFILES32\",\n \"PROGRAMFILES64\",\n \"PROGRAMFILES\",\n \"QUICKLAUNCH\",\n \"RECENT\",\n \"RESOURCES_LOCALIZED\",\n \"RESOURCES\",\n \"SENDTO\",\n \"SMPROGRAMS\",\n \"SMSTARTUP\",\n \"STARTMENU\",\n \"SYSDIR\",\n \"TEMP\",\n \"TEMPLATES\",\n \"VIDEOS\",\n \"WINDIR\"\n ];\n\n const PARAM_NAMES = [\n \"ARCHIVE\",\n \"FILE_ATTRIBUTE_ARCHIVE\",\n \"FILE_ATTRIBUTE_NORMAL\",\n \"FILE_ATTRIBUTE_OFFLINE\",\n \"FILE_ATTRIBUTE_READONLY\",\n \"FILE_ATTRIBUTE_SYSTEM\",\n \"FILE_ATTRIBUTE_TEMPORARY\",\n \"HKCR\",\n \"HKCU\",\n \"HKDD\",\n \"HKEY_CLASSES_ROOT\",\n \"HKEY_CURRENT_CONFIG\",\n \"HKEY_CURRENT_USER\",\n \"HKEY_DYN_DATA\",\n \"HKEY_LOCAL_MACHINE\",\n \"HKEY_PERFORMANCE_DATA\",\n \"HKEY_USERS\",\n \"HKLM\",\n \"HKPD\",\n \"HKU\",\n \"IDABORT\",\n \"IDCANCEL\",\n \"IDIGNORE\",\n \"IDNO\",\n \"IDOK\",\n \"IDRETRY\",\n \"IDYES\",\n \"MB_ABORTRETRYIGNORE\",\n \"MB_DEFBUTTON1\",\n \"MB_DEFBUTTON2\",\n \"MB_DEFBUTTON3\",\n \"MB_DEFBUTTON4\",\n \"MB_ICONEXCLAMATION\",\n \"MB_ICONINFORMATION\",\n \"MB_ICONQUESTION\",\n \"MB_ICONSTOP\",\n \"MB_OK\",\n \"MB_OKCANCEL\",\n \"MB_RETRYCANCEL\",\n \"MB_RIGHT\",\n \"MB_RTLREADING\",\n \"MB_SETFOREGROUND\",\n \"MB_TOPMOST\",\n \"MB_USERICON\",\n \"MB_YESNO\",\n \"NORMAL\",\n \"OFFLINE\",\n \"READONLY\",\n \"SHCTX\",\n \"SHELL_CONTEXT\",\n \"SYSTEM|TEMPORARY\",\n ];\n\n const COMPILER_FLAGS = [\n \"addincludedir\",\n \"addplugindir\",\n \"appendfile\",\n \"assert\",\n \"cd\",\n \"define\",\n \"delfile\",\n \"echo\",\n \"else\",\n \"endif\",\n \"error\",\n \"execute\",\n \"finalize\",\n \"getdllversion\",\n \"gettlbversion\",\n \"if\",\n \"ifdef\",\n \"ifmacrodef\",\n \"ifmacrondef\",\n \"ifndef\",\n \"include\",\n \"insertmacro\",\n \"macro\",\n \"macroend\",\n \"makensis\",\n \"packhdr\",\n \"searchparse\",\n \"searchreplace\",\n \"system\",\n \"tempfile\",\n \"undef\",\n \"uninstfinalize\",\n \"verbose\",\n \"warning\",\n ];\n\n const CONSTANTS = {\n className: 'variable.constant',\n begin: regex.concat(/\\$/, regex.either(...LANGUAGE_CONSTANTS))\n };\n\n const DEFINES = {\n // ${defines}\n className: 'variable',\n begin: /\\$+\\{[\\!\\w.:-]+\\}/\n };\n\n const VARIABLES = {\n // $variables\n className: 'variable',\n begin: /\\$+\\w[\\w\\.]*/,\n illegal: /\\(\\)\\{\\}/\n };\n\n const LANGUAGES = {\n // $(language_strings)\n className: 'variable',\n begin: /\\$+\\([\\w^.:!-]+\\)/\n };\n\n const PARAMETERS = {\n // command parameters\n className: 'params',\n begin: regex.either(...PARAM_NAMES)\n };\n\n const COMPILER = {\n // !compiler_flags\n className: 'keyword',\n begin: regex.concat(\n /!/,\n regex.either(...COMPILER_FLAGS)\n )\n };\n\n const ESCAPE_CHARS = {\n // $\\n, $\\r, $\\t, $$\n className: 'char.escape',\n begin: /\\$(\\\\[nrt]|\\$)/\n };\n\n const PLUGINS = {\n // plug::ins\n className: 'title.function',\n begin: /\\w+::\\w+/\n };\n\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: '\\'',\n end: '\\''\n },\n {\n begin: '`',\n end: '`'\n }\n ],\n illegal: /\\n/,\n contains: [\n ESCAPE_CHARS,\n CONSTANTS,\n DEFINES,\n VARIABLES,\n LANGUAGES\n ]\n };\n\n const KEYWORDS = [\n \"Abort\",\n \"AddBrandingImage\",\n \"AddSize\",\n \"AllowRootDirInstall\",\n \"AllowSkipFiles\",\n \"AutoCloseWindow\",\n \"BGFont\",\n \"BGGradient\",\n \"BrandingText\",\n \"BringToFront\",\n \"Call\",\n \"CallInstDLL\",\n \"Caption\",\n \"ChangeUI\",\n \"CheckBitmap\",\n \"ClearErrors\",\n \"CompletedText\",\n \"ComponentText\",\n \"CopyFiles\",\n \"CRCCheck\",\n \"CreateDirectory\",\n \"CreateFont\",\n \"CreateShortCut\",\n \"Delete\",\n \"DeleteINISec\",\n \"DeleteINIStr\",\n \"DeleteRegKey\",\n \"DeleteRegValue\",\n \"DetailPrint\",\n \"DetailsButtonText\",\n \"DirText\",\n \"DirVar\",\n \"DirVerify\",\n \"EnableWindow\",\n \"EnumRegKey\",\n \"EnumRegValue\",\n \"Exch\",\n \"Exec\",\n \"ExecShell\",\n \"ExecShellWait\",\n \"ExecWait\",\n \"ExpandEnvStrings\",\n \"File\",\n \"FileBufSize\",\n \"FileClose\",\n \"FileErrorText\",\n \"FileOpen\",\n \"FileRead\",\n \"FileReadByte\",\n \"FileReadUTF16LE\",\n \"FileReadWord\",\n \"FileWriteUTF16LE\",\n \"FileSeek\",\n \"FileWrite\",\n \"FileWriteByte\",\n \"FileWriteWord\",\n \"FindClose\",\n \"FindFirst\",\n \"FindNext\",\n \"FindWindow\",\n \"FlushINI\",\n \"GetCurInstType\",\n \"GetCurrentAddress\",\n \"GetDlgItem\",\n \"GetDLLVersion\",\n \"GetDLLVersionLocal\",\n \"GetErrorLevel\",\n \"GetFileTime\",\n \"GetFileTimeLocal\",\n \"GetFullPathName\",\n \"GetFunctionAddress\",\n \"GetInstDirError\",\n \"GetKnownFolderPath\",\n \"GetLabelAddress\",\n \"GetTempFileName\",\n \"GetWinVer\",\n \"Goto\",\n \"HideWindow\",\n \"Icon\",\n \"IfAbort\",\n \"IfErrors\",\n \"IfFileExists\",\n \"IfRebootFlag\",\n \"IfRtlLanguage\",\n \"IfShellVarContextAll\",\n \"IfSilent\",\n \"InitPluginsDir\",\n \"InstallButtonText\",\n \"InstallColors\",\n \"InstallDir\",\n \"InstallDirRegKey\",\n \"InstProgressFlags\",\n \"InstType\",\n \"InstTypeGetText\",\n \"InstTypeSetText\",\n \"Int64Cmp\",\n \"Int64CmpU\",\n \"Int64Fmt\",\n \"IntCmp\",\n \"IntCmpU\",\n \"IntFmt\",\n \"IntOp\",\n \"IntPtrCmp\",\n \"IntPtrCmpU\",\n \"IntPtrOp\",\n \"IsWindow\",\n \"LangString\",\n \"LicenseBkColor\",\n \"LicenseData\",\n \"LicenseForceSelection\",\n \"LicenseLangString\",\n \"LicenseText\",\n \"LoadAndSetImage\",\n \"LoadLanguageFile\",\n \"LockWindow\",\n \"LogSet\",\n \"LogText\",\n \"ManifestDPIAware\",\n \"ManifestLongPathAware\",\n \"ManifestMaxVersionTested\",\n \"ManifestSupportedOS\",\n \"MessageBox\",\n \"MiscButtonText\",\n \"Name|0\",\n \"Nop\",\n \"OutFile\",\n \"Page\",\n \"PageCallbacks\",\n \"PEAddResource\",\n \"PEDllCharacteristics\",\n \"PERemoveResource\",\n \"PESubsysVer\",\n \"Pop\",\n \"Push\",\n \"Quit\",\n \"ReadEnvStr\",\n \"ReadINIStr\",\n \"ReadRegDWORD\",\n \"ReadRegStr\",\n \"Reboot\",\n \"RegDLL\",\n \"Rename\",\n \"RequestExecutionLevel\",\n \"ReserveFile\",\n \"Return\",\n \"RMDir\",\n \"SearchPath\",\n \"SectionGetFlags\",\n \"SectionGetInstTypes\",\n \"SectionGetSize\",\n \"SectionGetText\",\n \"SectionIn\",\n \"SectionSetFlags\",\n \"SectionSetInstTypes\",\n \"SectionSetSize\",\n \"SectionSetText\",\n \"SendMessage\",\n \"SetAutoClose\",\n \"SetBrandingImage\",\n \"SetCompress\",\n \"SetCompressor\",\n \"SetCompressorDictSize\",\n \"SetCtlColors\",\n \"SetCurInstType\",\n \"SetDatablockOptimize\",\n \"SetDateSave\",\n \"SetDetailsPrint\",\n \"SetDetailsView\",\n \"SetErrorLevel\",\n \"SetErrors\",\n \"SetFileAttributes\",\n \"SetFont\",\n \"SetOutPath\",\n \"SetOverwrite\",\n \"SetRebootFlag\",\n \"SetRegView\",\n \"SetShellVarContext\",\n \"SetSilent\",\n \"ShowInstDetails\",\n \"ShowUninstDetails\",\n \"ShowWindow\",\n \"SilentInstall\",\n \"SilentUnInstall\",\n \"Sleep\",\n \"SpaceTexts\",\n \"StrCmp\",\n \"StrCmpS\",\n \"StrCpy\",\n \"StrLen\",\n \"SubCaption\",\n \"Unicode\",\n \"UninstallButtonText\",\n \"UninstallCaption\",\n \"UninstallIcon\",\n \"UninstallSubCaption\",\n \"UninstallText\",\n \"UninstPage\",\n \"UnRegDLL\",\n \"Var\",\n \"VIAddVersionKey\",\n \"VIFileVersion\",\n \"VIProductVersion\",\n \"WindowIcon\",\n \"WriteINIStr\",\n \"WriteRegBin\",\n \"WriteRegDWORD\",\n \"WriteRegExpandStr\",\n \"WriteRegMultiStr\",\n \"WriteRegNone\",\n \"WriteRegStr\",\n \"WriteUninstaller\",\n \"XPStyle\"\n ];\n\n const LITERALS = [\n \"admin\",\n \"all\",\n \"auto\",\n \"both\",\n \"bottom\",\n \"bzip2\",\n \"colored\",\n \"components\",\n \"current\",\n \"custom\",\n \"directory\",\n \"false\",\n \"force\",\n \"hide\",\n \"highest\",\n \"ifdiff\",\n \"ifnewer\",\n \"instfiles\",\n \"lastused\",\n \"leave\",\n \"left\",\n \"license\",\n \"listonly\",\n \"lzma\",\n \"nevershow\",\n \"none\",\n \"normal\",\n \"notset\",\n \"off\",\n \"on\",\n \"open\",\n \"print\",\n \"right\",\n \"show\",\n \"silent\",\n \"silentlog\",\n \"smooth\",\n \"textonly\",\n \"top\",\n \"true\",\n \"try\",\n \"un.components\",\n \"un.custom\",\n \"un.directory\",\n \"un.instfiles\",\n \"un.license\",\n \"uninstConfirm\",\n \"user\",\n \"Win10\",\n \"Win7\",\n \"Win8\",\n \"WinVista\",\n \"zlib\"\n ];\n\n const FUNCTION_DEFINITION = {\n match: [\n /Function/,\n /\\s+/,\n regex.concat(/(\\.)?/, hljs.IDENT_RE)\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n }\n };\n\n // Var Custom.Variable.Name.Item\n // Var /GLOBAL Custom.Variable.Name.Item\n const VARIABLE_NAME_RE = /[A-Za-z][\\w.]*/;\n const VARIABLE_DEFINITION = {\n match: [\n /Var/,\n /\\s+/,\n /(?:\\/GLOBAL\\s+)?/,\n VARIABLE_NAME_RE\n ],\n scope: {\n 1: \"keyword\",\n 3: \"params\",\n 4: \"variable\"\n }\n };\n\n return {\n name: 'NSIS',\n case_insensitive: true,\n keywords: {\n keyword: KEYWORDS,\n literal: LITERALS\n },\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.COMMENT(\n ';',\n '$',\n { relevance: 0 }\n ),\n VARIABLE_DEFINITION,\n FUNCTION_DEFINITION,\n { beginKeywords: 'Function PageEx Section SectionGroup FunctionEnd SectionEnd', },\n STRING,\n COMPILER,\n DEFINES,\n VARIABLES,\n LANGUAGES,\n PARAMETERS,\n PLUGINS,\n hljs.NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = nsis;\n","/*\nLanguage: Objective-C\nAuthor: Valerii Hiora \nContributors: Angel G. Olloqui , Matt Diephouse , Andrew Farmer , Minh Nguyễn \nWebsite: https://developer.apple.com/documentation/objectivec\nCategory: common\n*/\n\nfunction objectivec(hljs) {\n const API_CLASS = {\n className: 'built_in',\n begin: '\\\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\\\w+'\n };\n const IDENTIFIER_RE = /[a-zA-Z@][a-zA-Z0-9_]*/;\n const TYPES = [\n \"int\",\n \"float\",\n \"char\",\n \"unsigned\",\n \"signed\",\n \"short\",\n \"long\",\n \"double\",\n \"wchar_t\",\n \"unichar\",\n \"void\",\n \"bool\",\n \"BOOL\",\n \"id|0\",\n \"_Bool\"\n ];\n const KWS = [\n \"while\",\n \"export\",\n \"sizeof\",\n \"typedef\",\n \"const\",\n \"struct\",\n \"for\",\n \"union\",\n \"volatile\",\n \"static\",\n \"mutable\",\n \"if\",\n \"do\",\n \"return\",\n \"goto\",\n \"enum\",\n \"else\",\n \"break\",\n \"extern\",\n \"asm\",\n \"case\",\n \"default\",\n \"register\",\n \"explicit\",\n \"typename\",\n \"switch\",\n \"continue\",\n \"inline\",\n \"readonly\",\n \"assign\",\n \"readwrite\",\n \"self\",\n \"@synchronized\",\n \"id\",\n \"typeof\",\n \"nonatomic\",\n \"IBOutlet\",\n \"IBAction\",\n \"strong\",\n \"weak\",\n \"copy\",\n \"in\",\n \"out\",\n \"inout\",\n \"bycopy\",\n \"byref\",\n \"oneway\",\n \"__strong\",\n \"__weak\",\n \"__block\",\n \"__autoreleasing\",\n \"@private\",\n \"@protected\",\n \"@public\",\n \"@try\",\n \"@property\",\n \"@end\",\n \"@throw\",\n \"@catch\",\n \"@finally\",\n \"@autoreleasepool\",\n \"@synthesize\",\n \"@dynamic\",\n \"@selector\",\n \"@optional\",\n \"@required\",\n \"@encode\",\n \"@package\",\n \"@import\",\n \"@defs\",\n \"@compatibility_alias\",\n \"__bridge\",\n \"__bridge_transfer\",\n \"__bridge_retained\",\n \"__bridge_retain\",\n \"__covariant\",\n \"__contravariant\",\n \"__kindof\",\n \"_Nonnull\",\n \"_Nullable\",\n \"_Null_unspecified\",\n \"__FUNCTION__\",\n \"__PRETTY_FUNCTION__\",\n \"__attribute__\",\n \"getter\",\n \"setter\",\n \"retain\",\n \"unsafe_unretained\",\n \"nonnull\",\n \"nullable\",\n \"null_unspecified\",\n \"null_resettable\",\n \"class\",\n \"instancetype\",\n \"NS_DESIGNATED_INITIALIZER\",\n \"NS_UNAVAILABLE\",\n \"NS_REQUIRES_SUPER\",\n \"NS_RETURNS_INNER_POINTER\",\n \"NS_INLINE\",\n \"NS_AVAILABLE\",\n \"NS_DEPRECATED\",\n \"NS_ENUM\",\n \"NS_OPTIONS\",\n \"NS_SWIFT_UNAVAILABLE\",\n \"NS_ASSUME_NONNULL_BEGIN\",\n \"NS_ASSUME_NONNULL_END\",\n \"NS_REFINED_FOR_SWIFT\",\n \"NS_SWIFT_NAME\",\n \"NS_SWIFT_NOTHROW\",\n \"NS_DURING\",\n \"NS_HANDLER\",\n \"NS_ENDHANDLER\",\n \"NS_VALUERETURN\",\n \"NS_VOIDRETURN\"\n ];\n const LITERALS = [\n \"false\",\n \"true\",\n \"FALSE\",\n \"TRUE\",\n \"nil\",\n \"YES\",\n \"NO\",\n \"NULL\"\n ];\n const BUILT_INS = [\n \"dispatch_once_t\",\n \"dispatch_queue_t\",\n \"dispatch_sync\",\n \"dispatch_async\",\n \"dispatch_once\"\n ];\n const KEYWORDS = {\n \"variable.language\": [\n \"this\",\n \"super\"\n ],\n $pattern: IDENTIFIER_RE,\n keyword: KWS,\n literal: LITERALS,\n built_in: BUILT_INS,\n type: TYPES\n };\n const CLASS_KEYWORDS = {\n $pattern: IDENTIFIER_RE,\n keyword: [\n \"@interface\",\n \"@class\",\n \"@protocol\",\n \"@implementation\"\n ]\n };\n return {\n name: 'Objective-C',\n aliases: [\n 'mm',\n 'objc',\n 'obj-c',\n 'obj-c++',\n 'objective-c++'\n ],\n keywords: KEYWORDS,\n illegal: '/,\n end: /$/,\n illegal: '\\\\n'\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n className: 'class',\n begin: '(' + CLASS_KEYWORDS.keyword.join('|') + ')\\\\b',\n end: /(\\{|$)/,\n excludeEnd: true,\n keywords: CLASS_KEYWORDS,\n contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n },\n {\n begin: '\\\\.' + hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = objectivec;\n","/*\nLanguage: OCaml\nAuthor: Mehdi Dogguy \nContributors: Nicolas Braud-Santoni , Mickael Delahaye \nDescription: OCaml language definition.\nWebsite: https://ocaml.org\nCategory: functional\n*/\n\nfunction ocaml(hljs) {\n /* missing support for heredoc-like string (OCaml 4.0.2+) */\n return {\n name: 'OCaml',\n aliases: [ 'ml' ],\n keywords: {\n $pattern: '[a-z_]\\\\w*!?',\n keyword:\n 'and as assert asr begin class constraint do done downto else end '\n + 'exception external for fun function functor if in include '\n + 'inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method '\n + 'mod module mutable new object of open! open or private rec sig struct '\n + 'then to try type val! val virtual when while with '\n /* camlp4 */\n + 'parser value',\n built_in:\n /* built-in types */\n 'array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit '\n /* (some) types in Pervasives */\n + 'in_channel out_channel ref',\n literal:\n 'true false'\n },\n illegal: /\\/\\/|>>/,\n contains: [\n {\n className: 'literal',\n begin: '\\\\[(\\\\|\\\\|)?\\\\]|\\\\(\\\\)',\n relevance: 0\n },\n hljs.COMMENT(\n '\\\\(\\\\*',\n '\\\\*\\\\)',\n { contains: [ 'self' ] }\n ),\n { /* type variable */\n className: 'symbol',\n begin: '\\'[A-Za-z_](?!\\')[\\\\w\\']*'\n /* the grammar is ambiguous on how 'a'b should be interpreted but not the compiler */\n },\n { /* polymorphic variant */\n className: 'type',\n begin: '`[A-Z][\\\\w\\']*'\n },\n { /* module or constructor */\n className: 'type',\n begin: '\\\\b[A-Z][\\\\w\\']*',\n relevance: 0\n },\n { /* don't color identifiers, but safely catch all identifiers with ' */\n begin: '[a-z_]\\\\w*\\'[\\\\w\\']*',\n relevance: 0\n },\n hljs.inherit(hljs.APOS_STRING_MODE, {\n className: 'string',\n relevance: 0\n }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null }),\n {\n className: 'number',\n begin:\n '\\\\b(0[xX][a-fA-F0-9_]+[Lln]?|'\n + '0[oO][0-7_]+[Lln]?|'\n + '0[bB][01_]+[Lln]?|'\n + '[0-9][0-9_]*([Lln]|(\\\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)',\n relevance: 0\n },\n { begin: /->/ // relevance booster\n }\n ]\n };\n}\n\nmodule.exports = ocaml;\n","/*\nLanguage: OpenSCAD\nAuthor: Dan Panzarella \nDescription: OpenSCAD is a language for the 3D CAD modeling software of the same name.\nWebsite: https://www.openscad.org\nCategory: scientific\n*/\n\nfunction openscad(hljs) {\n const SPECIAL_VARS = {\n className: 'keyword',\n begin: '\\\\$(f[asn]|t|vp[rtd]|children)'\n };\n const LITERALS = {\n className: 'literal',\n begin: 'false|true|PI|undef'\n };\n const NUMBERS = {\n className: 'number',\n begin: '\\\\b\\\\d+(\\\\.\\\\d+)?(e-?\\\\d+)?', // adds 1e5, 1e-10\n relevance: 0\n };\n const STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, { illegal: null });\n const PREPRO = {\n className: 'meta',\n keywords: { keyword: 'include use' },\n begin: 'include|use <',\n end: '>'\n };\n const PARAMS = {\n className: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n contains: [\n 'self',\n NUMBERS,\n STRING,\n SPECIAL_VARS,\n LITERALS\n ]\n };\n const MODIFIERS = {\n begin: '[*!#%]',\n relevance: 0\n };\n const FUNCTIONS = {\n className: 'function',\n beginKeywords: 'module function',\n end: /=|\\{/,\n contains: [\n PARAMS,\n hljs.UNDERSCORE_TITLE_MODE\n ]\n };\n\n return {\n name: 'OpenSCAD',\n aliases: [ 'scad' ],\n keywords: {\n keyword: 'function module include use for intersection_for if else \\\\%',\n literal: 'false true PI undef',\n built_in: 'circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign'\n },\n contains: [\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n NUMBERS,\n PREPRO,\n STRING,\n SPECIAL_VARS,\n MODIFIERS,\n FUNCTIONS\n ]\n };\n}\n\nmodule.exports = openscad;\n","/*\nLanguage: Oxygene\nAuthor: Carlo Kok \nDescription: Oxygene is built on the foundation of Object Pascal, revamped and extended to be a modern language for the twenty-first century.\nWebsite: https://www.elementscompiler.com/elements/default.aspx\nCategory: build-system\n*/\n\nfunction oxygene(hljs) {\n const OXYGENE_KEYWORDS = {\n $pattern: /\\.?\\w+/,\n keyword:\n 'abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue '\n + 'create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false '\n + 'final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited '\n + 'inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of '\n + 'old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly '\n + 'record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple '\n + 'type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal '\n + 'register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained'\n };\n const CURLY_COMMENT = hljs.COMMENT(\n /\\{/,\n /\\}/,\n { relevance: 0 }\n );\n const PAREN_COMMENT = hljs.COMMENT(\n '\\\\(\\\\*',\n '\\\\*\\\\)',\n { relevance: 10 }\n );\n const STRING = {\n className: 'string',\n begin: '\\'',\n end: '\\'',\n contains: [ { begin: '\\'\\'' } ]\n };\n const CHAR_STRING = {\n className: 'string',\n begin: '(#\\\\d+)+'\n };\n const FUNCTION = {\n beginKeywords: 'function constructor destructor procedure method',\n end: '[:;]',\n keywords: 'function constructor|10 destructor|10 procedure|10 method|10',\n contains: [\n hljs.inherit(hljs.TITLE_MODE, { scope: \"title.function\" }),\n {\n className: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n keywords: OXYGENE_KEYWORDS,\n contains: [\n STRING,\n CHAR_STRING\n ]\n },\n CURLY_COMMENT,\n PAREN_COMMENT\n ]\n };\n\n const SEMICOLON = {\n scope: \"punctuation\",\n match: /;/,\n relevance: 0\n };\n\n return {\n name: 'Oxygene',\n case_insensitive: true,\n keywords: OXYGENE_KEYWORDS,\n illegal: '(\"|\\\\$[G-Zg-z]|\\\\/\\\\*||->)',\n contains: [\n CURLY_COMMENT,\n PAREN_COMMENT,\n hljs.C_LINE_COMMENT_MODE,\n STRING,\n CHAR_STRING,\n hljs.NUMBER_MODE,\n FUNCTION,\n SEMICOLON\n ]\n };\n}\n\nmodule.exports = oxygene;\n","/*\nLanguage: Parser3\nRequires: xml.js\nAuthor: Oleg Volchkov \nWebsite: https://www.parser.ru/en/\nCategory: template\n*/\n\nfunction parser3(hljs) {\n const CURLY_SUBCOMMENT = hljs.COMMENT(\n /\\{/,\n /\\}/,\n { contains: [ 'self' ] }\n );\n return {\n name: 'Parser3',\n subLanguage: 'xml',\n relevance: 0,\n contains: [\n hljs.COMMENT('^#', '$'),\n hljs.COMMENT(\n /\\^rem\\{/,\n /\\}/,\n {\n relevance: 10,\n contains: [ CURLY_SUBCOMMENT ]\n }\n ),\n {\n className: 'meta',\n begin: '^@(?:BASE|USE|CLASS|OPTIONS)$',\n relevance: 10\n },\n {\n className: 'title',\n begin: '@[\\\\w\\\\-]+\\\\[[\\\\w^;\\\\-]*\\\\](?:\\\\[[\\\\w^;\\\\-]*\\\\])?(?:.*)$'\n },\n {\n className: 'variable',\n begin: /\\$\\{?[\\w\\-.:]+\\}?/\n },\n {\n className: 'keyword',\n begin: /\\^[\\w\\-.:]+/\n },\n {\n className: 'number',\n begin: '\\\\^#[0-9a-fA-F]+'\n },\n hljs.C_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = parser3;\n","/*\nLanguage: Perl\nAuthor: Peter Leonov \nWebsite: https://www.perl.org\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction perl(hljs) {\n const regex = hljs.regex;\n const KEYWORDS = [\n 'abs',\n 'accept',\n 'alarm',\n 'and',\n 'atan2',\n 'bind',\n 'binmode',\n 'bless',\n 'break',\n 'caller',\n 'chdir',\n 'chmod',\n 'chomp',\n 'chop',\n 'chown',\n 'chr',\n 'chroot',\n 'class',\n 'close',\n 'closedir',\n 'connect',\n 'continue',\n 'cos',\n 'crypt',\n 'dbmclose',\n 'dbmopen',\n 'defined',\n 'delete',\n 'die',\n 'do',\n 'dump',\n 'each',\n 'else',\n 'elsif',\n 'endgrent',\n 'endhostent',\n 'endnetent',\n 'endprotoent',\n 'endpwent',\n 'endservent',\n 'eof',\n 'eval',\n 'exec',\n 'exists',\n 'exit',\n 'exp',\n 'fcntl',\n 'field',\n 'fileno',\n 'flock',\n 'for',\n 'foreach',\n 'fork',\n 'format',\n 'formline',\n 'getc',\n 'getgrent',\n 'getgrgid',\n 'getgrnam',\n 'gethostbyaddr',\n 'gethostbyname',\n 'gethostent',\n 'getlogin',\n 'getnetbyaddr',\n 'getnetbyname',\n 'getnetent',\n 'getpeername',\n 'getpgrp',\n 'getpriority',\n 'getprotobyname',\n 'getprotobynumber',\n 'getprotoent',\n 'getpwent',\n 'getpwnam',\n 'getpwuid',\n 'getservbyname',\n 'getservbyport',\n 'getservent',\n 'getsockname',\n 'getsockopt',\n 'given',\n 'glob',\n 'gmtime',\n 'goto',\n 'grep',\n 'gt',\n 'hex',\n 'if',\n 'index',\n 'int',\n 'ioctl',\n 'join',\n 'keys',\n 'kill',\n 'last',\n 'lc',\n 'lcfirst',\n 'length',\n 'link',\n 'listen',\n 'local',\n 'localtime',\n 'log',\n 'lstat',\n 'lt',\n 'ma',\n 'map',\n 'method',\n 'mkdir',\n 'msgctl',\n 'msgget',\n 'msgrcv',\n 'msgsnd',\n 'my',\n 'ne',\n 'next',\n 'no',\n 'not',\n 'oct',\n 'open',\n 'opendir',\n 'or',\n 'ord',\n 'our',\n 'pack',\n 'package',\n 'pipe',\n 'pop',\n 'pos',\n 'print',\n 'printf',\n 'prototype',\n 'push',\n 'q|0',\n 'qq',\n 'quotemeta',\n 'qw',\n 'qx',\n 'rand',\n 'read',\n 'readdir',\n 'readline',\n 'readlink',\n 'readpipe',\n 'recv',\n 'redo',\n 'ref',\n 'rename',\n 'require',\n 'reset',\n 'return',\n 'reverse',\n 'rewinddir',\n 'rindex',\n 'rmdir',\n 'say',\n 'scalar',\n 'seek',\n 'seekdir',\n 'select',\n 'semctl',\n 'semget',\n 'semop',\n 'send',\n 'setgrent',\n 'sethostent',\n 'setnetent',\n 'setpgrp',\n 'setpriority',\n 'setprotoent',\n 'setpwent',\n 'setservent',\n 'setsockopt',\n 'shift',\n 'shmctl',\n 'shmget',\n 'shmread',\n 'shmwrite',\n 'shutdown',\n 'sin',\n 'sleep',\n 'socket',\n 'socketpair',\n 'sort',\n 'splice',\n 'split',\n 'sprintf',\n 'sqrt',\n 'srand',\n 'stat',\n 'state',\n 'study',\n 'sub',\n 'substr',\n 'symlink',\n 'syscall',\n 'sysopen',\n 'sysread',\n 'sysseek',\n 'system',\n 'syswrite',\n 'tell',\n 'telldir',\n 'tie',\n 'tied',\n 'time',\n 'times',\n 'tr',\n 'truncate',\n 'uc',\n 'ucfirst',\n 'umask',\n 'undef',\n 'unless',\n 'unlink',\n 'unpack',\n 'unshift',\n 'untie',\n 'until',\n 'use',\n 'utime',\n 'values',\n 'vec',\n 'wait',\n 'waitpid',\n 'wantarray',\n 'warn',\n 'when',\n 'while',\n 'write',\n 'x|0',\n 'xor',\n 'y|0'\n ];\n\n // https://perldoc.perl.org/perlre#Modifiers\n const REGEX_MODIFIERS = /[dualxmsipngr]{0,12}/; // aa and xx are valid, making max length 12\n const PERL_KEYWORDS = {\n $pattern: /[\\w.]+/,\n keyword: KEYWORDS.join(\" \")\n };\n const SUBST = {\n className: 'subst',\n begin: '[$@]\\\\{',\n end: '\\\\}',\n keywords: PERL_KEYWORDS\n };\n const METHOD = {\n begin: /->\\{/,\n end: /\\}/\n // contains defined later\n };\n const ATTR = {\n scope: 'attr',\n match: /\\s+:\\s*\\w+(\\s*\\(.*?\\))?/,\n };\n const VAR = {\n scope: 'variable',\n variants: [\n { begin: /\\$\\d/ },\n { begin: regex.concat(\n /[$%@](?!\")(\\^\\w\\b|#\\w+(::\\w+)*|\\{\\w+\\}|\\w+(::\\w*)*)/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![A-Za-z])(?![@$%])`\n )\n },\n {\n // Only $= is a special Perl variable and one can't declare @= or %=.\n begin: /[$%@](?!\")[^\\s\\w{=]|\\$=/,\n relevance: 0\n }\n ],\n contains: [ ATTR ],\n };\n const NUMBER = {\n className: 'number',\n variants: [\n // decimal numbers:\n // include the case where a number starts with a dot (eg. .9), and\n // the leading 0? avoids mixing the first and second match on 0.x cases\n { match: /0?\\.[0-9][0-9_]+\\b/ },\n // include the special versioned number (eg. v5.38)\n { match: /\\bv?(0|[1-9][0-9_]*(\\.[0-9_]+)?|[1-9][0-9_]*)\\b/ },\n // non-decimal numbers:\n { match: /\\b0[0-7][0-7_]*\\b/ },\n { match: /\\b0x[0-9a-fA-F][0-9a-fA-F_]*\\b/ },\n { match: /\\b0b[0-1][0-1_]*\\b/ },\n ],\n relevance: 0\n };\n const STRING_CONTAINS = [\n hljs.BACKSLASH_ESCAPE,\n SUBST,\n VAR\n ];\n const REGEX_DELIMS = [\n /!/,\n /\\//,\n /\\|/,\n /\\?/,\n /'/,\n /\"/, // valid but infrequent and weird\n /#/ // valid but infrequent and weird\n ];\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_DOUBLE_RE = (prefix, open, close = '\\\\1') => {\n const middle = (close === '\\\\1')\n ? close\n : regex.concat(close, open);\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n middle,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n /**\n * @param {string|RegExp} prefix\n * @param {string|RegExp} open\n * @param {string|RegExp} close\n */\n const PAIRED_RE = (prefix, open, close) => {\n return regex.concat(\n regex.concat(\"(?:\", prefix, \")\"),\n open,\n /(?:\\\\.|[^\\\\\\/])*?/,\n close,\n REGEX_MODIFIERS\n );\n };\n const PERL_DEFAULT_CONTAINS = [\n VAR,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT(\n /^=\\w/,\n /=cut/,\n { endsWithParent: true }\n ),\n METHOD,\n {\n className: 'string',\n contains: STRING_CONTAINS,\n variants: [\n {\n begin: 'q[qwxr]?\\\\s*\\\\(',\n end: '\\\\)',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\[',\n end: '\\\\]',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\{',\n end: '\\\\}',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*\\\\|',\n end: '\\\\|',\n relevance: 5\n },\n {\n begin: 'q[qwxr]?\\\\s*<',\n end: '>',\n relevance: 5\n },\n {\n begin: 'qw\\\\s+q',\n end: 'q',\n relevance: 5\n },\n {\n begin: '\\'',\n end: '\\'',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: '\"',\n end: '\"'\n },\n {\n begin: '`',\n end: '`',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n },\n {\n begin: /\\{\\w+\\}/,\n relevance: 0\n },\n {\n begin: '-?\\\\w+\\\\s*=>',\n relevance: 0\n }\n ]\n },\n NUMBER,\n { // regexp container\n begin: '(\\\\/\\\\/|' + hljs.RE_STARTERS_RE + '|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',\n keywords: 'split return print reverse grep',\n relevance: 0,\n contains: [\n hljs.HASH_COMMENT_MODE,\n {\n className: 'regexp',\n variants: [\n // allow matching common delimiters\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", regex.either(...REGEX_DELIMS, { capture: true })) },\n // and then paired delmis\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\(\", \"\\\\)\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\[\", \"\\\\]\") },\n { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\{\", \"\\\\}\") }\n ],\n relevance: 2\n },\n {\n className: 'regexp',\n variants: [\n {\n // could be a comment in many languages so do not count\n // as relevant\n begin: /(m|qr)\\/\\//,\n relevance: 0\n },\n // prefix is optional with /regex/\n { begin: PAIRED_RE(\"(?:m|qr)?\", /\\//, /\\//) },\n // allow matching common delimiters\n { begin: PAIRED_RE(\"m|qr\", regex.either(...REGEX_DELIMS, { capture: true }), /\\1/) },\n // allow common paired delmins\n { begin: PAIRED_RE(\"m|qr\", /\\(/, /\\)/) },\n { begin: PAIRED_RE(\"m|qr\", /\\[/, /\\]/) },\n { begin: PAIRED_RE(\"m|qr\", /\\{/, /\\}/) }\n ]\n }\n ]\n },\n {\n className: 'function',\n beginKeywords: 'sub method',\n end: '(\\\\s*\\\\(.*?\\\\))?[;{]',\n excludeEnd: true,\n relevance: 5,\n contains: [ hljs.TITLE_MODE, ATTR ]\n },\n {\n className: 'class',\n beginKeywords: 'class',\n end: '[;{]',\n excludeEnd: true,\n relevance: 5,\n contains: [ hljs.TITLE_MODE, ATTR, NUMBER ]\n },\n {\n begin: '-\\\\w\\\\b',\n relevance: 0\n },\n {\n begin: \"^__DATA__$\",\n end: \"^__END__$\",\n subLanguage: 'mojolicious',\n contains: [\n {\n begin: \"^@@.*\",\n end: \"$\",\n className: \"comment\"\n }\n ]\n }\n ];\n SUBST.contains = PERL_DEFAULT_CONTAINS;\n METHOD.contains = PERL_DEFAULT_CONTAINS;\n\n return {\n name: 'Perl',\n aliases: [\n 'pl',\n 'pm'\n ],\n keywords: PERL_KEYWORDS,\n contains: PERL_DEFAULT_CONTAINS\n };\n}\n\nmodule.exports = perl;\n","/*\nLanguage: Packet Filter config\nDescription: pf.conf — packet filter configuration file (OpenBSD)\nAuthor: Peter Piwowarski \nWebsite: http://man.openbsd.org/pf.conf\nCategory: config\n*/\n\nfunction pf(hljs) {\n const MACRO = {\n className: 'variable',\n begin: /\\$[\\w\\d#@][\\w\\d_]*/,\n relevance: 0\n };\n const TABLE = {\n className: 'variable',\n begin: /<(?!\\/)/,\n end: />/\n };\n\n return {\n name: 'Packet Filter config',\n aliases: [ 'pf.conf' ],\n keywords: {\n $pattern: /[a-z0-9_<>-]+/,\n built_in: /* block match pass are \"actions\" in pf.conf(5), the rest are\n * lexically similar top-level commands.\n */\n 'block match pass load anchor|5 antispoof|10 set table',\n keyword:\n 'in out log quick on rdomain inet inet6 proto from port os to route '\n + 'allow-opts divert-packet divert-reply divert-to flags group icmp-type '\n + 'icmp6-type label once probability recieved-on rtable prio queue '\n + 'tos tag tagged user keep fragment for os drop '\n + 'af-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robin '\n + 'source-hash static-port '\n + 'dup-to reply-to route-to '\n + 'parent bandwidth default min max qlimit '\n + 'block-policy debug fingerprints hostid limit loginterface optimization '\n + 'reassemble ruleset-optimization basic none profile skip state-defaults '\n + 'state-policy timeout '\n + 'const counters persist '\n + 'no modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppy '\n + 'source-track global rule max-src-nodes max-src-states max-src-conn '\n + 'max-src-conn-rate overload flush '\n + 'scrub|5 max-mss min-ttl no-df|10 random-id',\n literal:\n 'all any no-route self urpf-failed egress|5 unknown'\n },\n contains: [\n hljs.HASH_COMMENT_MODE,\n hljs.NUMBER_MODE,\n hljs.QUOTE_STRING_MODE,\n MACRO,\n TABLE\n ]\n };\n}\n\nmodule.exports = pf;\n","/*\nLanguage: PostgreSQL and PL/pgSQL\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nWebsite: https://www.postgresql.org/docs/11/sql.html\nDescription:\n This language incorporates both PostgreSQL SQL dialect and PL/pgSQL language.\n It is based on PostgreSQL version 11. Some notes:\n - Text in double-dollar-strings is _always_ interpreted as some programming code. Text\n in ordinary quotes is _never_ interpreted that way and highlighted just as a string.\n - There are quite a bit \"special cases\". That's because many keywords are not strictly\n they are keywords in some contexts and ordinary identifiers in others. Only some\n of such cases are handled; you still can get some of your identifiers highlighted\n wrong way.\n - Function names deliberately are not highlighted. There is no way to tell function\n call from other constructs, hence we can't highlight _all_ function names. And\n some names highlighted while others not looks ugly.\nCategory: database\n*/\n\nfunction pgsql(hljs) {\n const COMMENT_MODE = hljs.COMMENT('--', '$');\n const UNQUOTED_IDENT = '[a-zA-Z_][a-zA-Z_0-9$]*';\n const DOLLAR_STRING = '\\\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\\\$';\n const LABEL = '<<\\\\s*' + UNQUOTED_IDENT + '\\\\s*>>';\n\n const SQL_KW =\n // https://www.postgresql.org/docs/11/static/sql-keywords-appendix.html\n // https://www.postgresql.org/docs/11/static/sql-commands.html\n // SQL commands (starting words)\n 'ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE '\n + 'DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY '\n + 'PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW '\n + 'START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES '\n // SQL commands (others)\n + 'AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN '\n + 'WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS '\n + 'FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM '\n + 'TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS '\n + 'METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION '\n + 'INDEX PROCEDURE ASSERTION '\n // additional reserved key words\n + 'ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK '\n + 'COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS '\n + 'DEFERRABLE RANGE '\n + 'DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING '\n + 'ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT '\n + 'NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY '\n + 'REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN '\n + 'TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH '\n // some of non-reserved (which are used in clauses or as PL/pgSQL keyword)\n + 'BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN '\n + 'BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT '\n + 'TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN '\n + 'EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH '\n + 'REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL '\n + 'ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED '\n + 'INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 '\n + 'INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE '\n + 'ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES '\n + 'RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS '\n + 'UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF '\n // some parameters of VACUUM/ANALYZE/EXPLAIN\n + 'FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING '\n //\n + 'RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED '\n + 'OF NOTHING NONE EXCLUDE ATTRIBUTE '\n // from GRANT (not keywords actually)\n + 'USAGE ROUTINES '\n // actually literals, but look better this way (due to IS TRUE, IS FALSE, ISNULL etc)\n + 'TRUE FALSE NAN INFINITY ';\n\n const ROLE_ATTRS = // only those not in keywrods already\n 'SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT '\n + 'LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS ';\n\n const PLPGSQL_KW =\n 'ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS '\n + 'STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT '\n + 'OPEN ';\n\n const TYPES =\n // https://www.postgresql.org/docs/11/static/datatype.html\n 'BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR '\n + 'CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 '\n + 'MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 '\n + 'SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 '\n + 'TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR '\n + 'INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 '\n // pseudotypes\n + 'ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL '\n + 'RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR '\n // spec. type\n + 'NAME '\n // OID-types\n + 'OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 '\n + 'REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ';// +\n\n const TYPES_RE =\n TYPES.trim()\n .split(' ')\n .map(function(val) { return val.split('|')[0]; })\n .join('|');\n\n const SQL_BI =\n 'CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP '\n + 'CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC ';\n\n const PLPGSQL_BI =\n 'FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 '\n + 'TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 '\n // get diagnostics\n + 'ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME '\n + 'PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 '\n + 'PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 ';\n\n const PLPGSQL_EXCEPTIONS =\n // exceptions https://www.postgresql.org/docs/current/static/errcodes-appendix.html\n 'SQLSTATE SQLERRM|10 '\n + 'SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING '\n + 'NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED '\n + 'STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED '\n + 'SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE '\n + 'SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION '\n + 'TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED '\n + 'INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR '\n + 'INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION '\n + 'STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION '\n + 'DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW '\n + 'DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW '\n + 'INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION '\n + 'INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION '\n + 'INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST '\n + 'INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE '\n + 'NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE '\n + 'INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE '\n + 'INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT '\n + 'INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH '\n + 'NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE '\n + 'SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION '\n + 'SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING '\n + 'FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION '\n + 'BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT '\n + 'INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION '\n + 'INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION '\n + 'UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE '\n + 'INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE '\n + 'HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION '\n + 'INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION '\n + 'NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION '\n + 'SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION '\n + 'IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME '\n + 'TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD '\n + 'DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST '\n + 'INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT '\n + 'MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED '\n + 'READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION '\n + 'CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED '\n + 'PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED '\n + 'EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED '\n + 'TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED '\n + 'SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME '\n + 'INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION '\n + 'SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED '\n + 'SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE '\n + 'GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME '\n + 'NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH '\n + 'INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN '\n + 'UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT '\n + 'DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION '\n + 'DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS '\n + 'DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS '\n + 'INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION '\n + 'INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION '\n + 'INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION '\n + 'INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL '\n + 'OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED '\n + 'STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE '\n + 'OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION '\n + 'QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED '\n + 'SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR '\n + 'LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED '\n + 'FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION '\n + 'FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER '\n + 'FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS '\n + 'FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX '\n + 'FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH '\n + 'FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES '\n + 'FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE '\n + 'FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION '\n + 'FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR '\n + 'RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED '\n + 'INDEX_CORRUPTED ';\n\n const FUNCTIONS =\n // https://www.postgresql.org/docs/11/static/functions-aggregate.html\n 'ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG '\n + 'JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG '\n + 'CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE '\n + 'REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP '\n + 'PERCENTILE_CONT PERCENTILE_DISC '\n // https://www.postgresql.org/docs/11/static/functions-window.html\n + 'ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE '\n // https://www.postgresql.org/docs/11/static/functions-comparison.html\n + 'NUM_NONNULLS NUM_NULLS '\n // https://www.postgresql.org/docs/11/static/functions-math.html\n + 'ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT '\n + 'TRUNC WIDTH_BUCKET '\n + 'RANDOM SETSEED '\n + 'ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND '\n // https://www.postgresql.org/docs/11/static/functions-string.html\n + 'BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER '\n + 'ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP '\n + 'LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 '\n + 'QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY '\n + 'REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR '\n + 'TO_ASCII TO_HEX TRANSLATE '\n // https://www.postgresql.org/docs/11/static/functions-binarystring.html\n + 'OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE '\n // https://www.postgresql.org/docs/11/static/functions-formatting.html\n + 'TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP '\n // https://www.postgresql.org/docs/11/static/functions-datetime.html\n + 'AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL '\n + 'MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 '\n + 'TIMEOFDAY TRANSACTION_TIMESTAMP|10 '\n // https://www.postgresql.org/docs/11/static/functions-enum.html\n + 'ENUM_FIRST ENUM_LAST ENUM_RANGE '\n // https://www.postgresql.org/docs/11/static/functions-geometry.html\n + 'AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH '\n + 'BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON '\n // https://www.postgresql.org/docs/11/static/functions-net.html\n + 'ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY '\n + 'INET_MERGE MACADDR8_SET7BIT '\n // https://www.postgresql.org/docs/11/static/functions-textsearch.html\n + 'ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY '\n + 'QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE '\n + 'TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY '\n + 'TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN '\n // https://www.postgresql.org/docs/11/static/functions-xml.html\n + 'XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT '\n + 'XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT '\n + 'XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES '\n + 'TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA '\n + 'QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA '\n + 'CURSOR_TO_XML CURSOR_TO_XMLSCHEMA '\n + 'SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA '\n + 'DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA '\n + 'XMLATTRIBUTES '\n // https://www.postgresql.org/docs/11/static/functions-json.html\n + 'TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT '\n + 'JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH '\n + 'JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH '\n + 'JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET '\n + 'JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT '\n + 'JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET '\n + 'JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY '\n // https://www.postgresql.org/docs/11/static/functions-sequence.html\n + 'CURRVAL LASTVAL NEXTVAL SETVAL '\n // https://www.postgresql.org/docs/11/static/functions-conditional.html\n + 'COALESCE NULLIF GREATEST LEAST '\n // https://www.postgresql.org/docs/11/static/functions-array.html\n + 'ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION '\n + 'ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY '\n + 'STRING_TO_ARRAY UNNEST '\n // https://www.postgresql.org/docs/11/static/functions-range.html\n + 'ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE '\n // https://www.postgresql.org/docs/11/static/functions-srf.html\n + 'GENERATE_SERIES GENERATE_SUBSCRIPTS '\n // https://www.postgresql.org/docs/11/static/functions-info.html\n + 'CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT '\n + 'INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE '\n + 'TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE '\n + 'COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION '\n + 'TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX '\n + 'TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS '\n // https://www.postgresql.org/docs/11/static/functions-admin.html\n + 'CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE '\n + 'GIN_CLEAN_PENDING_LIST '\n // https://www.postgresql.org/docs/11/static/functions-trigger.html\n + 'SUPPRESS_REDUNDANT_UPDATES_TRIGGER '\n // ihttps://www.postgresql.org/docs/devel/static/lo-funcs.html\n + 'LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE '\n //\n + 'GROUPING CAST ';\n\n const FUNCTIONS_RE =\n FUNCTIONS.trim()\n .split(' ')\n .map(function(val) { return val.split('|')[0]; })\n .join('|');\n\n return {\n name: 'PostgreSQL',\n aliases: [\n 'postgres',\n 'postgresql'\n ],\n supersetOf: \"sql\",\n case_insensitive: true,\n keywords: {\n keyword:\n SQL_KW + PLPGSQL_KW + ROLE_ATTRS,\n built_in:\n SQL_BI + PLPGSQL_BI + PLPGSQL_EXCEPTIONS\n },\n // Forbid some cunstructs from other languages to improve autodetect. In fact\n // \"[a-z]:\" is legal (as part of array slice), but improbabal.\n illegal: /:==|\\W\\s*\\(\\*|(^|\\s)\\$[a-z]|\\{\\{|[a-z]:\\s*$|\\.\\.\\.|TO:|DO:/,\n contains: [\n // special handling of some words, which are reserved only in some contexts\n {\n className: 'keyword',\n variants: [\n { begin: /\\bTEXT\\s*SEARCH\\b/ },\n { begin: /\\b(PRIMARY|FOREIGN|FOR(\\s+NO)?)\\s+KEY\\b/ },\n { begin: /\\bPARALLEL\\s+(UNSAFE|RESTRICTED|SAFE)\\b/ },\n { begin: /\\bSTORAGE\\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\\b/ },\n { begin: /\\bMATCH\\s+(FULL|PARTIAL|SIMPLE)\\b/ },\n { begin: /\\bNULLS\\s+(FIRST|LAST)\\b/ },\n { begin: /\\bEVENT\\s+TRIGGER\\b/ },\n { begin: /\\b(MAPPING|OR)\\s+REPLACE\\b/ },\n { begin: /\\b(FROM|TO)\\s+(PROGRAM|STDIN|STDOUT)\\b/ },\n { begin: /\\b(SHARE|EXCLUSIVE)\\s+MODE\\b/ },\n { begin: /\\b(LEFT|RIGHT)\\s+(OUTER\\s+)?JOIN\\b/ },\n { begin: /\\b(FETCH|MOVE)\\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\\b/ },\n { begin: /\\bPRESERVE\\s+ROWS\\b/ },\n { begin: /\\bDISCARD\\s+PLANS\\b/ },\n { begin: /\\bREFERENCING\\s+(OLD|NEW)\\b/ },\n { begin: /\\bSKIP\\s+LOCKED\\b/ },\n { begin: /\\bGROUPING\\s+SETS\\b/ },\n { begin: /\\b(BINARY|INSENSITIVE|SCROLL|NO\\s+SCROLL)\\s+(CURSOR|FOR)\\b/ },\n { begin: /\\b(WITH|WITHOUT)\\s+HOLD\\b/ },\n { begin: /\\bWITH\\s+(CASCADED|LOCAL)\\s+CHECK\\s+OPTION\\b/ },\n { begin: /\\bEXCLUDE\\s+(TIES|NO\\s+OTHERS)\\b/ },\n { begin: /\\bFORMAT\\s+(TEXT|XML|JSON|YAML)\\b/ },\n { begin: /\\bSET\\s+((SESSION|LOCAL)\\s+)?NAMES\\b/ },\n { begin: /\\bIS\\s+(NOT\\s+)?UNKNOWN\\b/ },\n { begin: /\\bSECURITY\\s+LABEL\\b/ },\n { begin: /\\bSTANDALONE\\s+(YES|NO|NO\\s+VALUE)\\b/ },\n { begin: /\\bWITH\\s+(NO\\s+)?DATA\\b/ },\n { begin: /\\b(FOREIGN|SET)\\s+DATA\\b/ },\n { begin: /\\bSET\\s+(CATALOG|CONSTRAINTS)\\b/ },\n { begin: /\\b(WITH|FOR)\\s+ORDINALITY\\b/ },\n { begin: /\\bIS\\s+(NOT\\s+)?DOCUMENT\\b/ },\n { begin: /\\bXML\\s+OPTION\\s+(DOCUMENT|CONTENT)\\b/ },\n { begin: /\\b(STRIP|PRESERVE)\\s+WHITESPACE\\b/ },\n { begin: /\\bNO\\s+(ACTION|MAXVALUE|MINVALUE)\\b/ },\n { begin: /\\bPARTITION\\s+BY\\s+(RANGE|LIST|HASH)\\b/ },\n { begin: /\\bAT\\s+TIME\\s+ZONE\\b/ },\n { begin: /\\bGRANTED\\s+BY\\b/ },\n { begin: /\\bRETURN\\s+(QUERY|NEXT)\\b/ },\n { begin: /\\b(ATTACH|DETACH)\\s+PARTITION\\b/ },\n { begin: /\\bFORCE\\s+ROW\\s+LEVEL\\s+SECURITY\\b/ },\n { begin: /\\b(INCLUDING|EXCLUDING)\\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\\b/ },\n { begin: /\\bAS\\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\\b/ }\n ]\n },\n // functions named as keywords, followed by '('\n { begin: /\\b(FORMAT|FAMILY|VERSION)\\s*\\(/\n // keywords: { built_in: 'FORMAT FAMILY VERSION' }\n },\n // INCLUDE ( ... ) in index_parameters in CREATE TABLE\n {\n begin: /\\bINCLUDE\\s*\\(/,\n keywords: 'INCLUDE'\n },\n // not highlight RANGE if not in frame_clause (not 100% correct, but seems satisfactory)\n { begin: /\\bRANGE(?!\\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/ },\n // disable highlighting in commands CREATE AGGREGATE/COLLATION/DATABASE/OPERTOR/TEXT SEARCH .../TYPE\n // and in PL/pgSQL RAISE ... USING\n { begin: /\\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\\s*=/ },\n // PG_smth; HAS_some_PRIVILEGE\n {\n // className: 'built_in',\n begin: /\\b(PG_\\w+?|HAS_[A-Z_]+_PRIVILEGE)\\b/,\n relevance: 10\n },\n // extract\n {\n begin: /\\bEXTRACT\\s*\\(/,\n end: /\\bFROM\\b/,\n returnEnd: true,\n keywords: {\n // built_in: 'EXTRACT',\n type: 'CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS '\n + 'MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR '\n + 'TIMEZONE_MINUTE WEEK YEAR' }\n },\n // xmlelement, xmlpi - special NAME\n {\n begin: /\\b(XMLELEMENT|XMLPI)\\s*\\(\\s*NAME/,\n keywords: {\n // built_in: 'XMLELEMENT XMLPI',\n keyword: 'NAME' }\n },\n // xmlparse, xmlserialize\n {\n begin: /\\b(XMLPARSE|XMLSERIALIZE)\\s*\\(\\s*(DOCUMENT|CONTENT)/,\n keywords: {\n // built_in: 'XMLPARSE XMLSERIALIZE',\n keyword: 'DOCUMENT CONTENT' }\n },\n // Sequences. We actually skip everything between CACHE|INCREMENT|MAXVALUE|MINVALUE and\n // nearest following numeric constant. Without with trick we find a lot of \"keywords\"\n // in 'avrasm' autodetection test...\n {\n beginKeywords: 'CACHE INCREMENT MAXVALUE MINVALUE',\n end: hljs.C_NUMBER_RE,\n returnEnd: true,\n keywords: 'BY CACHE INCREMENT MAXVALUE MINVALUE'\n },\n // WITH|WITHOUT TIME ZONE as part of datatype\n {\n className: 'type',\n begin: /\\b(WITH|WITHOUT)\\s+TIME\\s+ZONE\\b/\n },\n // INTERVAL optional fields\n {\n className: 'type',\n begin: /\\bINTERVAL\\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\\s+TO\\s+(MONTH|HOUR|MINUTE|SECOND))?\\b/\n },\n // Pseudo-types which allowed only as return type\n {\n begin: /\\bRETURNS\\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\\b/,\n keywords: {\n keyword: 'RETURNS',\n type: 'LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER'\n }\n },\n // Known functions - only when followed by '('\n { begin: '\\\\b(' + FUNCTIONS_RE + ')\\\\s*\\\\('\n // keywords: { built_in: FUNCTIONS }\n },\n // Types\n { begin: '\\\\.(' + TYPES_RE + ')\\\\b' // prevent highlight as type, say, 'oid' in 'pgclass.oid'\n },\n {\n begin: '\\\\b(' + TYPES_RE + ')\\\\s+PATH\\\\b', // in XMLTABLE\n keywords: {\n keyword: 'PATH', // hopefully no one would use PATH type in XMLTABLE...\n type: TYPES.replace('PATH ', '')\n }\n },\n {\n className: 'type',\n begin: '\\\\b(' + TYPES_RE + ')\\\\b'\n },\n // Strings, see https://www.postgresql.org/docs/11/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS\n {\n className: 'string',\n begin: '\\'',\n end: '\\'',\n contains: [ { begin: '\\'\\'' } ]\n },\n {\n className: 'string',\n begin: '(e|E|u&|U&)\\'',\n end: '\\'',\n contains: [ { begin: '\\\\\\\\.' } ],\n relevance: 10\n },\n hljs.END_SAME_AS_BEGIN({\n begin: DOLLAR_STRING,\n end: DOLLAR_STRING,\n contains: [\n {\n // actually we want them all except SQL; listed are those with known implementations\n // and XML + JSON just in case\n subLanguage: [\n 'pgsql',\n 'perl',\n 'python',\n 'tcl',\n 'r',\n 'lua',\n 'java',\n 'php',\n 'ruby',\n 'bash',\n 'scheme',\n 'xml',\n 'json'\n ],\n endsWithParent: true\n }\n ]\n }),\n // identifiers in quotes\n {\n begin: '\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ]\n },\n // numbers\n hljs.C_NUMBER_MODE,\n // comments\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n // PL/pgSQL staff\n // %ROWTYPE, %TYPE, $n\n {\n className: 'meta',\n variants: [\n { // %TYPE, %ROWTYPE\n begin: '%(ROW)?TYPE',\n relevance: 10\n },\n { // $n\n begin: '\\\\$\\\\d+' },\n { // #compiler option\n begin: '^#\\\\w',\n end: '$'\n }\n ]\n },\n // <>\n {\n className: 'symbol',\n begin: LABEL,\n relevance: 10\n }\n ]\n };\n}\n\nmodule.exports = pgsql;\n","/*\nLanguage: PHP Template\nRequires: xml.js, php.js\nAuthor: Josh Goebel \nWebsite: https://www.php.net\nCategory: common\n*/\n\nfunction phpTemplate(hljs) {\n return {\n name: \"PHP template\",\n subLanguage: 'xml',\n contains: [\n {\n begin: /<\\?(php|=)?/,\n end: /\\?>/,\n subLanguage: 'php',\n contains: [\n // We don't want the php closing tag ?> to close the PHP block when\n // inside any of the following blocks:\n {\n begin: '/\\\\*',\n end: '\\\\*/',\n skip: true\n },\n {\n begin: 'b\"',\n end: '\"',\n skip: true\n },\n {\n begin: 'b\\'',\n end: '\\'',\n skip: true\n },\n hljs.inherit(hljs.APOS_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n }),\n hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n className: null,\n contains: null,\n skip: true\n })\n ]\n }\n ]\n };\n}\n\nmodule.exports = phpTemplate;\n","/*\nLanguage: PHP\nAuthor: Victor Karamzin \nContributors: Evgeny Stepanischev , Ivan Sagalaev \nWebsite: https://www.php.net\nCategory: common\n*/\n\n/**\n * @param {HLJSApi} hljs\n * @returns {LanguageDetail}\n * */\nfunction php(hljs) {\n const regex = hljs.regex;\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n const NOT_PERL_ETC = /(?![A-Za-z0-9])(?![$])/;\n const IDENT_RE = regex.concat(\n /[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/,\n NOT_PERL_ETC);\n // Will not detect camelCase classes\n const PASCAL_CASE_CLASS_NAME_RE = regex.concat(\n /(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}/,\n NOT_PERL_ETC);\n const VARIABLE = {\n scope: 'variable',\n match: '\\\\$+' + IDENT_RE,\n };\n const PREPROCESSOR = {\n scope: 'meta',\n variants: [\n { begin: /<\\?php/, relevance: 10 }, // boost for obvious PHP\n { begin: /<\\?=/ },\n // less relevant per PSR-1 which says not to use short-tags\n { begin: /<\\?/, relevance: 0.1 },\n { begin: /\\?>/ } // end php tag\n ]\n };\n const SUBST = {\n scope: 'subst',\n variants: [\n { begin: /\\$\\w+/ },\n {\n begin: /\\{\\$/,\n end: /\\}/\n }\n ]\n };\n const SINGLE_QUOTED = hljs.inherit(hljs.APOS_STRING_MODE, { illegal: null, });\n const DOUBLE_QUOTED = hljs.inherit(hljs.QUOTE_STRING_MODE, {\n illegal: null,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n });\n\n const HEREDOC = {\n begin: /<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n contains: hljs.QUOTE_STRING_MODE.contains.concat(SUBST),\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1] || m[2]; },\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); },\n };\n\n const NOWDOC = hljs.END_SAME_AS_BEGIN({\n begin: /<<<[ \\t]*'(\\w+)'\\n/,\n end: /[ \\t]*(\\w+)\\b/,\n });\n // list of valid whitespaces because non-breaking space might be part of a IDENT_RE\n const WHITESPACE = '[ \\t\\n]';\n const STRING = {\n scope: 'string',\n variants: [\n DOUBLE_QUOTED,\n SINGLE_QUOTED,\n HEREDOC,\n NOWDOC\n ]\n };\n const NUMBER = {\n scope: 'number',\n variants: [\n { begin: `\\\\b0[bB][01]+(?:_[01]+)*\\\\b` }, // Binary w/ underscore support\n { begin: `\\\\b0[oO][0-7]+(?:_[0-7]+)*\\\\b` }, // Octals w/ underscore support\n { begin: `\\\\b0[xX][\\\\da-fA-F]+(?:_[\\\\da-fA-F]+)*\\\\b` }, // Hex w/ underscore support\n // Decimals w/ underscore support, with optional fragments and scientific exponent (e) suffix.\n { begin: `(?:\\\\b\\\\d+(?:_\\\\d+)*(\\\\.(?:\\\\d+(?:_\\\\d+)*))?|\\\\B\\\\.\\\\d+)(?:[eE][+-]?\\\\d+)?` }\n ],\n relevance: 0\n };\n const LITERALS = [\n \"false\",\n \"null\",\n \"true\"\n ];\n const KWS = [\n // Magic constants:\n // \n \"__CLASS__\",\n \"__DIR__\",\n \"__FILE__\",\n \"__FUNCTION__\",\n \"__COMPILER_HALT_OFFSET__\",\n \"__LINE__\",\n \"__METHOD__\",\n \"__NAMESPACE__\",\n \"__TRAIT__\",\n // Function that look like language construct or language construct that look like function:\n // List of keywords that may not require parenthesis\n \"die\",\n \"echo\",\n \"exit\",\n \"include\",\n \"include_once\",\n \"print\",\n \"require\",\n \"require_once\",\n // These are not language construct (function) but operate on the currently-executing function and can access the current symbol table\n // 'compact extract func_get_arg func_get_args func_num_args get_called_class get_parent_class ' +\n // Other keywords:\n // \n // \n \"array\",\n \"abstract\",\n \"and\",\n \"as\",\n \"binary\",\n \"bool\",\n \"boolean\",\n \"break\",\n \"callable\",\n \"case\",\n \"catch\",\n \"class\",\n \"clone\",\n \"const\",\n \"continue\",\n \"declare\",\n \"default\",\n \"do\",\n \"double\",\n \"else\",\n \"elseif\",\n \"empty\",\n \"enddeclare\",\n \"endfor\",\n \"endforeach\",\n \"endif\",\n \"endswitch\",\n \"endwhile\",\n \"enum\",\n \"eval\",\n \"extends\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"foreach\",\n \"from\",\n \"global\",\n \"goto\",\n \"if\",\n \"implements\",\n \"instanceof\",\n \"insteadof\",\n \"int\",\n \"integer\",\n \"interface\",\n \"isset\",\n \"iterable\",\n \"list\",\n \"match|0\",\n \"mixed\",\n \"new\",\n \"never\",\n \"object\",\n \"or\",\n \"private\",\n \"protected\",\n \"public\",\n \"readonly\",\n \"real\",\n \"return\",\n \"string\",\n \"switch\",\n \"throw\",\n \"trait\",\n \"try\",\n \"unset\",\n \"use\",\n \"var\",\n \"void\",\n \"while\",\n \"xor\",\n \"yield\"\n ];\n\n const BUILT_INS = [\n // Standard PHP library:\n // \n \"Error|0\",\n \"AppendIterator\",\n \"ArgumentCountError\",\n \"ArithmeticError\",\n \"ArrayIterator\",\n \"ArrayObject\",\n \"AssertionError\",\n \"BadFunctionCallException\",\n \"BadMethodCallException\",\n \"CachingIterator\",\n \"CallbackFilterIterator\",\n \"CompileError\",\n \"Countable\",\n \"DirectoryIterator\",\n \"DivisionByZeroError\",\n \"DomainException\",\n \"EmptyIterator\",\n \"ErrorException\",\n \"Exception\",\n \"FilesystemIterator\",\n \"FilterIterator\",\n \"GlobIterator\",\n \"InfiniteIterator\",\n \"InvalidArgumentException\",\n \"IteratorIterator\",\n \"LengthException\",\n \"LimitIterator\",\n \"LogicException\",\n \"MultipleIterator\",\n \"NoRewindIterator\",\n \"OutOfBoundsException\",\n \"OutOfRangeException\",\n \"OuterIterator\",\n \"OverflowException\",\n \"ParentIterator\",\n \"ParseError\",\n \"RangeException\",\n \"RecursiveArrayIterator\",\n \"RecursiveCachingIterator\",\n \"RecursiveCallbackFilterIterator\",\n \"RecursiveDirectoryIterator\",\n \"RecursiveFilterIterator\",\n \"RecursiveIterator\",\n \"RecursiveIteratorIterator\",\n \"RecursiveRegexIterator\",\n \"RecursiveTreeIterator\",\n \"RegexIterator\",\n \"RuntimeException\",\n \"SeekableIterator\",\n \"SplDoublyLinkedList\",\n \"SplFileInfo\",\n \"SplFileObject\",\n \"SplFixedArray\",\n \"SplHeap\",\n \"SplMaxHeap\",\n \"SplMinHeap\",\n \"SplObjectStorage\",\n \"SplObserver\",\n \"SplPriorityQueue\",\n \"SplQueue\",\n \"SplStack\",\n \"SplSubject\",\n \"SplTempFileObject\",\n \"TypeError\",\n \"UnderflowException\",\n \"UnexpectedValueException\",\n \"UnhandledMatchError\",\n // Reserved interfaces:\n // \n \"ArrayAccess\",\n \"BackedEnum\",\n \"Closure\",\n \"Fiber\",\n \"Generator\",\n \"Iterator\",\n \"IteratorAggregate\",\n \"Serializable\",\n \"Stringable\",\n \"Throwable\",\n \"Traversable\",\n \"UnitEnum\",\n \"WeakReference\",\n \"WeakMap\",\n // Reserved classes:\n // \n \"Directory\",\n \"__PHP_Incomplete_Class\",\n \"parent\",\n \"php_user_filter\",\n \"self\",\n \"static\",\n \"stdClass\"\n ];\n\n /** Dual-case keywords\n *\n * [\"then\",\"FILE\"] =>\n * [\"then\", \"THEN\", \"FILE\", \"file\"]\n *\n * @param {string[]} items */\n const dualCase = (items) => {\n /** @type string[] */\n const result = [];\n items.forEach(item => {\n result.push(item);\n if (item.toLowerCase() === item) {\n result.push(item.toUpperCase());\n } else {\n result.push(item.toLowerCase());\n }\n });\n return result;\n };\n\n const KEYWORDS = {\n keyword: KWS,\n literal: dualCase(LITERALS),\n built_in: BUILT_INS,\n };\n\n /**\n * @param {string[]} items */\n const normalizeKeywords = (items) => {\n return items.map(item => {\n return item.replace(/\\|\\d+$/, \"\");\n });\n };\n\n const CONSTRUCTOR_CALL = { variants: [\n {\n match: [\n /new/,\n regex.concat(WHITESPACE, \"+\"),\n // to prevent built ins from being confused as the class constructor call\n regex.concat(\"(?!\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n PASCAL_CASE_CLASS_NAME_RE,\n ],\n scope: {\n 1: \"keyword\",\n 4: \"title.class\",\n },\n }\n ] };\n\n const CONSTANT_REFERENCE = regex.concat(IDENT_RE, \"\\\\b(?!\\\\()\");\n\n const LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON = { variants: [\n {\n match: [\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: { 2: \"variable.constant\", },\n },\n {\n match: [\n /::/,\n /class/,\n ],\n scope: { 2: \"variable.language\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n /::/,\n regex.lookahead(/(?!class\\b)/)\n ),\n CONSTANT_REFERENCE,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.constant\",\n },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n regex.concat(\n \"::\",\n regex.lookahead(/(?!class\\b)/)\n ),\n ],\n scope: { 1: \"title.class\", },\n },\n {\n match: [\n PASCAL_CASE_CLASS_NAME_RE,\n /::/,\n /class/,\n ],\n scope: {\n 1: \"title.class\",\n 3: \"variable.language\",\n },\n }\n ] };\n\n const NAMED_ARGUMENT = {\n scope: 'attr',\n match: regex.concat(IDENT_RE, regex.lookahead(':'), regex.lookahead(/(?!::)/)),\n };\n const PARAMS_MODE = {\n relevance: 0,\n begin: /\\(/,\n end: /\\)/,\n keywords: KEYWORDS,\n contains: [\n NAMED_ARGUMENT,\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ],\n };\n const FUNCTION_INVOKE = {\n relevance: 0,\n match: [\n /\\b/,\n // to prevent keywords from being confused as the function title\n regex.concat(\"(?!fn\\\\b|function\\\\b|\", normalizeKeywords(KWS).join(\"\\\\b|\"), \"|\", normalizeKeywords(BUILT_INS).join(\"\\\\b|\"), \"\\\\b)\"),\n IDENT_RE,\n regex.concat(WHITESPACE, \"*\"),\n regex.lookahead(/(?=\\()/)\n ],\n scope: { 3: \"title.function.invoke\", },\n contains: [ PARAMS_MODE ]\n };\n PARAMS_MODE.contains.push(FUNCTION_INVOKE);\n\n const ATTRIBUTE_CONTAINS = [\n NAMED_ARGUMENT,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER,\n CONSTRUCTOR_CALL,\n ];\n\n const ATTRIBUTES = {\n begin: regex.concat(/#\\[\\s*/, PASCAL_CASE_CLASS_NAME_RE),\n beginScope: \"meta\",\n end: /]/,\n endScope: \"meta\",\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n {\n begin: /\\[/,\n end: /]/,\n keywords: {\n literal: LITERALS,\n keyword: [\n 'new',\n 'array',\n ]\n },\n contains: [\n 'self',\n ...ATTRIBUTE_CONTAINS,\n ]\n },\n ...ATTRIBUTE_CONTAINS,\n {\n scope: 'meta',\n match: PASCAL_CASE_CLASS_NAME_RE\n }\n ]\n };\n\n return {\n case_insensitive: false,\n keywords: KEYWORDS,\n contains: [\n ATTRIBUTES,\n hljs.HASH_COMMENT_MODE,\n hljs.COMMENT('//', '$'),\n hljs.COMMENT(\n '/\\\\*',\n '\\\\*/',\n { contains: [\n {\n scope: 'doctag',\n match: '@[A-Za-z]+'\n }\n ] }\n ),\n {\n match: /__halt_compiler\\(\\);/,\n keywords: '__halt_compiler',\n starts: {\n scope: \"comment\",\n end: hljs.MATCH_NOTHING_RE,\n contains: [\n {\n match: /\\?>/,\n scope: \"meta\",\n endsParent: true\n }\n ]\n }\n },\n PREPROCESSOR,\n {\n scope: 'variable.language',\n match: /\\$this\\b/\n },\n VARIABLE,\n FUNCTION_INVOKE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n {\n match: [\n /const/,\n /\\s/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"variable.constant\",\n },\n },\n CONSTRUCTOR_CALL,\n {\n scope: 'function',\n relevance: 0,\n beginKeywords: 'fn function',\n end: /[;{]/,\n excludeEnd: true,\n illegal: '[$%\\\\[]',\n contains: [\n { beginKeywords: 'use', },\n hljs.UNDERSCORE_TITLE_MODE,\n {\n begin: '=>', // No markup, just a relevance booster\n endsParent: true\n },\n {\n scope: 'params',\n begin: '\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n VARIABLE,\n LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON,\n hljs.C_BLOCK_COMMENT_MODE,\n STRING,\n NUMBER\n ]\n },\n ]\n },\n {\n scope: 'class',\n variants: [\n {\n beginKeywords: \"enum\",\n illegal: /[($\"]/\n },\n {\n beginKeywords: \"class interface trait\",\n illegal: /[:($\"]/\n }\n ],\n relevance: 0,\n end: /\\{/,\n excludeEnd: true,\n contains: [\n { beginKeywords: 'extends implements' },\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n // both use and namespace still use \"old style\" rules (vs multi-match)\n // because the namespace name can include `\\` and we still want each\n // element to be treated as its own *individual* title\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: ';',\n illegal: /[.']/,\n contains: [ hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, { scope: \"title.class\" }) ]\n },\n {\n beginKeywords: 'use',\n relevance: 0,\n end: ';',\n contains: [\n // TODO: title.function vs title.class\n {\n match: /\\b(as|const|function)\\b/,\n scope: \"keyword\"\n },\n // TODO: could be title.class or title.function\n hljs.UNDERSCORE_TITLE_MODE\n ]\n },\n STRING,\n NUMBER,\n ]\n };\n}\n\nmodule.exports = php;\n","/*\nLanguage: Plain text\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nDescription: Plain text without any highlighting.\nCategory: common\n*/\n\nfunction plaintext(hljs) {\n return {\n name: 'Plain text',\n aliases: [\n 'text',\n 'txt'\n ],\n disableAutodetect: true\n };\n}\n\nmodule.exports = plaintext;\n","/*\nLanguage: Pony\nAuthor: Joe Eli McIlvain \nDescription: Pony is an open-source, object-oriented, actor-model,\n capabilities-secure, high performance programming language.\nWebsite: https://www.ponylang.io\nCategory: system\n*/\n\nfunction pony(hljs) {\n const KEYWORDS = {\n keyword:\n 'actor addressof and as be break class compile_error compile_intrinsic '\n + 'consume continue delegate digestof do else elseif embed end error '\n + 'for fun if ifdef in interface is isnt lambda let match new not object '\n + 'or primitive recover repeat return struct then trait try type until '\n + 'use var where while with xor',\n meta:\n 'iso val tag trn box ref',\n literal:\n 'this false true'\n };\n\n const TRIPLE_QUOTE_STRING_MODE = {\n className: 'string',\n begin: '\"\"\"',\n end: '\"\"\"',\n relevance: 10\n };\n\n const QUOTE_STRING_MODE = {\n className: 'string',\n begin: '\"',\n end: '\"',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n\n const SINGLE_QUOTE_CHAR_MODE = {\n className: 'string',\n begin: '\\'',\n end: '\\'',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n relevance: 0\n };\n\n const TYPE_NAME = {\n className: 'type',\n begin: '\\\\b_?[A-Z][\\\\w]*',\n relevance: 0\n };\n\n const PRIMED_NAME = {\n begin: hljs.IDENT_RE + '\\'',\n relevance: 0\n };\n\n const NUMBER_MODE = {\n className: 'number',\n begin: '(-?)(\\\\b0[xX][a-fA-F0-9]+|\\\\b0[bB][01]+|(\\\\b\\\\d+(_\\\\d+)?(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)',\n relevance: 0\n };\n\n /**\n * The `FUNCTION` and `CLASS` modes were intentionally removed to simplify\n * highlighting and fix cases like\n * ```\n * interface Iterator[A: A]\n * fun has_next(): Bool\n * fun next(): A?\n * ```\n * where it is valid to have a function head without a body\n */\n\n return {\n name: 'Pony',\n keywords: KEYWORDS,\n contains: [\n TYPE_NAME,\n TRIPLE_QUOTE_STRING_MODE,\n QUOTE_STRING_MODE,\n SINGLE_QUOTE_CHAR_MODE,\n PRIMED_NAME,\n NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n };\n}\n\nmodule.exports = pony;\n","/*\nLanguage: PowerShell\nDescription: PowerShell is a task-based command-line shell and scripting language built on .NET.\nAuthor: David Mohundro \nContributors: Nicholas Blumhardt , Victor Zhou , Nicolas Le Gall \nWebsite: https://docs.microsoft.com/en-us/powershell/\nCategory: scripting\n*/\n\nfunction powershell(hljs) {\n const TYPES = [\n \"string\",\n \"char\",\n \"byte\",\n \"int\",\n \"long\",\n \"bool\",\n \"decimal\",\n \"single\",\n \"double\",\n \"DateTime\",\n \"xml\",\n \"array\",\n \"hashtable\",\n \"void\"\n ];\n\n // https://docs.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands\n const VALID_VERBS =\n 'Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|'\n + 'Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|'\n + 'Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|'\n + 'Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|'\n + 'ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|'\n + 'Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|'\n + 'Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|'\n + 'Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|'\n + 'Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|'\n + 'Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|'\n + 'Unprotect|Use|ForEach|Sort|Tee|Where';\n\n const COMPARISON_OPERATORS =\n '-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|'\n + '-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|'\n + '-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|'\n + '-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|'\n + '-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|'\n + '-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|'\n + '-split|-wildcard|-xor';\n\n const KEYWORDS = {\n $pattern: /-?[A-z\\.\\-]+\\b/,\n keyword:\n 'if else foreach return do while until elseif begin for trap data dynamicparam '\n + 'end break throw param continue finally in switch exit filter try process catch '\n + 'hidden static parameter',\n // \"echo\" relevance has been set to 0 to avoid auto-detect conflicts with shell transcripts\n built_in:\n 'ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp '\n + 'cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx '\n + 'fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group '\n + 'gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi '\n + 'iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh '\n + 'popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp '\n + 'rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp '\n + 'spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write'\n // TODO: 'validate[A-Z]+' can't work in keywords\n };\n\n const TITLE_NAME_RE = /\\w[\\w\\d]*((-)[\\w\\d]+)*/;\n\n const BACKTICK_ESCAPE = {\n begin: '`[\\\\s\\\\S]',\n relevance: 0\n };\n\n const VAR = {\n className: 'variable',\n variants: [\n { begin: /\\$\\B/ },\n {\n className: 'keyword',\n begin: /\\$this/\n },\n { begin: /\\$[\\w\\d][\\w\\d_:]*/ }\n ]\n };\n\n const LITERAL = {\n className: 'literal',\n begin: /\\$(null|true|false)\\b/\n };\n\n const QUOTE_STRING = {\n className: \"string\",\n variants: [\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /@\"/,\n end: /^\"@/\n }\n ],\n contains: [\n BACKTICK_ESCAPE,\n VAR,\n {\n className: 'variable',\n begin: /\\$[A-z]/,\n end: /[^A-z]/\n }\n ]\n };\n\n const APOS_STRING = {\n className: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /@'/,\n end: /^'@/\n }\n ]\n };\n\n const PS_HELPTAGS = {\n className: \"doctag\",\n variants: [\n /* no paramater help tags */\n { begin: /\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/ },\n /* one parameter help tags */\n { begin: /\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+/ }\n ]\n };\n\n const PS_COMMENT = hljs.inherit(\n hljs.COMMENT(null, null),\n {\n variants: [\n /* single-line comment */\n {\n begin: /#/,\n end: /$/\n },\n /* multi-line comment */\n {\n begin: /<#/,\n end: /#>/\n }\n ],\n contains: [ PS_HELPTAGS ]\n }\n );\n\n const CMDLETS = {\n className: 'built_in',\n variants: [ { begin: '('.concat(VALID_VERBS, ')+(-)[\\\\w\\\\d]+') } ]\n };\n\n const PS_CLASS = {\n className: 'class',\n beginKeywords: 'class enum',\n end: /\\s*[{]/,\n excludeEnd: true,\n relevance: 0,\n contains: [ hljs.TITLE_MODE ]\n };\n\n const PS_FUNCTION = {\n className: 'function',\n begin: /function\\s+/,\n end: /\\s*\\{|$/,\n excludeEnd: true,\n returnBegin: true,\n relevance: 0,\n contains: [\n {\n begin: \"function\",\n relevance: 0,\n className: \"keyword\"\n },\n {\n className: \"title\",\n begin: TITLE_NAME_RE,\n relevance: 0\n },\n {\n begin: /\\(/,\n end: /\\)/,\n className: \"params\",\n relevance: 0,\n contains: [ VAR ]\n }\n // CMDLETS\n ]\n };\n\n // Using statment, plus type, plus assembly name.\n const PS_USING = {\n begin: /using\\s/,\n end: /$/,\n returnBegin: true,\n contains: [\n QUOTE_STRING,\n APOS_STRING,\n {\n className: 'keyword',\n begin: /(using|assembly|command|module|namespace|type)/\n }\n ]\n };\n\n // Comperison operators & function named parameters.\n const PS_ARGUMENTS = { variants: [\n // PS literals are pretty verbose so it's a good idea to accent them a bit.\n {\n className: 'operator',\n begin: '('.concat(COMPARISON_OPERATORS, ')\\\\b')\n },\n {\n className: 'literal',\n begin: /(-){1,2}[\\w\\d-]+/,\n relevance: 0\n }\n ] };\n\n const HASH_SIGNS = {\n className: 'selector-tag',\n begin: /@\\B/,\n relevance: 0\n };\n\n // It's a very general rule so I'll narrow it a bit with some strict boundaries\n // to avoid any possible false-positive collisions!\n const PS_METHODS = {\n className: 'function',\n begin: /\\[.*\\]\\s*[\\w]+[ ]??\\(/,\n end: /$/,\n returnBegin: true,\n relevance: 0,\n contains: [\n {\n className: 'keyword',\n begin: '('.concat(\n KEYWORDS.keyword.toString().replace(/\\s/g, '|'\n ), ')\\\\b'),\n endsParent: true,\n relevance: 0\n },\n hljs.inherit(hljs.TITLE_MODE, { endsParent: true })\n ]\n };\n\n const GENTLEMANS_SET = [\n // STATIC_MEMBER,\n PS_METHODS,\n PS_COMMENT,\n BACKTICK_ESCAPE,\n hljs.NUMBER_MODE,\n QUOTE_STRING,\n APOS_STRING,\n // PS_NEW_OBJECT_TYPE,\n CMDLETS,\n VAR,\n LITERAL,\n HASH_SIGNS\n ];\n\n const PS_TYPE = {\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0,\n contains: [].concat(\n 'self',\n GENTLEMANS_SET,\n {\n begin: \"(\" + TYPES.join(\"|\") + \")\",\n className: \"built_in\",\n relevance: 0\n },\n {\n className: 'type',\n begin: /[\\.\\w\\d]+/,\n relevance: 0\n }\n )\n };\n\n PS_METHODS.contains.unshift(PS_TYPE);\n\n return {\n name: 'PowerShell',\n aliases: [\n \"pwsh\",\n \"ps\",\n \"ps1\"\n ],\n case_insensitive: true,\n keywords: KEYWORDS,\n contains: GENTLEMANS_SET.concat(\n PS_CLASS,\n PS_FUNCTION,\n PS_USING,\n PS_ARGUMENTS,\n PS_TYPE\n )\n };\n}\n\nmodule.exports = powershell;\n","/*\nLanguage: Processing\nDescription: Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.\nAuthor: Erik Paluka \nWebsite: https://processing.org\nCategory: graphics\n*/\n\nfunction processing(hljs) {\n const regex = hljs.regex;\n const BUILT_INS = [\n \"displayHeight\",\n \"displayWidth\",\n \"mouseY\",\n \"mouseX\",\n \"mousePressed\",\n \"pmouseX\",\n \"pmouseY\",\n \"key\",\n \"keyCode\",\n \"pixels\",\n \"focused\",\n \"frameCount\",\n \"frameRate\",\n \"height\",\n \"width\",\n \"size\",\n \"createGraphics\",\n \"beginDraw\",\n \"createShape\",\n \"loadShape\",\n \"PShape\",\n \"arc\",\n \"ellipse\",\n \"line\",\n \"point\",\n \"quad\",\n \"rect\",\n \"triangle\",\n \"bezier\",\n \"bezierDetail\",\n \"bezierPoint\",\n \"bezierTangent\",\n \"curve\",\n \"curveDetail\",\n \"curvePoint\",\n \"curveTangent\",\n \"curveTightness\",\n \"shape\",\n \"shapeMode\",\n \"beginContour\",\n \"beginShape\",\n \"bezierVertex\",\n \"curveVertex\",\n \"endContour\",\n \"endShape\",\n \"quadraticVertex\",\n \"vertex\",\n \"ellipseMode\",\n \"noSmooth\",\n \"rectMode\",\n \"smooth\",\n \"strokeCap\",\n \"strokeJoin\",\n \"strokeWeight\",\n \"mouseClicked\",\n \"mouseDragged\",\n \"mouseMoved\",\n \"mousePressed\",\n \"mouseReleased\",\n \"mouseWheel\",\n \"keyPressed\",\n \"keyPressedkeyReleased\",\n \"keyTyped\",\n \"print\",\n \"println\",\n \"save\",\n \"saveFrame\",\n \"day\",\n \"hour\",\n \"millis\",\n \"minute\",\n \"month\",\n \"second\",\n \"year\",\n \"background\",\n \"clear\",\n \"colorMode\",\n \"fill\",\n \"noFill\",\n \"noStroke\",\n \"stroke\",\n \"alpha\",\n \"blue\",\n \"brightness\",\n \"color\",\n \"green\",\n \"hue\",\n \"lerpColor\",\n \"red\",\n \"saturation\",\n \"modelX\",\n \"modelY\",\n \"modelZ\",\n \"screenX\",\n \"screenY\",\n \"screenZ\",\n \"ambient\",\n \"emissive\",\n \"shininess\",\n \"specular\",\n \"add\",\n \"createImage\",\n \"beginCamera\",\n \"camera\",\n \"endCamera\",\n \"frustum\",\n \"ortho\",\n \"perspective\",\n \"printCamera\",\n \"printProjection\",\n \"cursor\",\n \"frameRate\",\n \"noCursor\",\n \"exit\",\n \"loop\",\n \"noLoop\",\n \"popStyle\",\n \"pushStyle\",\n \"redraw\",\n \"binary\",\n \"boolean\",\n \"byte\",\n \"char\",\n \"float\",\n \"hex\",\n \"int\",\n \"str\",\n \"unbinary\",\n \"unhex\",\n \"join\",\n \"match\",\n \"matchAll\",\n \"nf\",\n \"nfc\",\n \"nfp\",\n \"nfs\",\n \"split\",\n \"splitTokens\",\n \"trim\",\n \"append\",\n \"arrayCopy\",\n \"concat\",\n \"expand\",\n \"reverse\",\n \"shorten\",\n \"sort\",\n \"splice\",\n \"subset\",\n \"box\",\n \"sphere\",\n \"sphereDetail\",\n \"createInput\",\n \"createReader\",\n \"loadBytes\",\n \"loadJSONArray\",\n \"loadJSONObject\",\n \"loadStrings\",\n \"loadTable\",\n \"loadXML\",\n \"open\",\n \"parseXML\",\n \"saveTable\",\n \"selectFolder\",\n \"selectInput\",\n \"beginRaw\",\n \"beginRecord\",\n \"createOutput\",\n \"createWriter\",\n \"endRaw\",\n \"endRecord\",\n \"PrintWritersaveBytes\",\n \"saveJSONArray\",\n \"saveJSONObject\",\n \"saveStream\",\n \"saveStrings\",\n \"saveXML\",\n \"selectOutput\",\n \"popMatrix\",\n \"printMatrix\",\n \"pushMatrix\",\n \"resetMatrix\",\n \"rotate\",\n \"rotateX\",\n \"rotateY\",\n \"rotateZ\",\n \"scale\",\n \"shearX\",\n \"shearY\",\n \"translate\",\n \"ambientLight\",\n \"directionalLight\",\n \"lightFalloff\",\n \"lights\",\n \"lightSpecular\",\n \"noLights\",\n \"normal\",\n \"pointLight\",\n \"spotLight\",\n \"image\",\n \"imageMode\",\n \"loadImage\",\n \"noTint\",\n \"requestImage\",\n \"tint\",\n \"texture\",\n \"textureMode\",\n \"textureWrap\",\n \"blend\",\n \"copy\",\n \"filter\",\n \"get\",\n \"loadPixels\",\n \"set\",\n \"updatePixels\",\n \"blendMode\",\n \"loadShader\",\n \"PShaderresetShader\",\n \"shader\",\n \"createFont\",\n \"loadFont\",\n \"text\",\n \"textFont\",\n \"textAlign\",\n \"textLeading\",\n \"textMode\",\n \"textSize\",\n \"textWidth\",\n \"textAscent\",\n \"textDescent\",\n \"abs\",\n \"ceil\",\n \"constrain\",\n \"dist\",\n \"exp\",\n \"floor\",\n \"lerp\",\n \"log\",\n \"mag\",\n \"map\",\n \"max\",\n \"min\",\n \"norm\",\n \"pow\",\n \"round\",\n \"sq\",\n \"sqrt\",\n \"acos\",\n \"asin\",\n \"atan\",\n \"atan2\",\n \"cos\",\n \"degrees\",\n \"radians\",\n \"sin\",\n \"tan\",\n \"noise\",\n \"noiseDetail\",\n \"noiseSeed\",\n \"random\",\n \"randomGaussian\",\n \"randomSeed\"\n ];\n const IDENT = hljs.IDENT_RE;\n const FUNC_NAME = { variants: [\n {\n match: regex.concat(regex.either(...BUILT_INS), regex.lookahead(/\\s*\\(/)),\n className: \"built_in\"\n },\n {\n relevance: 0,\n match: regex.concat(\n /\\b(?!for|if|while)/,\n IDENT, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\"\n }\n ] };\n const NEW_CLASS = {\n match: [\n /new\\s+/,\n IDENT\n ],\n className: {\n 1: \"keyword\",\n 2: \"class.title\"\n }\n };\n const PROPERTY = {\n relevance: 0,\n match: [\n /\\./,\n IDENT\n ],\n className: { 2: \"property\" }\n };\n const CLASS = {\n variants: [\n { match: [\n /class/,\n /\\s+/,\n IDENT,\n /\\s+/,\n /extends/,\n /\\s+/,\n IDENT\n ] },\n { match: [\n /class/,\n /\\s+/,\n IDENT\n ] }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n };\n\n const TYPES = [\n \"boolean\",\n \"byte\",\n \"char\",\n \"color\",\n \"double\",\n \"float\",\n \"int\",\n \"long\",\n \"short\",\n ];\n const CLASSES = [\n \"BufferedReader\",\n \"PVector\",\n \"PFont\",\n \"PImage\",\n \"PGraphics\",\n \"HashMap\",\n \"String\",\n \"Array\",\n \"FloatDict\",\n \"ArrayList\",\n \"FloatList\",\n \"IntDict\",\n \"IntList\",\n \"JSONArray\",\n \"JSONObject\",\n \"Object\",\n \"StringDict\",\n \"StringList\",\n \"Table\",\n \"TableRow\",\n \"XML\"\n ];\n const JAVA_KEYWORDS = [\n \"abstract\",\n \"assert\",\n \"break\",\n \"case\",\n \"catch\",\n \"const\",\n \"continue\",\n \"default\",\n \"else\",\n \"enum\",\n \"final\",\n \"finally\",\n \"for\",\n \"if\",\n \"import\",\n \"instanceof\",\n \"long\",\n \"native\",\n \"new\",\n \"package\",\n \"private\",\n \"private\",\n \"protected\",\n \"protected\",\n \"public\",\n \"public\",\n \"return\",\n \"static\",\n \"strictfp\",\n \"switch\",\n \"synchronized\",\n \"throw\",\n \"throws\",\n \"transient\",\n \"try\",\n \"void\",\n \"volatile\",\n \"while\"\n ];\n\n return {\n name: 'Processing',\n aliases: [ 'pde' ],\n keywords: {\n keyword: [ ...JAVA_KEYWORDS ],\n literal: 'P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI null true false',\n title: 'setup draw',\n variable: \"super this\",\n built_in: [\n ...BUILT_INS,\n ...CLASSES\n ],\n type: TYPES\n },\n contains: [\n CLASS,\n NEW_CLASS,\n FUNC_NAME,\n PROPERTY,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n}\n\nmodule.exports = processing;\n","/*\nLanguage: Python profiler\nDescription: Python profiler results\nAuthor: Brian Beck \n*/\n\nfunction profile(hljs) {\n return {\n name: 'Python profiler',\n contains: [\n hljs.C_NUMBER_MODE,\n {\n begin: '[a-zA-Z_][\\\\da-zA-Z_]+\\\\.[\\\\da-zA-Z_]{1,3}',\n end: ':',\n excludeEnd: true\n },\n {\n begin: '(ncalls|tottime|cumtime)',\n end: '$',\n keywords: 'ncalls tottime|10 cumtime|10 filename',\n relevance: 10\n },\n {\n begin: 'function calls',\n end: '$',\n contains: [ hljs.C_NUMBER_MODE ],\n relevance: 10\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n {\n className: 'string',\n begin: '\\\\(',\n end: '\\\\)$',\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = profile;\n","/*\nLanguage: Prolog\nDescription: Prolog is a general purpose logic programming language associated with artificial intelligence and computational linguistics.\nAuthor: Raivo Laanemets \nWebsite: https://en.wikipedia.org/wiki/Prolog\nCategory: functional\n*/\n\nfunction prolog(hljs) {\n const ATOM = {\n\n begin: /[a-z][A-Za-z0-9_]*/,\n relevance: 0\n };\n\n const VAR = {\n\n className: 'symbol',\n variants: [\n { begin: /[A-Z][a-zA-Z0-9_]*/ },\n { begin: /_[A-Za-z0-9_]*/ }\n ],\n relevance: 0\n };\n\n const PARENTED = {\n\n begin: /\\(/,\n end: /\\)/,\n relevance: 0\n };\n\n const LIST = {\n\n begin: /\\[/,\n end: /\\]/\n };\n\n const LINE_COMMENT = {\n\n className: 'comment',\n begin: /%/,\n end: /$/,\n contains: [ hljs.PHRASAL_WORDS_MODE ]\n };\n\n const BACKTICK_STRING = {\n\n className: 'string',\n begin: /`/,\n end: /`/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n\n const CHAR_CODE = {\n className: 'string', // 0'a etc.\n begin: /0'(\\\\'|.)/\n };\n\n const SPACE_CODE = {\n className: 'string',\n begin: /0'\\\\s/ // 0'\\s\n };\n\n const PRED_OP = { // relevance booster\n begin: /:-/ };\n\n const inner = [\n\n ATOM,\n VAR,\n PARENTED,\n PRED_OP,\n LIST,\n LINE_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n BACKTICK_STRING,\n CHAR_CODE,\n SPACE_CODE,\n hljs.C_NUMBER_MODE\n ];\n\n PARENTED.contains = inner;\n LIST.contains = inner;\n\n return {\n name: 'Prolog',\n contains: inner.concat([\n { // relevance booster\n begin: /\\.$/ }\n ])\n };\n}\n\nmodule.exports = prolog;\n","/*\nLanguage: .properties\nContributors: Valentin Aitken , Egor Rogov \nWebsite: https://en.wikipedia.org/wiki/.properties\nCategory: config\n*/\n\n/** @type LanguageFn */\nfunction properties(hljs) {\n // whitespaces: space, tab, formfeed\n const WS0 = '[ \\\\t\\\\f]*';\n const WS1 = '[ \\\\t\\\\f]+';\n // delimiter\n const EQUAL_DELIM = WS0 + '[:=]' + WS0;\n const WS_DELIM = WS1;\n const DELIM = '(' + EQUAL_DELIM + '|' + WS_DELIM + ')';\n const KEY = '([^\\\\\\\\:= \\\\t\\\\f\\\\n]|\\\\\\\\.)+';\n\n const DELIM_AND_VALUE = {\n // skip DELIM\n end: DELIM,\n relevance: 0,\n starts: {\n // value: everything until end of line (again, taking into account backslashes)\n className: 'string',\n end: /$/,\n relevance: 0,\n contains: [\n { begin: '\\\\\\\\\\\\\\\\' },\n { begin: '\\\\\\\\\\\\n' }\n ]\n }\n };\n\n return {\n name: '.properties',\n disableAutodetect: true,\n case_insensitive: true,\n illegal: /\\S/,\n contains: [\n hljs.COMMENT('^\\\\s*[!#]', '$'),\n // key: everything until whitespace or = or : (taking into account backslashes)\n // case of a key-value pair\n {\n returnBegin: true,\n variants: [\n { begin: KEY + EQUAL_DELIM },\n { begin: KEY + WS_DELIM }\n ],\n contains: [\n {\n className: 'attr',\n begin: KEY,\n endsParent: true\n }\n ],\n starts: DELIM_AND_VALUE\n },\n // case of an empty key\n {\n className: 'attr',\n begin: KEY + WS0 + '$'\n }\n ]\n };\n}\n\nmodule.exports = properties;\n","/*\nLanguage: Protocol Buffers\nAuthor: Dan Tao \nDescription: Protocol buffer message definition format\nWebsite: https://developers.google.com/protocol-buffers/docs/proto3\nCategory: protocols\n*/\n\nfunction protobuf(hljs) {\n const KEYWORDS = [\n \"package\",\n \"import\",\n \"option\",\n \"optional\",\n \"required\",\n \"repeated\",\n \"group\",\n \"oneof\"\n ];\n const TYPES = [\n \"double\",\n \"float\",\n \"int32\",\n \"int64\",\n \"uint32\",\n \"uint64\",\n \"sint32\",\n \"sint64\",\n \"fixed32\",\n \"fixed64\",\n \"sfixed32\",\n \"sfixed64\",\n \"bool\",\n \"string\",\n \"bytes\"\n ];\n const CLASS_DEFINITION = {\n match: [\n /(message|enum|service)\\s+/,\n hljs.IDENT_RE\n ],\n scope: {\n 1: \"keyword\",\n 2: \"title.class\"\n }\n };\n\n return {\n name: 'Protocol Buffers',\n aliases: ['proto'],\n keywords: {\n keyword: KEYWORDS,\n type: TYPES,\n literal: [\n 'true',\n 'false'\n ]\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 CLASS_DEFINITION,\n {\n className: 'function',\n beginKeywords: 'rpc',\n end: /[{;]/,\n excludeEnd: true,\n keywords: 'rpc returns'\n },\n { // match enum items (relevance)\n // BLAH = ...;\n begin: /^\\s*[A-Z_]+(?=\\s*=[^\\n]+;$)/ }\n ]\n };\n}\n\nmodule.exports = protobuf;\n","/*\nLanguage: Puppet\nAuthor: Jose Molina Colmenero \nWebsite: https://puppet.com/docs\nCategory: config\n*/\n\nfunction puppet(hljs) {\n const PUPPET_KEYWORDS = {\n keyword:\n /* language keywords */\n 'and case default else elsif false if in import enherits node or true undef unless main settings $string ',\n literal:\n /* metaparameters */\n 'alias audit before loglevel noop require subscribe tag '\n /* normal attributes */\n + 'owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check '\n + 'en_address ip_address realname command environment hour monute month monthday special target weekday '\n + 'creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore '\n + 'links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source '\n + 'souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid '\n + 'ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel '\n + 'native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options '\n + 'device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use '\n + 'message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform '\n + 'responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running '\n + 'start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age '\n + 'password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled '\n + 'enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist '\n + 'priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey '\n + 'sslverify mounted',\n built_in:\n /* core facts */\n 'architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers '\n + 'domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces '\n + 'ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion '\n + 'kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease '\n + 'lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major '\n + 'macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease '\n + 'operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion '\n + 'rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced '\n + 'selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime '\n + 'uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version'\n };\n\n const COMMENT = hljs.COMMENT('#', '$');\n\n const IDENT_RE = '([A-Za-z_]|::)(\\\\w|::)*';\n\n const TITLE = hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE });\n\n const VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + IDENT_RE\n };\n\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VARIABLE\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n }\n ]\n };\n\n return {\n name: 'Puppet',\n aliases: [ 'pp' ],\n contains: [\n COMMENT,\n VARIABLE,\n STRING,\n {\n beginKeywords: 'class',\n end: '\\\\{|;',\n illegal: /=/,\n contains: [\n TITLE,\n COMMENT\n ]\n },\n {\n beginKeywords: 'define',\n end: /\\{/,\n contains: [\n {\n className: 'section',\n begin: hljs.IDENT_RE,\n endsParent: true\n }\n ]\n },\n {\n begin: hljs.IDENT_RE + '\\\\s+\\\\{',\n returnBegin: true,\n end: /\\S/,\n contains: [\n {\n className: 'keyword',\n begin: hljs.IDENT_RE,\n relevance: 0.2\n },\n {\n begin: /\\{/,\n end: /\\}/,\n keywords: PUPPET_KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n COMMENT,\n {\n begin: '[a-zA-Z_]+\\\\s*=>',\n returnBegin: true,\n end: '=>',\n contains: [\n {\n className: 'attr',\n begin: hljs.IDENT_RE\n }\n ]\n },\n {\n className: 'number',\n begin: '(\\\\b0[0-7_]+)|(\\\\b0x[0-9a-fA-F_]+)|(\\\\b[1-9][0-9_]*(\\\\.[0-9_]+)?)|[0_]\\\\b',\n relevance: 0\n },\n VARIABLE\n ]\n }\n ],\n relevance: 0\n }\n ]\n };\n}\n\nmodule.exports = puppet;\n","/*\nLanguage: PureBASIC\nAuthor: Tristano Ajmone \nDescription: Syntax highlighting for PureBASIC (v.5.00-5.60). No inline ASM highlighting. (v.1.2, May 2017)\nCredits: I've taken inspiration from the PureBasic language file for GeSHi, created by Gustavo Julio Fiorenza (GuShH).\nWebsite: https://www.purebasic.com\nCategory: system\n*/\n\n// Base deafult colors in PB IDE: background: #FFFFDF; foreground: #000000;\n\nfunction purebasic(hljs) {\n const STRINGS = { // PB IDE color: #0080FF (Azure Radiance)\n className: 'string',\n begin: '(~)?\"',\n end: '\"',\n illegal: '\\\\n'\n };\n const CONSTANTS = { // PB IDE color: #924B72 (Cannon Pink)\n // \"#\" + a letter or underscore + letters, digits or underscores + (optional) \"$\"\n className: 'symbol',\n begin: '#[a-zA-Z_]\\\\w*\\\\$?'\n };\n\n return {\n name: 'PureBASIC',\n aliases: [\n 'pb',\n 'pbi'\n ],\n keywords: // PB IDE color: #006666 (Blue Stone) + Bold\n // Keywords from all version of PureBASIC 5.00 upward ...\n 'Align And Array As Break CallDebugger Case CompilerCase CompilerDefault '\n + 'CompilerElse CompilerElseIf CompilerEndIf CompilerEndSelect CompilerError '\n + 'CompilerIf CompilerSelect CompilerWarning Continue Data DataSection Debug '\n + 'DebugLevel Declare DeclareC DeclareCDLL DeclareDLL DeclareModule Default '\n + 'Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM '\n + 'EnableDebugger EnableExplicit End EndDataSection EndDeclareModule EndEnumeration '\n + 'EndIf EndImport EndInterface EndMacro EndModule EndProcedure EndSelect '\n + 'EndStructure EndStructureUnion EndWith Enumeration EnumerationBinary Extends '\n + 'FakeReturn For ForEach ForEver Global Gosub Goto If Import ImportC '\n + 'IncludeBinary IncludeFile IncludePath Interface List Macro MacroExpandedCount '\n + 'Map Module NewList NewMap Next Not Or Procedure ProcedureC '\n + 'ProcedureCDLL ProcedureDLL ProcedureReturn Protected Prototype PrototypeC ReDim '\n + 'Read Repeat Restore Return Runtime Select Shared Static Step Structure '\n + 'StructureUnion Swap Threaded To UndefineMacro Until Until UnuseModule '\n + 'UseModule Wend While With XIncludeFile XOr',\n contains: [\n // COMMENTS | PB IDE color: #00AAAA (Persian Green)\n hljs.COMMENT(';', '$', { relevance: 0 }),\n\n { // PROCEDURES DEFINITIONS\n className: 'function',\n begin: '\\\\b(Procedure|Declare)(C|CDLL|DLL)?\\\\b',\n end: '\\\\(',\n excludeEnd: true,\n returnBegin: true,\n contains: [\n { // PROCEDURE KEYWORDS | PB IDE color: #006666 (Blue Stone) + Bold\n className: 'keyword',\n begin: '(Procedure|Declare)(C|CDLL|DLL)?',\n excludeEnd: true\n },\n { // PROCEDURE RETURN TYPE SETTING | PB IDE color: #000000 (Black)\n className: 'type',\n begin: '\\\\.\\\\w*'\n // end: ' ',\n },\n hljs.UNDERSCORE_TITLE_MODE // PROCEDURE NAME | PB IDE color: #006666 (Blue Stone)\n ]\n },\n STRINGS,\n CONSTANTS\n ]\n };\n}\n\n/* ==============================================================================\n CHANGELOG\n ==============================================================================\n - v.1.2 (2017-05-12)\n -- BUG-FIX: Some keywords were accidentally joyned together. Now fixed.\n - v.1.1 (2017-04-30)\n -- Updated to PureBASIC 5.60.\n -- Keywords list now built by extracting them from the PureBASIC SDK's\n \"SyntaxHilighting.dll\" (from each PureBASIC version). Tokens from each\n version are added to the list, and renamed or removed tokens are kept\n for the sake of covering all versions of the language from PureBASIC\n v5.00 upward. (NOTE: currently, there are no renamed or deprecated\n tokens in the keywords list). For more info, see:\n -- http://www.purebasic.fr/english/viewtopic.php?&p=506269\n -- https://github.com/tajmone/purebasic-archives/tree/master/syntax-highlighting/guidelines\n - v.1.0 (April 2016)\n -- First release\n -- Keywords list taken and adapted from GuShH's (Gustavo Julio Fiorenza)\n PureBasic language file for GeSHi:\n -- https://github.com/easybook/geshi/blob/master/geshi/purebasic.php\n*/\n\nmodule.exports = purebasic;\n","/*\nLanguage: Python REPL\nRequires: python.js\nAuthor: Josh Goebel \nCategory: common\n*/\n\nfunction pythonRepl(hljs) {\n return {\n aliases: [ 'pycon' ],\n contains: [\n {\n className: 'meta.prompt',\n starts: {\n // a space separates the REPL prefix from the actual code\n // this is purely for cleaner HTML output\n end: / |$/,\n starts: {\n end: '$',\n subLanguage: 'python'\n }\n },\n variants: [\n { begin: /^>>>(?=[ ]|$)/ },\n { begin: /^\\.\\.\\.(?=[ ]|$)/ }\n ]\n }\n ]\n };\n}\n\nmodule.exports = pythonRepl;\n","/*\nLanguage: Python\nDescription: Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.\nWebsite: https://www.python.org\nCategory: common\n*/\n\nfunction python(hljs) {\n const regex = hljs.regex;\n const IDENT_RE = /[\\p{XID_Start}_]\\p{XID_Continue}*/u;\n const RESERVED_WORDS = [\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'case',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'match',\n 'nonlocal|10',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield'\n ];\n\n const BUILT_INS = [\n '__import__',\n 'abs',\n 'all',\n 'any',\n 'ascii',\n 'bin',\n 'bool',\n 'breakpoint',\n 'bytearray',\n 'bytes',\n 'callable',\n 'chr',\n 'classmethod',\n 'compile',\n 'complex',\n 'delattr',\n 'dict',\n 'dir',\n 'divmod',\n 'enumerate',\n 'eval',\n 'exec',\n 'filter',\n 'float',\n 'format',\n 'frozenset',\n 'getattr',\n 'globals',\n 'hasattr',\n 'hash',\n 'help',\n 'hex',\n 'id',\n 'input',\n 'int',\n 'isinstance',\n 'issubclass',\n 'iter',\n 'len',\n 'list',\n 'locals',\n 'map',\n 'max',\n 'memoryview',\n 'min',\n 'next',\n 'object',\n 'oct',\n 'open',\n 'ord',\n 'pow',\n 'print',\n 'property',\n 'range',\n 'repr',\n 'reversed',\n 'round',\n 'set',\n 'setattr',\n 'slice',\n 'sorted',\n 'staticmethod',\n 'str',\n 'sum',\n 'super',\n 'tuple',\n 'type',\n 'vars',\n 'zip'\n ];\n\n const LITERALS = [\n '__debug__',\n 'Ellipsis',\n 'False',\n 'None',\n 'NotImplemented',\n 'True'\n ];\n\n // https://docs.python.org/3/library/typing.html\n // TODO: Could these be supplemented by a CamelCase matcher in certain\n // contexts, leaving these remaining only for relevance hinting?\n const TYPES = [\n \"Any\",\n \"Callable\",\n \"Coroutine\",\n \"Dict\",\n \"List\",\n \"Literal\",\n \"Generic\",\n \"Optional\",\n \"Sequence\",\n \"Set\",\n \"Tuple\",\n \"Type\",\n \"Union\"\n ];\n\n const KEYWORDS = {\n $pattern: /[A-Za-z]\\w+|__\\w+__/,\n keyword: RESERVED_WORDS,\n built_in: BUILT_INS,\n literal: LITERALS,\n type: TYPES\n };\n\n const PROMPT = {\n className: 'meta',\n begin: /^(>>>|\\.\\.\\.) /\n };\n\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS,\n illegal: /#/\n };\n\n const LITERAL_BRACKET = {\n begin: /\\{\\{/,\n relevance: 0\n };\n\n const STRING = {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([uU]|[rR])'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /([uU]|[rR])\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])'/,\n end: /'/\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])\"/,\n end: /\"/\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])'/,\n end: /'/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fF][rR]|[rR][fF]|[fF])\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n // https://docs.python.org/3.9/reference/lexical_analysis.html#numeric-literals\n const digitpart = '[0-9](_?[0-9])*';\n const pointfloat = `(\\\\b(${digitpart}))?\\\\.(${digitpart})|\\\\b(${digitpart})\\\\.`;\n // Whitespace after a number (or any lexical token) is needed only if its absence\n // would change the tokenization\n // https://docs.python.org/3.9/reference/lexical_analysis.html#whitespace-between-tokens\n // We deviate slightly, requiring a word boundary or a keyword\n // to avoid accidentally recognizing *prefixes* (e.g., `0` in `0x41` or `08` or `0__1`)\n const lookahead = `\\\\b|${RESERVED_WORDS.join('|')}`;\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // exponentfloat, pointfloat\n // https://docs.python.org/3.9/reference/lexical_analysis.html#floating-point-literals\n // optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n // Note: no leading \\b because floats can start with a decimal point\n // and we don't want to mishandle e.g. `fn(.5)`,\n // no trailing \\b for pointfloat because it can end with a decimal point\n // and we don't want to mishandle e.g. `0..hex()`; this should be safe\n // because both MUST contain a decimal point and so cannot be confused with\n // the interior part of an identifier\n {\n begin: `(\\\\b(${digitpart})|(${pointfloat}))[eE][+-]?(${digitpart})[jJ]?(?=${lookahead})`\n },\n {\n begin: `(${pointfloat})[jJ]?`\n },\n\n // decinteger, bininteger, octinteger, hexinteger\n // https://docs.python.org/3.9/reference/lexical_analysis.html#integer-literals\n // optionally \"long\" in Python 2\n // https://docs.python.org/2.7/reference/lexical_analysis.html#integer-and-long-integer-literals\n // decinteger is optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[bB](_?[01])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[oO](_?[0-7])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${lookahead})`\n },\n\n // imagnumber (digitpart-based)\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b(${digitpart})[jJ](?=${lookahead})`\n }\n ]\n };\n const COMMENT_TYPE = {\n className: \"comment\",\n begin: regex.lookahead(/# type:/),\n end: /$/,\n keywords: KEYWORDS,\n contains: [\n { // prevent keywords from coloring `type`\n begin: /# type:/\n },\n // comment within a datatype comment includes no keywords\n {\n begin: /#/,\n end: /\\b\\B/,\n endsWithParent: true\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n variants: [\n // Exclude params in functions without params\n {\n className: \"\",\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n PROMPT,\n NUMBER,\n STRING,\n hljs.HASH_COMMENT_MODE\n ]\n }\n ]\n };\n SUBST.contains = [\n STRING,\n NUMBER,\n PROMPT\n ];\n\n return {\n name: 'Python',\n aliases: [\n 'py',\n 'gyp',\n 'ipython'\n ],\n unicodeRegex: true,\n keywords: KEYWORDS,\n illegal: /(<\\/|\\?)|=>/,\n contains: [\n PROMPT,\n NUMBER,\n {\n // very common convention\n scope: 'variable.language',\n match: /\\bself\\b/\n },\n {\n // eat \"if\" prior to string so that it won't accidentally be\n // labeled as an f-string\n beginKeywords: \"if\",\n relevance: 0\n },\n { match: /\\bor\\b/, scope: \"keyword\" },\n STRING,\n COMMENT_TYPE,\n hljs.HASH_COMMENT_MODE,\n {\n match: [\n /\\bdef/, /\\s+/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [ PARAMS ]\n },\n {\n variants: [\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE, /\\s*/,\n /\\(\\s*/, IDENT_RE,/\\s*\\)/\n ],\n },\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE\n ],\n }\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 6: \"title.class.inherited\",\n }\n },\n {\n className: 'meta',\n begin: /^[\\t ]*@/,\n end: /(?=#)|$/,\n contains: [\n NUMBER,\n PARAMS,\n STRING\n ]\n }\n ]\n };\n}\n\nmodule.exports = python;\n"],"names":["module","exports","hljs","name","keywords","keyword","literal","type","built_in","contains","className","begin","end","relevance","QUOTE_STRING_MODE","variants","HASH_COMMENT_MODE","KEYWORDS","ANTIQUOTE","STRING","EXPRESSIONS","NUMBER_MODE","C_BLOCK_COMMENT_MODE","returnBegin","aliases","starts","subLanguage","regex","CONSTANTS","concat","either","DEFINES","VARIABLES","illegal","LANGUAGES","PARAMETERS","COMPILER","FUNCTION_DEFINITION","match","IDENT_RE","scope","VARIABLE_DEFINITION","case_insensitive","COMMENT","beginKeywords","IDENTIFIER_RE","CLASS_KEYWORDS","$pattern","C_LINE_COMMENT_MODE","C_NUMBER_MODE","APOS_STRING_MODE","BACKSLASH_ESCAPE","inherit","join","excludeEnd","UNDERSCORE_TITLE_MODE","UNDERSCORE_IDENT_RE","SPECIAL_VARS","NUMBERS","FUNCTIONS","OXYGENE_KEYWORDS","CURLY_COMMENT","PAREN_COMMENT","CHAR_STRING","FUNCTION","TITLE_MODE","CURLY_SUBCOMMENT","REGEX_MODIFIERS","PERL_KEYWORDS","SUBST","METHOD","ATTR","VAR","NUMBER","STRING_CONTAINS","REGEX_DELIMS","PAIRED_DOUBLE_RE","prefix","open","close","middle","PAIRED_RE","PERL_DEFAULT_CONTAINS","endsWithParent","RE_STARTERS_RE","capture","COMMENT_MODE","DOLLAR_STRING","TYPES","TYPES_RE","trim","split","map","val","FUNCTIONS_RE","supersetOf","SQL_KW","SQL_BI","returnEnd","C_NUMBER_RE","replace","END_SAME_AS_BEGIN","skip","NOT_PERL_ETC","PASCAL_CASE_CLASS_NAME_RE","VARIABLE","SINGLE_QUOTED","WHITESPACE","m","resp","data","_beginMatch","ignoreMatch","LITERALS","KWS","BUILT_INS","items","result","forEach","item","push","toLowerCase","toUpperCase","dualCase","normalizeKeywords","CONSTRUCTOR_CALL","CONSTANT_REFERENCE","LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON","lookahead","NAMED_ARGUMENT","PARAMS_MODE","FUNCTION_INVOKE","ATTRIBUTE_CONTAINS","beginScope","endScope","MATCH_NOTHING_RE","endsParent","excludeBegin","disableAutodetect","meta","BACKTICK_ESCAPE","QUOTE_STRING","APOS_STRING","PS_COMMENT","CMDLETS","PS_CLASS","PS_FUNCTION","PS_USING","PS_ARGUMENTS","PS_METHODS","toString","GENTLEMANS_SET","PS_TYPE","unshift","IDENT","FUNC_NAME","NEW_CLASS","PROPERTY","CLASS","title","variable","PARENTED","LIST","LINE_COMMENT","PHRASAL_WORDS_MODE","BACKTICK_STRING","inner","WS0","EQUAL_DELIM","WS_DELIM","KEY","DELIM_AND_VALUE","CLASS_DEFINITION","TITLE","RESERVED_WORDS","PROMPT","LITERAL_BRACKET","digitpart","pointfloat","COMMENT_TYPE","PARAMS","unicodeRegex"],"sourceRoot":""}